本人的设计,里面电路图、源程序
部分程序:
COM EQU 34H ;指令寄存器 DAT EQU 35H ;数据寄存器 CWADD1 EQU 8400H ;写指令代码地址(左) CRADD1 EQU 8600H ;读状态字地址(左) DWADD1 EQU 8500H ;写显示数据地址(左) DRADD1 EQU 8700H ;读显示数据地址(左) CWADD2 EQU 8800H ;写指令代码地址(右) CRADD2 EQU 8A00H ;读状态字地址(右) DWADD2 EQU 8900H ;写显示数据地址(右) DRADD2 EQU 8B00H ;读显示数据地址(右) RELIE EQU 36H ;在汉字中保存列其始值 COLUMN EQU 30H ;列地址寄存器(0-127) PAGER EQU 31H ;页地址寄存器D2,D1,D0:页地址 ;D7:字符体D7=0为6X8点阵 ; D7=1为8X8点阵 CODER EQU 32H ;字符代码寄存器 COUNT EQU 33H ;计数器 ZIDI EQU 37H ;字体在表中的位置指针地位 ;MOVDPTR,#CCTAB ; MOVZIDI,DPL MOV ZIGAO,DPH ZIGAO EQU 38H ;字体在表中的位置指针高位 DONGXH EQU 39H ;此为动态显示的位数 BAOHUDI EQU 3AH BAOHUGAO EQU 3BH ;3CH,3DH,3EH,3FH作键盘用 ADREL1 EQU 42H ADREL2 EQU 43H ;******************************************************************* ORG 0000H AJMP MAIN ORG 0030H ;数据接P0口 MAIN: MOV SP,#70H MOV 40H,#00H MOV 41H,#40H MOV R4,#0AH MOV R0,#50H CLEARA: MOV@R0,#00H INC R0 DJNZ R4,CLEARA LCALL INT LCALL CLEAR LCALL DDD ;静态字显示 L1: MOV 3CH,#0F7H ;开始键扫描 MOV 3DH,#00H L2: MOV A,3CH MOV P1,A MOV A,P1 MOV 3EH,A SETB C MOV 3FH,#04H L3: RLC A JNC KEYIN INC 3DH DJNZ 3FH,L3 ;LCALL DISP1 MOV A,3CH SETB C RRC A MOV 3CH,A JC L2 AJMP L1 KEYIN: MOV R7,#60 D2: MOV R6,#248 DJNZ R6,$ DJNZ R7,D2 D3: MOV A,P1 XRL A,3EH JZ D3 CLR C MOV A,3DH RLC A MOV DPTR,#TABLE JMP @A+DPTR MNMN: AJMP L1 TABLE: AJMP MN0 ;键盘入口地址 AJMP MN1 AJMP MN2 AJMP MN3 AJMP MN4 AJMP MN5 AJMP MN6 AJMP MN7 AJMP MN8 AJMP MN9 AJMP MN13 AJMP MN14 AJMP MN15 ;键盘入口地址 MN0: MOV A,40H JNZ FANMN0 AJMP MN0_0 FANMN0: AJMP MNMN MN0_0: MOV A,41H SUBB A,#80H JC JX0 AJMP FANMN0 AJMP MNMN MN10: AJMP MNMN MN11: AJMP MNMN MN12: AJMP MNMN MN13: AJMP MNMN MN15:; MOV ADREL1,#00H MOV ADREL2,#0BCH
|