基于单片机的智能楼宇火灾报警系统_本科毕业设计论文 联系客服

发布时间 : 星期日 文章基于单片机的智能楼宇火灾报警系统_本科毕业设计论文更新完毕开始阅读d2da71e5d05abe23482fb4daa58da0116c171fc6

参考文献

[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 #include #include #include \ #define uint unsigned int

#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) {