找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4140|回复: 4
打印 上一主题 下一主题
收起左侧

单片机+lcd1602显示错误问题

[复制链接]
回帖奖励 1 黑币 回复本帖可获得 1 黑币奖励! 每人限 1 次
跳转到指定楼层
楼主
用超声波和lcd做了个测距,但是发现字符有的显示不正确,就写了个lcd单独显示的程序,发现和之前错误的是一样的。
搞不懂是什么原因导致的。

代码和显示图片如下:
#include <reg52.h>
sbit LCDEN=P3^4;
sbit LCDRS=P3^5;
sbit U1=P2^6;
sbit U2=P2^7;
unsigned char code table[]={"Distance:"};  
void delayms(unsigned int);
void write_com(unsigned char com)   
{
    LCDRS=0;                        
    P0=com;                        
    delayms(10);                  
    LCDEN=1;                        
    delayms(10);
    LCDEN=0;

}
void write_date(unsigned char date)
{
    LCDRS=1;
    P0=date;
    delayms(10);
    LCDEN=1;
    delayms(10);
    LCDEN=0;

}
void init()
{
    U1=0;                          
    U2=0;
    LCDEN=0;                     
    write_com(0x38);               
    write_com(0x0C);               
    write_com(0x06);               
    write_com(0x01);               
}
void main()
{   unsigned char num;
    init();
    write_com(0x80);
    for(num=0;num<=8;num++)
    {
        write_date(table[num]);
    }
    while(1);
}
void delayms(unsigned int ms)
{
    unsigned int x,y;
    for(x=ms;x>0;x--)
        for(y=110;y>0;y--);}



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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