实物用的单片机是c52rc,程序头文件用51应该没有影响?调节对比度也没有什么变化,有些没有显示但是第一行是黑块,我这里连黑块都没有啊!附上部分程序,请各位大神帮帮我看看是什么问题!#include<reg51.h> #include<intrins.h> #define DATA P1#define u8 unsigned char#define u16 unsigned intsbit RS=P2^0; sbit RW=P2^1; sbit EN=P2^2; sbit DQ=P2^7;sbit k1=P2^4;sbit k2=P2^5;u8 time;u16 x=15;u8 y;int wendu[]={0,1,2,3,4,5,6,7,8,9};void delay1ms();void Delaynms(u8 n);void LCD_Write_Command(u8 cmd);void LCD_Wdat(u8 dat);void Init_LCD();void display(u16 sg);void Init_DS18B20(void);u8 ReadOneChar(void);void WriteOneChar(u8 dat);u16 ReadyReadTemp(void); float tt; u16 Temp; u8 H,L ; Temp1=0x0000;void delay(u16 t){for(;t>0;t--);}void delay1ms(void) { unsigned char a,b; for(b=199;b>0;b--) for(a=1;a>0;a--);}void Delaynms(u8 n) { u8 i; for(i=0;i<n;i++) delay1ms(); }void LCD_Write_Command(u8 cmd){ RS=0; RW=0; EN=0; _nop_(); _nop_(); DATA=cmd; Delaynms(1); EN=1; Delaynms(1); EN=0; }void LCD_Wdat(u8 dat){ RS=1; RW=0; EN=0; DATA=dat; Delaynms(1); EN=1; Delaynms(1); EN=0;}void Init_LCD(){ LCD_Write_Command(0x02);Delaynms(1); LCD_Write_Command(0x06);Delaynms(1); LCD_Write_Command(0x0c);Delaynms(1); LCD_Write_Command(0x38);Delaynms(1); LCD_Write_Command(0x01);Delaynms(1);}
延æ¶åºè¯¥æä¹è®¾ç½®å¢ï¼
追ççè§æ ¼ä¹¦,åå§åçæææ¥éª¤é½è¦æç §è§æ ¼ä¹¦æ¥å,延æ¶å¯ä»¥æç §ä½ çdelayæ¥å
DS18B20+1602温度显示系统的显示问题
就是在用按键设置上下限温度的时候,1602显示不正常。具体是这样的,... 我正在做一个两路DS18B20检测温度,并实时显示在1602上的实验,并设置上下限报警。。温度的显示检测报警都没问题。就是在用按键设置上下限温度的时候,1602显示不正常。具体是这样的,在1602第一行我显示,warming temp,这个没问题,第二行显示:“ ...
51单片机ds18b20小数显示1602
发出存在脉冲。51单片机ds18b20小数显示1602是因为出现了发出存在脉冲导致的。1602液晶模块高精度4位小数显示,温度分辨率0.0625℃,液晶模块第一行显示的是DS18B20的64位激光序列号,液晶模块第二行显示的是实际温度。
DS18B20温度传感器如何与单片机相连接
DS18B20与单片机连接一个IO口就够,只需要满足相应的时序就能读到温度数据。至于1602显示,只要能读到温度数据,将数据转为字符串发送给1602就可以。该温度传感器是数字传感器,内含处理器芯片,直接输出温度数字信号,单片机采用查询的方式回读数据后进行换算输出。三通道18B20温度测量数码管显示。-55-+125℃...
51单片机温度传感器ds18b20、lcd1602液晶C程序
int get_temp_1(void);\/\/声明18B20读入温度函数 void delay(unsigned int x);\/\/声明延时函数 void read_ROM(void);\/\/声明18B20读ROM函数 int get_temp_d(void);\/\/声明获取温度函数 void ds_init(void);\/\/声明18B20初始化函数 void ds_getT(void);\/\/声明18B20获得温度显示值函数 \/*定义数码...
关于51单片机的问题,18b20通过定时器0中断采集温度,串口中断把温度发给...
void Init_DS18B20(void)\/\/初始化ds1820 { unsigned char x=0;DQ = 1; \/\/DQ复位 Delay(8); \/\/稍做延时 DQ = 0; \/\/单片机将DQ拉低 Delay(80); \/\/精确延时 大于 480us DQ = 1; \/\/拉高总线 Delay(14);x=DQ; \/\/稍做延时后 如果x=0则初始化成功 x=1则初始化失败...
单片机ts18b20测温程序 请大神注释程序 最好每一句都注释明白(小白一只...
void disp_temperature(uint temp);\/\/lcd1602显示温度子函数声明 bit ds18b20_ret();\/\/温度传感器18b20复位子函数声明 void ds18b20_wr_com(uchar com);\/\/向温度传感器18b20写入命令子函数声明 void rd_ram_command();\/\/发送命令子函数(读取18b20的RAM)uint ds18b20_rd_data();\/\/读出温度传感器18b20...
用51单片机和18b20做一个温度计,求一个完整程序,要求用12864显示。
这个是用数码显示的 你自己改改显示就ok了 12864 有带字库的那种,只要输入ASCII码就行了 程序有点乱,你注意换行就行 1.DS18B20基本知识 DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多...
DS18b20测温度用1602显示为什么出现85度
这是DS18B20的问题,DS18B20的温度初始值就是85度,所以在不进行数据更新时会显示85度。仔细阅读数据手册,你能学到很多东西。希望你能成功。
为什么单片机控制18B20测温初始总是显示85度然后显示测量值
*The power-on reset value of the temperature register is +85°C,这个是DS18B20数据手册里的表述,也就是说,DS18B20在上电复位时,其温度寄存器里的初始值是85°C。所以你的问题就出来了。如果你不想显示这个85°C,你可以延迟一段时间,比如0.5S后再提取这个DS18B20转换的温度显示即可。 本回答由网友推荐 举报...
数码管 ds18b20温度显示
ds18b20=1;} date>>=1; \/\/右移一位 } } 应该是if((dat&0x01)==0x01)这里多了一个&号,导致结果错误。3。我增加了用1602显示的模块,删除了用液晶显示的模块。\/ 以下是程序,并附上仿真图一张 \/ include <reg52.h> include <intrins.h> define uchar unsigned char define uint ...