单片机的双语精确延时程序研究

单片机的双语精确延时程序研究

ID:46073135

大小:57.54 KB

页数:4页

时间:2019-11-20

单片机的双语精确延时程序研究_第1页
单片机的双语精确延时程序研究_第2页
单片机的双语精确延时程序研究_第3页
单片机的双语精确延时程序研究_第4页
资源描述:

《单片机的双语精确延时程序研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、单片机的“双语”精确延时程序研究第卷第期许昌学院学报年月・文章一号:???单片机的“双语精确延时程序研究吴泽,张德喜•河南师范大学计算机与信息技术学院,河南新乡;•许昌学院电气信息工程学院,河南许昌摘要单片机在应用开发过程中,经常要处理很多精度要求高的延时程序•结合实际研究了单片机采用语言和汇编语言混合编程处理延时程序的思路及方法,提高编程的优良性和高效性.关键词:单片机;延时程序;混合编程中图分类号:文献标识码:单片机因其体积小、功能强、成本低以及便于实现分布式控制等特点而有非常广泛的应用领域•单片机开发者在处理各项应用开发过程中经常要去设计短吋间的

2、精确延时程序.比如需要驱动控制允许误井范国在I•儿微秒以内,我们使用汇编语言可以很轻松的解决这个问题,同时考虑目前嵌入式系统的主流工具为,但在使用写延时程序需要一些技巧,对初学者来讲较为困难.因此我们分析了如何进行“双语”单片机延时程序设计来尽可能的提高编程的优良性和高效性.延时要索单片机系统开发中,通常定时器/计数器做其他用途,我们就需要用软件方法实现延时•延时时长主要与两项要索有关•一是晶振,单片机系统一般选用、或者••后者在波特率生成方而有优势一,而前者的机器周期固定为和,便于控制精准的延时•二是延时程序中的循环次数,这需要我们结合常用的指令执行

3、时间加以计算,通过固定的延时循坏体多次重复执行来精准控制时间.延时程序的设计分析以编译器对晶振的单片机进行开发为例,使用汇编语言编写程序,时间可以精确掌控.使用语言开发,编译器对标准作了针对单片机特点的扩展,但不同的单片机、不同的语言编译器在汇编的翻译的过程中会生成不同的目标代码,我们可以通过反向汇编研究分析生成的代码,进而保证延时的精确性.・单循坏延时程序・:,上述程序片段延时时长为•我们可以根据指令执行周期时间表屮查询到不同的汇编指令所占机器周期,从而求出这种单循环汇编延时程序的精确延时时长.我们还可以使用语言的循坏语句來实现延时函数的设定收疆□期

4、:一一作者简介:吴泽一,男,河南许昌人,讲师,在读硕士研究生,研究方向:计算机应用第卷第期吴泽,等:单片机的“双语”精确延时程序研究一一对上述程序进行反向汇编,可以得到::,::的值存放在中,如果给初值则在主函数中调用同样可以实现的延时程序.——;如果通过一一函数也可以实现上述的延时函数编写•需衰常用指令执行周期■■■■■■■■■•■■■■■■■■■•■■■■■■■■■■■■■■■■■■■■■■■■•—耍说明的是,为什么上述两例函数可以实现的延吋呢作为初学指令机器周期者往往在这个点上会有困惑,因为主函数调用我们定义的函数首先需要执行指令,并且在执行完中

5、执行语句后,还需执行•最后的指令,结合表表为常用指令执行周期,我们可以得岀结论该函数执行・标准的语言小没有空语句•但在单片机的语言编程小,经常会用,儿个空指令产生短延时的效果…多重循环延时程序在很多情况需要增加延时长度的时候单循坏延时程序就不再适用,我们下面以延时为例,分析汇编程序及程序的延时实上述汇编代码实际是把延时视为了次延时•这样我们从最内层的循环体逐层嵌套计算,可以得到XXXX.这次我们使用语句实现程序的延时函数设计,,;;;一一;;一对上述程序进行反向汇编,观察其对应的汇编代码:对比分析用语言编写延时程序简洁易读,但延时时间不直观•而且单片机

6、是通过消耗机器周期来实现精确延时•因此程序产生的延时略欠精准、实时性差,而且延时时间计算繁琐需进行反向汇编,且

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。