单片机的汇编延时程序如果是几十秒的应该怎么写?

[复制链接]
查看11 | 回复4 | 2009-8-18 23:05:03 | 显示全部楼层 |阅读模式
几十秒对于单片机来说是很长很长的时间了,单片机几十秒的时间什么事都不能做,只在跑这延时程序,那是什么概念,用中断的话,单片机正常运行其他程序,只是时间到了才过来处理延时以后的程序,效率不知道高了多少 一句话,单片机跑延时程序的这段时间,可以看做是处于死机状态,看你还敢不敢让单片机死机几十秒 实现的话,就是中断里计数,比如100ms中断一次,那么10次就是1秒,100次就是10秒,如果需要10秒,时间到了就置个标志,到主程序来判断这个标志,即可...
回复

使用道具 举报

千问 | 2009-8-18 23:05:03 | 显示全部楼层
这个跟你说吧,你想延时几十秒和你想延时几十毫秒是一个样子,只要你继续嵌套就可以。比如,你编写了100MS的,然后继续嵌套就会有1s的10s的。但是 单片机是单线处理,一段时间只进行一种行为,比如说延时就不会做其他的,明白?所以为了效率提高,中断计时相当于我们又找了个地方作延时程序,当延时完了后执行中断处理。而当他在一个地方延时的时候,我们可以去让...
回复

使用道具 举报

千问 | 2009-8-18 23:05:03 | 显示全部楼层
delay
proc
mov
a,0ffh
mov
delay_counter_1,a
mov
delay_counter_2,await:
sdz
delay_counter...
回复

使用道具 举报

千问 | 2009-8-18 23:05:03 | 显示全部楼层
1楼正解...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行