基于单片机的温度监测系统设计(编辑修改稿)内容摘要:

语言。 望老师谅解。 include include include include include define uchar unsigned char define uint unsigned int define ulong unsigned long sbit key1 = P1^1。 //按下开始检测 sbit key2 = P1^3。 //按下显示 sbit le = P2^3。 sbit oe = P2^4。 sbit beep=P1^6。 sbit DQ=P1^7。 //DS18B20 数据 I/O 口 define COMMAND_UNKNOW 8 //不可识别的返回类型 //============================================================================= // 基本的常用常量 //============================================================================= define TRUE 1 //正确 define FALSE 0 //错误 unsigned char num。 uchar code dispcode[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0xff,0x6f }。 //共阴极显示代码 uchar disp_buf[3]={0x00,0x00,0x00}。 //显示数据缓冲区 uchar dp0=0,dp1=0,dp2=0。 define NOP _nop_() uchar temp_h,temp_l。 /*温度值变量 */ uchar flag1。 /*正负标志位 */ sbit tem_in=P1^7。 /*温度读取端口 1*/ uchar Tem_H,Tem_L。 //用于存储温度转换值高 8 位和低 8 12 位 bit Flag=0。 //正、负温度值符号标志位, 0 为正, 1为负 void delay1ms(uchar x)。 //延时约 1ms 程序 /************************函数声明 ***********************/ void delay(int us)。 //延时函数 bit Init_DS18B20(void)。 //DS18b20 初始化函数 uchar Read_bit(void)。 //DS18b20 读一个字节 void Write_bit(uchar val_bit)。 //DS18b20 写一个字节 uchar Read_byte(void)。 //DS18B20 读字节函数 void Write_byte(uchar )。 //DS18B20 写字节函数 int ReadTemperature()。 //DS18b20 读取温度 void display_temp(void)。 //显示函数 void adj_dat()。 //显示字节调整函数 void l_delay(int n)。 //延时函数 void delay(unsigned int count) { unsigned int i。 while(count) { i=200。 while(i0)i。 count。 } } void Delay_us(uchar n) { uchar i。 i=0。 while(in) {i++。 } return。 } void dsreset(void) { unsigned int i。 tem_in=0。 //温度输入端口 i=103。 while(i0)i。 tem_in=1。 i=4。 13 while(i0)i。 } /*==================================== 函数功能 :向 B20 写一字节 入口参数 :待写数据 说 明 : =====================================*/ void tmpwrite(unsigned char dat) { unsigned int i。 unsigned char j。 bit testb。 for(j=1。 j=8。 j++) { testb=datamp。 0x01。 dat=dat1。 if(testb) { tem_in=0。 i++。 i++。 tem_in=1。 i=8。 while(i0)i。 } else { tem_in=0。 i=8。 while(i0)i。 tem_in=1。 i++。 i++。 } } } /*==================================== 函数功能 :直接读一字节程序 入口参数 :无 说 明 :返回结果 =====================================*/ uchar ReadByte(void){ uchar i,k。 i=8。 k=0。 while(i) { tem_in=1。 Delay_us(1)。 tem_in=0。 1。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。