EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机程序的完善 [: o; O- j/ `/ O
2 D" b6 V7 q6 w; E0 f7 n* q; X$ L: K2 J2 u8 w! G- A
怎样才能让灯不断地闪烁呢?实际上就是要灯亮一段时间,再灭一段时间,也就是说要P10不断地输出高和低电平。怎样实现这个要求呢?请考虑用下面的指令是否可行: SETB P10 CLR P10 ……… 这是不行的,有两个问题,第一,计算机执行指令的时间很快,执行完SETB P10后,灯是灭了,但在极短时间(微秒级)后,计算机又执行了CLR P10指令,灯又亮了,所以根本分辨不出灯曾灭过。第二,在执行完CLR P10后,不会再去执行SETB P10指令,所以以后再也没有机会让灭了。 为了解决这两个问题,我们可以做如下设想,第一,在执行完SETB P10后,延时一段时间(几秒或零点几秒)再执行第二条指令,就可以分辨出灯曾灭过了。第二在执行完第二条指令后,让计算机再去执行第一条指令,不断地在原地兜圈,我们称之为"循环",这样就可以完成任务了。 以下先给出程序(后面括号中的数字是为了便于讲解而写的,实际不用输入): 2 {% H' V$ j! i6 ?) k6 b9 e
|