第一范文网 - 专业文章范例文档资料分享平台

论文-基于单片机的电器遥控器

来源:用户分享 时间:2025/10/6 10:17:00 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

你好 当确定按下某一个键后,即执行红外发射程序。扫描的方法是判断P1口各位的电平,无按键按下时,各位均为高电平,当某一个按键按下以后,该位即为低电平。

通常,按键所用开关为机械弹性开关,均利用了机械触点的合、断。一个电压通过机械触点的断开、闭合过程,由于机械触点的弹性作用,一个按键开关在闭和时不会马上稳定接通,在断开时也不会一下断开。因而,在闭合和断开的瞬间均伴随着一连串的抖动,抖动时间的长短由按键的机械特性决定,一般为5—10ms。按键电路的消抖措施通常有硬件和软件两种方法。硬件消除键盘抖动措施主要就是外加双稳态电路或者滤波电路的方法。本电路采用的是软件消抖的方法,就是调用一个延时子程序,延时时间设定为6ms,延时子程序如下[20]:

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个机器周期

由于晶振采用的是12MHz,所以1机器周期=1us,执行程序的总时间为6.16ms,与6ms存在0.16ms的误差,不过这不影响程序的执行。 4.1.3中断服务程序

1.外部中断1

外部中断1在程序中的作用就是唤醒单片机,使单片机从空闲方式回到工作状态。当有键按下时,通过与门触发外部中断1中断,IDL被硬件硬件清零,单片机结束低功耗空闲节电方式[21]。

外部中断是由外部原因引起的,共有两个中断源,即外部中断0和外部中断1,相应的中断请求信号输入端是INT0和INT1。

外部中断请求有两种触发方式,即电平触发方式和脉冲出发方式。

定时器/计数器控制寄存器TCON的低四位用于控制外部中断请求和触发方式,有

20

你好 关的位表示如下[22]:

IE:外部中断请求标志位,当CPU采样到INT端出现有效的中断请求时,次位由硬件置1,表示外部事件请求中断,中断响应完成后,再由硬件自动清零。

IT:外部中断请求触发方式控制位。当IT=1,选择脉冲触发方式(也称边沿触发方式)负跳变有效;当IT=0,选择电平出发方式,低电平有效。

中断的允许或禁止是由片内的中断允许寄存器IE控制的,IE的每一位都可以由软件置1或清零。且1——中断允许,0——中断屏蔽。

EA:中断允许总控制位。EA=0时,表示CPU禁止所有中断,即所有的中断请求被屏蔽;EA=1时,表示CPU开放中断,但每个中断源的中断请求是允许还是禁止,要由各自的允许位控制。

EX:外部中断允许控制位 ET:外部中断允许控制位。 ET:定时/计数器的中断允许控制位 ES:串行中断允许控制位。

中断的各控制位在初始化程序中定义,在初始化程序中应当开外部中断1和总中断,触发方式选择为脉冲触发方式,后负跳变有效。中断程序如下[23]: INT1: CLR IE1

ANL PCON,#00H RETI

2. 定时器中断服务程序

定时器T1作为发射时间控制器,当确认某一按键被按下后,T1开始记时,记时时间为50ms,记时时间到,定时器1产生中断,红外脉冲停止发射。同时将红外脉冲发射端口P3.4电平置成无效电平

定时器T0作为红外线发射频率控制器,当定时时间到产生中断,将P3.4端口反转一次,同时对定时器重新装初值,定时时间与前相同,T0重新定时,时间到又将P3.4端口反转一次,如此往复,直到定时器1记时时间到,关闭定时器1和定时器0重新回到主程序。此处采用了一个位标志bz,在宏指令中将其定义为位寻址区的07H,当定时器在执行中断服务程序时,将该位定义为高点平1,使主程序不断的查询该位,当该位为1时,等待中断程序的执行,此时向外发射红外脉冲;当该位为0时,中断结束,

21

。其流程如图4.2所示[24]。

图4.2 定时中断服务子程序流程图

22

你好 主程序继续向下执行[26]

你好 4.2遥控发射器程序设计 4.2.1程序总体结构

遥控接收器是根据接收到的不同频率的红外光信号,由CPU转化为对应的控制功能对控制电路实施控制。当接收电路接收到第一个红外线脉冲时,中断INT1被触发,启动定时器1和计数器0。定时器1作为计数时间控制器,计数器0作为在规定记数时间内所记得的红外脉冲数。接收信号端接至P3.3和P3.4口,该两引脚为复用引脚,P3.3引脚复用为外部中断1请求输入端;P3.4引脚复用为定时器/计数器0计数脉冲输入端。当收到第一个红外脉冲时,INT1被触发,T0和T1开始工作,每收到一个红外脉冲,计数器0记数值加一,当定时器定时时间到,产生中断,保存计数器0的计数值。由于定时时间为50ms,故各种不同状态对应的红外脉冲数大约为15、30、45、60、75、90、105、120个,然后将记数值与上述各值比较。由于存在误差,计数器0的记数值不可能严格和上述值相等,只要近似相等就行,限制的误差范围为5,即将记数值加减5得到两个数值,再判断哪一个值在这一范围之内,即可断定遥控发射器发射出的红外信号的发射频率即为该值,从而可断定出遥控操作,然后由接收遥控器CPU将其转化为控制操作,对外电路实施控制功能[25]。

P3.2口与地之间的开关SW为控制方式选择开关,当开关闭合,即P3.2=0,单片机输出为上锁控制方式,此状态下遥控器不能对控制电路实施控制功能;当开关断开,即P3.2=1,为单路控制方式,此状态下遥控器能对外电路实施控制功能。当外部中断1响应,自动检测该位的电平,若为0自动跳出,重新等待红外脉冲,在检测该位电平,如此循环,不对外电路发控制命令;若为1则继续执行如图4.3[26]所示的程序。

23

搜索更多关于: 论文-基于单片机的电器遥控器 的文档
论文-基于单片机的电器遥控器.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4hgpq2p3a16rgfk162gd_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top