单片机系统开发与应用实习报告-基于AT89S52单片机的学习型红外遥控器的设计.doc

上传人:爱问知识人 文档编号:5019169 上传时间:2020-01-29 格式:DOC 页数:18 大小:177.50KB
返回 下载 相关 举报
单片机系统开发与应用实习报告-基于AT89S52单片机的学习型红外遥控器的设计.doc_第1页
第1页 / 共18页
单片机系统开发与应用实习报告-基于AT89S52单片机的学习型红外遥控器的设计.doc_第2页
第2页 / 共18页
单片机系统开发与应用实习报告-基于AT89S52单片机的学习型红外遥控器的设计.doc_第3页
第3页 / 共18页
单片机系统开发与应用实习报告-基于AT89S52单片机的学习型红外遥控器的设计.doc_第4页
第4页 / 共18页
单片机系统开发与应用实习报告-基于AT89S52单片机的学习型红外遥控器的设计.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《单片机系统开发与应用实习报告-基于AT89S52单片机的学习型红外遥控器的设计.doc》由会员分享,可在线阅读,更多相关《单片机系统开发与应用实习报告-基于AT89S52单片机的学习型红外遥控器的设计.doc(18页珍藏版)》请在三一文库上搜索。

1、单片机系统开发与应用工程实习报告单片机系统开发与应用工程实习报告 选题名称选题名称: 基于 AT89S52 的学习型红外遥控器的设计 系(院)系(院): 专专 业业:计算机科学与技术(嵌入式系统软件设计) 班班 级级: 姓姓 名名: 学学 号号: 指导教师指导教师: 学年学期学年学期: 2009 2010 学年 第 2 学期 2010年 5 月 30 日 摘要: 学习型红外线遥控器,通过自学习而拥有对多台电器的遥控功能。该遥控器有两 种状态:学习状态和控制状态。处于学习状态时,使用者每按一个控制键红外接收电 路就开始接收外来红外信号,并将其转换为电信号,然后经过检波、整形、放大,再 由单片机定

2、时对其采样,将每个采样点的二进制数据以 8 位为一个单位,分别存放到 指定的存储单元中去,供以后对该设备控制使用;处于控制状态时,使用者每按一个 控制键单片机从指定的存储单元中读取二进制数据,串行输出(位和位之间的时间间 隔等于采样的时间间隔)给信号保持电路,同时由调制电路进行信号调制,将调制信 号经放大后,由红外线发射二极管进行发射,从而实现对该键对应设备功能的控制。 关键词:学习型;红外线遥控器;学习状态;控制状态;AT89S52 目 录 1 课题综述.1 1.1 课题来源及意义1 1.2 预期目标1 1.3 面对的问题1 1.4 需解决的关键技术1 2 系统分析.1 2.1 涉及的基础知

3、识1 2.2 解决问题的基本思路2 2.3 总体方案3 2.3 功能模块框图3 3 系统设计.4 3.1 电路原理图4 3.2 实现方法5 3.3 详细流程图5 4 代码编写.6 4.1 AT89S52 单片机与各模块电路的连接端口分配6 4.2 复位电路的设计6 4.3 按键电路设计的实现7 4.4 中断程序的实现8 4.5 主函数的实现10 5 程序调试.10 6 运行与测试.11 总 结.12 参考文献.13 单片机系统开发与应用工程实习报告 1 1 1 课题综述课题综述 1.1 课题来源及意义课题来源及意义 目前,人们的物质文化生活水平日益提高,各种各样的家用电器走进了千家万户,其中,

