AT89C51具有以下标准功能:
4k字节Flash,128字节RAM,32位I/O口线,2个数据指针,2个16位定时器/计数器,1个全双工串行口,片内晶振及时钟电路。
4.2硬件电路:
4.2.1红外对射电路:
图2红外对射电路原理图
红外对射电路一共有四幅同样的红外对射电路构成。
图2为其中的一幅红外对射电路。
当红外发射管D5加上电压导通之后,红外接收管D6将产生一个微小的光电流,NPN三极管Q15的基极将产生一个微小的电流,基极微小的电流存在使得Q15的b-e之间导通,NPN三极管Q15工作在饱和状态,c-e之间的电阻很小,近似短路,集电极相当于直接接地,电压为0V。
Q15的导通使得Q10的集电极电位近似于0V,则PNP三极管Q10饱和导通,那么Q10的发射极和集电极近似为短路,相当于5V的电压加载到发光二极管D7和电阻R43上,发光二极管点亮,表示红外对射管已经形成通路。
当红外对射管的通路被阻挡,D6产生不了光电流,三极管Q15、Q10截止,Q10的集电极上的电压相当于3.7V,发光二极管接地,不点亮,表示红外对射管不导通。
4.2.2显示电路:
图3 显示电路原理图
显示电路由四位共阳数码管、PNP三极管、单片机组成。
Q6、Q7、Q8、Q9分别控制四位数码管显示。
当红外对射管1号被阻挡,则红外对射电路中的发光二极管的正端,与单片机相连的引脚上测得3.7V的高电平,单片机控制数码管显示“1”,提示用户1号门有人闯入。
同样,当其他的红外对射管被阻挡后,同样会显示2、3、4,提示用户有人闯入。
单片机的P1口与数码管的八个显示段相连,三极管的集电极串联一个电阻后与数码管的片选端相连。
当单片机的P3口输出为高电平的时候,三极管截止,若此时P1口输出为高电平,则数码管将显示数字“8”。
通过改变P1口输出高电、低电平的不同,数码管将会显示0~9之间的数字。
改变P3口的高低电平则可以选择数码管的位显示。
4.2.3 报警电路:
图4 报警电路原理图
报警电路由蜂鸣器驱动电路和按键电路两部分组成。
当P2.4~2.8口检测到高电平,即表示有人闯入,则单片机的P2.2口将输出低电平,使得PNP三极管Q3饱和导通,蜂鸣器发出报警声。
按键电路是让用户手动解除报警[11]。
当按键按下后,单片机P2.0口检测到低电平,使得P2.2输出为高电平,解除报警。
五、单片机程序设计:
5.1 总体方案:
软件设计是通过不断检测单片机上与红外对射电路相连的管脚的高、低电平,若测得单片机引脚上为高电平时,表示有人闯入,提示报警,数码管显示闯入的具体位置。
5.2 程序流程图:
图5程序流程图
5.3模块说明:
程序初始化模块:
#include
unsignedcharcodetable[4]={0x06,0x5b,0x4f,0x66}。
sbitP2_7=P2^7。
sbitP2_6=P2^6。
sbitP2_5=P2^5。
sbitP2_4=P2^4。
sbitP2_2=P2^2。
sbitP3_0=P3^0。
sbitP3_1=P3^1。
sbitP3_2=P3^2。
sbitP3_3=P3^3。
unsignedinti。
延时模块:
voiddelay30ms(intj>
{while(j-->
{for(i=0。
i<50000。
i++>。
}
}
检测端口电平及显示模块:
voidmain(void>
{P2_2=1。
定义P2-1为高电平;
P1=0x00。
定义P0口为低电平;
P3_0=1。
定义P3-0为高电平;
P3_1=1。
定义P3-1为高电平;
P3_2=1。
定义P3-2为高电平;
P3_3=1。
定义P3-3为高电平
while(1>端口电平检测;
if(P2_7==1>如果P2-7为高电平;
{delay30ms(>。
d调用延时子程序,延时30ms;
if(P2_7==0>如果P2-7为低电平;
{P3_0=0。
P3-0为低电平;
P2_2=0。
P2-2为低电平;
P1=table[0]。
}调用数码管显示程序;
六、制作与调试
6.1 硬件电路的布线与焊接:
对于电子产品来说,电路板设计是从电路原理图变成一个具体产品的必经之路,电路板设计的合理性与产品的生产及产品的质量密切相关,要设计出一个实用的产品,还必须遵守以下设计原则和抗干扰设计。
6.1.1电路板的选用
选用环氧树脂板,环氧树脂与铜箔有极好的粘合力,同箔的附着强度与工作温度高,可以在260度的焊锡熔中不起泡。
也可使用覆铜聚四氟乙烯玻璃布层压板。
不同的材料有不同的特点,由于调试中可能多次更换元件,所以要考虑到铜箔的粘合力。
6.1.2走线应注意的问题
线路板的好坏直接影响着放大器的性能,不好的线路板,会使信号产生歧变,产生本底噪音生尖峰脉冲干扰等,为了尽避免上述影响,线路板在线出尽量做到:
接照信号的传输路径由小到大的顺序在电路板上各路的布置各元器的位置,尽量缩短各元器件之间的距离,以减少外部干扰的引入和不必要的干扰。
在供电线路中,大电流通过的路径应尽量设计得实一些,以降低电源内阻,使电流能顺利通过。
在供电线路中,应尽量避免大电流的印刷电路式导线交布置在小电流通路的中间式附近,以免造成对小电流的干扰。
走线时,应尽量走大于90度直角的线以防止产生尖峰脉冲造成干扰。
在焊接的时候都是通过手工完成,在打孔时也是通过手工操作电钻完成,而我们并不是这方面的技工,这将在打孔的时候无法避免一些技术失误。
如果焊盘的直径过小,在打孔时,孔稍微大了一点,焊盘便没有了。
所以在设计旱盘大小是都设置为大于2毫M。
线的宽度问题很重要,由于在学校的条件是手工腐蚀铜板,考虑到热转印中,炭粉的吸附与脱落问题,防止出现断线的情况,布线宽为1.5-2.5毫M。
地线则尽可能的加宽,设置为环绕在板的边缘。
大功率元件与小功率元件尽量分开布线。
在焊接的过程中要先将体形小的元器件比如电阻、瓷片电容先焊接好,然后再焊接芯片的插脚和其他体积较大的元器件。
焊接好后用数字万用表检测电路是否有短路和断路以及虚焊现象。
6.2 调试
在调试的过程中,我先调试红外对射部分的电路,接通电源后,发现发光二极管不亮,我对照原理图和PCB板用数字万用表检测每个元器件引脚的电压值,发现原来在画图的时候三极管的三个引脚接反了,我将三极管重新焊接后,发光二极管点亮。
然后我将写好的程序烧录进单片机调试整个电路的工作情况。
由于我事先在仿真器上已经将程序的调试成功,所以当单片机放入电路后用手阻挡了其中一个红外对射的通路,蜂鸣器发出警报并且数码管显示“1”。
当我按下解除警报的按钮后,蜂鸣器不发出声响。
整个电路完成。
七、心得体会:
通过本次设计,不但增强了我的动手能力,将以前在书本上学到的理论的知识用于实践中。
大学三年的学习使我积累了较多电子方面的理论知识,为本次设计奠定一定的基础。
在设计阶段,查阅了大量相关的资料,并对这些资料进行筛选、归纳、分析、总结,最后确定了自己的设计方案。
在设计过程中,老师给了我大量的帮助,不断的指点我,纠正我的错误,使我在完成设计途中避免了很多的弯路,设计最终获得成功。
在此期间真地学到了很多东西。
这次设计我们完成了对于设计的基本要求与一些附加功能,但由于对一些元器件的了解甚少,一些地方的连接方式是参照典型连接方式的,或许不是本设计最为理想的连接方式!
为此,我认识到基础知识十分重要,往后的应进一步努力巩固和理解基础知识和基本原理。
八.参考文献:
[1]徐玮,徐富军,沈建良.C51单片机高效入门[M].北京:
机械工业出版社,2007,177-187.
[2]裴彦纯,陈志超.基于单片机系统的红外遥控器应用[J].现代仪器,2004(3>,46-48.
[3]朱纯益,路建华.单片机用作通用红外遥控接收器的设计[M].北京:
华录信息技术研究所,1997.
[4]楼然苗,李光飞.51系列单片机设计实例(第二版>[M].北京:
北京航空航天大学出版社,,2001.
[5]杨恢先,王子菡,杨穗,陶霞.一种基于单片机的红外遥控软件解码方法[J].自动化与仪器仪表,2004(2>,16-32.
[6]姚福安.电子电路设计与实践[M].济南:
山东科学技术出版社,2001.