单片机 89c51 程序 1、单片机一个脚 如 P1.0 能带动几个并联一起5MM的LED2、我要写个程序要P0,P1,P2 (其他口也行) 都能同时输出分别控制24个LED.用汇编语言 P0和P2 输出16个LED跑马灯 P2控制8个LED

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 09:53:15
单片机 89c51 程序 1、单片机一个脚 如 P1.0 能带动几个并联一起5MM的LED2、我要写个程序要P0,P1,P2 (其他口也行) 都能同时输出分别控制24个LED.用汇编语言 P0和P2 输出16个LED跑马灯 P2控制8个LED

单片机 89c51 程序 1、单片机一个脚 如 P1.0 能带动几个并联一起5MM的LED2、我要写个程序要P0,P1,P2 (其他口也行) 都能同时输出分别控制24个LED.用汇编语言 P0和P2 输出16个LED跑马灯 P2控制8个LED
单片机 89c51 程序
1、单片机一个脚 如 P1.0 能带动几个并联一起5MM的LED
2、我要写个程序要P0,P1,P2 (其他口也行) 都能同时输出分别控制24个LED.用汇编语言 P0和P2 输出16个LED跑马灯 P2控制8个LED全灭和全亮
3、最后的数据表以这样的方式排列行吗?例如(有点复杂没关系):
TABLE1:DB .
TABLE2:DB .
TABLE3:DB .
第二条写错了,应该是:2、我要写个程序要P0,P1,P2 (其他口也行) 都能同时输出分别控制24个LED.用汇编语言 P0和P1 输出16个LED跑马灯 P2控制8个LED全灭和全亮 (其他口也行)

单片机 89c51 程序 1、单片机一个脚 如 P1.0 能带动几个并联一起5MM的LED2、我要写个程序要P0,P1,P2 (其他口也行) 都能同时输出分别控制24个LED.用汇编语言 P0和P2 输出16个LED跑马灯 P2控制8个LED
试试如下程序:
ORG 0000H
MOV R3,#0
LOOP0:
MOV A,R3
MOV DPTR,#TABLE1
ANL A,#0FH
MOVC A,@A+DPTR
MOV P1,A
MOV A,R3
MOV DPTR,#TABLE2
ANL A,#0FH
MOVC A,@A+DPTR
MOV P2,A
MOV A,R3
MOV DPTR,#TABLE3
ANL A,#0FH
MOVC A,@A+DPTR
MOV P3,A
INC R3
CALL DL500MS
SJMP LOOP0
;------------------------------------
TABLE1:DB 7FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH,0,0,0,0,0,0,0,0
TABLE2:DB 0,0,0,0,0,0,0,0,7FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH
TABLE3:DB 0,0FFH,0,0FFH,0,0FFH,0,0FFH,0,0FFH,0,0FFH,0,0FFH,0,0FFH
;-------------------------------延时子程序
DL500MS:
MOV R5,#9 ;1T
DL1:MOV R6,#128 ;1T
DL2:MOV R7,#215 ;1T
NOP ;1T
DL3:DJNZ R7,DL3 ;2T 2 * 215 = 430 T
DJNZ R6,DL2 ;2T [1+1+430+2] * 128 = 55552 T
DJNZ R5,DL1 ;2T [1+55552+2] * 9 = 499995 T
RET ;2T 1 + 499995 + 2 = 499998 T
;-------------------------------------
END