参考文献
[1] 刘坤.51单片机C语言应用开发技术大全.北京:人民邮电出版社,2012. [2] 朱清慧,张凤蕊等.Proteus教程.北京:清华大学出版社,2008. [3] 马忠梅等. 单片机的C语言应用程序设计.北京:北京航空航天大学出版社, 2005 .
[4] Power lntegration,Inc.SuPPlemental Data Book and Design Guide[J],1998.
[5] Holt,Mike.Fire Alarm signaling systems. Electrical Construction and Maintenance[J].2003.
[6] 胡汉才.单片机原理及其接口技术.北京:清华大学出版社,2004. [7] 靳达. 单片机应用系统开发实例导航.北京:人民邮电出版社,2003. [8] 王俊峰.现代传感器应用技术.北京:机械工业出版社,2006.
[9] 刘爱华,满宝元.传感器原理与应用.北京:北京航空航天大学出版社,2006. [10] 侯国章,赖一楠等.测试与传感技术(第二版).哈尔滨:哈尔滨工业大学出版社,2002.
[11] 李朝青.单片机原理及接口技术(简明修订版).杭州:北京航空航天大学出版社,1998
[12] 李广弟,朱月秀等.单片机基础(第三版).北京:北京航空航天大学出版社,2007.
[13] 康华光.数字电子技术基础(第五版). 北京:高等教育出版社,2006. [14] 石东海等.单片机数据通信技术从入门到精通.西安:西安电子科技大学出版社, 2002.
[15]张毅刚,彭喜源,谭晓昀等.MSC-51单片机应用设计.哈尔滨:哈尔滨工业大学出版社,1999。
[16]周坚.单片机C语言轻松入门.北京:北京航空航天大学出版社,2006 [17]李全利,迟荣强.单片机原理及接口技术.北京:高等教育出版社,2004 [18]梅丽凤,王艳秋.单片机原理及接口技术(修订本).北京:清华大学出版社;北京交通大学出版社,2006
[19]邵贝贝等.单片机认识与实践.北京:航空航天大学出版社,2006.8. [20]MC75 AT Command Set V03.Siemens Company,2006.
附录一:硬件电路图
附录二:程序清单
#include
#define uchar unsigned char //宏定义 #define BEEP P3_4 //定义蜂鸣器 #define hujiao P1_3 sbit RS=P2^5; sbit RW=P2^6; sbit EN=P2^7; sbit led_h=P1^4; sbit led_l=P1^5; sbit JDQ=P2^0; sbit ADCS = P3^7; sbit ADCLK = P3^5; sbit ADDI = P3^6; sbit ADDO = P3^6;
bit shanshuo_st; //闪烁间隔标志 bit beep_st; //蜂鸣器间隔标志 bit flag=0;//紧急呼叫标志
sbit DIAN = P2^5; //小数点 uint abc;
uchar x=4; //计数器
signed char m; //温度值全局变量 uchar n; //温度值全局变量 uchar data disdata[5];
uchar code LEDData[]={0x28,0xeb,0x32,0xa2,0xe1,0xa4,0x24,0xea,0x20,0xa0}; uchar code table[8]={0x0c,0x12,0x12,0x0c,0x00,0x00,0x00,0x00}; // 摄氏温度符号
/*****初始化定时器0*****/
void InitTimer(void) {
TMOD=0x1; TH0=0x4c;
TL0=0x00; //50ms(晶振11.0592M) }
/*****定时器0中断服务程序*****/ void timer0(void) interrupt 1 {
TH0=0x4c; TL0=0x00; x++; }
/*****读取温度*****/ void check_wendu(void) { uint a,b,c;
c=ReadTemperature()-5; //获取温度值并减去DS18B20的温漂误差 a=c/100; //计算得到十位数字 b=c/10-a*10; //计算得到个位数字 m=c/10; //计算得到整数位 n=c-a*100-b*10; //计算得到小数位 if(m<0){m=0;n=0;} //设置温度显示上限 if(m>99){m=99;n=9;} //设置温度显示上限 }
/*************************lcd1602程序**************************/ void delay1ms(uint ms)//延时1毫秒(不够精确的) { uint i,j;
for(i=0;i unsigned char rolmove(unsigned char m) {
相关推荐: