微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 新手第一次写代码,并没有显示

新手第一次写代码,并没有显示

时间:10-02 整理:3721RD 点击:
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//微定义
sbit rs=P2^4;
sbit rw=P2^5;
sbit e=P2^6;
sbit psb=P2^7;
void write_12864com(uchar com);
void write_12864dat(uchar dat);
void initinal(void);
void display1(void);
//**************************
//延时函数,在12Mhz的晶振频率下
//大约50us的延时
//**************************

void delay_50us(uint t)
{
uchar j;
for(; t>0;t--)
for(j=19;j>0;j--);
}
void main(void)
{
initinal();  //初始化
while(1)   //不断显示
{
  display1();
while(1);

}
}
void write_12864com(uchar com)
{
rw=0;
rs=0;
  delay_50us(1);
  P0=com;
  e=1;
  delay_50us(10);
  e=0;
delay_50us(2);

}
void write_12864dat(uchar dat)
{
    rw=0;
   rs=1;
  delay_50us(1);
  P0=dat;
  e=1;
  delay_50us(10);
  e=0;
delay_50us(2);
}
void initinal(void) //   初始化
{
   delay_50us(2);
write_12864com(0x30);
delay_50us(4);
write_12864com(0x30);
delay_50us(4);
write_12864com(0x0f);
delay_50us(4);
write_12864com(0x01);
    delay_50us(240);
  write_12864com(0x06);
delay_50us(10);
}
void display1(void)
{
   uchar i;
  uchar a;
  a=0x10;
  write_12864com(0x80);    //第一行地址
  delay_50us(1);
  for(i=0;i<16;i++)
  {
   write_12864com(a);
   delay_50us(1);
   a++;   
  }
}

照着视频教程写的,可是没有显示
DB0-DB7连的是P0.0-P0.7
最小系统版,芯片是STC89C52RC
求大神帮助


可能有几个原因,一个是对比度的调节,调节对比度可调电阻,应该能看到显示和不显示的效果。二是想12864写入命令或数据后的延时时间不够。三是p0口需要接上拉电阻

我的p0口有上拉电阻,我把延时调大了五倍,也没有显示

有没有调节对比度的可调电阻,应该是第3脚接可调电阻的可调端,可调电阻另两端接第18脚和正5伏

先找到此型号液晶屏的资料看看,因为绝大多数20脚的12864屏的引脚功能排列是一样的,区别在3脚调整对比度的运用,有接VCC或V0或悬空,有0~VCC可调,也有通过18脚负电源在VDD--VEE之间可调,这取决于不同厂家的工艺和电路设计。但是不应该毫无显示。建议屏蔽所有与显示无直接关系的程序,只在主程序初始化完成后随便显示一个字符,以确认液晶屏本身有无问题。

非常不错的例程哦,

强烈的支持一下下了,

细看了一下你的程序,你显示程序里没有写数据语句而是写命令语句。
void display1(void)
{
        uchar i;
        uchar a;
        a=0x10;
        write_12864com(0x80);    //第一行地址
        delay_50us(1);
        for(i=0;i<16;i++)
        {
//                write_12864com(a);  //注释掉
                write_12864dat(a);   //补充的
                delay_50us(1);
                a++;   
        }
}

强烈的支持一下下了

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

网站地图

Top