单片机延时程序 单片机。用汇编语言编程。设计一软件延时1s的子程序。设晶振频率为12MHz?
单片机。用汇编语言编程。设计一软件延时1s的子程序。设晶振频率为12MHz?
Delay1000ms:(ht46r65微控制器)(注意不要打开定时器中断权限位)mov a,10000111b(设置频率和计数模式)(递增计数或递减计数)mov tmr0c,a(tmr0c计数器的控制寄存器)mov a,low(65536-31250)(设置频率为1s up 31250),所以它是delay1s mov tmr0l,a mov a,高(65536-31250)mov tmr0h,一组tmr0c.4 SNZ intc0.6 JMP$-1 CLR tmr0c.4 CLR intc0.6清除中断标志RET
带中断,定时器工作模式1,最大计数为65536,则从15536计数到65536需要50000次,6m晶体振荡器机器周期为2微秒,则溢出时间为100000微秒,计数溢出10次是1秒ORG 000BH ajmp time0 ORG 30h Main:mov 30h,h,首先清除30h地址的数据,用它作为mov进行溢出计数TMOD,#0000000 1b mov TH0,#3CH mov TL0,#0B0H SETB EA SETB ET0 SETB TR0回路:AJMP回路时间0:当push ACC push PSW Inc 30h进入中断时,MOV a,30h cjne a,#10,t自动关闭增加uret see计数器溢出到10倍,没有跳转到turet继续从15536ul1开始计数t:是时候延迟1秒了。编写自己的程序。
Mov 30h,#00h,记住再次清除溢出计数器tu返回:MOV TH0,#3CH MOV TL0,#0B0H POP PSW POP ACC RETI END.(3小时移动TL0,#0B0H弹出PSW弹出ACC RETI结束。)
单片机延时程序 汇编语言延时1s程序 51单片机延时1s的程序
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。