单片机动态控制64个彩灯
时间:03-21 15:30 阅读:1459次
*温馨提示:点击图片可以放大观看高清大图
简介:用8051控制64个彩灯,使其先从左到右动态点亮3次,后从右到左动态点亮3次,再从到下点亮3次,最后从下到上点亮3次,如此动态循环。
1、设计目的
1. 进一步熟悉和掌握单片机的结构、工作原理及课本中出现的典型程序。
2. 掌握单片机的接口技术及相关外围芯片的外特性,控制方法。
2、系统硬件图
3、参考程序清单
ORG 00H
START: NOP
MOV R3,#3
LOP2: MOV R4,#8
MOV R2,#0
LOP1: MOV P1,#00H
MOV DPTR,#TABA
MOV A,R2
MOVC A, @A DPTR
MOV P3,A
LCALL DELAY
INC R2
DJNZ R4,LOP1
DINZ R3, LOP2
MOV R3,#3
LOP4: MOV R4,#8
MOV R2,#7
LOP3: MOV P1,#00H
MOV DPTR,#TABA
MOV A,R2
MOVC A,@A DPTR
MOV P3,A
LCALL DELAY
DEC R2
DJNZ R4,LOP3
DJNZ R3,LOP4
MOV R3,#3
LOP6:MOV R4,#8
MOV R2,#0
Lop5:MOV P3,#0FFH
MOV DPTR,#TABB
MOV A,R2
MOVC A,@A DPTR
MOV P1,A
LCALL DELAY
INC R2
DJNZ R4,LOP5
DJNZ R3,LOP6
MOV R3,#3
LOP8: MOV R4,#8
MOV R2,#7
LOP7: MOV P3,#0FFH
MOV DPTR,#TABB
MOV A,R2
MOVC A,@A DPTR
MOV P1,A
LCALL DELAY
DEC R2
DJNZ R4,LOP7
DJNZ R3,LOP8
LJMP START
DELAY: MOV R6,#0FFH
LOOP: MOV R7,#0FFH
D1: DJNZ R7,D1
DJNZ R6,LOOP
RET
TABA: DB 80H,40H,20H,10H,08H,04H,02H,01H
TABB: DB 0FFH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,075H