红外遥控器的设计与开发_第1页
红外遥控器的设计与开发_第2页
红外遥控器的设计与开发_第3页
红外遥控器的设计与开发_第4页
红外遥控器的设计与开发_第5页
已阅读5页,还剩69页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机科学与技术系微型计算机原理与接口技术课程设计报告20092010 学年第一学期2010 年 4 月一.题义分析及解决方案课程 微型计算机原理与接口技术 课程设计名称 红外遥控器的设计与实现学生姓名学号专业班级指导教师1.题义需求分析根据设计内容要求可知: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 上的数据右移一位。二.硬件设计1.选择芯片 8255A1)芯片 8255A 在本设计中的作用8255A 是可编程并行接口,本实验通过 A 口输出来作为位选,实现 LED 数码管的动态显示,通过 B 口输出做为显示在 LED 数码管的数值,从 C 口读入操作信息来控制 LED 上的数据移动。2)芯片 8255A 的功能分析a)8255 引脚图:11223344D DC CB BA ATitleNumber RevisionSizeADate: 2006-4-11 Sheet of File: Sheet1.SchDoc Drawn By:D034D133D232D331D430D529D628D727PA0 4PA1 3PA2 2PA3 1PA4 40PA5 39PA6 38PA7 37PB0 18PB1 19PB2 20PB3 21PB4 22PB5 23PB6 24PB7 25PC0 14PC1 15PC2 16PC3 17PC4 13PC5 12PC6 11PC7 10RD5WR36A09A18RESET35CS68255U36D0D1D2D3D4D5D6D7WRRDRSTA0A1PC5PC6PC7PC2PC3PC4PC0PC1CS12345678JP5612345678JP5312345678JP52PA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB78255 是可编程并行接口,内部有 3 个相互独立的 8 位数据端口,即 A 口、口和口。三个端口都可以作为输入端口或输出端口。口有三种工作方式:即方式、方式和方式,而口只能工作在方式或方式下,而口通常作为联络信号使用。8255 的工作只有当片选 CS 有效时才能进行。而控制逻辑端口实现对其他端口的控制。b)CPU 接口(数据总线缓冲器和读/写控制逻辑)数据总线缓冲器:这是一个 8 位双向三态缓冲器,三态是由读/写控制逻辑控制的。这个缓冲器是8255A 与 CPU 数据总线的接口。所有数据的输入/输出,以及 CPU 用输出指令向8255A 发出的控制字和用输入指令从 8255A 读入的外设状态信息,都是通过这个缓冲器传递的。读/写控制逻辑:它与 CPU 的 6 根控制线相连,控制 8255A 内部的各种操作。控制线 RESET 用来使 8255A 复位。和地址线 A1 及 A0 用于芯片选择和通道寻址。控制线和用来决定 8 位内部和外部数据总线上信息传送的方向,即控制把 CPU 的控制命令或输出的数据送到相应的通道,或把状态信息或输入数据送到 CPU。8255A 的读/写控制逻辑的作用,是从 CPU 的地址和控制总线上接受输入的信号,转变成各种命令送到 A 组或 B 组控制电路进行相应的操作。 c) 8255A 的引脚信号与外设相连的PA7PA0:A 口数据信号线。PB7PB0:B 口数据信号线。PC7PC0:C 口数据信号线。与 CPU 相连的RESET:复位信号。当此信号来时,所有寄存器都被清除。同时三个数据端口被自动置为输入端口。D7D0:它们是 8255A 的数据线和系统总线相连。CS:片选信号。在系统中,一般根据全部接口芯片来分配若于低位地址(比如A5、A4、A3)组成各种芯片选择码,当这几位地址组成某一个低电平,于8255A 被选中。只有当有效时,读信号写才对 8255 进行读写。 RD:读信号。当此信号有效时,CPU 可从 8255A 中读取数据。WR:写信号。当此信号有效时,CPU 可向 8255A 中写入数据。A1、A0:端口选择信号。8255A 内部有 3 个数据端口和 1 个控制端口,共 4 个端口。规定当 A1、A0:为 00 时,选中 A 端口;为 01 时,选中 B 端口;为 10时,选中 C 端口;为 11 时,选中控制口。8255 的基本操作如下表 2-1 所示:表 2-1 8255 的基本操作3)芯片 8255A 的技术参数如下图 2-2 所示:规范值参数名称 符号 测试条件最大 最小输入低电平电压 VIL 0.8v -0.5v输入高电平电压 VIH Vcc 2.0v输入低电平电压VOL IOL=2.5mA 0.45v 输入低电平电压VOL IOL=1.7mA 0.45v 输入高电平电压VOH IOH=-400A 2.4v输入高电平电压VOHIOH=-200A 2.4v达林顿驱动电流 IDARREXT=750VEXT=1.5v-0.4mA 1.0mA电源电流 ICC 120mA 输入负载电流 IIL I=VCC0v +10m -10mAA8255A 的方式控制字如图 2-3 所示:图 2-3 8255A 的方式控制字方式 0 的工作特点这种方式通常不用联络信号,不使用中断,三个通道中的每一个都有可以由程序选定作为输入或输出。其功能为:两个 8 位通道:通道 A、B。两个四位通道:通道 C 高 4 位和低四位;任何一个通道可以作输入/输出;输出是锁存的;输入是不锁存的;在方式 0 时各个通道的输入/输出可有 16 种不同的组合。置位/控制字如图 2-4 所示:图 2-4 置位/控制字2.选择 LED 七段数码管1)LED 七段数码管在本设计中的作用LED 发光二级管(Light-Emitting Diode),在本设计中采用 7 段发光二级管,做为终端显示。2)LED 七段数码管的功能分析物理构造:LED 发光二级管,采用砷化镓、镓铝砷、和磷化镓等材料制成,其内部结构为一个 PN 结,具有单向导电性。工作原理:当在发光二极管 PN 结上加正向电压时,PN 结势垒降低,载流子的扩散运动大于漂移运动,致使 P 区的空穴注入到 N 区,N 区的电子注入到 P 区,这样相互注入的空穴与电子相遇后会产生复合,复合时产生的能量大部分以光的形式出现。数字成像:将七个发光管进行组合,排列成数字图形 8,再根据需要控制七个管的亮与灭,即可显示出定义数字。3)LED 七段数码管的技术参数 发光二极管的压降一般为 1.52.0 V,其工作电流一般取 1020 mA 为宜。发光二极管的发光颜色有:红色光、黄色光、绿色光、红外光等。发光二极管应用电路有四种,即直流驱动电路、交流驱动电路、脉冲驱动电路、变色发光驱动电路。LED 发光二极管的压降一般为 1.5-2.0V,其工作电流一般取 10-20Ma,发光二极管可应用于直流驱动电路、交流驱动电路和脉冲驱动电路。由于 8255A 的最大驱动电流为 4.0mA,而 LED 的工作电流一般为 10-20mA,所以需要加一个驱动器 74LS244。LED 显示管段选码编码表:2-7 LED显示管段选码编码表数字DP g f e d c b a 二进制编码(字形)0 0 0 1 1 1 1 1 1 3FH1 0 0 0 0 0 0 1 1 03H2 0 1 0 1 1 0 1 1 5BH3 0 1 0 0 1 1 1 1 4FH4 0 1 1 0 0 1 1 0 66H5 0 1 1 0 1 1 0 1 6DH6 0 1 1 1 1 1 0 1 7DH7 0 0 0 0 0 1 1 1 07H8 0 1 1 1 1 1 1 1 7FH9 0 1 1 0 1 1 1 1 6FHA 0 1 1 1 0 1 1 1 77HB 0 1 1 1 1 1 0 0 7CHC 0 0 1 1 1 0 0 1 69HD 0 1 0 1 1 1 1 0 5EHE 0 1 1 1 1 0 0 1 79HLED 数字显示原理:如下图 2-8 为 LED 数码管及其框图图 2-8 LED 数字显示原理上面两图分别为外形图和原理图,当七段数码管点亮其中几段可显示数字和简单的西文字符,将七段数码管负极连接到一起称为公共端,而发光二极管的正极则分别由引脚引出,便于控制哪个发光二极管点亮,在右图中如果在 COM 端接低电平,而在其他引出线上施加不同的电平,则对高电平的发光二极管就会点亮,由于将 8 个发光二极管负极全部连接在一起,称为共阴极数码管,还有将 8 个发光二极管的正极连接在一起,故称之为共阳极数码管。本次实验用的数码管需动态扫描显示,其接口电路将所有数码管的笔画控制段与 ah 同名端连在一起,接到一个并行端口,每个公共极 COM 端由独立的 I/O线控制,CPU 向字模输出口送出字形码时,所有数码管接收到相同的字形码,究竟哪个数码管显示,取决于每个 LED 的 COM 端,所谓动态扫描,就是显示一位信息时,其他位不能显示,必须采用分时方法,轮流控制 COM 端。3.选择 8251A1)8251A 在本设计中的作用8251A 作为本实验中最重要的芯片,就是起了传送并转换数据的作用,8251A将 CPU 的并行数据转换为串行数据送至红外,将红外的串行数据转换为并行数据送至 CPU。程序运行后,检查状态寄存器,若为 01H,则是允许发送,则将左移或右移信息码发送至红外,否则持续读状态寄存器。接收时,读状态寄存器,F 0 1 1 1 0 0 0 1 71H若为 02H,则是接收准备好,则从红外接收数据。2)芯片 8251A 的功能分析图 2-9 8251A 引脚排列图图 2-10 8251A 内部构造图b)CPU 接口(1) IO 缓冲器1122334455667788991010111112121313141415151616D DC CB BA ATitleNum ber RevisionSizeA0Date: 2005-12-19 Sheet of File: F:Inovation.STAR.SCHDOC Drawn By :D21D32RxD3GND4D45D56D67D78TxC9WR10CS11C/D12RD13RxRDY14 TxRDY 15SYNDET 16CTS 17TxEMPTY 18TxD 19CLK 20RESET 21DSR 22RTS 23DTR 24RxC 25VCC 26D0 27D1 288251U38WRRDVCCRSTD0D1D2D3D4D5D6D7TXDRXDCLKTxCCSC/DRxCRxRDY TxRDY这是三态双向的缓冲器,引脚 D0D7 是 8251A 和 CPU 接口的三态双向数据总线,用于向 CPU 传递命令、数据或状态信息。 与 CPU 互相交换的数据和控制字就存放在这个区域,共有三个缓冲器。 接收缓冲器:串行口收到的数据变成并行字符后,存放在这里,以供 CPU 读取。 发送命令缓冲器:这是一个分时使用的双功能缓冲器, CPU 送来的并行数据存放在这里,准备由串行口向外发送。另外,C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论