个595控制两个点阵的行。
本系统可通过调用不同的送码子程序控制点阵的颜色
图2.1行列控制电路图
3.电路与程序设计 3.1源程序
;------------------------------------------------ ; 8X16双色LED点阵流动显示 ; 逐列扫描
;------------------------------------------------ ORG 0000H AJMP MAIN ORG 0030H MAIN:
MOV DPTR,#TAB ;字码表初址赋值 MOV 18H,#16 ;列数 MOV 19H,#144 ;移动18个字符,共144列 CM: MOV R5,#4 ;每屏反复显示4次 MOV R3,#16 C1: MOV R1,#0FEH ;列控制码 MOV R4,#0FFH
MOV R2,#0 ;取字指针
13
C8:
CJNE R3,#8,BB ;前后八列之间的列控制码转换 MOV R4,#0FEH MOV R1,#0FFH BB: MOV A,R2
MOVC A,@A+DPTR ;取当前列的显示字码的一个字节 CJNE R3,#9,LP ;前后八列之间的列控制码选择 LP : JNC CC ;后八列列控制码 JNB P3.0,M2 JNB P3.1,M3
JNB P3.2,M4 LCALL SONG2 SJMP DDD M2: LCALL SONG4 SJMP DDD M3: LCALL SONG6 SJMP DDD M4: LCALL SONG8 SJMP DDD
CC: JNB P3.0,M21 JNB P3.1,M31 JNB P3.2,M41 LCALL SONG1 SJMP DDD M21:LCALL SONG3 SJMP DDD
M31:LCALL SONG5 SJMP DDD M41:LCALL SONG7 DDD:
INC R2 CLR P2.2 SETB P2.2 ACALL DMS DEC R3 DJNZ 18H,C8 MOV 18H,#16 L: MOV R3,#16
;选择显示模式 前八列列控制码 显示1MS ;未显示16 列,继续
14
; ;
DJNZ R5,C1 ;未显示4次,继续
INC DPTR ;一屏反复显示4次完,字码表初值加1
DJNZ 19H,CM ;144列未移动完,继续
AJMP MAIN
;144列显示完,返回,重新从“ 中文 ”开始显示
;--------------------------------------------------------- ; 延时子程序
;-------------------------------------------------------- DMS: MOV R6,#8 ;延时子程序 L1: MOV R7,#60 L2: DJNZ R7,L2 DJNZ R6,L1 RET
;--------------------------------------------------------- ; 送信号子程序
;---------------------------------------------------------- SLM: MOV C,ACC.7 ;送信号子程序 MOV P2.0,C
CLR P2.1 SETB P2.1 RL A
DJNZ 20H,SLM MOV 20H,#08H RET
;-------------------------------------------------------- ; 红色显示
;---------------------------------------------------------- SONG1: ;红色显示 前面八列送信号子程序 MOV 21H,#03H MOV 20H,#08H
LCALL SLM ;送行控制码 LOOP:MOV A,R4 ;送列控制码 LCALL SLM DJNZ 21H,LOOP
MOV A,R1 ;送列控制码 LCALL SLM MOV A,R1
15
RL A
MOV R1,A
RET
SONG2: ; 后面八列送信号子程序 MOV 21H,#02H
MOV 20H,#08H
LCALL SLM ;送行控制码 MOV A,R1 LCALL SLM
MOV A,R4 ;送列控制码 LCALL SLM
MOV A,R4 RL A
MOV R4,A
LOOP1:MOV A,R1 ;送列控制码 LCALL SLM DJNZ 21H,LOOP1 RET
;---------------------------------------------------- ; 绿色显示
;---------------------------------------------------- SONG3: ;绿色显示 前八列送信号子程序 MOV 21H,#02H MOV 20H,#08H LCALL SLM
LOOP2:MOV A,R4 ;送列控制码 LCALL SLM DJNZ 21H,LOOP2
MOV A,R1 ;送列控制码 LCALL SLM MOV A,R1
RL A
MOV R1,A
MOV A,R4 ;送列控制码 LCALL SLM RET
SONG4: ; 后八列送信号子程序 MOV 21H,#03H MOV 20H,#08H
LCALL SLM ;送行控制码
16
相关推荐: