1、 ARM课程设计报告 基于 ARM 的红外遥控信号分析器设计 院 系 : 机电工程学院 专 业: 电子信息工程 年级(班级): xxxx 级( x)班 姓 名 : xxx 学 号 : xxxxxxxxxxx 指导教师 : xxx 职 称: 讲师 完成日期 : 2014 年 x 月 xx 日 目录 1 设计任务及要求 .1 2 总体设计思路及功能描述 .1 2.1 设计思路 .1 2.2 功能描述 .1 3 各部分程序功能及详细设计 .2 3.1 红外显示界面设计 .2 3.2 红外按键检测流程 .3 3.3 红外接收信号检测的程序实现 .3 3.4 红外接收结果显示 .5 4 调试的步骤及调试
2、过程中出现的问题以及解决方法 .6 4.1 调试的步骤 .6 4.2 问题以及解决方法 .7 5 设计心得体会 .7 附录 A:源程序 .9 1 基于 ARM 的红外遥控信号分析器设计 1 设计任务及要求 这次的 ARM 课程设计,我选的课题是基于 ARM 的红外遥控 信号分析器设计,需设计一个能在 LCD 屏上 显示所接收的红外遥控按键名称 。其实现的功能如下: ( 1) 能接收并显示普通电视红外遥控信号 ( 2) 译码遥控信号并显示 2 总体设计思路及功能描述 2.1 设计思路 本次设计方案就是利用 ARM 的多功能性的特点来设计的,具体思路为利用S3C2440 和触摸屏的驱动对产生的信号
3、进行触摸屏显示,设计框图如下图。 图 1 总体框图 1、 以 ARM 作为核心,综合应用了中断系统、定时器、计数器等知识,应用红外光的优点 2、遥控发射器通过对红外光发射频率的控制来区别不同的操 作 3、遥控接收器通过对红外光接收频率的识别,判断出控制操作,来完成整个红外遥控发射、接收过程 4、 S3C2440 通过对遥控接收器的信号分析处理,解码出遥控器上对应的按键,并将其按键名显示在 LCD 屏上。 2.2 功能描述 能在 LCD 屏上 显示所接收的红外遥控按键名称 。其实现的功能如下: ( 1)能接收并显示普通电视红外遥控信号 ( 2)译码遥控信号并显示 遥控器红外发射 红外接收头 S3
4、C2440处 理 器 LCD 显 示 2 3 各部分程序功能及详细设计 3.1 红外显示界面设计 图 2 红外显示界面 红外显示界面的程序实现: GUI_SetBkColor(GUI_RED); GUI_Clear(); GUI_SetPenSize(10); GUI_SetColor(GUI_BLACK); /设定前景颜色 API GUI_SetTextMode(GUI_TM_TRANS); GUI_DispStringHCenterAt(“红外遥控按键显示 “,240,10); GUI_DispStringHCenterAt(“您按下的按键是: “,60,100); GUI_DispStr
5、ingHCenterAt(“xx 电信 (x)班 “,250,200); GUI_DispStringHCenterAt(“xxx xx 号 “,245,220); 3 3.2 红外按键检测流程 图 3 红外按键检测流程图 红外接收头检测到遥控器红外发射来的信号, S3C2440 对信号进行分析处理,判断是否接收到正确的红外信号编码,如果信号错误重新开始检测,若成功识别,则将遥控按键名称显示在 LCD 屏上。 3.3 红外接收信号检测的程序实现 unsigned char j,k,N=0,L=0,X=21; while(rGPGDAT if(rGPGDAT /确认 IR 信号出现 while(
6、rGPGDAT while (rGPGDAT L+; if(L3) break; for (j=0;j=30) /0.14ms 计数过长自动离开。 break; /高电平计数完毕 IRCOMj=IRCOMj 1; /数据最高位补“ 0” if (N=8) IRCOMj = IRCOMj | 0x80; /数 据最高位补“ 1” N=0; /end for k /end for j /*if (IRCOM2!=(IRCOM3) break; */ IRCOM5=IRCOM2 /取键码的低四位 IRCOM6=IRCOM2 4; /右移 4 次,高四位变为低四位 5 3.4 红外接收结果显示 图 4
7、 红外接收显示结果 6 3.5 程序流程图 图 7 设计总流程图 4 调试的步骤及调试过程中出现的问题以及解决方法 4.1 调试的步骤 1、连接实验箱与计算机的串口线,打开计算机超级终端,并设定为com1,115200,8,1,0N 2、连接仿真调试电缆( J-Link)。 3、打开 ARM 集成开发环境 ADS,按要求编写或打开实验程序。 4、根据实验内容要求编写,调试程序。 5、通过 ADS 的 DEBUG 把编写好的程序加载到 J-Link,进行程序仿真测试。 6、记录相关数据和实验现象。 7、调试完毕,整理实验箱,并切断实验箱电源。 Y 信号分析处理 显示按键名称 绘制图形显示界面 开
8、始 系统初始化 NY 红外信 号判断 红外检测 7 4.2 问题以及解决方法 1、出现文件找不到的错误。通过菜单的 Project-Remove object ,并重新编译程序,生成新的 .axf 文件,便可解决问题。 2、调试时发现无法解码红外信号,经排除遥控器电量不足的可能后,用示波器直接对红外接收头的输出引脚进行波形观测,当按下遥控按键时,示波器会显示出一瞬间的波形,按住不放时,遥控器会间断发射循环码,从示波器的波形分析,红外接收到的波形是正确的。 因为红外遥控发射的红外信号遵循 NEC 协议,而程序是用定时器进行延时,然后对延时进行计数,对计数值进行分析处理可得到遥控器的红外编码,因此
9、延时时间需要比较精准。用延时程序写一个简单的方波,再用示波器观测其延时时间,经过调整,将延时调节到了理想状态,再重新编译程序,便成功的接收到了正确的红外信号。 3、将遥控的按键名显示在 LCD 上,出现数据更新时重叠显示,进查阅 GUI 手册,调用清初文字的函数,在每次跟新按键名之前,运行该函数,便解决该问题。 5 设计心得体会 在本次的 ARM 课程设计过程中,从构思设计到实现,遇到了很多问题,但都一一克服了。本次课 程设计让我们对嵌入式系统的硬件和软件的基本原理、基本特点,嵌入式系统设计的基本方法有了更进一步的了解掌握。通过课程设计,我们对 ARM 这门课程有了更深一步的了解。也让我感受到
10、了 ARM 的强大与重要,意识到我们需要花更多的时间去将 ARM 的理论应用到实践中去,多动手,多去解决问题,锻炼自己解决问题的能力,积累经验,才能正在学好 ARM 这门课程。这次课程设计,我经过自己的努力,在老师同学的帮助下,顺利完成了。8 参考文献 1 戴峻峰,付丽辉 . 多功能红外线遥控器的设计 .2002.8(12):16 18. 2 苏长赞 . 红外线与超声波遥控,北京:人民邮电出版社 .1995 年 . 3 杨恢先,王子菡,杨穗,陶霞 . 一种基于单片机的红外遥控软件解码方法, 自动化与仪器仪表 .2004, 22(2):16 18. 4 s3c2440 中文数据手册 (完整版 ).pdf. 5 ARM 公司 .arm 指令集 EB/OL.2013-06-10,