黑龙江工程学院本科生毕业设计
4.1.4 器件选则
由于发射电路及接收电路的技术要求较低,控制方式简单。综合各方面因素,本设计采用了以AT89C2051型号单片机作为遥控器的发射接收核心部件。
AT89C2051是一个低电压,高性能的CMOS 8位单片机。片内含有2KB可反复擦写的只读存储器(EPROM)以及128B的随机存取存储器(RAM),单片机器件采用ATMEL的高密度、非易失性存储技术生产,兼容标准MCS.51指令系统,片内置通用8位中央处理器和Flash存储器,功能强大。
AT89C2051有20个双向输入/输出(I/O)端口,其中P1是完整的8位双向I/O口,2个16位可编程定时/计数器,两个外中断,两个全双向串行通信口,和一个模拟比较放大器。
此外,AT89C2051的时钟频率可为零,这就具备了可用软件设置的睡眠省电功能,因而极大地减少了系统功耗。系统的唤醒方式有RAM、定时/计数器、串行口和以及内外部中断口,系统唤醒后即可再次进入工作状态。省电模式中,片内RAM将被冻结,时钟停止震荡,所有功能停止工作,直至系统被硬件系统复位单片机方可继续工作。
4.2 发射系统的设计
4.2.1 按键系统
本文采用独立式按键结构,该按键结构是指直接用I/O线构成的单个按键电路,每个独立式按键都独立地占有一根I/O口线,从而每根I/O口线上的按键的工作状态都不会影响其他I/O口线的工作状态。这种结构具有结构简单,易于实现的特点,但I/O口线浪费较大。而本设计之所以采用了独立式按键结构,是基于系统的按键的数目少(仅有启动和停止按钮),以及系统对于按键并无特殊要求,PLC输入端只需得到南北向和东西向2组遥控器的共4个输入信号即可工作。这种工作方式除了有结构简单易实现的特点外,还有受外界干扰小的优点。
独立式按键配置灵活,软件结构简单,上拉电阻保证了按键断开时,I/O口线可以保证有确定的高电平,其电路原理图如4.3所示,其中S0为强通启动按钮,S1为强通停止按钮。当有急车通过时,按下S0,该方向的直行绿灯亮,同时另一方向及该方向左转方向全部显示为红灯亮;当急车通过之后,通过按下S1按钮使电路复位并以正常循环方式工作,实现无线手动强通控制的要求。
36
黑龙江工程学院本科生毕业设计
图4.3 独立式按键结构
键盘扫描程序指的是单片机通过运行扫描程序,判断键盘是否有键按下。如果有键按下,则先判断出是哪一个键。扫描的方法是判断P1口各位的电平,在确定了按下的某一个键后,即执行相应的红外发射程序。在无按键按下时,各位均为高电平,在某一个按键按下以后,该位即变为低电平。
通常,按键所用的开关为机械弹性开关,该开关利用了机械触点的合及断两个状态。但由于机械触点的弹性作用以及触点本身带有杂质灰尘等,在一个按键开关在闭和时电信号并不会马上稳定接通,在断开时也不会马上断开,而是在闭合和断开的瞬间均伴随着一连串的抖动。通常这种抖动时间的长短由按键的机械特性决定,一般为5—10ms。按键电路的消抖措施通常有硬件和软件两种方式,硬件消除键盘抖动措施主要就是指外加双稳态电路或者滤波电路的方法。软件方法是通过编写某些延时程序使得单片机可以收到有效信号。本电路采用的是软件消抖的方法,就是调用一个延时子程序,延时时间设定为6ms,延时子程序如下:
DL1: MOV R4,#0CH
DL2: MOV R5,#0FFH DL3: DJNZ R5,DL3 DJNZ R4,DL2 RET
延时时间的计算是根据执行指令所需时间的总和确定的。0CH、0FFH分别为十进制数的12和255,因此这个程序所耗用的时间为
1+(255*2+2+1)*12+1+2=6160 个机器周期
37
黑龙江工程学院本科生毕业设计
由于晶振采用的是12MHz,所以1机器周期=1us,执行程序的总时间为6.16ms,与6ms存在0.16ms的误差,但该误差并不影响程序的执行。 4.2.2 时钟电路
一般情况下,单片机时钟输入均采用外部时钟方式,外接一个震荡电路,而本系统采用外部时钟方式,晶振采用12MHz,其电路如图4.4所示:
AT89C2051
图4.4 AT89C2051时钟电路
4.2.3 发射电路
根据红外发射管本身的物理特性得知,若要发射所需的红外信号,就必须要有载波信号与即将发射的信号相“与”,然后将 “与”之后的信号送至发射管,才能进行红外信号的发射传送。一般的,在频率为38KHz的载波信号下,发射管的性能最好,发射距离最远,所以在硬件设计上,本设计也采用了38KHz的晶振产生载波信号,与发射信号进行逻辑“与”运算后,通过三极管送至红外发光二极管上。
本设计采用这种发射方式,是基于设计的简便易行的特点。并且元件都是通用化和模块化,可以大大地减轻工作量,同时可以很大程度上节约资金,达到集实用性、经济性和简便性为一身的设计要求。
具体发射电路如图4.4所示,红外发送电路由4001MOS或非门38KHz振荡器、单片机发送控制电路以及红外发送管驱动输出电路组成。当单片机P3.4口输出为“0”时,发射管不发光;当单片机P3.4的输出口变为“1”时,红外发送管才可以发出38KHz调制红外线。该发射过程主要是通过单片机和发射系统实现的。当有输入端(独立按键)信号到来时,单片机控制生成调制信号发送到发射部分并发送至信号接收电路。
38
黑龙江工程学院本科生毕业设计
AT89C2051
图4.4 红外发射电路
4.3 接收系统的设计
遥控接收器是根据接收到的不同频率的红外光信号,由CPU转化为相应的控制方法进而对控制电路实施控制。当接收电路接收到第一个红外线脉冲时,中断INT1被触发,同时启动定时器1和计数器0。定时器1作为计数时间控制器,计数器0作为在规定记数时间内所记得的红外脉冲数之用。接收信号端接至P3.3和P3.4口,这两个引脚为复用引脚,P3.3引脚可以复用为外部中断1的请求输入端;P3.4引脚可以复用为计数器0的计数脉冲输入端。
当收到第一个红外脉冲时,INT1被触发,T0和T1开始工作,当收到一个红外脉冲时,计数器0记数值就加一。当定时器定时时间到之后,产生中断,保存计数器0的计数值。由于定时时间为50ms,故各种不同状态对应的红外脉冲数大约为15、30个,然后将这些记数值与上述各值比较后确定脉冲形式。由于存在误差,计数器0的记数值不可能严格和该值相等,但这不影响系统的正常运行。将结果与误差值相加减,得到两个数值,再判断哪一个值在这一范围之内,即可断定遥控发射器发射出的红外
39
黑龙江工程学院本科生毕业设计
信号的发射频率。取该值就可以断定出遥控操作,然后再由接收遥控器CPU将其转化为控制操作,从而对外电路实施控制功能。
P3.2口的开关SW为控制方式选择开关,当开关闭合,即P3.2=0时,单片机输出为上锁控制方式,在此状态下遥控器不能够对控制电路实施控制功能;但当开关断开,即P3.2=1时,就可变为单路控制方式,在此状态下遥控器就可以对外电路实施控制。
如图4.5,红外接收电路采用的是集成电路RPM6938,RPM6938共有三个引脚:一个接电源一个接地,另外一个接信号端,它集光电转换、放大和解调于一身。RPM6938平时输出为“1”,当系统收到38KHz调制红外线时,RPM6938输出变为“0”。信号脚接到P3.3和P3.4脚上,当RPM6938收到第一个红外脉冲时,就可以触发INT1产生中断,使单片机退出低功耗状态,进入正常工作状态,同时使记数器0和定时器1开始工作。
AT89C2051
图4.5 红外接收电路
4.4 本章小结
本章主要对信号灯急通开关的无线遥控进行设计。通过分析输入与输出信号的具体发送形式,选定AT89C2051单片机作为遥控信号的发射接收电路核心,且以独立式
40