阅相关资料,使问题得到了解决。同时我也明白只有实践与理论结合,才能更好的锻炼自己的能力。
在调试过程中首先要检测的就是硬件电路的设计原理是否正确、能否达到预期效果以及实现方法是否简便等等;其次在焊接好难有线电路之后,认真检查电路的焊接情况。这次采用的是分块调试的方法,烟雾探测电路,控制电路以及单片机控制电路进行调试。在对每个模块的进行调试过程中又采用了由局部到整体,由简单到复杂的调试方法,最后再将各个模块总和成一个整体。
在调试过程中遇到的问题有:
由于在焊电路之前没有认真的查看STC89C52的管脚,使得管脚的顺序全部焊错了,最后只好重新焊。
Smog值一直显示很高,经过查阅资料和换元件测试发现,MQ-2烟雾传感器初次使用得通电几小时以上才可以正常使用,要做老化试验。
在程序的编写过程中,随着理解的深入也作了相应的修改。
该设计的仿真都是可以正常运行的,但到实物中LCD1602不显示,通过排查,ADC0809芯片的引脚接错了。
在大学的四年的学习期间,非常感谢所有的任课老师,感谢他们辛勤的教导和帮助。虽然有时也不是那么非常听老师的话,但是真要离别的时候才能感觉到他们的好。在此,也非常感谢我的指导老师郭老师,感谢他对我们负责任的态度和敬业精神。
20
参考文献
[1] 郭振华 半导体气体传感器及其阵列的检测技术研究[J] 电子工业出版社,2009,16-25 [2] 周国运,鲁庆宾 单片机原理及应用[J] 中国水利水电出版社,2009,25-31 [3] 童诗白,华成英 模拟电子技术基础[D] 北京:高等教育出版社,2000,21-34 [4] 谭浩强 C程序设计[D] 北京:清华大学出版社,2005,36-39
[5] 杨欣,王玉凤,莱·诺克斯 电子设计从零开始[D] 清华大学,2010,15-26
[6] 程国钢,杨后川 Proteus原理图设计与电力仿真就这么简单[J] 电子工业大学,2014,12-29
[7] 王程研 基于AVR单片机的智能家庭测控报警系统设计[J] 科技创新导报,2010(26):92-92.
[8] 王杰 CAN总线在直流电机调速控制系统中的应用[D] 电子科技大学,2008,17-23 [9] 余成波 传感器与自动检测技术[J] 高等教育出版社,2004,2-5 [10] 何立民 单片机实用文集[D] 北京航天航空大学,1993,21-26 [11] 刘广玉 新型传感器技术及应用[J] 北京航空航天大学,2003:11-13
[12] Intel MCS-51 Family of Single Chip Microcomputer User’s Manual [J]. 1990. [13] Behzad Razavi Design of Analog CMOS Integrated Circuits[M],2001,21-25 [14] 陈志旺 51单片机快速上手 机械工业出版社[D],2009,36-41 [15] 王连英,吴静进 单片机原理及应用[J],化学工业出版社,2011,26-32 [16] 秦进平 数字电子与EDA技术 科学出版社[J],2011,3-8 [17] 汪明添 电子元器件 北京航空航天大学[D],2008,25-36 [18] 徐瑞平 模拟电子技术与仿真 西北工业大学,2007,3-15
21
致谢
这次毕业设计是我在大学最后一次的系统学习,所以我很珍惜这次机会。在刚开始的时候很茫然,不知道从何入手,特别是在元器件选型,就不知道选择什么型号的三级管。当然,最后通过查阅资料问题也得到了解决。在此毕业设计中,我得到了很多人的帮助,其中郭老师对我的关心和支持尤为重要,每次遇到难题,我首先想到的就是向郭老师寻求帮助。另外,他严谨的作风使我的论文即使在谨小细微处也给予了纠正,让我的论文无论是结构还是内容变得更加公整、紧凑,感谢郭老师对我的悉心指导。
感谢校方给予我这样一次机会,能够独立地完成这样一个设计,作为检验这些年来学习的成果,在这个过程当中,学校给予我们各种方便,使我们在即将离校的最后一段时间里,能够更多学习一些实践应用知识,增强了我们实践操作和动手应用能力,提高了独立思考的能力。再一次对我的母校表示感谢。
感谢在整个毕业设计期间和我密切合作的同学,和曾经在各个方面给予过我帮助的伙伴们,正是因为有了你们的帮助,才让我不仅学到了本次课题所涉及的新知识,更让我感觉到了知识以外的东西,那就是团结的力量。
22
附录
///程序头文件
#include
#define uint unsigned int #define uchar unsigned char //定义Data_ADC0809为P1口 #define Data_ADC0809 P1 //管脚声明
sbit LED_R= P2^2; //红灯 sbit LED_Y= P2^1; //黄灯 sbit LED_G= P2^0; //绿灯 sbit Feng = P2^5; //蜂鸣器 sbit san=P3^4; //风扇 //ADC0809 sbit ST=P3^3; sbit EOC=P3^6; sbit OE=P3^2; //按键
sbit Key1=P2^6; //设置键 sbit Key2=P2^7; //加键 sbit Key3=P3^7; //减键 //函数声明
extern uchar ADC0809(); extern void Key();
//延时函数,大约延时z ms void delay(uint z) { uint i,j; for(i=0;i //烟雾含量变量 uchar temp=0; /*指示灯变量 初始值*/ uchar GL=2; //2到14绿灯亮起 uchar YL=15; //15到29黄灯亮起 23 uchar RL=30; //29到255红灯亮起 uchar FF=60; //蜂鸣器变量 大于60报警 uchar Mode=0; //按钮模式|0 正常|1 G|2 Y|3 R|4 F| void main() //主函数 { Init1602(); //调用初始化显示 while(1) //进入while循环 { temp=ADC0809();//读取AD数据 if(Mode==0) //正常模式时 { Display_1602(GL,YL,RL,FF,temp); //显示正常数据 if(temp>=GL&&temp 24