標(biāo)題:
想問下大家關(guān)于鍵盤與顯示實(shí)驗(yàn)中的lcd1602無法顯示的問題
[打印本頁]
作者:
七夜努力變強(qiáng)
時(shí)間:
2021-4-23 11:17
標(biāo)題:
想問下大家關(guān)于鍵盤與顯示實(shí)驗(yàn)中的lcd1602無法顯示的問題
現(xiàn)在在學(xué)習(xí)單片機(jī),做了個(gè)鍵盤與顯示實(shí)驗(yàn),但不知代碼哪里出現(xiàn)了問題,lcd無法顯示,特來問下大家,想知道如何將問題解決,謝謝大家的解答仿真結(jié)果:lcd不顯示任何數(shù)據(jù)以下為此次代碼:
ORG 1000H;
MAIN:
;*******顯示屏顯示準(zhǔn)備************
RS EQU P3.7;
RW EQU P3.6;
E EQU P3.5;
MOV P1,#1; 清屏并光標(biāo)復(fù)位
ACALL ELABLE;
MOV P1,#00111000B;設(shè)置8位單行5*10顯示
ACALL ELABLE;
MOV P1,#00000111B; 顯示器開,光標(biāo)開,光標(biāo)允許閃爍
ACALL ELABLE;
MOV P1,#00000110B;文字不動(dòng),光標(biāo)自動(dòng)右移
ACALL ELABLE;
MOV P1,#80H;寫入顯示開始位置
ACALL ELABLE;
;*******鍵值查找*******************
DISP: ACALL KEYSCAN; 調(diào)用鍵盤掃描程序
MOV A,30H; 取出偏移量
MOV DPTR,#TABLE; 指向table表
MOVC A,@A+DPTR; 取出鍵盤所指數(shù)據(jù)
;*******將數(shù)據(jù)送到顯示器上顯示******
MOV P1,A;
MOV P2,A;
SETB RS;
CLR RW;
CLR E;
ACALL DELAY;
SETB E;
ACALL DELAY_XD;
SJMP MAIN;
;*******寫入控制命令的子程序************
ELABLE: CLR RS;
CLR RW;
CLR E;
ACALL DELAY;
SETB E;
RET;
;*******判斷顯示器是否處于忙的狀態(tài)******
DELAY: MOV P1,#0FFH;
CLR RS;
SETB RW;
CLR E;
NOP;
SETB E;
JB P1.7,DELAY;
RET;
;******消抖**********************
DELAY_XD:MOV R5,#10H;
NEXT1: MOV R6,#10H;
NEXT2: MOV R7,#10H;
DJNZ R7,$;
DJNZ R6,NEXT2;
DJNZ R5,NEXT1;
;*******線反轉(zhuǎn)法*****************
KEYSCAN:MOV P3,#0FH;
MOV A,P3;
ANL A,#0FH;
MOV R3,A;
MOV P3,#0F0H;
MOV A,P3;
ANL A,#0F0H;
ORL A,R3;
CJNE A,#0FFH,KEYPRO;
RET;
;*******鍵值處理********************
KEYPRO: MOV 31H,A;
MOV DPTR,#KEYVALUE;
MOV R4,#0;
KEY1: INC R4;
MOV A,R4;
MOVC A,@A+DPTR;
CJNE A,31H,KEY1;
MOV A,R4;
MOV 30H,A;
RET;
;*******表格數(shù)據(jù)*******************
KEYVALUE:DB 7EH,0BEH,0DEH,0EEH,7DH,0BDH,0DDH,0EDH,7BH,0BBH,0DBH,0EBH,77H,0B7H,0D7H,0E7H;
TABLE: DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,41H,42H,43H,44H,45H,46H;
END
作者:
七夜努力變強(qiáng)
時(shí)間:
2021-4-23 11:19
謝謝大家?guī)兔獯鹆?br />
作者:
七夜努力變強(qiáng)
時(shí)間:
2021-4-23 11:25
非常感謝大家的解答
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1