4、大 多数的家用电器都有各自不同的遥控器,人们常常为了控制某台电器到处寻找其对应的遥控器, 这样就给人们的生活带来了很多步便。为了解决这个问题,笨项目提出了一个多功能遥控器的设 计方案:该遥控器可以通过自学习而拥有对多台电器的遥控功能,既省时又省力,从而 使人们免除同时面对众多遥控器的苦恼。 1.2 预期目标预期目标 设计一种基于 AT89S52 单片机控制的红外线遥控器,具有以下功能: 1、适用于编码式红外线遥控型家用电器 2、可遥控多台家用电器 3、具有一个学习/控制复用键 4、可通过一个设备选择键和各个功能控制键实现对多台设备的常用功能的学习 和控制 5、成本低,抗干扰能力强 1.3 面对

5、的问题面对的问题 1、对于 AT89S52 单片机的了解及应用 2、对于抗干扰能力的解决 1.4 需解决的关键技术需解决的关键技术 本项目是通过扫描按键的状态、单片机外中断 0 和定时/计数器程序来判断遥控器 处于什么状态,实现什么功能,因此,对于功能键的设计和中断程序的设计是难点。 同时,对于红外发射和红外接收的工作原理和设计对于我们来说也是陌生的,都要从 头开始,对其进行了解、掌握及使用,所以也是一个难题。 2 2 系统分析系统分析 2.1 涉及的基础知识涉及的基础知识 通过对本项目的了解,为了实现该项目的各个功能,必须要掌握以下知识点: 单片机系统开发与应用工程实习报告 2 1、电源原理

6、及设计 2、单片机复位电路工作原理及设计 3、单片机晶振电路工作原理及设计 4、按键电路的设计 5、驱动 74LS07 的特性及使用 6、一体化红外遥控接收器的特性及使用 7、AT89S52 单片机引脚 8、单片机 C 语言程序设计 2.2 解决问题的基本思路解决问题的基本思路 2.2.1 AT89S52 单片机的基本知识 功能特性:AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系 统可编程 Flash 存储器。使用 Atmel 公司高密度非 易失性存储器技术制造,与工业 80C51 产品指令和引脚完 全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于

7、常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统 可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52 具 有以下标准功能: 8k 字节 Flash,256 字节 RAM, 32 位 I/O 口线,看门狗定时器, 2 个数据指针,三个 16 位 定时器/计数器,一个 6 向量 2 级中断结构,全双工串行 口, 片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻 辑操作,支持 2 种 软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串 口、中断继续工作。掉电保护方式下,RAM

8、内容被保存,振荡器被冻结,单片机一 切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash AT89S52。 主要性能:与 MCS-51 单片机产品兼容、8K 字节在系统可编程 Flash 存储器、 1000 次擦写周期、全静态操作:0Hz33Hz 、 三级加密程序存储器 、32 个可编程 I/O 口线 、三个 16 位定时器/计数器八个中断源、全双工 UART 串行通道、低功耗空 闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。 单片机系统开发与应用工程实习报告 3 图 2-1 AT89S52 引脚图 2.2.2 对于抗干扰能力的解

9、决 该项目中采用一体化红外遥控接收器 HX1838,该接收器的内部包括红外光敏二 极管、谐振电路、放大电路、解码器、滤波器等,其工作电压为+5V,输出引脚直接 输出不带副载波的负极性 RC-5V 信号,具有电路简单、灵敏度高、抗干扰性好等优点。 2.3 总体方案总体方案 学习型红外线遥控器,通过自学习而拥有对多台电器的遥控功能。该遥控器有两 种状态:学习状态和控制状态。处于学习状态时,使用者每按一个控制键红外接收电 路就开始接收外来红外信号,并将其转换为电信号,然后经过检波、整形、放大,再 由单片机定时对其采样,将每个采样点的二进制数据以 8 位为一个单位,分别存放到 指定的存储单元中去,供以

10、后对该设备控制使用;处于控制状态时,使用者每按一个 控制键单片机从指定的存储单元中读取二进制数据,串行输出(位和位之间的时间间 隔等于采样的时间间隔)给信号保持电路,同时由调制电路进行信号调制,将调制信 号经放大后,由红外线发射二极管进行发射,从而实现对该键对应设备功能的控制。 2.3 功能模块框图功能模块框图 遥控器由红外接收及红外发射电路、复位电路、控制器 AT89S52、按键及状态指 示电路组成,其组成框图如图 2-1 所示。 单片机系统开发与应用工程实习报告 4 图 2-2 基于 AT89S52 学习型红外线遥控器系统框图 3 3 系统设计系统设计 3.1 电路原理图电路原理图 控制芯

