单片机精控延时

单片机精控延时

ID:38084960

大小:31.00 KB

页数:3页

时间:2019-05-28

单片机精控延时_第1页
单片机精控延时_第2页
单片机精控延时_第3页
资源描述:

《单片机精控延时》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、单片机精控延时C语言与汇编语言对照(本文基于keil4编译其他版本未测试)10us精控36:voidmain()37:{38:while(1)39:{40:DelayMS();C:0x001812000FLCALLDelayMS(C:000F)41:}}C:0x001B80FBSJMPmain(C:0018)42:voidDelayMS()/////////////////////////////10us精确延时43:{44:unsignedchart,k;45:for(k=0,t=0;t<1;t++);////加了一个k循环周期就

2、加了1个usC:0x000FE4CLRAC:0x0010F508MOV0x08,AC:0x0012FFMOVR7,AC:0x00130FINCR7C:0x0014BF01FCCJNER7,#0x01,C:001346:}C:0x001722RET1016us≈1ms精控(ms不管等于多少,16us都存在。例如ms=1时整个函数完成需要1016us,ms=2时整个函数完成需要2016)23:voidmain()24:{25:while(1)26:{27:DelayMS(255);C:0x002D7FFFMOVR7,#0xFFC:0x0

3、02F7E00MOVR6,#0x00C:0x0031120003LCALLDelayMS(C:0003)28:}}C:0x003480F7SJMPmain(C:002D)29:voidDelayMS(unsignedintms)30:{31:uchart,k,l,m,n;32:while(ms--)C:0x0003EFMOVA,R7C:0x00041FDECR7C:0x0005AA06MOVR2,0x06C:0x00077001JNZC:000AC:0x00091EDECR6C:0x000A4AORLA,R2C:0x000B6013

4、JZC:002033:{34:for(t=0,l=0,m=0,n=0;t<109;t++,k++);////这里加了l,m,n就相当于加了(l+m+n)*ms=3*255=765us。K++是为了增加循环的周期,如果没有k++那下面的公式就是(8t+16)ms+15+1*□+3*ms而不是(9*t+16)ms+15+1*□+3*msC:0x000DE4CLRAC:0x000EFDMOVR5,AC:0x000FF509MOV0x09,AC:0x0011F50AMOV0x0A,AC:0x0013F50BMOV0x0B,AC:0x0015

5、EDMOVA,R5C:0x0016C3CLRCC:0x0017946DSUBBA,#0x6DC:0x001950E8JNCDelayMS(C:0003)C:0x001B0DINCR5C:0x001C0508INC0x08C:0x001E80F5SJMPC:001535:}36:}C:0x002022RET段落计算公式:(此公式ms≠0。当ms赋值为0时此函数的延时效果为17us)4+9*(ms+1)+2*ms+(9T+5)*ms+1*□+3*ms+2T=109Ms为延时。□---àms转化成16进制高字节的数字+1:1000=03E

6、8。那么方框里1+3=4。500=01F4那么方框里1+1=2。化简后计算公式:(ms≠0。当ms=0时此函数的延时效果为17us)(9*T+16)ms+15+1*□+3*msT=109Ms为延时。□---àms转化成16进制高字节的数字+1:1000=03E8。那么方框里1+3=4。500=01F4那么方框里1+1=2。▲注意:前面定义的所有变量数据类型全都不能更改,一旦更改公式便作废了。ms为unsignedint对应数据范围时65535~0,即两个字节。大于0的赋值对于这两个公式都是有效的。我们都知道一个字节最大范围255~0

7、,那么当ms<=255既ms<=00FF时高字节为0那么□为1+0=1。

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

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

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