4. 广告灯的左移右移 1. 实验任务 做单一灯的左移右移,硬件电路如图 4
1 所示,八个发光二极管 L1-L8分别接在单片机的 P1
7 接口上,输出“0”时,发光二极管亮,开始时 P1
3→┅→P1
6→┅→P1
0 亮,重复循环
2. 电路原理图 图 4
1 3. 系统板上硬件连线 把“单片机系统”区域中的 P1
7 用 8 芯排线连接到“八路发光二极管指示模块”区域中的 L1-L8 端口上,要求:P1
0 对应着 L1,P1
1 对应着 L2,……,P1
7 对应着 L8
4. 程序设计内容 我们可以运用输出端口指令 MOV P1,A 或 MOV P1,#DATA,只要给累加器值或常数值,然后执行上述的指令,即可达到输出控制的动作
每次送出的数据是不同,具体的数据如下表 1 所示 P1
0说明L8L7L6L5L4L3L2L1 11111110L1 亮11111101L2 亮11111011L3 亮11110111L4 亮11101111L5 亮11011111L6 亮10111111L7 亮01111111L8 亮表 1 5.程序框图 图 4
2 6. 汇编源程序ORG 0START: MOV R2,#8MOV A,#0FEHSETB CLOOP: MOV P1,ALCALL DELAYRLC ADJNZ R2,LOOPMOV R2,#8LOOP1: MOV P1,ALCALL DELAYRRC ADJNZ R2,LOOP1LJMP STARTDELAY: MOV R5,#20 ;D1: MOV R6,#20D2: MOV R7,#248DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND7. C 语言源程序#in