基于单片机的智能红外遥控器的设计与实现-嵌入式毕业设计

项目介绍

技术:C语言、单片机等
摘要:
本设计内容是实现一个智能遥控器,利用STC89C54单片机作为主控芯片,同时与无线发射和接收模块配合,然后通过硬件设计和软件编程最终实现系统功能。本设计首先对红外遥控技术的基本原理和设计方法进行了详细介绍,然后确定系统方案,紧接着分别对硬件电路和软件编程进行设计。在硬件部分设计中,其发射部分的组成有红外发射电路和按键电路,接收部分是由红外线接收以及控制电路两部分组成。本次设计的电路电压是5V,能够实现多路遥控,遥控距离在10米以内,属于短距离遥控。红外遥控具有电路调试容易、编解码简单和抗干扰能力强等优点,它不仅适合一般家庭的使用,同时还能用于各大宾馆、豪华饭店及别墅等。经过测试,本设计实现了遥控器的基本功能,满足遥控器使用标准。
关键词:51单片机 红外发射 红外接收 学习型遥控

效果图

请添加图片描述
请添加图片描述
目录:

  1. 引言 1
    1.1 设计背景 1
    1.2 设计目的和意义 2
    1.3 设计主要内容 2
  2. 系统分析 2
    2.1 可行性分析 2
    2.2 需求分析 3
  3. 系统总体设计 3
    3.1 设计方案选择 3
    3.2 工作原理 3
  4. 系统硬件设计 4
    4.1 单片机选型 4
    4.2 复位电路 5
    4.3 时钟电路 6
    4.4 红外线接收电路 6
    4.5 红外发射电路 7
    4.6 功能按键电路 7
    4.7 蜂鸣器电路 8
    4.8 液晶显示电路 8
    4.9 矩阵键盘 9
    4.10 电源模块 9
  5. 系统软件设计 9
    5.1 主程序流程图设计 10
    5.2 液晶显示模块的设计 11
    5.3 按键选择模块的设计 12
  6. 系统测试与实现 12
    6.1 测试方法 12
    6.2 测试结果 12
    6.3 出现的问题与解决措施 13
    6.4 实物展示 14
  7. 结语 14
    参考文献 15
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据设计内容要求可知: 1)用STAR ES598PCI单板开发机设计一个应用接口芯片作为八个七段LED数码管的段选与位选。接口可以使用8255A或8279(本实验用了8255A)。 2)编写程序实现将红外装置发送的编码代表的动作(左移LEFT和右移RIGHT)显示再七段数码管上,并实现LEFT的左循环移动,RIGHT的右循环移动。 3)用按键控制接口控制所要进行的操作,用一个按键控制左移用另一个按键控制右移,按住按键不放则为左循环或右循环。 2.解决问题方法及思路 1)硬件部分 (1)由于8251A和红外之间的数据传输涉及到要协调一致,所以本实验另外还要选用8253A作为频率发生,输出一定的方波到8251A。 (2)本次设计要求通过按键来进行操作,本来想用小键盘使得程序更加高级一些,但考虑到所需功能不多,只需两个按键即可,所以采用了按键控制接口。 (3)输出设备选用的是LED七段数码管。本实验只是要将LED上的内容左移右移,左循环和右循环,LED即可满足要求。 (4)8255A的可编程并行接口,本实验通过8255A将按键的信息送入,并且使用8255A对LED进行段选和位选,而且8255A具有传输速度快效率高等优点,此既可以节约芯片的使用,还具有较好的性能,因此选用。 (5)由于红外装置接收和发送的都是串行数据,所以本实验选用8251A作为CPU和红外装置之间数据的串并转换,8251A将CPU的并行数据转换为串行数据送至红外,将红外的串行数据转换为并行数据送至CPU。 至此,我们可以确定本次课程设计要用到的部件有:2个按键作为遥控按钮,LED作为显示,8253用作频率发生,8255用来作为输入输出接口,8251A用来传送数据。 2)软件部分 (1)对8253进行初始化。8253作为频率发生,选用计数0,控制字为35H,工作在方式2,并且将计数初值设为26,因为2000000/26=16*4800。这样发送和接受数据的时钟频率就是数据传输频率即波特率的16倍,这样可以提高收发数据的正确性,再将输出频率送至8251的RXC和TXC,一定程度上保证了数据传输的正确性。 (2)对8255进行初始化。PC口作为输入口,本实验中只用了PC0和PC7与按键控制接口相连,接收按键要控制的相关状态。开始时,通过置为/复位控制字,将1和8按键置为1,即置为控制字是01H和0FH,之所以设为1因为按键按下时是0信号,松开时1信号,程序运行时,检查C口读入的按键,若为1按键,即为左移,若为8按键,则为右移。PA口与PB口均作为输出口,其中PA口作为位选,用来选择发光的LED管,在控制时,我们是将要亮的管子位置数为0,其它位置为1,PB口作为段选,用来控制输出的值。 (3)对8251A进行初始化。8251A作为本实验中最重要的芯片,就是起了传送并转换数据的作用,8251A将CPU的并行数据转换为串行数据送至红外,将红外的串行数据转换为并行数据送至CPU。将8251A的方式控制字设为5EH, ;波特率系数为16,8个数据位,1个停止位,奇校验,命令控制字设为17H,允许接受和发送数据,清错误标志。程序运行后,检查状态寄存,若为01H,则是允许发送,则将左移或右移信息码发送至红外,否则持续读状态寄存。接收时,读状态寄存,若为02H,则是接收准备好,则从红外接收数据。 (4)CPU在发送数据时,先比较C口读入的数据,若是1按键,则将左移信息码40H写至8251A,若是8按键,则将右移信息码41H写至8251A;在接收数据时,若收到的是左移信息码,则左移1位位选,写入8255A,使LED上的数据左移一位,若收到的是右移信息码,则右移1位位选,写入8255A,使LED上的数据右移一位。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值