在PROTEUS中进行LCD1602运用仿真时,为什么LCD1602不显示,,汇编程序如下,

RS EQU P3.0
RW EQU P3.1
EN EQU P3.2
LCD EQU P1
ORG 0H
CSH:
MOV A,#01H
CALL WR_INST
MOV A,#38H
CALL WR_INST
MOV A,#0FH
CALL WR_INST
MOV A,#06H
CALL WR_INST
MOV A,#14H
CALL WR_INST
;===============================
LOOP: MOV A,#80H
CALL WR_INST
MOV DPTR,#LINE1
MOV R0, #16
CALL WR_STRING
CALL DELAY2
;===============================
MOV A,#11000000B
CALL WR_INST
MOV DPTR,#LINE2
MOV R0,#16
CALL WR_STRING
CALL DELAY2
;==============================
MOV A,#80H
CALL WR_INST
MOV DPTR,#LINE3
MOV R0,#16
CALL WR_STRING
CALL DELAY2
;=============================
MOV A,#11000000B
CALL WR_INST
MOV DPTR,#LINE4
MOV R0,#16
CALL WR_STRING
CALL DELAY2
JMP LOOP
;================================
WR_INST:
CALL CHECK_BF
CLR RS
CLR RW
SETB EN
MOV LCD,A
CLR EN
RET
;==========================
CHECK_BF:
PUSH ACC
BUSY:
CLR RS
SETB RW
SETB EN
MOV A,LCD
CLR EN
JB ACC.7,BUSY
CALL DELAY
POP ACC
RET
;=========================
WR_STRING:
MOV R0,#0
NEXT: MOV A,R1
MOVC A,@A+DPTR
CALL WR_DATA
INC R1
DJNZ R0,NEXT
RET
;============================
WR_DATA:
CALL CHECK_BF
SETB RS
CLR RW
SETB EN
MOV LCD,A
CLR EN
RET
;============================
DELAY:
MOV R6,#16
D1: MOV R7,#200
DJNZ R7,$
DJNZ R6,D1
RET
;===========================
DELAY2:
MOV R5,#20
D3: MOV R6,#200
D2: MOV R7,#250
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D3
RET
;=========================
LINE1: DB"123456789"
LINE2: DB"ZZZZZZZ"
LINE3: DB"XXXXXXX"
LINE4: DB"12SSSSSSS"
;=========================
END

第1个回答  2013-09-27
仿真和实物不太一样咯
第2个回答  2013-09-25
两个关键问题:
1、
CHECK_BF:
PUSH ACC
BUSY:
CLR RS
SETB RW
SETB EN
MOV A,LCD
CLR EN
JB ACC.7,BUSY
CALL DELAY
POP ACC
RET
中 MOV A,LCD 前要加一句 MOV LCD,#0FFH
2、
WR_STRING:
MOV R0,#0
NEXT: MOV A,R1
中 MOV R0,#0应当是 MOV R1,#0

还有几个小问题你自己看吧本回答被提问者采纳

在PROTEUS中进行LCD1602运用仿真时,为什么LCD1602不显示,,汇编程序如下...
中 MOV A,LCD 前要加一句 MOV LCD,#0FFH 2、WR_STRING:MOV R0,#0 NEXT: MOV A,R1 中 MOV R0,#0应当是 MOV R1,#0 还有几个小问题你自己看吧

proteus 仿真中 LCD1602 一直没显示 绿屏那种 怎么解决
这个无法在此准确地说出你的解决方法。因为不能显示,可能是硬件问题,也可能是软件问题。硬件问题比较容易解决,软件问题就复杂了!只要你出一点小问题就可能导致它不亮!

LCD1602不显示,背光正常,对比度也调好了!以下是我的C程序,proteus仿真是...
既然proteus能仿真通过,那说明不是程序的问题、1602的三脚一般接一个滑动变阻器,滑阻的两端接电源和地,通过调节滑阻,可以改变背光的亮度。你的情况是不是背光太亮了,把字给掩盖了,调节一下滑阻看看,把屏幕往暗了调。

单片机中 LCD1602不能显示字符
有光标闪烁表明显示正常阿,你想想,光标要闪烁,显示器初始化没问题,传输的数据也就没问题,显示也就没有问题了。因为其闪烁是由命令控制的。现在你可以根据闪烁光标查下看是不是对比度或亮度问题。先从硬件上查,不行就量下两块板的接口电压,对比找 ...

proteus仿真是1602液晶不显示字符 求高人指点
程序如下,你拷贝过去试试,看看行不行。#include<reg52.h> define uchar unsigned char define uint unsigned int sbit lcdrs=P3^4;sbit lcden=P3^5;uchar code table[]=" ELECFANS ";uchar code table1[]="MADE BY PENG LEI";uchar num;void delay(uchar);void Init();void write...

lcd1602显示错误
你好:仿真只管程序和引脚接对没,可不管对比度调节、电压是否合适等条件。你先调一下对比度,调弱点,应该能显示。希望我的回答能帮助到你。

单片机中 LCD1602使能端 的设置咨询
不知道你是用Proteus仿真呢,还是在实验板上做实验。你说的端口对调是指在程序中对调,还是proteus 原理图中对调,或者实验上引脚对调。但不管是哪种吧,硬件和软件必须同时对调才行,也就是说原理图对调了,或者实验板上引脚对调了,同时软件必须也要对调设置,否则显示结果肯定是不对的吗。

LCD1602仿真,屏幕亮但是不显示字幕跟数字。程序跟仿真截图在下面,请...
你那真图中的LCD的VDD,VSS,VEE,也没有接电源哪,那能显示字符吗,什么不接是会亮的,但不显示字符的。

...怎么在proteus里把lcd1602跟这个排阻像上图一样连接起
1. **器件寻找**:确保Proteus软件中包含了所需的器件库。若排阻和滑动变阻器不在库中,请尝试更新或重新安装库文件。对于LCD1602,查找光电器件库,通常会以“光电”或“显示”为关键词进行搜索。2. **电路连接**:在设计电路时,先连接LCD1602与MCU的电气线路。接着,使用排阻(上拉电阻)连接到MCU...

proteus中lcd1602
proteus中的LCD1602,并不是叫这个名,而是叫LM016L,所以,你搜LCD1602肯定是找不到的。所在的类别、子类及名称如下图 仿真效果如下图 如果非要改成LCD1602,可以的名称改一下就行,不影响仿真效果的。如下图

相似回答