毕业设计 性作用,按键的动作不是立刻完成的,在闭合及打开的瞬间有机械抖动的发生,抖动时间一般为5—10ms,表现在输入电压信号上为输入信号是抖动的不稳定的电平信号,其信号波形见图4-9所示[16]。
按键闭合稳态时间由我的按键时间决定,一般为零点几秒到几秒之间。为了消除键抖动的影响,保证在按键闭合稳定状态下读取键值,需要对键进行消抖处理。常用的消抖措施有硬件消抖和软件消抖两种。
硬件消抖是采用硬件电路的方法对键盘的按下抖动及释放抖动进行消抖,经过消抖电路使按键的电平信号只有两种稳定状态。常用的消抖电路有触发器消抖电路、滤波消抖电路两种。硬件消抖电路见图4-10。 理想波形 +5V无抖动AB稳定闭合释放抖动实际波形 按下抖动
+5V有抖动图 4-9 按键抖动波形 图 4-10 硬件消抖路
硬件消抖电路解决了键抖动问题,但当所需按键比较多时,硬件消抖电路将变得复杂,成本也比较高。而这时就可以采用软件消抖的方法。软件消抖的基本原理是当第一次检测到有键按下时,根据键抖动时间的统计规律先采用软件延时的方法延时一段时间(一般可取10ms—20ms),然后再确认键是否仍保持闭合状态,如仍保持闭合状态则键真正被按下,此时可读取键值,否则可视为干扰,对其不予理睬。采用软件消抖方法可省去硬件消抖电路,可键盘的工作速度将被降低。在此设计中使用了软件消抖,采用软件延时的方法延时一段时间再确认键是否仍保持闭合状态。
31
毕业设计 4.6 系统的软硬件的调试 在完成系统硬件的检查后主要是对软件进行调试,对遥控器的调试主要是用示波器观察能否在遥控接收器中输出图4-3所示的波形,调整发射电阻的大小可以改变红外线发射的作用距离。其性能指标: 调试后系统性能指标测试如下:
最大遥控距离: 10m 发射接收角:水平最大90度 硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。 软件的调试程序见附录一、二。
32
毕业设计 结 论
这次毕业设计历时至少3个月,从一开始的确定课题,到后来的资料查找、理论学习,再有就是近来的调试和测试过程,这一切都使我的理论知识和动手能力进一步提高。
通过本次红外系统的设计,我大有收获。从得到题目到查找资料,从电路板的调试到失败后再一次全部重新开始??在这一个充满挑战伴随挫折,充满热情伴随打击的过程中,我感触颇深,它已不仅是一个对我四年学习知识情况和我的应用动手能力的检验,而且还是对我的钻研精神,面对困难的心态,做事的毅力和耐心的考验。我在这个过程中深刻的感受到了做毕业设计的意义所在。 这个课题的根本技术就是单片机控制技术,加部分外围电路来实现一些复杂的功能。可以根据要求改变软件来实现功能的更新和扩展。
本课题的重点、难点是:
(1) 初步接触弱电控制强电,要对光耦的原理、结构、应用等各方面从头开始琢磨;
(2) 考虑电路实现原理以及与单片机的接口; (3) 红外发送与接收技术;
通过完成本课题,我了解并掌握了传感器的基本理论知识,更深入的掌握单片机在实际电路中的开发和应用。为以后从事单片机软硬件产品的设计开发打下了一定的基础,培养了从事产品研发的信心。
33
毕业设计 参考文献
[1] 华成英,童诗白.模拟电子技术基础[M] 北京:高等教育出版社,2006 :12-31 [2] 杨路明. C语言程序设计教程[M] 北京:北京邮电大学出版社,2005 :23
-100
[3] 胡骅, 陈明.Protel 99 SE 原理图与PCB设计[M] 北京:机械工业出版社,
2005:42-311
[4] 王振营,李满,杨君.ProtelDXP2004电路设计与制版实用教程[M].北京:
中国铁道出版社,2006,(6) :122-321
[5] 黄颖松,吴皓东. 用“积木式”实验板学习51单片机[J]. 电子制作,2007,
(08):1-221 [6] 罗政球.提高电子电路抗干扰能力经验谈[J]. 电子制作,
2006,(10) : 1-15 [7] 胡汉才.单片机原理及其接口技术[M]. 北京:清华大学出版社,2006,3 :
1-12
[10] 陆东旭,甄钊博. 自制简单的51开发板[J]. 电子制作,2008,(01) : 2-8 [11] 吴金戌.8051单片机实践与应用研究[M] .北京:清华大学出版社,
2002,(09) : 2-409
[12] 赵 亮. 单片机C语言编程与实例[M]. 北京: 人民邮电出版社, 2003. :
3 -432
[13] 陈燕春. 学习型14路红外遥控开关[J]. 单片机开发与应用, 2005, (6):
22-25.
[14] 薄晶杰, 潘卫华, 韩璞. 实时时钟芯片在智能氧量仪中的应用[J]. 微计
算机信息, 2009, (04) :147-148,227
[15] 瞿贵荣. 15通道红外遥控电路[J]. 实用电子制作, 2005, (7): 10. [16] 蒋敏. 从Proteus仿真设计到实际产品制作[J]. 科技创新导报, 2009,
(02) :21,23
34
毕业设计 附 录
附录1:发射程序
/*********************************************************************/
// send.c // 遥控发射器
// LRM 2010.4.22
/*********************************************************************/
//使用AT89C52单片机,12MHZ晶振, //
//#pragma src(E:\\remote.asm) #include \
#include \延时函数用 //
#define uchar unsigned char #define uint unsigned int #define key0 P0 //键列线
#define key1 P1 //键行线 //
sbit remoteout=P3^5; // 遥控输出口 // //
uint i,j,m,n,k,s;
uchar keyvol; //键值存放
uchar code keyv[8]={1,2,4,8,16,32,64,128}; // ////
/*********1毫秒延时程序**********/ delay1ms(uint t) {
for(i=0;i for(j=0;j<120;j++) ; } // 35