找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1475|回复: 1
收起左侧

想问下大家关于键盘与显示实验中的lcd1602无法显示的问题

[复制链接]
ID:910739 发表于 2021-4-23 11:17 | 显示全部楼层 |阅读模式
现在在学习单片机,做了个键盘与显示实验,但不知代码哪里出现了问题,lcd无法显示,特来问下大家,想知道如何将问题解决,谢谢大家的解答仿真结果:lcd不显示任何数据以下为此次代码:
ORG 1000H;
MAIN:

;*******显示屏显示准备************
                RS                EQU P3.7;
                RW                EQU P3.6;
                E                EQU P3.5;
                MOV                P1,#1;         清屏并光标复位
                ACALL        ELABLE;
                MOV                P1,#00111000B;设置8位单行5*10显示
                ACALL        ELABLE;
                MOV                P1,#00000111B; 显示器开,光标开,光标允许闪烁
                ACALL        ELABLE;
                MOV                P1,#00000110B;文字不动,光标自动右移
                ACALL        ELABLE;
                MOV                P1,#80H;写入显示开始位置
                ACALL        ELABLE;



;*******键值查找*******************
DISP:        ACALL         KEYSCAN;  调用键盘扫描程序
                MOV                A,30H;            取出偏移量
                MOV                DPTR,#TABLE; 指向table表
                MOVC        A,@A+DPTR;         取出键盘所指数据



;*******将数据送到显示器上显示******
                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;
               
               
               
;*******判断显示器是否处于忙的状态******
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;
               
               
;*******线反转法*****************
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;

;*******表格数据*******************
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





回复

使用道具 举报

ID:910739 发表于 2021-4-23 11:19 | 显示全部楼层
谢谢大家帮忙解答了
回复

使用道具 举报

ID:910739 发表于 2021-4-23 11:25 | 显示全部楼层
非常感谢大家的解答
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表