程序设计容
在编程序以前先给大家讲一下延时程序:
(1).延时程序的设计方法
作为单片机的指令的执行的时间是很短,一条指令的运行速度能达到微秒级,(所谓指令运行速度与
外接晶振有关)因此,我们要求的闪烁时间间隔为0.2秒,相对于微秒来说,相差太大,所以我们在执行
某一指令时,插入延时程序,来达到我们的要求,但这样的延时程序是如何设计呢?下面具体介绍其原理:
如下图所示,我们实际用的石英晶体为11。0592MHz,(之所以用它是为了方便串口波特率计算准确)但
为了计算方便我们暂且按12M晶振来计算,因些,1 个机器周期为1 微秒
因此,上面的延时程序时间为10.002ms。
由以上可知,当R6=10、R7=248 时,延时5ms,R6=20、R7=248 时,延时10ms,以此为基本的计时单位。
如本实验要求0.2 秒=200ms,10ms×R5=200ms,则R5=20,延时子程序如下:
DELAY: MOV R5,#20
D1: MOV R6,#20
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
(2).输出控制
如 原理图所示,当P2.7端口输出低电平,即P2.7=0时,根据发光二极管的单向导电性可知,这时发光二
极管LED1亮;当P2.7端口输出高电平,即P2.7=1时,发光二极管LED1熄灭;我们可以使用SETB P1.0 指
令使P1.0 端口输出高电平,使用CLR P1.0 指令使P1.0 端口输出低电平。
5).程序框图
评论0
最新资源