[问答] 课设快截止了,各位大神看下我的LCD1602为啥不亮
2018-1-9 13:32:32  1194 LCD1602
收藏 0 收藏 推荐 0 推荐
分享
仿真没有问题,程序也写入89c52了,焊完之后给电源LCD1602就是不亮,用电表检查过几遍了,仍没什么思路解决,求助各位大神啊
微信图片_20180109133108.png
微信图片_20180109133049.jpg
微信图片_20180109133040.jpg
微信图片_20180109133017.jpg
2018-1-9 13:32:32   评论 邀请回答
7个回答
代码:
RS EQU P2.0                   ;引入p2.0位为命令数据引脚
RW EQU P2.1                    ;引入读写选择引脚
E EQU P2.2                           ;引入使能端
OPEN EQU P2.3                        ;引入显屏的开关端


ORG 0000H
AJMP MAIN
ORG 0003H                        ;外部中断0入口       
AJMP INTO                                
ORG 0030H



MAIN:
SETB EX0                  ;允许中断0
SETB EA                   ;中断总开关
CLR IT0                   ;外部中断0方式为低电平
ACALL KS                   ;开关机检查
ACALL INITIAL           ;显屏模块初始化
ACALL DISPLAY2     ;调用液晶显示子程序
AJMP MAIN

KS:        JB OPEN,KS_END           ;open键按下走程序,没按下等待
    AJMP KS                          
        KS_END:
        RET
       
INITIAL:  
         MOV R0,#33                        ;最长字符串的长度
          MOV A,#01H                 ;清屏
                 ACALL WR_CODE  ;(指令写入显屏)
         MOV A,#38H           ;工作方式的设置(8位数据接口、两行显示、5X8点阵字符)          
                 ACALL WR_CODE
                 MOV A,#0CH    ;显示开关的设置(显示开、光标不显示、光标不闪烁)
                 ACALL WR_CODE
                 MOV A,#06H   ;进入模式设置(写入新数据后光标左移、显示不移动)
                 ACALL WR_CODE
                 RET


       


DISPLAY2:   

MOV A,#0C0H        ;第二行第1个点

ACALL WR_CODE           ;写指令

MOV DPTR, #JUZI                 ;定义第二行字符串首地址

ACALL PR_STR1                ;取数据

ACALL WR_DATA1                 ;写P1口数据进入指令

MOV A,#82H                          ;第一行第2个点
ACALL WR_CODE                  ;写指令

MOV DPTR, #JUZI1         ;定义第一行字符串首地址

ACALL PR_STR1                 ;取数据

ACALL WR_DATA1                 ;写P1口数据进入指令


DISP1:



MOV A,#1CH         ;字符左移命令

ACALL WR_CODE

ACALL DELAY1           ;延时移动

DJNZ R0,DISP1                ;第二行(最长行)是否移动结束?结束重新循环

RET



WR_CODE:                                   ;RS=0 RW=0 写显屏指令
         MOV P1,A
                 CLR RS
                 CLR RW
                 CLR E
                 LCALL DELAY
                 SETB E                 
                 RET
       
WR_DATA1:                                         ;RS=1 RW=0 写数据到DDRAMZ指令
      MOV P1, A
      SETB RS ;写入数据
      CLR RW
      CLR E
      LCALL DELAY ;判断液晶模块是否忙
      SETB E
      RET


PR_STR1:                                  ;逐个读出字符串数据
CLR   A
MOVC A, @A+DPTR
JZ    END_PR1
ACALL WR_DATA1
INC   DPTR
AJMP PR_STR1
END_PR1:     
RET

INTO:                       
         MOV A,#01H    ;开关松开清屏
                 ACALL WR_CODE
                 RETI


DELAY:
MOV P1,#0FFH ;判断液晶显示器是否忙的子程序
CLR RS
SETB RW
CLR E
NOP
SETB E
JB P1.7,DELAY ;如果P1.7为高电平表示忙就循环等待
RET
DELAY1: MOV R7,#25           ;延时函数
DELAY2: MOV R6,#100
DELAY3: MOV R5,#50
DELAY4: DJNZ R5,DELAY4
        DJNZ R6,DELAY3
        DJNZ R7,DELAY2
RET




JUZI:           ;第二行字符串
DB ' Hello everone! Welcome to Harbin',00H

JUZI1:                ;第一行字符串
DB        '  3115000698 ',00H
END
2018-1-9 13:32:54 评论

举报

你需要好好看看1602的资料,1602的实物连接需要接对比度调节电阻,就是一个50K的可调电阻,第15、16脚的背光连接需要接,如果是蓝屏1602,没有背光是看不到的,看你的1602象是蓝屏的
2018-1-9 13:49:32 评论

举报

人中狼 发表于 2018-1-9 13:49
你需要好好看看1602的资料,1602的实物连接需要接对比度调节电阻,就是一个50K的可调电阻,第15、16脚的背光连接需要接,如果是蓝屏1602,没有背光是看不到的,看你的1602象是蓝屏的

谢谢你,我先试一下 可变电阻是要50k的吗
2018-1-9 13:56:26 评论

举报

uffnbu 发表于 2018-1-9 13:56
谢谢你,我先试一下 可变电阻是要50k的吗

我接了背光后就只有背光灯亮呢,还是没有那个字母出来,但现在还没接个可变电阻
微信图片_20180109140317.jpg
2018-1-9 14:03:23 评论

举报

调节对比度的可调电阻一定要接,应该不小于10K吧,我是用50K的
2018-1-9 14:24:07 评论

举报

人中狼 发表于 2018-1-9 14:24
调节对比度的可调电阻一定要接,应该不小于10K吧,我是用50K的

我试了下接地 确实有字母出现了 而且没乱码 ,。但同时又个问题我的字母是向右移动的 我仿真是向左的,移动方向字母改变了。
2018-1-9 15:10:25 评论

举报

注意看1602的资料,MOV A,#1CH         ;字符左移命令,这里注释的是左移,但实际写入的参数是右移。
另外
ACALL INITIAL           ;显屏模块初始化
ACALL DISPLAY2     ;调用液晶显示子程序
AJMP MAIN
这里最后不需要跳转到MAIN,应该跳转到ACALL INITIAL           ;显屏模块初始化和ACALL DISPLAY2     ;调用液晶显示子程序之间,也就是ACALL INITIAL           ;显屏模块初始化之前都是对硬件或中断等的初始设置,没有更改的话只需要执行一次就可以了。
再你的程序里,就是循环执行ACALL DISPLAY2就可以了
2018-1-9 19:27:27 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

提问题
关闭

站长推荐 上一条 /9 下一条

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