11、片选择 AT89S52 单片机,控制系统按最小化工作模式设计,P1.0 接红外 线发射,P1.6 和 P1.7 接两个发光二极管用来指示遥控器的工作状态,P3.4 和 P3.5 用 来接收和发射红外线。红外接收采用一体化红外遥控接收器(HX1838) 。其原理图如 图 3-1 所示。 AT89S52 控 制 器 红外接收电路 状态指示电路 复位电路 电源电路 红外发射电路 单片机系统开发与应用工程实习报告 5 图 3-1 基于 AT89S52 学习型红外遥控器原理图 3.2 实现方法实现方法 当红外遥控器的某个按键按下时,发射出的一组串行二进制编码脉冲,该脉冲由 引导码、系统码、功能码和反码组

12、成,通过设置这些编码以及码长便可区分不同的红 外遥控器。红外接收器负责红外信号的接收和放大并解调出 TTL 电平信号送至微处理 器进行处理,微处理器通过比较和识别接收来的红外遥控编码便可执行相应的遥控功 能,本系统的设计思想是不考虑红外编码方式,仅利用单片机 AT89S52 对多个红外遥 控编码的脉冲宽度进行测量,并原封不动地把发射信号中高、低电平的时间宽度记忆 至存储区的指定地址。当要发射红外信号时,从存储区中还原出相应的红外遥控编码, 并调制到 38kHz 的载波信号上,最后,通过 74LS07 驱动发光二极管发射红外信号, 达到学习和发射的目的,从而实现一个遥控器控制多种遥控设备的功能。

13、 3.3 详细流程图详细流程图 在程序中主程序完成初始化、按键扫描和调用信号发射程序的功能,学习功能通 过中断 0 来完成。程序的具体流程图如图 3-2 所示。 (a)主程序流程图 (b)中断程序流程图 图 3-2 基于 AT89S52 学习型红 外线遥控器程序流程图 Y 开始 初始化 扫描按键? 信号发射 N Y 结束? 中断开始 开学习指示灯 等待键释放 读遥控码 存学习标志,关指示灯 结束 N 单片机系统开发与应用工程实习报告 6 4 4 代码编写代码编写 4.1 AT89S52 单片机与各模块电路的连接端口分配单片机与各模块电路的连接端口分配 P1.6 和 P1.7 分别接学习灯指示灯

14、和发射指示灯 sbit studylamp=P16;/学习指示灯 sbit lamp=P17;/发射指示灯 sbit studykey=P32;/学习键(中断口) sbit remotein=P34;/遥控信号输入口 sbit remoteout=P35;/遥控信号输出口 sbit txkey=P10;/发射键 4.2 复位电路的设计复位电路的设计 复位电路实现的是对单片机以及整个电路的初始化 uint i,j,m=255,n,k,s;/定义各个变量 uchar idata remotedata206;/存脉冲宽度数据用 uint head;/存起始位用 uint remdata; clear

15、men()/初始化函数 studylamp=0;/关学习指示灯 lamp=0;/关发射指示灯 remoteout=0;/关遥控输出 remotein=0; for(i=0;i0;i-) ; remoteout=0; ET1=0;TR1=0; n=0; while(1) if(remotedatan=0x00)/数据为 0 结束 单片机系统开发与应用工程实习报告 8 delay1ms(10); break; for(i=remotedatan;i0;i-) _nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_

