《家用报警器——驱动程序.doc》由会员分享,可免费在线阅读全文,更多与《家用报警器——驱动程序(最终版)》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。

1、}挂电话程序如下:voidATH(void){ucharcodemode[]={x,x,x,XD};uinti;for(i=;ilt;i++){SBUF=mode[i];while(TI==);TI=;}}系统主程序设计系统的主程序就像一个人的心脏,没有它其它做得再好也无法实现。程序如下:voidmain(void){if((IR_IN==||YAN==||WEN==)amam(model==)){LCD_Clear();清显示,model=;model赋值,即将执行报警状态flag=;打电话标志位置“”,即将执行打电话函数,打电话if(IR_IN==){num=;num赋值LCD_Write_String(,,quotHONG:Onquot);暂显示系检测红外传感器报警Delay();}if(YAN==){num=;num赋值LCD_Write_String(,,quotYANWU:Onquot);暂显示系检测烟雾传感器报警Delay();}if(WEN==){num=;num赋值WEN=;重置超温标志位为“”LCD_Write_String(,,quotWEN:Onquot);暂显示系检测超温报警Delay();}}if(flag==)打电话标志位flag=时,执行打电话函数{LCD_Clear();清屏flag=;重置打电话标志位flag=LCD_Write_String(,,quotDaDianHuaquot);在液晶显示打电话状态LCD_Write_String(,,quotquot);在液晶显示打电话状态ATD();打电话函数Delay();延时Delay();延时}if(model==)当model=时,进入报警状态{LCD_Clear();清屏系统调试系统的调试电路板的实物做出来之后,系统调试是从理论到实际的第一个步骤。调试时应采取软硬件结合一起调试。()单片机无法开启,后检查是因为电路断路造成;()电源开关焊接错误,导致无法启动;()芯片P座金属片有弯曲,导致芯片不能完全接触,经努力查找发现并更换;()传感器太过于敏感,导致频繁报警。

2、,并且不厌其烦的帮我们调试和提出改进的建议,使我们的设计产品能够正常实现其报警功能。同时也要感谢帮我度过难关的搭档和同学,也正是因为有他们我才避免走了很多弯路,才能花更多的时间与报警器的设计中。从老师的爱岗敬业精神和为人处世的态度,不但让我学习到了一些专业知识,而且还学会了做人的道理。参考文献[]肖景和等集成电路应用精粹[M]人民邮电出版社,[]百度百科ATS中文资料[DBOL]htt:baikebaiducomviewhtm[]百度百科热释电红外传感器[DBOL]htt:baikebaiducomviewhtm[]李冰,姜波.BISS在热释电红外开关上的应用[J].应用科技,:.[]常旭东,洪丽,王志福基于GSM短消息的远程报警和控制系统江西科学,:[]杜树春基于Proteus和KeilC的单片机设计与仿真[M]电子工业出版社附录A原理图温度传感器复位电路电源电路晶振电路液晶显示电路蜂鸣器电路主控电路附录BPCB图附录C实物图附录D程序主程序includeincludeincludequotbhquotincludequothquotincludequotdelayhquotdefineucharunsignedchardefineuintunsignedintsbitIR_IN=P^;sbitYAN=P^;sbitRELAY=P^;sbitbee=P^;sbitkey=P^;sbitkey=P^;sbitkey=P^;sbitkey=P^;sbitrd=P^;inttemH=;bitReadTemFlag;bitflagbitWEN=;uchari=;ucharnum=;voidIni_UART(void){SCON=x;UART方式:位UART;REN=:允许接收PCON=x;SMOD=:波特率不加倍TMOD=x;T方式,用于UART波特率TH=xFD;TL=xFD;UART波特率设置:TR=;}voidDelay(void){uinti,j;for(i=;i;x)for(y=;ygt;y);}voidATD(void){ucharcodemo。

3、编,大致延时长度如下T=tx+uS*voidDelayUsx(unsignedchart){while(t);}*mS延时函数,含有输入参数unsignedchart,无返回值unsignedchar是定义无符号字符变量,其值的范围是~这里使用晶振M,精确延时请使用汇编*voidDelayMs(unsignedchart){while(t){大致延时mSDelayUsx();DelayUsx();}}emode[]={x,x,x,XD};ATHcruinti;for(i=;ilt;i++){SBUF=mode[i];while(TI==);TI=;}}voidbell(){bee=;DelayMs();bee=;DelayMs();}*定时器初始化子程序*voidInit_Timer(void){TMOD|=x;使用模式,位定时器,使用quot|quot符号可以在使用多个定时器时不受影响TH=x;给定初值TL=x;EA=;总中断打开ET=;定时器中断打开TR=;定时器开关打开}*定时器中断子程序*voidTimer_isr(void)interrut{staticunsignedintnum;TH=();重新赋值msTL=()%;num++;if(num==){num=;ReadTemFlag=;读标志位置}}voiddislay(ucharadd,uchardate){LCD_Write_Com(add);LCD_Write_Data(x+date);LCD_Write_Data(x+date%);}*键盘扫描函数*voidkey(){rd=;if(key==){while(!key);temH++;if(temH==)temH=;dislay(xcc,temH);}if(key==){while(!key);temH;if(temH==)temH=;dislay(xcc,temH);}}*主函数*voidmain(void){inttem;floattemerature;chardislaytem[];ucharmodel=;RELAY=;IR_。

4、taPort=xFF;RS_CLR;RW_SET;EN_CLR;_no_();EN_SET;return(bit)(DataPortamx);}*写入命令函数*voidLCD_Write_Com(unsignedcharcom){while(LCD_Check_Busy());忙则等待RS_CLR;RW_CLR;EN_SET;DataPort=com;_no_();EN_CLR;}*写入数据函数*voidLCD_Write_Data(unsignedcharData){while(LCD_Check_Busy());忙则等待RS_SET;RW_CLR;EN_SET;DataPort=Data;_no_();EN_CLR;}*清屏函数*voidLCD_Clear(void){LCD_Write_Com(x);DelayMs();}*写入字符串函数*voidLCD_Write_String(unsignedcharx,unsignedchary,unsignedchar*s){if(y==){LCD_Write_Com(x+x);表示第一行}else{LCD_Write_Com(xC+x);表示第二行}while(*s){LCD_Write_Data(*s);s++;}}*初始化函数*voidLCD_Init(void){LCD_Write_Com(x);*显示模式设置*DelayMs();LCD_Write_Com(x);DelayMs();LCD_Write_Com(x);DelayMs();LCD_Write_Com(x);LCD_Write_Com(x);*显示关闭*LCD_Write_Com(x);*显示清屏*LCD_Write_Com(x);*显示光标移动设置*DelayMs();LCD_Write_Com(xC);*显示开及光标设置*}*延时函数*includequotdelayhquot*uS延时函数,含有输入参数unsignedchart,无返回值unsignedchar是定义无符号字符变量,其值的范围是~这里使用晶振M,精确延时请使用。

5、很难测试,后调试灵敏度后有所改善;()延时函数没有声明,导致程序结果出错;()各传感器单独测试成功,但是三路传感器结合后温度报警器频繁出现误报;系统的测试结果测试结果如表所示表测试结果传感器类别测试设置温度℃环境温度℃是否有烟雾是否有可燃气体是否有人通过蜂鸣器和GSM模块是否报警温度传感器否是是是烟雾传感器是否是否是是热释电红外传感器否否是是数据分析经过反复测试,系统工作的温度在~+℃灵敏度比较高,温度传感器的精确度达到小数点后三位数。显示器也可以正常的工作,可以显示需要的数据。任一个传感器触发时蜂鸣器发出报警声响并拨打主人的电话,并且如果是温度传感器或者是烟雾传感器触发时还能控制继电器工作,进一步控制花洒,将隐患扼杀于摇篮中。能够实现基本的防盗防火功能。测试数据分析如下:()当环境温度低于设置温度时,温度传感器不触发,如果高于则触发;()当外界环境的可燃气体或者烟雾达到一定浓度时,烟雾传感器触发;()有人走在红外传感器前,触发。测试时遇到的一些问题分析:()红外传感器有时太过于敏感,使得红外传感器一直触发,测试使用都很不方便;导致误报率很高;()当传感器触发后,显示器的亮度明显下降,可能是因为电压不够;()电路元件有时不稳定,容易出错,需要复位;结论经过十六周的努力,基本上完成了课题的设计。在这段时间里,首先查找了很多关于单片机、C语音和GSM模块等的资料,掌握了单片机的基本工作原理和简单的C语言编程和GSM模块的基本信息。在这次设计中,我们分工明确,各自都较好的完成了自己负责的模块,完成了预期的计划,实现了设想的功能。我们设计的家用报警器,能够实现客厅防盗和厨房防火的功能,并且可以通过GSM模块拨打电话给户主。系统现在还存在一些小问题,如果还有时间的话,我们会将电源改成V,Hz的交流电转换成V的直流电,这样电源比较稳定,其次再好好调试程序,降低误报率。致谢这次毕业设计中,我们小组遇到了很多问题,就在我们焦头烂额的时候,我们的导师和同学给了我们很多宝贵的建议。在这里我要特别的感谢我的毕业设计指导老师罗忠亮老师,他在我最困难的时候给我了宝贵的建议和指。

6、e[]={x,x,x,x,x,x,x,x,x,x,x,x,x,x,xB,XD};ATD;回车ATDcruinti;for(i=;ilt;i++){SBUF=mode[i];while(TI==);TI=;}}voidATH(void){ucharcodarReadOneChar(void){unsignedchari=;unsignedchardat=;for(i=;igt;i){DQ=;给脉冲信号datgtgt=;DQ=;给脉冲信号if(DQ)dat|=x;DelayUsx();}return(dat);}*写入一个字节*voidWriteOneChar(unsignedchardat){unsignedchari=;for(i=;igt;i){DQ=;DQ=datamx;DelayUsx();DQ=;datgtgt=;}DelayUsx();}*读取温度*unsignedintReadTemerature(void){unsignedchara=;unsignedintb=;unsignedintt=;Init_DSB();WriteOneChar(xCC);跳过读序号列号的操作WriteOneChar(x);启动温度转换DelayMs();Init_DSB();WriteOneChar(xCC);跳过读序号列号的操作WriteOneChar(xBE);读取温度寄存器等(共可读个寄存器)前两个就是温度a=ReadOneChar();低位b=ReadOneChar();高位bltlt=;t=a+b;return(t);}*LCD液晶显示程序*includequothquotincludequotdelayhquotsbitRS=P^;定义端口sbitRW=P^;sbitEN=P^;defineRS_CLRRS=defineRS_SETRS=defineRW_CLRRW=defineRW_SETRW=defineEN_CLREN=defineEN_SETEN=defineDataPortP*判忙函数*bitLCD_Check_Busy(void){D。

防盗报警器c语言程序,家用报警器——驱动程序最终版(全文完整版)相关推荐

  1. 基于51单片机的数字电压表c语言程序,基于单片机的数字电压表(全文完整版)...

    <基于单片机的数字电压表.doc>由会员分享,可免费在线阅读全文,更多与<基于单片机的数字电压表>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索. 1 ...

  2. c语言编写fun函数使其实现,函数式语言Corefun的设计与实现(全文完整版)

    <函数式语言Corefun的设计与实现.ppt>由会员分享,可免费在线阅读全文,更多与<函数式语言Corefun的设计与实现>相关文档资源请在帮帮文库(www.woc88.co ...

  3. python语言程序设计嵩天-python语言程序设计基础(嵩天版),第二章程序练习题...

    python语言程序设计基础(嵩天版),第二章程序练习题 欢迎访问江南烧酒的博客 2.2汇率兑换程序.按照1美元=6人民币汇率编写一个美元和人民币的双向兑换程序. """ ...

  4. python语言程序设计基础嵩天答案第二章_python语言程序设计基础(嵩天版),第二章程序练习题...

    python语言程序设计基础(嵩天版),第二章程序练习题 欢迎访问江南烧酒的博客 2.2汇率兑换程序.按照1美元=6人民币汇率编写一个美元和人民币的双向兑换程序. """ ...

  5. C语言程序100例之C#版-021

    C语言程序100例之C#版-021 C程序源代码: [程序21] 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后 ...

  6. C语言程序100例之C#版-024

    C语言程序100例之C#版-024 C程序源代码: [程序24] 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和. 1.程序分析:请抓住分子与 ...

  7. python语言程序设计基础第二章答案_python语言程序设计基础(嵩天版),第二章程序练习题...

    python语言程序设计基础(嵩天版),第二章程序练习题 欢迎访问江南烧酒的博客 2.2汇率兑换程序.按照1美元=6人民币汇率编写一个美元和人民币的双向兑换程序. """ ...

  8. python语言程序设计基础(第2版) 嵩天 礼欣 黄天羽 著

    python语言程序设计基础(第2版) 嵩天 礼欣 黄天羽 著 程序练习题第5章  5.1输出更大的田子格 5.1  程序练习题3.5输出了一个简单的田字格,用函数简化其代码,输出更大的田子格. 刚开 ...

  9. 微信小程序:独家微信社群人脉小程序源码带后端控制源码完整版端控带简单教程

    这是一款小编自营的一款人脉小程序系统 小编自营大概有三个多月了吧一直没有给大家公开 本款小程序群二维码自动采集推送的,所以大家不用担心没有群难运营 小编运营几个月不靠一丝一毫的推广每天自然流量都是一千 ...

最新文章

  1. 操作系统、Linux、CPU的几个疑惑点
  2. 企业级应用能帮助闪存走出产能过剩时代吗?
  3. Python+Opencv识别两张相似图片
  4. [2021.1.27多校省选模拟10]跑步(线段树合并)
  5. codeforces E. Picking Strings 构造
  6. mysql5.7.18压缩包下载_Windows安装MySQL5.7教程
  7. CAD输出的局部平面坐标数据配准转换到WGS84坐标系
  8. 【AI视野·今日CV 计算机视觉论文速览 第211期】Wed, 2 Jun 2021
  9. 昂贵的聘礼(枚举区间+最短路)
  10. 数据库原理—常用的DBS产品简介(六)
  11. PIC16F877A开发板 数码管计数器实验
  12. 《UNIX网络编程 卷1:套接字联网API(第3版)》——8.2 recvfrom和sendto函数
  13. Python一个命令开启http下载服务器
  14. 1688API item_search_img - 按图搜索1688商品(拍立淘)
  15. 计算机视觉轮廓检测,轮廓检测
  16. IE无法打开网页的常见原因及解决
  17. wps里有project吗_甘特图是什么?-如何用WPS表格做甘特图
  18. DIAL算法计算单位流率-python实现
  19. 侍魂胧月传说显示服务器满了,侍魂胧月传说满级之后做什么 满级每日必做任务详解[多图]...
  20. cfadisk,让电脑把sd卡识别成硬盘

热门文章

  1. 树莓派Ubuntu做网页服务器,如何在树莓派上安装 Ubuntu 服务器? | Linux 中国
  2. 武汉大专计算机专业分数线,湖北2017年专科大学排名及分数线
  3. 基于透镜辅助的固态激光雷达
  4. ssh方式登录树莓派
  5. 解决获取网站的ico图标问题
  6. CT117E 独立按键操作 学习笔记
  7. python模拟浏览器下载文件_python第一个脚本,模拟浏览器下载文件
  8. 浏览器伪装成linux,手把手教你修改Firefox的User-Agent伪装Android微信浏览器
  9. Linux中vim里输出^A等方法
  10. 自动生成原创文章文案软件v.1.2.3