l 单键控制多灯延时闪烁—延时子程序
ORG 0000H ; 程序开始
MAIN:
GUAN : 按P0.0口的状态为0获得的跳转执行指令—子程序
CPL C ;反转P0.0口的状态0为1
AJMP MAIN ; 延时结束后,短转移跳转到MAIN,重新开始 ,改变了的P0.0口的状态便起作用了
ORG 0200H ; 从200H开始存放
DELAY: ; 延时子程序 — 这是一个非常有用、而且常见的一个子程序
F3:
F2:
F1:
END
程序说明:
每个口用字节赋值指令一次性的开关各个Pi口的外接器件。特别注意延时指令,在单片机的应用中,经常会使用延时特性。参见如下所述。
注意延时的本质实际上是单片机在空运转,因此可以使用一个跳转或多个跳转的空运转,以便控制更长的延时。寄存器是与运算器直接打交道的存储单元。
基本的延时子程序为
DELAY:
F1:
RET
l LED循环问题(跑马灯、流水灯)
一种方式位输出加延时子程序,二种方式字节输出加延时子程序,三种方式字节数据表加延时子程序。
a) 单个按键与多个LED灯—数码管(位操作—输入与字节操作—输出)—数表
l 单输入与多输出的电子线路—静态特性
在单个LED灯的基础上,添加多个LED灯或者用LED组灯来替代单个添加。从单个LED到LED组的硬件添加,再通过指令变化,可以感受到、可以发现数码管的应用方法,也可以体会到引用数组—数据表的好处。
l
多输出电子线路的控制指令—动态特性
多输出电子线路的控制指令—动态特性
通过硬件的变化,指令集—程序也在随着变化。可以发现,添加延时指令,可实现LED闪烁;也就是用多灯。通过用位赋值指令并延时单个LED的开关时间,实现流水灯现象。也可以对每个口用位指令赋值,顺序开关;可以用字节指令送数据,LOOP循环实现跑马灯。还可以用数据组格式—数表格式,通过扫描实现,等等。