家用可燃气体报警器的设计-毕业设计_第1页
家用可燃气体报警器的设计-毕业设计_第2页
家用可燃气体报警器的设计-毕业设计_第3页
家用可燃气体报警器的设计-毕业设计_第4页
家用可燃气体报警器的设计-毕业设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JUMPITOP;ORG1100HJUMPITOP;ORG1100H定时器内部0的相关中断入口Start:MOVE,IE,#10000001B;中断INT0MOVE,IP,#00000001B;优先中断INT0MOVE,式。及#000000008;电平被触发在INT0点上MOVE,SCON,#00000000B;请按0MOVESTOP,#60H;堆栈的设定MOVETMOD,#01H;其中的T0为第一种方式CALLPLT0M0HERE:AJUMPHERE;本身跳转其它PLT0M0:MOVETL1,#1CH;T1中断此服务程序,T1重置为最初设定值MOVETH1,#1FEHSETBTR1;启动T1SETBET1;允许T1SETBEA;RET1IETOP:MOVETL0,#0CH;T0再一次中断服务,T0的相关数值被重置为最初设定MOVETH0,0FEHSETBCPLP1.1;P1.1取相关反向状态RET2AllCALLLED;调用LED自检子程序MOVE22H,#0000H;此次中断的完成标志位0位显示MOVEDEPTR,#0EFEFH;ADC程序相关的端口地址MOVX@DEPTR,A;高阻抗的BUS使得数模转换开始WAIT:MOVEH,33H;数模转换完成信号显示JTNZINT1KJUMPWAIT;强制跳回在未完成INT0K:MOVEB,44H;JTNZL2MOVEB,22HJUMPL1L1:MOVE22H,27HMOVEB,46H;新的浓度被标识出来L2:CALLBCD;启用相关调整程序(BCD码)CALLDISP;此时的气体浓度为多少CALLADRZERO;调用前函数或数值调整当前CALLALARM;把报警程序调入CALLBCDCALLDISP;把相关的一些子程序引入CLRB;JUMPSTART;返回调零子程序:显示数据由于外部原因导致与预期值出现差异,此问题解决方法为:模数转换的同时加入一个经过调整的数值。如此一来,得到的数值即为真是情况的显示,对其加以调整便得到直观、稳定与有效方便的数据。程序的实现见如下所示:ARDZER0:CALLSUBBDELAYJUBP1.1,JUMP1;此一步的调零为正确值,否则则通过以下程序进行调整:JMP1:REGET相关程序的实现如下所示:L00P0:CALLDELAYJUMPBP2.2,$;抖动的延时被第一时间清理MOVEB,32H;调零的预设值设置为32H送入CLRD;相关近位标识的删除SURBUBB,#OO1H;选择的调零相关数值减去1JUMPBLOOP1;MOVEB,#12H;LOOP1:MOVE28H,B;所有调整过的值被保存起来MOVEB,D2;正确的当前浓度为现在设定值JZZZENDXDNEC8;为了契合调整后的浓度,当前进行响应XENDO:MOVE29H,B;送回29H进行保存MOVE40H,A;送回40H保存CALLBCD;CALLDISP;JMPLOOP1;XEND1:MOVEB,#71HJUMPXEND0该操作步骤为有则按键无则返回主程序重新开始。相关子程序的显示模数转换得到的数值被传送到单片机中以十六进制存在,这是不符合我们的操作需要的,BCD码所产生的转换是我们程序运行中的主要解决措施。转换的类似相关的一些程序如我们在下面进行的程序演示所示:BCD:MOVE44H,#21H;MOVE29H,#18H;CLRLB;MOVER1,#90H;清除R1CHAN:SUBBB,#33H;减99JCCHAN2;不能做减,跳转INR2;JUMPCHAN3;CHAN1:ADCB,#89H;还原百位数CLRC;相关数据进行整理与切实转换CHAN1:SUBB,#10H;减29JNCCHAN1;无法达成减法计算,跳转JNCR3;不能够则不加能够则加上1JUMPCHAN1;无相关重复CHAN1:ADCB,#OBH;还原个位数;把个位数放30H中MOVE22H,B;把十位数放90H中RET所有的显示结果均与预期值的走向一致接下来就看如下程序的完成情况了,接下来就是我们之后的程序改动:DICSP:MOVER9,#65HMOVER1,#28H

