单片机c语言延迟子程序,单片机通用延时子程序

单片机通用延时子程序

使用方法如下:1、如果用循环语句实现的循环,没法计算,但是可以通过软件仿真看到具体时间,但是一般精精确延时是没法用循环语句实现的。

2、如果想精确延时,一般需要用到定时器,延时时间与晶振有关系,单片机系统一般常选用11.059 2 MHz、12 MHz或6 MHz晶振。第一种更容易产生各种标准的波特率,后两种的一个机器周期分别为1 μs和2 μs,便于精确延时。本程序中假设使用频率为12 MHz的晶振。最长的延时时间可达216=65 536 μs。若定时器工作在方式2,则可实现极短时间的精确延时;如使用其他定时方式,则要考虑重装定时初值的时间(重装定时器初值占用2个机器周期)。

通用延时子程序 [地址]

7FEBH - FFEBH [功能]:延时 [入口]:延时常数放在 R2 寄存器中。时间常数 N(十六进制)所对应的延时时间(6MZH 晶振时)见下表: [出口]:R2=0 [占用寄存器]:R2 [调用]:无 例:延时1 秒子程序 MOV R2,#18H LCALL 7FEBH RET ORG 7FEBH ;通用延时子程序(07EBH & 0FEBH & ...) L7FEB: PUSH 02H ;R2(复位后R2即为 02H)存放时间常数,进栈保护 L7FED: PUSH 02H ; R2 进栈保护 L7FEF:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值