问答

基于AT89C51单片机和DS18B20温度传感器,LCD1602液晶显示的高精度数字温度计程序,用C语言编程

提问者:zhangpan6862017-01-10 00:00

以上是仿真图,求程序!!!!

最佳答案

LCD驱动程序/*************************************************************//* *//*检查LCD忙状态 *//*lcd_busy为1时,忙,等待。lcd-busy为0时,闲,可写指令与数据 *//* *//*************************************************************/static bit lcd_busy(){ bit result; LCD_RS = 0; LCD_RW = 1; LCD_EN = 1; delayNOP(); result = (bit)(LCD_DB_Port&0x80); LCD_EN = 0; return(result); }/*******************************************************************//* *//*写指令数据到LCD *//*RS=L,RW=L,E=高脉冲,D0-D7=指令码。 *//* *//*******************************************************************/void lcd_wcmd(uchar cmd){ while(lcd_busy()); LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); #ifdef LCD_8DB LCD_DB_Port = cmd;#endifdelayNOP(); LCD_EN = 1; //上跳沿时输入数据 delayNOP(); LCD_EN = 0; }/*******************************************************************//* *//*写显示数据到LCD *//*RS=H,RW=L,E=高脉冲,D0-D7=数据。 *//* *//*******************************************************************/void lcd_wdat(uchar dat){ while(lcd_busy()); LCD_RS = 1; LCD_RW = 0; LCD_EN = 0;#ifdef LCD_8DB LCD_DB_Port = dat;#endifdelayNOP(); LCD_EN = 1; delayNOP(); //上跳沿时输入数据 LCD_EN = 0; }/*************************************************************//* *//* LCD初始化设定 *//* *//*************************************************************/void lcd_init(){ delay(15); //等待电源稳定 lcd_wcmd(LCD_MODE); //设置显示模式 delay(5); lcd_wcmd(LCD_MODE); delay(5); lcd_wcmd(LCD_MODE); delay(5); lcd_wcmd(0x0c); //显示开,关光标 delay(5); lcd_wcmd(0x06); //移动光标 delay(5); lcd_wcmd(0x01); //清除LCD的显示内容 delay(5);}

回答者:sfASFsa6562017-01-12 00:00

DS 5相关问题

  • 在单片机DS18b20温度传感实验中的初始化程序中,成功就返回1,失败就返回0有什么作用吗?

    任何外设的初始化或者命令如果能够得到返回值确定完成或者未完成才能让单片机选择是否进行下一步,更能让编程人员得到错误信息正确的调试错误

    提问者:wangyunfeng1382016-09-20

  • ds6发动机加油哒哒异响如何解决

    (1)异响与发动机转速的关系  发动机的大多数常见异响的存在取决于发动机的转速状态。  ①异响仅在怠速或低速运转时存在。发响的原因有:活塞与气缸壁间隙过大;活塞销装配过紧或连杆轴承装配过紧;挺杆与其导孔间隙过大;配气凸轮

    提问者:zzty09282016-01-18

  • DS18B20温度传感器读出数据的转化问题??

    乘以256是为了将读过来的数据转换成十进制数,再乘以25,然后在返回值里又左移了2,相当于(b*256+a)*0.0625*100!这段程序应该没有判断正负的语句!你多看看DS18B20的手册就会明白了!那里面说的很明白

    提问者:nisipm2013-07-16

  • 求大神帮忙解释一下QT18B20数字温度传感器与DS18B20的区别,选择的话应选哪种?

    1、节气门位置传感器作用:节气门位置传感器是监测节气门开启角度的大小,确定怠速,全负荷及加减速工况,以实施与节气门开度状态相对应的各种喷油量控制。失效影响:怠速忽高忽低,或造成飞车现象。2、进气门压力传感器作用:进气压力

    提问者:ge870894382016-06-10

  • DS18B20温度转换

    高五位S为符号位,分辨率为0.0625。正温度把16进制数转成10进制即可;负温度把16进制数取反后加1再转成10进制数,第一个是00FA是(15*16+10)*0.0625=15.62度,第二个是0032是(3*16+

    提问者:e7w9e6o4a22014-11-16

  • 数码管 ds18b20温度显示

    楼主你在时序上有些错误1。在转换时没有留够足够的转换时间。根据DS18B20芯片手册,9位精度转换时间为93.75ms。12位精度转换时间为750ms。而DS18B20默认为12位精度。所以我加了750ms延时2。在写函

    提问者:rockchunyang2016-12-23

相关阅读

DS 5频道

报价:21.99-34.59
级别:中型车
排量:1.6T 1.8T 
变速箱:-

车友关注

最新标签

按字母分类:
ABCDEFGHIJKLMNOPQRSTWXYZ0-9