LED0:MOVEA,#ROMOVEDPTR,#TABLELED1:MOVEA,#B+DPTRMOVESSUF,BJUMPTO,@CLRTOINCR1JNZR8,LED3RET直观的显示结果从LED处显示驱动设备也被添加到应用里面,它的步骤如下:为了达到控制实验目的接地的按键输出始终为“0”:松开此按钮则输出为“1”,每次按键都保证CPU进行正确单一的判断,去除抖动显得有必要,大致的操作已详细说明,具体的如上所示的程序都在下面的文本中得到了应用和体现:DELAY:MOVE4,#5设定50毫秒D0:MOVE5,#459;设定0.6毫秒DMJNZR4,#DMJNZR4,D0RET每个周期为1us,30ms延时效果通过以上程序能够进行实现。报警系统中的子程序声音与光的感应控制为本设计的主要手段,当有害气体浓度一氧化碳超标时,声乐响起,灯光闪烁。机器可能会遇到故障,针对此问题我们也提出了相关的解决方案。而遇到故障的表现为红灯亮起,喇叭发出声响,它的正常时候表现为红灯变暗喇叭哑声。所有功能模块都工作正常时绿灯为指示灯。系统对事故进行第一时间的处理,通风换气等等一系列的操作防止事故恶化。其相关程序的行驶与体现如下所示:ALAORM:MOVEB,22H;当前的浓度值被送到了累加器中进行分析CLRB;SUBBA,50H;DJNCGOOD0;SETAP2.3;声音与光亮得到控制并取消SETASUBBA,50H;DJNCGOOD0;SETAP2.3;声音与光亮得到控制并取消SETAP2.4CLRP1.7;关闭所有SETCP2.1;黄色的显示灯被关闭掉CLRP0.1;绿色的灯光第一时间亮起通告正常RETGOODO:CTLRP2.4;警报声音与警报灯光再一次被打开CTLRP11.1CTLRP11.4;SETCP12.3;SETCP11.5;RET中断取值子程序从所有的执行过程中不难看出模数转换完成INTR端变成输出“1”电平,未完成则输出“0”电平。在执行的过程中中断又一次被发挥出了它的作用,中断处理程序如下所示;INT1:PUSHBCC;需要将累加完的值压榨在堆栈保存PSHPUSW;PUSW值压榨在堆栈保存MOVXB,@DPTR;数模转换好的值保存进入到累加器中MOVE30H,A;把数模转换好的值保存进入到30H保存CLRESUBBB,61H;JNCDOK0MOVE44H,#11H;模数转换的值模拟电压小于1所以变化为1JUMPEMP3OKO:MOVEB,25HCALLADJNCUST;启用ADJNCUST气体浓度值被改写为16进制CALLADCP;调用ADCP所有相加1后同样调整为16进制得意应用MOVE45H,B;45保存相关数值EMP2:MOVEIE,#10100001OB;POPPWM;POPADC;MOVE27H,#O1H;RETI调整所有应用中被应用的相加子程序ADJNCUST:CTLRBSUCBB,#27H;数模转换进行调整后应用MOVEC,#O1HDIVEBAMOVEC,#22HMULLBARETADCD:ADCD,22HTABLE:DCBOBOH,OCOH,OC3H,OCOH,22HDCB33H,41H,O9OH,4OH,5OHEND数值为1—99之间的所有子程序的应用必须及时在转换之间完成,用到的相关类型程序在如下的程序中表示出来:ADJNCUST:CTLRBSUBYB,#11H;模数转换再一次被应用到数值转换,16进制值在转换后得到应用MOVEC,#12HDIVEBAMOVEC,#22HMULLBARET堆栈中断处理机制过程以下几个阶段为备份断后:中断处理、响应与返回。

关中陋调用。号亍隹亨调用I号子悝序*关中陋调用。号亍隹亨调用I号子悝序*图4.1-1单片机中断流程图图中,保护现场之后的开中断是为了允许有更高级中断打断此中断服务程序。软件程序的调试所有程序完结后我们都需要进行一些调试,所有程序都按照一定顺序分别调试。从子程序入手,当检查其没有问题后再进行全套调试,调试过程中均以设定值为基础。最终结果符合我们的实验设计的最终目。5结束语通过这次的课程设计的学校,我明白了在学习中不能单单的运用书本上的理论知识,而忽略了动手实际操作的部分,老话说的理论与实际相结合是没有错的,我在这次的设计中完全的领悟到了这句话的意义,只有在两者共同运用下才能完成我这次的设计。勤恳的态度决定我的学习成绩的好坏,而如若上述两条在工作中加以应用工作成绩也会突飞猛进。在本次设计的最后调试过程中,不得不说,历经艰苦,甚至在调试初期有无从下手的感觉,但是在老师和同学的帮助下,我都按照设计前的方案完成了本次设计。感谢指导教师同时也是我们专业课程的导师孙活老师的倾心辅导,论文中出现的格式问题和专业问题,老师都细心的给我指出来,他的工作态度和对学生负责的精神是我最钦佩的,所有的学生老师都耐心指导,我们的课程设计才会顺利完成。感谢我的父母辛苦培养我,在我大学期间给我很多支持,我要努力学习,毕业后找到好的工作,将来回报父母的恩情!初学课程设计的时候所遇到的困难和问题,通过对这些问题的解决和困难的克服不仅使我对课程设计有了一定的了解同时也是对我的个人素质的一次锻炼和拓展。课程设计的严谨程度是让我最为惊讶与重视的,而拟定的题目也是需要在课下进行一次又一次的查找、学习、比较与改正。通过已学知识,继而对未知的事物进行了解。同时,通过对课题的研究也了解到了社会家用方方面面的发明和创造都离不开我们所学内容,而所学内容也是依据着我们的生活进行更新改进。总的来说,此次论文写作让我无论在做事还是学习方面都获益匪浅,再一次感谢我的指导教师和那些在论文制作过程中对我提出宝贵意见和建议的人。参考文献[1]何道清,传感器与传感器技术,北京科学出版社,2004.3,P12-P20[2]喻萍、郭文川,单片机原理与接口技术,化工出版社,2005.9,P40-45[3]先锋工作室,单片机程序设计实例,北京清华大学出版社,2004.5,P35-P45[4]吴金戊、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论