



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机c语言延时子程序 引用:/user1/3191/archives/2006/30036.html有个好帖,从精度考虑,它得研究结果是:void delay2(unsigned char i) while(-i); 为最佳方法。分析:假设外挂12M(之后都是在这基础上讨论)我编译了下,传了些参数,并看了汇编代码,观察记录了下面的数据:delay2(0):延时518us 518-2*256=6delay2(1):延时7us(原帖写“5us”是错的,_)delay2(10):延时25us 25-20=5delay2(20):延时45us 45-40=5delay2(100):延时205us 205-200=5delay2(200):延时405us 405-400=5见上可得可调度为2us,而最大误差为6us。精度是很高了!但这个程序的最大延时是为518us 显然不能满足实际需要,因为很多时候需要延迟比较长的时间。那么,接下来讨论将t分配为两个字节,即uint型的时候,会出现什么情况。void delay8(uint t)while(-t);我编译了下,传了些参数,并看了汇编代码,观察记录了下面的数据:delay8(0):延时524551us 524551-8*65536=263delay8(1):延时15usdelay8(10):延时85us 85-80=5delay8(100):延时806us 806-800=6delay8(1000):延时8009us 8009-8000=9delay8(10000):延时80045us 80045-8000=45delay8(65535):延时524542us 524542-524280=262如果把这个程序的可调度看为8us,那么最大误差为263us,但这个延时程序还是不能满足要求的,因为延时最大为524.551ms。那么用ulong t呢?一定很恐怖,不用看编译后的汇编代码了。那么如何得到比较小的可调度,可调范围大,并占用比较少得RAM呢?请看下面的程序:/*-程序名称:50us 延时注意事项:基于1MIPS,AT89系列对应12M晶振,W77、W78系列对应3M晶振例子提示:调用delay_50us(20),得到1ms延时全局变量:无返回: 无-*/void delay_50us(uint t)uchar j;for(;t0;t-) for(j=19;j0;j-) ;我编译了下,传了些参数,并看了汇编代码,观察记录了下面的数据:delay_50us(1):延时63us 63-50=13delay_50us(10):延时513us 503-500=13delay_50us(100):延时5013us 5013-5000=13delay_50us(1000):延时50022us 50022-50000=22赫赫,延时50ms,误差仅仅22us,作为C语言已经是可以接受了。再说要求再精确的话,就算是用汇编也得改用定时器了。/*-程序名称:50ms 延时注意事项:基于1MIPS,AT89系列对应12M晶振,W77、W78系列对应3M晶振例子提示:调用delay_50ms(20),得到1s延时全局变量:无返回: 无-*/void delay_50ms(uint t)uint j;/*可以在此加少许延时补偿,以祢补大数值传递时(如delay_50ms(1000))造成的误差,但付出的代价是造成传递小数值(delay_50ms(1))造成更大的误差。因为实际应用更多时候是传递小数值,所以补建议加补偿!*/for(;t0;t-) for(j=6245;j0;j-) ;我编译了下,传了些参数,并看了汇编代码,观察记录了下面的数据:delay_50ms(1):延时50 010 10usdelay_50ms(10):延时499 983 17usdelay_50ms(100):延时4 999 713 287usdelay_50ms(1000):延时4 997 022 2.978ms赫赫,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年骨科理论考试试题及答案
- 2025年青少年心理健康问题与干预策略
- 2025年气候变化对生物适应性的影响
- 七年级体育 第1课舞动青春 预备姿势伸展运动 扩胸运动说课稿 人教新课标版
- 2025年家庭保洁项目立项申请报告
- 第二十三章 日常生活中的生物技术 说课稿-2025-2026学年初中生物学苏教版八年级下册-苏教版
- 7《呼风唤雨的世纪》教学设计-统编版语文四年级上册
- 2025年重氮化工艺考试历年真题(附带答案)
- 2025年公司安全员岗位考试题库及答案
- 监理工程师土建案例考试真题2025年
- 成都市金堂县教育局所属事业单位2025年下半年公开招聘教师的(64人)考试参考题库及答案解析
- 头道汤的课件
- 人教部编版六年级语文上册郝晓怡《盼》名师教学课件
- 【义乌小商品市场出口贸易的现状与对策探析8100字(论文)】
- 心速宁胶囊的抗心肌纤维化
- 沟通的艺术智慧树知到期末考试答案章节答案2024年湖南师范大学
- 城轨专业职业生涯规划
- 高海拔地区常见疾病与适应措施
- 《艺术实践》课程教学大纲
- 三阶魔方七步还原图文教程
- 食材配送应急预案
评论
0/150
提交评论