论文部分内容阅读
【文章摘要】
目前,人们的物质文化生活水平日益提高,各种各样的家用电器走进了千家万户,其中,大多数的家用电器都有各自不同的遥控器,人们常常为了控制某台电器而到处寻找其对应的遥控器,这样,就给人们的生活带来了很多不便。为了解决这个问题,本文提出一个学习型红外遥控器的设计方案:该遥控器可以通过自学习而拥有对电器的遥控功能。
本设计以单片机为核心设计一种学习型红外线遥控器,可以对各种红外线遥控器发射的信号进行识别、存储和再现等功能,从而实现对各类家电的控制。本设计详细介绍了学习型万能遥控器的软硬件设计方法,并给出了具体的电路设计、程序设计及主程序流程图。
【关键词】
红外线;单片机;学习型;红外线遥控器
1 硬件设计的原则
一个单片机应用系统的硬件设计包括三个部分内容;单片机芯片的选择,单片机系统扩展,系统配置。
这里主要说明单片机系统扩展,它是指单片机内部功能单元(如程序存储器、数据存储器、I/O口、定时/计数器、中断系统)的容量不能满足应用系统的要求时,必须在片外进行扩展。这时应选择适当的芯片,设计相应的扩展连接电路。
首先,要尽可能选择典型通用的电路,并符合单片机的常规用法。系统的扩展与外围设备配置的水平应充分满足应用系统当前的功能要求,并留有适合余地,便于以后进行功能扩充。其次,整个系统中相关的器件要性能匹配。例如,选用晶振频率较高时,存储器的存取时间就短,应选择存取速度较快的芯片;选择CMOS芯片单片机构成低功耗系统时,系统中的所有芯片都应选择低功耗产品。如果系统中相关的器件差异很大,系统的综合性能将降低,甚至不能正常工作。最后,单片机外接电路较多时,必须考虑其驱动力。驱动能力不足时,系统工作不可靠。解决的办法是增加驱动能力,增强总线驱动器或者减少芯片功耗,降低总线负载。
所以,红外线遥控器系统硬件电路设计主要有遥控发射电路、状态指示电路、复位电路、中断电路、晶振电路及发射接受电路构成。其主要电路是遥控发射按键电路控制是否发射。状态指示电路控制小灯的亮灭来指示工作状态。复位电路来确保完成命令后能够清零重新开始,以及断电或发生故障不影响下一个程序。红外接受电路用来学习所要的功能,发射电路是用其所接受的信号进行发射模仿被学习的遥控器的功能。红外线接受器使用市场上用于电视机的三端一体化红外线接收解码器,三极管可用9013系列,红外线发射二极管也用普通遥控器中使用的器件。
2 软件设计的原则
应用系统中的软件是根据系统功能设计的,应可靠地实现系统的各种功能。应用系统的种类繁多,应用软件各不相同,但是一个好的应用系统应具有以下特点:软件结构清晰,各功能程序实现模块化、系统化;程序存储区、数字存储区规划合理;运行状态实现标志化管理。各个功能程序运行状态、运行结果以及运行需求都设置状态标志以便查询,程序的转移、运行、控制都可通过状态来控制。
所以,红外线遥控器软件设计主要由主程序进行总控制,初始化程序进行设置,遥控码读入/发射处理程序,状态指示程序,键操作程序及延时程序等组成。
2.1 红外线遥控器的工作原理
遥控器有两种状态:学习状态和控制状态。当遥控器处于学习状态时,使用者每按一个控制键,红外线接收电路就开始接收外来红外信号,同时将其转换成电信号,然后经过检波、整形、放大,再由CPU定时对其采样,将每个采样点的二进制数据以8位为一个单位,分别存放到指定的存储单元中去,供以后对该设备控制使用。当遥控器处于控制状态时,使用者每按下一个控制键,CPU从指定的存储单元中读取一系列的二进制数据,串行输出(位和位之间的时间间隔等于采样时的时间间隔)给信号保持电路,同时由调制电路进行信号调制,将调制信号经放大后,由红外线发射二极管进行发射,从而实现对该键对应设备功能的控制。
2.2 红外线遥控器接受原理
接收电路的红外接收管是一种光敏二极管,使用时要给红外接收二极管加反向偏压,它才能正常工作而获得高的灵敏度。红外接收二极管一般有圆形和方形两种。由于红外发光二极管的发射功率较小,红外接收二极管收到的信号较弱,所以接收端就要增加高增益放大电路。然而现在不论是业余制作或正式的产品,大都采用成品的一体化接收头。红外线一体化接收头是集红外接收、放大、滤波和比较器输出等的模块,性能稳定、可靠。所以,有了一体化接收头,人们不再制作接收放大电路,这样红外接收电路不仅简单而且可靠性大大提高。
所以,通过红外光敏元件将接收到的载波频率为40kHz的脉冲调制红外光信号转化为电信号,再由前放大器和自动增益控制电路进行放大处理。然后,通过带通滤波器和进行滤波,滤波后的信号由解调电路进行解调。最后,由输出级电路进行反向放大输出。
此遥控红外线接收器选用市场上用于电视机的三端一体化红外接收解调器即可。
3 系统总体设计框图
单键学习型红外线遥控器系统框图如3-1。
本程序在编程设计中非常重要,通过大量的、不同种类的遥控码波形实验测试分析,遥控码的帧间歇位宽度均在10ms以上,起始位码宽度在100?s—20ms之间,编码位在100?s—3.5ms之间。为确保所有遥控器学习的成功,可采用以下程序实验方法。
读起始位方法:由于起始位的码宽范围较大,因此计数单元采用单独的2字节,计数周期约为15?s,这样按65535X15?s算,最大可存起始位脉宽为983ms。当输入为高电平时,停止起始位计数,进入高电平计数。
读遥控编码的方法:采用1字节计数单元对码(高电平或低电平)进行宽度计数,电平跳变时结束计数,并将数据存入规定的地址。在高电平码计数时,当计数值大于255时(宽度大于3.825ms),判定为结束帧间隔位,在相应存储单元写入数据0x00作为结束标志。
【参考文献】
[1]王效华.张咏梅.单片机原理与应用.北京交通大学出版社.2007.
[2]扬振江.雷光纯等.新颖实用电子设计与制作.西安科技大学出版社.2000年.
[3]胡汉才.单片机原理及其接口技术[M].清华大学出版社.2002:311-341.
目前,人们的物质文化生活水平日益提高,各种各样的家用电器走进了千家万户,其中,大多数的家用电器都有各自不同的遥控器,人们常常为了控制某台电器而到处寻找其对应的遥控器,这样,就给人们的生活带来了很多不便。为了解决这个问题,本文提出一个学习型红外遥控器的设计方案:该遥控器可以通过自学习而拥有对电器的遥控功能。
本设计以单片机为核心设计一种学习型红外线遥控器,可以对各种红外线遥控器发射的信号进行识别、存储和再现等功能,从而实现对各类家电的控制。本设计详细介绍了学习型万能遥控器的软硬件设计方法,并给出了具体的电路设计、程序设计及主程序流程图。
【关键词】
红外线;单片机;学习型;红外线遥控器
1 硬件设计的原则
一个单片机应用系统的硬件设计包括三个部分内容;单片机芯片的选择,单片机系统扩展,系统配置。
这里主要说明单片机系统扩展,它是指单片机内部功能单元(如程序存储器、数据存储器、I/O口、定时/计数器、中断系统)的容量不能满足应用系统的要求时,必须在片外进行扩展。这时应选择适当的芯片,设计相应的扩展连接电路。
首先,要尽可能选择典型通用的电路,并符合单片机的常规用法。系统的扩展与外围设备配置的水平应充分满足应用系统当前的功能要求,并留有适合余地,便于以后进行功能扩充。其次,整个系统中相关的器件要性能匹配。例如,选用晶振频率较高时,存储器的存取时间就短,应选择存取速度较快的芯片;选择CMOS芯片单片机构成低功耗系统时,系统中的所有芯片都应选择低功耗产品。如果系统中相关的器件差异很大,系统的综合性能将降低,甚至不能正常工作。最后,单片机外接电路较多时,必须考虑其驱动力。驱动能力不足时,系统工作不可靠。解决的办法是增加驱动能力,增强总线驱动器或者减少芯片功耗,降低总线负载。
所以,红外线遥控器系统硬件电路设计主要有遥控发射电路、状态指示电路、复位电路、中断电路、晶振电路及发射接受电路构成。其主要电路是遥控发射按键电路控制是否发射。状态指示电路控制小灯的亮灭来指示工作状态。复位电路来确保完成命令后能够清零重新开始,以及断电或发生故障不影响下一个程序。红外接受电路用来学习所要的功能,发射电路是用其所接受的信号进行发射模仿被学习的遥控器的功能。红外线接受器使用市场上用于电视机的三端一体化红外线接收解码器,三极管可用9013系列,红外线发射二极管也用普通遥控器中使用的器件。
2 软件设计的原则
应用系统中的软件是根据系统功能设计的,应可靠地实现系统的各种功能。应用系统的种类繁多,应用软件各不相同,但是一个好的应用系统应具有以下特点:软件结构清晰,各功能程序实现模块化、系统化;程序存储区、数字存储区规划合理;运行状态实现标志化管理。各个功能程序运行状态、运行结果以及运行需求都设置状态标志以便查询,程序的转移、运行、控制都可通过状态来控制。
所以,红外线遥控器软件设计主要由主程序进行总控制,初始化程序进行设置,遥控码读入/发射处理程序,状态指示程序,键操作程序及延时程序等组成。
2.1 红外线遥控器的工作原理
遥控器有两种状态:学习状态和控制状态。当遥控器处于学习状态时,使用者每按一个控制键,红外线接收电路就开始接收外来红外信号,同时将其转换成电信号,然后经过检波、整形、放大,再由CPU定时对其采样,将每个采样点的二进制数据以8位为一个单位,分别存放到指定的存储单元中去,供以后对该设备控制使用。当遥控器处于控制状态时,使用者每按下一个控制键,CPU从指定的存储单元中读取一系列的二进制数据,串行输出(位和位之间的时间间隔等于采样时的时间间隔)给信号保持电路,同时由调制电路进行信号调制,将调制信号经放大后,由红外线发射二极管进行发射,从而实现对该键对应设备功能的控制。
2.2 红外线遥控器接受原理
接收电路的红外接收管是一种光敏二极管,使用时要给红外接收二极管加反向偏压,它才能正常工作而获得高的灵敏度。红外接收二极管一般有圆形和方形两种。由于红外发光二极管的发射功率较小,红外接收二极管收到的信号较弱,所以接收端就要增加高增益放大电路。然而现在不论是业余制作或正式的产品,大都采用成品的一体化接收头。红外线一体化接收头是集红外接收、放大、滤波和比较器输出等的模块,性能稳定、可靠。所以,有了一体化接收头,人们不再制作接收放大电路,这样红外接收电路不仅简单而且可靠性大大提高。
所以,通过红外光敏元件将接收到的载波频率为40kHz的脉冲调制红外光信号转化为电信号,再由前放大器和自动增益控制电路进行放大处理。然后,通过带通滤波器和进行滤波,滤波后的信号由解调电路进行解调。最后,由输出级电路进行反向放大输出。
此遥控红外线接收器选用市场上用于电视机的三端一体化红外接收解调器即可。
3 系统总体设计框图
单键学习型红外线遥控器系统框图如3-1。
本程序在编程设计中非常重要,通过大量的、不同种类的遥控码波形实验测试分析,遥控码的帧间歇位宽度均在10ms以上,起始位码宽度在100?s—20ms之间,编码位在100?s—3.5ms之间。为确保所有遥控器学习的成功,可采用以下程序实验方法。
读起始位方法:由于起始位的码宽范围较大,因此计数单元采用单独的2字节,计数周期约为15?s,这样按65535X15?s算,最大可存起始位脉宽为983ms。当输入为高电平时,停止起始位计数,进入高电平计数。
读遥控编码的方法:采用1字节计数单元对码(高电平或低电平)进行宽度计数,电平跳变时结束计数,并将数据存入规定的地址。在高电平码计数时,当计数值大于255时(宽度大于3.825ms),判定为结束帧间隔位,在相应存储单元写入数据0x00作为结束标志。
【参考文献】
[1]王效华.张咏梅.单片机原理与应用.北京交通大学出版社.2007.
[2]扬振江.雷光纯等.新颖实用电子设计与制作.西安科技大学出版社.2000年.
[3]胡汉才.单片机原理及其接口技术[M].清华大学出版社.2002:311-341.