16、(); lamp=lamp;n+;/偶地址不发脉冲 ET1=1;TR1=1;/奇地址发调制脉冲 for(i=remotedatan;i0;i-) ; remoteout=0; ET1=0;TR1=0; n+; 4.4 中断程序的实现中断程序的实现 4.4.1 定时器中断 T1 的服务程序 定时器中断 T1 的服务程序,实现控制红外发射灯是否发射。当 remoteout 为低电 平时,红外发射处于工作状态,会发出红外信号;当送入的为高电平时,红外发射不 工作。 void time_intt1(void) interrupt 3/定时器中断 T1 remoteout=remoteout; 4.4.

17、2 外中断 0 的服务程序 外中断服务程序实现的是接收遥控器发射的红外信号,判断其高低电平,并存入 单片机指定的位置,以供当系统处于学习状态时,该红外遥控器进行学习,并控制家 单片机系统开发与应用工程实习报告 9 电的使用。 void intt0(void) interrupt 0/外中断 0 ET1=0;TR1=0;EX0=0;EA=0; head=0;studylamp=1;lamp=0; while(studykey=0);/等待键释放 while(remotein=1);/等待遥控码输入 head=0;/读入起始位 while(remotein=0) _nop_();_nop_();_

18、nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_(); head+; n=0;remdata=0x0000; while(1) while(remotein=1) _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_(); remdata+; if(remd

19、atam)/高电平5ms 退出 remotedatan=0x00; EX0=1;EA=1;goto end; remotedatan=remdata; 单片机系统开发与应用工程实习报告 10 n+;/存高电平脉宽数据 remdata=0x0000;/脉宽计数器清零 while(remotein=0) _nop_();_nop_();_nop_();_nop_();_nop_();nop_(); _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_(); remdata+; /低电平计数 remotedata

20、n=remdata;/存低电平脉宽数据 n+; remdata=0x00; end:lamp=1;studylamp=0; 4.5 主函数的实现主函数的实现 主函数只需调用初始化函数实现电路复位,调用按键函数实现学习、控制功能。 main() clearmen(); while(1) keywork();/按键扫描 5 5 程序调试程序调试 各个函数实现后,对该函数整体实现,并进行调试了,调试过程中出现了一些低 级错误,如变量的书写错误,定义的错误等等,但整体的模块规划设计实现跟设想的 还是一样比较完整、正确的,故软件的实现还是比较顺利的。 单片机系统开发与应用工程实习报告 11 6 6 运行

21、与测试运行与测试 本项目设计的是一个多功能红外线遥控器,控制电路板的安装与调试在整个系统 研制中占有重要位置,它是把理论付诸实践的过程,也是把纸面设计转变成实际产品 的必经阶段。在调试过程中药注意以下几个特点。 (1) 正确使用测量仪器的接地端,仪器的接地端与电路的接地端要可靠连接。 (2) 在信号较弱的输入端,尽可能使用屏蔽线连线,屏蔽线的外屏蔽层要接到 公共地线上,在频率较高时要设法隔离连接线分布电容的电影,例如用示 波器测量时应该使用使用示波器探头连接,以减少分布电容的影响。 (3) 测量电压所用仪器的输入阻抗必须远大于被测处的等效阻抗。 (4) 测量仪器的带宽必须大于被测量电路的带宽。

22、 (5) 正确选择测量点和测量。 (6) 认真观察记录实验过程,包括条件、现象、数据、波形、相位等。 (7) 出现故障时要认真查找原因。 在程序调试成功之后,我将该程序烧入 AT89S52 芯片中,并对整个系统进行了测 试。刚开始时,当按下学习键时,其学习指示灯不亮,于是,我用万能表对焊接的状 态指示电路进行了测试,最后发现是与单片机的 P1.6 端口接入处没有焊实。但经焊实 后,发现跟我要系统实现的功能还是不完全,于是我又对程序进行了修改,经多次烧 写、运行、调试,终于实现了学习型红外线遥控功能。 遥控器在使用时按下学习键,待学习指示灯亮后,用原遥控器对着红外接收头按 下某一功能键,当学习指

