找回密码
 立即注册

QQ登录

只需一步,快速开始

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

各位大神看看我写的1602lcd显示程序有什么问题

[复制链接]
跳转到指定楼层
楼主
用的是普中的板子,起始位置老是在第一排最后一列,而且无法显示想要的东西。
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit lcdrs=P2^6;
sbit lcdrw=P2^5;
sbit lcde=P2^7;

void delay(uint time)        //延时
{
        uint i;
        uchar j;
        for(i=0;i<time;i++)
                for(j=0;j<120;j++);
}

void wcom(uchar com) //写命令
{
        lcde=0;
        lcdrs=0;
        lcdrw=0;
        P0=com;
        delay(5);
        lcde=1;
        delay(5);
        lcde=0;
}

void wdat(uchar dat) //写数据
{
        lcde=0;
        lcdrs=1;
        lcdrw=0;
        P0=dat;
        delay(5);
        lcde=1;
        delay(5);
        lcde=0;
}

void lcdinit()  //初始化
{
        lcde=0;
        wcom(0x38);        //显示模式设置
        wcom(0x0e);        //开显示、显示光标、光标不闪烁
        wcom(0x06);        //读写后指针加一
        wcom(0x01);        //清屏
        wcom(0x80);
       
}

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

使用道具 举报

沙发
ID:128176 发表于 2016-6-26 14:52 | 只看该作者
void main() {         lcdinit();         wdat('5'); }
回复

使用道具 举报

板凳
ID:128176 发表于 2016-6-26 14:52 | 只看该作者
void main()
{
        lcdinit();
        wdat('5');
}
主函数漏复制了
回复

使用道具 举报

地板
ID:128176 发表于 2016-6-27 09:25 | 只看该作者
求大神指点呢
回复

使用道具 举报

5#
ID:111634 发表于 2016-6-27 10:51 | 只看该作者
本帖最后由 zl2168 于 2016-6-27 10:54 编辑

LCD1602显示屏显示


Proteus仿真一下,确认有效。
实例61 LCD1602显示屏显示.rar (49.26 KB, 下载次数: 4)




以上摘自张志良编著《单片机实验实训100例》 ISBN 978-7-5124-1603-1,北航社出版


书中电路和程序设计有详细说明,程序语句条条有注解。


回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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