- 17
- 0
- 约1.65千字
- 约 3页
- 2020-11-20 发布于云南
- 举报
PAGE / NUMPAGES
C语言程序延时
Keil C51的编程语言常用的有2种:一种是汇编语言;另一种是C 语言。用汇编语言写单片机程序时,精确时间延时是相对容易解决的。比如,用的是晶振频率为12 MHz的AT 89C51,打算延时20 μs,51单片机的指令周期是晶振频率的1/12,即一个机器周期为1 μs;“MOV R0,#X”需要2个机器周期,DJNZ也需要2个机器周期,单循环延时时间t=2X+3(X为装入寄存器R0的时间常数)[2]。这样,存入R0里的数初始化为8即可,其精度可以达到1 μs。用这种方法,可以非常方便地实现512 μs以下时间的延时。如果需要更长时间,可以使用两层或更多层的嵌套,当然其精度误差会随着嵌套层的增加而成倍增加。
C程序中可使用不同类型的变量来进行延时设计。经实验测试,使用unsigned char类型具有比unsigned int更优化的代码,在使用时应该使用unsigned char作为延时变量。
有人说如果while里面不能放其它语句,否则也不行,用do-while就可以,具体怎样我没有去试.所有这些都没有给出具体的实例程序来.还看到一些延时的例子多多少少总有点延时差.为此我用for循环写了几个延时的子程序贴上来,希望能对初学者有所帮助.(晶振12MHz,一个机器周期1us.)
????一. 500ms延时子程序
程序:
您可能关注的文档
- 2018版第五章-明大德守公德严私德练习题.docx
- 2018秋九年级物理全册14.2热机的效率练习(含解析)(新版)新人教版.docx
- 2018秋季学期宜昌市东山中学期中测试-八年级数学(定稿).docx
- 2018高考复习:近六年高考全国卷语文真题分类及答案(默写).docx
- 2018高考语文全国1卷-(精校排版).doc
- 2019-2020年九年级物理上册-第14章《内能的利用》复习讲学稿(新版)新人教版.doc
- 2019-2020年高三上学期摸底考试物理试卷-含答案.doc
- 2019-2020年高三第一次模拟考试物理试题含答案.doc
- 20190524幼儿园各岗位职责分工.docx
- 2019四川专业技术人员继续教育大数据测试题答案.docx
- ISOIEC 9995-42025 信息技术.文本和办公系统的键盘布局.第4部分数字部分标准立项发展报告.docx
- 2026年生物科技行业报告:生物制药与供应链稳定策略[001].docx
- 功能性纤维项目资金申请报告(参考范文).docx
- 信息安全风险评估与整改措施(标准版).docx
- 2026年物流行业尽职调查报告:供应链优化与挑战.docx
- 2026年药品AI辅助研发创新报告.docx
- 旧物市场分工方案范本.docx
- ISOIEC 9594-122025 信息技术 开放系统互连 第12部分目录密钥管理和公钥基础设施的建立和维护标准立项发展报告.docx
- 2026年产业园区发展动态与运营优化报告.docx
- 马方综合征骨骼畸形护理查房.pptx
原创力文档

文档评论(0)