如何编写一段程序,单片机是51系列的,要求编写8个LED灯有三种以上的闪烁方式,灯闪烁时间0.5S

如题所述

第1个回答  2010-12-22
给你最简单的,看得清楚易懂的,P1口接8位LED,有多种闪烁方式。P2(扫描端在P2口,P3为位选端,注意看代码)口接上两位数码管的话还可以显示00-99的数字:
ZHUCX: MOV A,#11111110B
MOV P1,A
ACALL YANSHI
MOV A,#11111100B
MOV P1,A
ACALL YANSHI
MOV A,#11111000B
MOV P1,A
ACALL YANSHI
MOV A,#11110000B
MOV P1,A
ACALL YANSHI
MOV A,#11100000B
MOV P1,A
ACALL YANSHI
MOV A,#11000000B
MOV P1,A
ACALL YANSHI
MOV A,#10000000B
MOV P1,A
ACALL YANSHI
MOV A,#00000000B
MOV P1,A
ACALL YANSHI
MOV A,#10000000B
MOV P1,A
ACALL YANSHI
MOV A,#11000000B
MOV P1,A
ACALL YANSHI
MOV A,#11100000B
MOV P1,A
ACALL YANSHI
MOV A,#11110000B
MOV P1,A
ACALL YANSHI
MOV A,#11111000B
MOV P1,A
ACALL YANSHI
MOV A,#11111100B
MOV P1,A
ACALL YANSHI
MOV A,#11111110B
MOV P1,A
ACALL YANSHI
MOV A,#11111111B
MOV P1,A
ACALL YANSHI
MOV R4,#5
D5 : MOV A,#01111110B
MOV P1,A
ACALL YANSHI
MOV A,#10111101B
MOV P1,A
ACALL YANSHI
MOV A,#11011011B
MOV P1,A
ACALL YANSHI
MOV A,#11100111B
MOV P1,A
ACALL YANSHI
MOV A,#11011011B
MOV P1,A
ACALL YANSHI
MOV A,#10111101B
MOV P1,A
ACALL YANSHI
MOV A,#01111110B
MOV P1,A
ACALL YANSHI
DJNZ R4,D5
ACALL YANSHI
MOV R0,#3
LOOP: MOV A,#01010101B
MOV P1,A
ACALL YANSHI
MOV A,#10101010B
MOV P1,A
ACALL YANSHI
DJNZ R0,LOOP
MOV A,#11111110B
MOV P1,A
ACALL YANSHI
MOV A,#11111101B
MOV P1,A
ACALL YANSHI
MOV A,#11111011B
MOV P1,A
ACALL YANSHI
MOV A,#11110111B
MOV P1,A
ACALL YANSHI
MOV A,#11101111B
MOV P1,A
ACALL YANSHI
MOV A,#11011111B
MOV P1,A
ACALL YANSHI
MOV A,#10111111B
MOV P1,A
ACALL YANSHI
MOV A,#01111111B
MOV P1,A
ACALL YANSHI
MOV A,#10111111B
MOV P1,A
ACALL YANSHI
MOV A,#11011111B
MOV P1,A
ACALL YANSHI
MOV A,#11101111B
MOV P1,A
ACALL YANSHI
MOV A,#11110111B
MOV P1,A
ACALL YANSHI
MOV A,#11111011B
MOV P1,A
ACALL YANSHI
MOV A,#11111101B
MOV P1,A
ACALL YANSHI
MOV A,#11111110B
MOV P1,A
ACALL YANSHI
START:MOV R0,#0
MOV DPTR,#TABLE
LOOP1:ACALL DISPLAY
INC R0
CJNE R0,#100,LOOP1
JMP ZHUCX
DISPLAY:MOV A,R0
MOV B,#10
DIV AB
MOV R1,A
MOV R2,B
MOV R3,#50
LOOP2:MOV A,R2
ACALL CHANG
CLR P3.6
ACALL DLY10MS
SETB P3.6
SETB P3.5
MOV A,R1
ACALL CHANG
CLR P3.7
ACALL DLY10MS
SETB P3.7
SETB P3.4
DJNZ R3,LOOP2
RET
CHANG:MOVC A,@A+DPTR
MOV P2,A
RET
DLY10MS:MOV R6,#10
D1: MOV R7,#200
DJNZ R7,$
DJNZ R6,D1
RET
YANSHI :MOV R5,#30
D3:MOV R6,#50
D4:MOV R7,#50
DJNZ R7,$
DJNZ R6,D4
DJNZ R5,D3
RET
TABLE:DB 0C0H,0F9H,0A4H,0B0H
DB 99H,92H,82H,0F8H
DB 80H,90H,88H,83H
DB 0C6H,0A1H,86H,8EH
END
第2个回答  2010-12-22
多看看书吧》》
51单片机用C语言写就好了。。。
编译工具 Keil本回答被提问者和网友采纳
第3个回答  2010-12-23
你是电子科大成都学院的吧...?