7.2.2  查表控制广告灯

7.2.2 查表控制广告灯

运用查表法做单一灯的左移或右移。在用表格进行程序设计的时候,要用以下的指令来完成:

利用“MOV DPTR,#DATA16”指令来使数据指针寄存器指到表的开头。

利用“MOVC A,@A+DPTR”指令,根据累加器的值再加上DPTR的值,就可以使程序计数器PC指到表格内所要取出的数据。

因此只要把控制码建成一个表,利用“MOVC A,@A+DPTR”做取码的操作,就可方便地处理一些复杂的控制动作。

1.应用电路

参考图7-7所示电路,8个发光二极管VL1~VL8分别接在单片机的P1.0~P1.7接口上,输出“0”时,发光二极管亮,P1.0→P1.1→P1.3→┅→P1.7依次点亮,重复循环。

978-7-111-46831-8-Chapter07-23.jpg

图7-10 广告灯控制流程图

2.程序设计

(1)程序功能 单片机P1接口控制8个发光二极管按照不同顺序点亮。

(2)程序流程图 广告灯控制流程如图7-10所示。

(3)参考程序

1)汇编参考程序:

978-7-111-46831-8-Chapter07-24.jpg

978-7-111-46831-8-Chapter07-25.jpg

2)C语言参考程序:

978-7-111-46831-8-Chapter07-26.jpg