标题: 带温度的lcd1602电子钟程序问题 求帮助 [打印本页]

作者: 初学者52    时间: 2019-11-1 19:50
标题: 带温度的lcd1602电子钟程序问题 求帮助
左边是我做的,右边是网上搜的,为什么我做的仿真后右侧都是高电平,1602白板,以下是1602程序
#ifndef __LCD1602_H__
#define __LCD1602_H__
#include<reg52.h>
#define uint unsigned int  
#define uchar unsigned char sbit rs=P2^0; sbit rw=P2^1; sbit e=P2^2;
void lcdxcom(uchar com);
void lcdinit();
void lcdxshuju(uchar dat);
void lcdx_time(uchar add,uchar date);
void lcdx_day(uchar add,uchar date);
#endif
#include<reg52.h>
#include"lcd1602.h"
#include"delay.h"
#include"ds1302.h"
void lcdxcom(uchar com) {  e=0;  rs=0;  rw=0;  P0=com;  lcddelay(10);//500us  e=1;  lcddelay(20);  e=0; }
void lcdinit() { lcddelay(300); lcdxcom(0x38); lcddelay(100); lcdxcom(0x38); lcddelay(100); lcdxcom(0x38); lcdxcom(0x38); lcdxcom(0x08); lcdxcom(0x01);lcdxcom(0x06); lcdxcom(0x0c); }  
void lcdxshuju(uchar dat)  
{  e=0;  rs=0;  rs=1;  rw=0;  P0=dat;  lcddelay(10);  e=1;  lcddelay(20);  e=0;  }  
void lcdx_time(uchar add,uchar date)//写时分 秒函数
{ uchar shi,ge; shi=date/10; ge=date%10;
lcdxcom(0x80+0x40+add);//设置显示位置
lcdxshuju(0x30+shi);//送去液晶显示十位
lcdxshuju(0x30+ge);//显示各位
lcdxcom(0x0c);//设置开始显示,不显示光标}  
void lcdx_day(uchar add,uchar date)//写时分 秒函数
{ uchar shi,ge;
shi=date/10;
ge=date%10;
lcdxcom(0x80+add);//设置显示位置
lcdxshuju(0x30+shi);//送去液晶显示十位
lcdxshuju(0x30+ge);//显示各位
lcdxcom(0x0c);//设置开始显示,不显示光标
}

_3M`6NOAO(~RT$`6BD[]9SG.png (64.2 KB, 下载次数: 67)

_3M`6NOAO(~RT$`6BD[]9SG.png

作者: 初学者52    时间: 2019-11-1 19:51
网上的1602图

PNXR8%7KF3[}G@QYX8V4R@7.png (358.15 KB, 下载次数: 76)

PNXR8%7KF3[}G@QYX8V4R@7.png

作者: 来51学习的    时间: 2019-11-2 22:22
为什么液晶的 RW 腿接地
作者: 初学者52    时间: 2019-11-3 20:54
不接地的,龙错了




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