单片机的设计温度检测显示报警程序.docVIP

  • 13
  • 0
  • 约7千字
  • 约 16页
  • 2018-09-20 发布于湖北
  • 举报

单片机的设计温度检测显示报警程序.doc

单片机设计的温度检测显示报警程序 设备技术网???时间:2010-4-14 来源:电子技术网????? 作者: 1.温度传感器AD590基本知识 AD590产生的电流与绝对温度成正比,它可接收的工作电压为4V-30V,检测的温度范围为-55℃-+150℃,它有非常好的线性输出性能,温度每增加1℃,其电流增加1uA。 AD590温度与电流的关系如下表所示: 摄氏温度? AD590电流? 经10KΩ电压? 0℃?? 273.2 uA? 2.732V? 10℃? 283.2 uA? 2.832 V? 20℃? 293.2 uA? 2.932 V? 30℃? 303.2 uA? 3.032 V? 40℃? 313.2 uA? 3.132 V? 50℃? 323.2 uA? 3.232 V? 60℃? 333.2 uA? 3.332 V? 100℃? 373.2 uA? 3.732 V? 实验任务: 利用AD590温度传感器完成温度的测量,把转换的温度值的模拟量送入ADC0809的其中一个通道进行A/D转换,将转换的结果进行温度值变换之后进行监控。 由于AD590的温度变化范围在-55℃-+150℃之间,经过10KΩ之后采样到的电压变化在2.182V-4.232V之间,不超过5V电压所表示的范围,因此参考电压取电源电压VCC,(实测VCC=4.70V)。由此可计算出经过A/D转换之后的摄氏温度显示的数据为: 如果(D*2350/128)<2732,则显示的温度值为-(2732-)D*2350/128)) 如果(D*2350/128)≥2732,则显示的温度值为+((D*2350/128)-2732) #include reg52.h//头文件 #include intrins.h #define uchar unsigned char//宏定义 #define uint unsigned int//宏定义 sbit RS=P1^0;//LCD1602定义I/O的硬件接口 sbit RW=P1^1;//LCD1602定义I/O的硬件接口 sbit E=P1^2;//LCD1602定义I/O的硬件接口 sbit key_1=P1^3;//按键1定义I/O的硬件接口////Alarm_Value;//温度报警值+1度 sbit key_2=P1^4;//按键2定义I/O的硬件接口////Alarm_Value;//温度报警值-1度 sbit key_3=P1^5;//按键3定义I/O的硬件接口 sbit key_4=P1^6;//按键4定义I/O的硬件接口 sbit AD590_2=P1^7;//A定义I/O的硬件接口,通道选择//C、D接地 sbit key_6=P3^7;//按键6定义I/O的硬件接口//控制 温度报警标志位 // sbit ST=P3^0; //ST和ALE接在一起 sbit OE=P3^1; sbit EOC=P3^2; sbit CLK=P3^3; sbit SPK=P3^4; //喇叭,蜂鸣器报警 sbit LED1=P3^5; //LED报警 sbit LED2=P3^6; #define DPDR P2//LCD1602并行数据输出接口定义 #define DPDR_1 P0//ADC0809并行数据输入接口定义 uchar temp;//最终温度值 unsigned long temp2;//平均温度 unsigned long temp1;//温度1,,AD590_1接IN0 unsigned long temp2;//温度2,,AD590_2接IN1 uchar Alarm_Value;//温度报警值 bit Alarm_Value_bit;//温度报警标志位 uchar code DispTab_1[]={0,1,2,3,4,5,6,7,8,9};//1602:0-9 数字 uchar code DispTab_2[]={0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00};//温度符号 uchar DispBuf[6]; //6字节的显示缓冲区 char char_char_1[]={ Temperature: };//定义字符串 void delay(uint z)//1ms延时 { uchar x,x1; for(;z0;z--) { for(x=0;x114;x++) { for(x1=0;x11;x1++); } } } ? void write_Directive(uchar a)//写LCD指令 { RS=0; RW=0; delay(5); E=0; DPDR=a; delay(5); E=1; delay(5);

文档评论(0)

1亿VIP精品文档

相关文档