微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 1602液晶,初学者求教!望高手指点

1602液晶,初学者求教!望高手指点

时间:10-02 整理:3721RD 点击:
以下是我仿照郭天祥视屏写的让1602液晶在第一个字符位置上显示光标闪烁,可结果没有现象,程序如下:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit lcd_rs=P1^7;
sbit lcd_en=P2^4;
sbit wela=P3^7;
sbit dula=P3^6;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}
void write_com(uchar com)
{
lcd_rs=0;
P0=com;
delay(5);
lcd_en=1;
delay(5);
lcd_en=0;
}
void write_data(uchar date)
{
lcd_rs=1;
P0=date;
delay(5);
lcd_en=1;
delay(5);
lcd_en=0;
}
void init()
{ wela=0;
dula=0;
lcd_en=0;
write_com(0x38);
write_com(0x0f);
write_com(0x06);
write_com(0x80);
}
void main()
{
init();
while(1);
}
下为我的电路图:




我把sbit wela=P3^7;
然后wela=0,会不会那个功能锁存器就被锁住了,lcd_en无法设置高低电位了呢?

首先说下哦,1602不要用到74HCXX芯片的,直接可以单片机驱动的。
还有 RW怎么没有呢?RW是控制读写的.

    我确实用万用表打了一下,我的板子上1602的使能信号E确实是连到功能寄存器的L-16E,对应的p2^4脚接到89c52(如图)。这段程序只是让液晶第一个位置光标闪烁,没用到RW,不写也行吧?我参看的是郭天祥的视屏教程。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top