完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
程序如下:
#include #define uchar unsigned char #define LCD_data P0 //数据口 ***it RS = P2^0; //寄存器选择输入 ***it RW = P2^1; //液晶读/写控制 ***it E = P1^6; //液晶使能控制 ***it PSB = P2^2; ***it DQ=P3^2; uchar a,b,t; uchar tempbuf[3]; void delay(uchar z) { while(z--); } void init_ds18b20() { uchar x=0; DQ=1; delay(10); DQ=0; delay(80); DQ=1; delay(14); x=DQ; delay(20); } void write_onechar(uchar dat) { uchar i=0; for(i=0;i<8;i++) { DQ=0; DQ=dat&0x01; delay(5); DQ=1; dat=dat>>=1; } delay(4) } uchar read_onechar() { uchar i=0;uchar dat=0; for(i=0;i<8;i++) { DQ=0; dat>>=1; DQ=1; if(DQ) dat|=0x80; delay(4); } return(dat); } uchar read_temperature() { init_ds18b20(); write_onechar(0xcc); write_onechar(0x44); delay(100); init_ds18b20(); write_onechar(0xcc); write_onechar(0xbe); delay(100); a=read_onechar(); b=read_onechar(); a=(a&0xf0)>>4; b=b<<4; t=b|a; return(t); } void temperature(void) { tempbuf[0]=t/10+0x30; tempbuf[1]=t%10+0x30; } void chk_busy() { RS=0; RW=1; E=1; LCD_data=0xff; while((LCD_data&0x80)==0x80); E=0; } void write_com(uchar cmdcode) { chk_busy(); RS=0; RW=0; E=1; LCD_data=cmdcode; E=0; } void write_data(uchar Dispdata) { chk_busy(); RS=1; RW=0; E=1; LCD_data=Dispdata; E=0; } /*------------------初始化LCD屏--------------------------*/ void lcdreset() { PSB = 1; write_com(0x30); //选择基本指令集 write_com(0x0c); //开显示(无游标、不反白) write_com(0x01); //清除显示,并且设定地址指针为00H write_com(0x06); // 游标右移 } void hzkdis(uchar *s) { while(*s>0) { write_data(*s); s++; delay(50); } } void main() { uchar i=0; lcdreset(); while(1) { read_temperature(); temperature(); write_com(0x80); hzkdis("温度为: "); write_com(0x84); write_data(tempbuf[0]); write_com(0x85); write_data(tempbuf[1]); delay(10); } }希望大神能就我写的程序进行修改不要另外写一个,谢谢。。 |
|
相关推荐
2个回答
|
|
回帖奖励 +1 分积分
为了方便调试,可以在读出时钟芯片的时间信息之后将其通过窗口发出去,这样你通过串口调试助手就可以得知有没有顺利读出来。如果读出来了,那就是LCD那边的问题了
|
|
|
|
有点听不懂,我这只与时间芯片ds1302没关系,12864没问题其他程序能用,还是谢谢了 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
298 浏览 1 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
309 浏览 0 评论
826 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1911 浏览 2 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1427 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12031 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 07:00 , Processed in 0.519489 second(s), Total 77, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号