标题: LCD1602显示问题 [打印本页]

作者: 芦荟    时间: 2016-5-13 19:41
标题: LCD1602显示问题
自己焊接的板子可以显示开发板自带的程序,但自己写的程序可以在开发板上运行,却不能在自己焊接的板子上运行。这是怎么回事?原理图和程序如下/*LCD1602驱动程序*/

#include<reg51.h>
#include<string.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char

sbit RS=P2^6;
sbit RW=P2^5;
sbit EN=P2^7;


//延时
void Delay( uint time)
{
       
        while(time--) ;//当晶振为11.0592MHZ,num=10时,延时时间约为70us
       
}


//通过控制LCD1602的RS、RW、EN三个管脚来获取LCD1602的忙状态
void Busy_Status_LCD1602()
{
       
        while(1)
        {
                P0=0xFF;
            RS=0;
        RW=1;
            EN=1;
            Delay(120);
                if((P0&0x80)!=0x80)
                {
                        EN=0;
                        break;
                }
                EN=0;
                Delay(120);
               
        }
       
}


//通过控制LCD1602的RS、RW、EN三个管脚向LCD1602传输命令
void Write_Command_LCD1602( uchar command)
{
        Busy_Status_LCD1602();
        RS=0;
        RW=0;
        EN=0;
        //P2=command;
        P0=command;
        EN=1;
        Delay(120);
        EN=0;
}


//通过控制LCD1602的RS、RW、EN三个管脚向LCD1602传输数据
void Write_Data_LCD1602(uchar data_LCD)
{
        Busy_Status_LCD1602();
        RS=1;
        RW=0;
        EN=0;
        //P2=data_LCD;
        P0=data_LCD;
        EN=1;
        Delay(120);
        EN=0;
}


//设置LCD1602的显示模式、数据传输模式等
void Initialize_LCD1602()
{
        Write_Command_LCD1602(0x38);//双行显示、显示5x7的点阵字符、8线传输
        Delay(120);
        Write_Command_LCD1602(0x0C);//显示开、光标关、光标闪烁关
        Delay(120);
        Write_Command_LCD1602(0x06);//光标移动方向右移、屏幕上所有文字不移动
        Delay(120);
        Write_Command_LCD1602(0x01); //清屏
        Delay(120);
}



void main()
{
       
    uchar i,addr;
        Initialize_LCD1602();
        Delay(50000);
        Delay(50000);
        while(1)
        {
                addr=0x80;
                Write_Command_LCD1602(addr);
                Write_Data_LCD1602('R');
        }
       
}





作者: wc86110    时间: 2016-5-13 21:15
LZ,应该是你自己焊的板子与开发板不一样吧?
作者: 古人古人    时间: 2016-5-14 11:27
首先看看io口有没有搞错,不然就是你开发上有其他外设需要选择
作者: 谭雅Ayom    时间: 2016-5-15 11:19
看一下你的板子有没有虚焊什么的,用万用表检查一下
作者: liuzhaoxin1020    时间: 2017-1-8 17:47
硬件有问题




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1