23、示灯灭时,就可按发射键进行遥控操作了。本设计还有较多 的扩展空间,若在系统中扩展一个存储器,再加入相应的按键就可以制作成一个学习 型的万能遥控器。 单片机系统开发与应用工程实习报告 12 总总 结结 本次单片机系统开发与应用工程实习报告前后历时两周。此次工程实习的前一周, 我们对整个系统的进行了深入的了解,并对其进行了整体规划,分别划分为 AT89S52 控制器模块、红外接收电路模块、红外发射电路模块、状态指示电路模块、复位电路 模块、电源电路模块。当我把该系统的模块确定以后,就初步画出该系统的硬件电路 原理图,经过确定以后,就开始了硬件电路的焊接。经过对焊接的电路运行和测试成 功后,就对软件

24、设计进行了简单的设计。实习的第二周主要是将程序烧写入硬件电路 中,并对其进行运行与调试。 在学习这门课程时,感到单片机的概念抽象,对其中的引脚的分配、寄存器的功能 等基本理论也不能很好地理解与掌握。通过本次工程实习,我对学到的单片机知识有 了更深一步的深入,而且,本次实习让我对于实践也有了基本认识。刚开始时,我有 的只是书本上的东西,只有表面记忆,通过该次实习,我对其有了进一步的了解,如 AT89S52 单片机芯片的具体功能、默认输出的值,元器件的如何正确焊接,如何验证 元器件的焊接是否正确等等。 本次工程实习是本科学习阶段很有价值的理论与实践相结合的机会,这次实习能 这么顺利的完成,首先感谢

25、淮阴工学院、计算机工程学院提供的实践机会,同时也感 谢实验室老师给我们提供的良好的实验环境。当然,更要感谢一直陪伴在实验室的老 师孜孜不倦的教诲、细心的指导和不懈的支持,以及同班同学的帮忙调试,让我学会 了很多东西。这次比较系统的学习型红外遥控器的设计提高了我运用所学的专业基础 知识来解决面临实际问题的能力,让我见证了单片机应用的价值,同时也提高了我查 阅各种文献资料、设计手册、设计规范以及软件编程的水平。 单片机系统开发与应用工程实习报告 13 参考文献参考文献 1 赵鑫,蒋亮,齐兆群等.数字电路设计.北京:机械工业出版社,2005 2 苏家健,曹柏荣,汪志锋.单片机原理及应用技术. 北京:

26、高等教育出版社,2003 3 李朝青. 单片机原理及接口技术. 北京:北京航天航空大学出版色,2001 4 胡汉才. 单片机原理及其接口技术. 北京:清华大学出版社,2004. 5 潭浩强.C 语言程序设计.北京:清华大学出版社.2005 6 李华,李东.MCS51/98 系列单片机原理与应用.北京:机械工业出版社.1997 7 杨居义,杨尧,杨晓琴等.单片机课程设计指导.北京:清华大学出版社.2009 指导教师评语指导教师评语 学号姓名班级 选题 名称 基于 AT89S52 的学习型红外遥控器的设计 序号评价内容 权重 (%) 得分 1考勤记录、学习态度、工作作风与表现。5 2 自学情况: 上网检索机时数、文献阅读情况(笔记) 。10 3 论文选题是否先进,是否具有前沿性或前瞻性。 5 4 成果验收: 是否完成设计任务;能否运行、可操作性 如何等。 20 5 报告的格式规范程度、是否图文并茂、语言规 范及流畅程度;主题是否鲜明、重心是否突出、 论述是否充分、结论是否正确;是否提出了自 己的独到见解。 30 6文献引用是否合理、充分、真实。5 7 答辩情况: 自我陈述、回答问题的正确性、用语准确 性、逻辑思维、是否具有独到见解等。 25 合计 单片机系统开发与应用工程实习报告 1 指导教师(签章): 年 月 日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 商业贸易


经营许可证编号:宁ICP备18001539号-1