红外遥控器的设计与实现1.docx

上传人:b****2 文档编号:894298 上传时间:2023-04-30 格式:DOCX 页数:35 大小:412.01KB
下载 相关 举报
红外遥控器的设计与实现1.docx_第1页
第1页 / 共35页
红外遥控器的设计与实现1.docx_第2页
第2页 / 共35页
红外遥控器的设计与实现1.docx_第3页
第3页 / 共35页
红外遥控器的设计与实现1.docx_第4页
第4页 / 共35页
红外遥控器的设计与实现1.docx_第5页
第5页 / 共35页
红外遥控器的设计与实现1.docx_第6页
第6页 / 共35页
红外遥控器的设计与实现1.docx_第7页
第7页 / 共35页
红外遥控器的设计与实现1.docx_第8页
第8页 / 共35页
红外遥控器的设计与实现1.docx_第9页
第9页 / 共35页
红外遥控器的设计与实现1.docx_第10页
第10页 / 共35页
红外遥控器的设计与实现1.docx_第11页
第11页 / 共35页
红外遥控器的设计与实现1.docx_第12页
第12页 / 共35页
红外遥控器的设计与实现1.docx_第13页
第13页 / 共35页
红外遥控器的设计与实现1.docx_第14页
第14页 / 共35页
红外遥控器的设计与实现1.docx_第15页
第15页 / 共35页
红外遥控器的设计与实现1.docx_第16页
第16页 / 共35页
红外遥控器的设计与实现1.docx_第17页
第17页 / 共35页
红外遥控器的设计与实现1.docx_第18页
第18页 / 共35页
红外遥控器的设计与实现1.docx_第19页
第19页 / 共35页
红外遥控器的设计与实现1.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

红外遥控器的设计与实现1.docx

《红外遥控器的设计与实现1.docx》由会员分享,可在线阅读,更多相关《红外遥控器的设计与实现1.docx(35页珍藏版)》请在冰点文库上搜索。

红外遥控器的设计与实现1.docx

红外遥控器的设计与实现1

一.题义分析及解决方案

1.题义需求分析

根据设计内容要求可知:

1)用STARES598PCI单板开发机设计一个应用接口芯片作为八个七段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.选择芯片8255A

1)芯片8255A在本设计中的作用

8255A是可编程并行接口,本实验通过A口输出来作为位选,实现LED数码管的动态显示,通过B口输出做为显示在LED数码管的数值,从C口读入操作信息来控制LED上的数据移动。

2)芯片8255A的功能分析

a)8255引脚图:

 

8255是可编程并行接口,内部有3个相互独立的8位数据端口,即A口、B口和C口。

三个端口都可以作为输入端口或输出端口。

A口有三种工作方式:

即方式0、方式1和方式2,而B口只能工作在方式0或方式1下,而C口通常作为联络信号使用。

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的引脚信号

与外设相连的

PA7~PA0:

A口数据信号线。

PB7~PB0:

B口数据信号线。

PC7~PC0:

C口数据信号线。

与CPU相连的

RESET:

复位信号。

当此信号来时,所有寄存器都被清除。

同时三个数据端口被自动置为输入端口。

D7~D0:

它们是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-18255的基本操作

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=-400μA

——

2.4v

输入高电平电压

<外部端口>

VOH

IOH=-200μA

——

2.4v

达林顿驱动电流

IDAR

REXT=750

VEXT=1.5v

-0.4mA

1.0mA

电源电流

ICC

——

120mA

——

输入负载电流

IIL

I=VCC~0v

+10mA

-10mA

8255A的方式控制字如图2-3所示:

图2-38255A的方式控制字

方式0的工作特点

这种方式通常不用联络信号,不使用中断,三个通道中的每一个都有可以由程序选定作为输入或输出。

其功能为:

①两个8位通道:

通道A、B。

两个四位通道:

通道C高4位和低四位;

②任何一个通道可以作输入/输出;

③输出是锁存的;

④输入是不锁存的;

⑤在方式0时各个通道的输入/输出可有16种不同的组合。

置位/控制字如图2-4所示:

图2-4置位/控制字

2.选择LED七段数码管

1)LED七段数码管在本设计中的作用

LED发光二级管(Light-EmittingDiode),在本设计中采用7段发光二级管,做为终端显示。

2)LED七段数码管的功能分析

物理构造:

LED发光二级管,采用砷化镓、镓铝砷、和磷化镓等材料制成,其内部结构为一个PN结,具有单向导电性。

工作原理:

当在发光二极管PN结上加正向电压时,PN结势垒降低,载流子的扩散运动大于漂移运动,致使P区的空穴注入到N区,N区的电子注入到P区,这样相互注入的空穴与电子相遇后会产生复合,复合时产生的能量大部分以光的形式出现。

数字成像:

将七个发光管进行组合,排列成数字图形8,再根据需要控制七个管的亮与灭,即可显示出定义数字。

3)LED七段数码管的技术参数

发光二极管的压降一般为1.5~2.0V,其工作电流一般取10~20mA为宜。

发光二极管的发光颜色有:

红色光、黄色光、绿色光、红外光等。

发光二极管应用电路有四种,即直流驱动电路、交流驱动电路、脉冲驱动电路、变色发光驱动电路。

LED发光二极管的压降一般为1.5-2.0V,其工作电流一般取10-20Ma,发光二极管可应用于直流驱动电路、交流驱动电路和脉冲驱动电路。

由于8255A的最大驱动电流为4.0mA,而LED的工作电流一般为10-20mA,所以需要加一个驱动器74LS244。

LED显示管段选码编码表:

2-7LED显示管段选码编码表

数字

DP

g

f

e

d

c

b

a

二进制编码(字形)

0

0

0

1

1

1

1

1

1

3FH

1

0

0

0

0

0

0

1

1

03H

2

0

1

0

1

1

0

1

1

5BH

3

0

1

0

0

1

1

1

1

4FH

4

0

1

1

0

0

1

1

0

66H

5

0

1

1

0

1

1

0

1

6DH

6

0

1

1

1

1

1

0

1

7DH

7

0

0

0

0

0

1

1

1

07H

8

0

1

1

1

1

1

1

1

7FH

9

0

1

1

0

1

1

1

1

6FH

A

0

1

1

1

0

1

1

1

77H

B

0

1

1

1

1

1

0

0

7CH

C

0

0

1

1

1

0

0

1

69H

D

0

1

0

1

1

1

1

0

5EH

E

0

1

1

1

1

0

0

1

79H

F

0

1

1

1

0

0

0

1

71H

 

LED数字显示原理:

如下图2-8为LED数码管及其框图

图2-8LED数字显示原理

上面两图分别为外形图和原理图,当七段数码管点亮其中几段可显示数字和简单的西文字符,将七段数码管负极连接到一起称为公共端,而发光二极管的正极则分别由引脚引出,便于控制哪个发光二极管点亮,在右图中如果在COM端接低电平,而在其他引出线上施加不同的电平,则对高电平的发光二极管就会点亮,由于将8个发光二极管负极全部连接在一起,称为共阴极数码管,还有将8个发光二极管的正极连接在一起,故称之为共阳极数码管。

本次实验用的数码管需动态扫描显示,其接口电路将所有数码管的笔画控制段与a~h同名端连在一起,接到一个并行端口,每个公共极COM端由独立的I/O线控制,CPU向字模输出口送出字形码时,所有数码管接收到相同的字形码,究竟哪个数码管显示,取决于每个LED的COM端,所谓动态扫描,就是显示一位信息时,其他位不能显示,必须采用分时方法,轮流控制COM端。

3.选择8251A

1)8251A在本设计中的作用

8251A作为本实验中最重要的芯片,就是起了传送并转换数据的作用,8251A将CPU的并行数据转换为串行数据送至红外,将红外的串行数据转换为并行数据送至CPU。

程序运行后,检查状态寄存器,若为01H,则是允许发送,则将左移或右移信息码发送至红外,否则持续读状态寄存器。

接收时,读状态寄存器,若为02H,则是接收准备好,则从红外接收数据。

2)芯片8251A的功能分析

 

图2-98251A引脚排列图

图2-108251A内部构造图

b)CPU接口

(1)I/O缓冲器

这是三态双向的缓冲器,引脚D0~D7是8251A和CPU接口的三态双向数据总线,用于向CPU传递命令、数据或状态信息。

与CPU互相交换的数据和控制字就存放在这个区域,共有三个缓冲器。

①接收缓冲器:

串行口收到的数据变成并行字符后,存放在这里,以供CPU读取。

②发送/命令缓冲器:

这是一个分时使用的双功能缓冲器,CPU送来的并行数据存放在这里,准备由串行口向外发送。

另外,CPU送来的命令字也存放在这里,以指挥串行接口的工作。

由于命令一输入就马上执行,不必长期存放,所以不会影响存放发送数据。

③状态缓冲器:

存放8251A内部的工作状态,供CPU查询。

(2)读/写控制逻辑。

本模块功能是接收CPU的控制信号,控制数据传送方向。

(3)接收器及接收控制。

接收器的功能是从RXD引脚接收串行数据,按指定的方式装配成并行数据。

(4)发送器及发送控制。

这个模块的功能是从CPU接收并行数据,自动地加上适当的成帧信号后转换成串行数据从TXD引脚发送出去。

(5)调制解调控制器。

该模块提供和调制解调器的联络信号。

8251A是一个采用NMOS工艺制造的28脚双列直插式封装的组件,其外部引脚如图2-9所示。

c)8251A的引脚信号

(1)与CPU接口的引脚。

D7~D0:

数据线。

CLK:

时钟信号输入线,用于产生8251A内部时序。

CLK的周期为0.42~1.35μs。

CLK的频率至少应是接收、发送时钟的30倍(对同步方式)或4.5倍(对异步方式)。

RESET:

复位信号输入线,高电平有效。

复位后8251A处于空闲状态直至被初始化编程。

CS:

片选信号输入线,CS低电平有效。

仅当CS为低电平时,CPU才能对8251A操作。

C/D:

信息类型信号输入线。

为0时传输的是数据,为1时传输的是控制字或状态信息。

RD:

读选通信号输入线,低电平有效。

WR:

写选通信号输入线,低电平有效。

CPU对8251A的读写控制如表2-11所示。

 

CS

C/D

RD

WR

操作

1

任意

任意

任意

无操作,D0-D7呈高阻

0

1

1

0

写控制字

0

0

1

0

写数据

0

1

0

1

读状态

0

0

0

1

读数据

RXRDY:

接收准备好状态输入线,高电平有效。

当接收器接到一个字符并准备送给CPU时,RXRDY为1;当字符被CPU读取后RXRDY恢复为0。

RXRDY可作为8251A向CPU申请接收中断的请求源。

SYNDET/BRKDET:

同步状态输出线或者外同步信号输入线。

此线仅对同步方式有意义。

TXRDY:

发送准备好状态输出线,高电平有效。

当发送寄存器空闲且允许发送(CTS脚电平为低、命令字中TXEN位为1)时,TXRDY为高电平。

当CPU给8251A写入一个字符后TXRDY恢复为低电平。

TXRDY可作为8251A向CPU申请发送中断的请求源。

TXE:

发送缓冲器空闲状态输出线。

高电平有效,TXE=1,表示发送缓冲器中没有要发送的字符,当CPU将要发送的数据写入8251A后,TXE自动复位。

(2)与外设或调制解调器接口的引脚

RXD:

串行数据输入线,高电平表示数字1,低电平表示数字0。

RXC:

接收器时钟输入线。

它控制接收器接收字符的速率,在上升沿采集串行数据输入线。

RXC的频率应等于波特率(同步方式)或等于波特率的1倍、16倍或64倍(异步方式)。

TXD:

发送数据输出线。

CPU并行输入给8251A的数据从这个引脚串行发送出去。

TXC:

发送器时钟输入线,在TXC的下降沿数据由8251A移位输出。

对TXC频率的要求同RXC。

DTR:

数据终端准备好状态输出线,低电平有效。

当8251A命令字位D1为1时,有效,用于向调制解调器表示数据终端已准备好。

DSR:

数据设备准备好状态输入线,低电平有效。

当调制解调器准备好时,有效,用于向8251A表示Modem(或DCE)已准备就绪。

CPU可通过读取状态寄存器的D7位检测该信号。

RTS请求发送信号输出线,低电平有效。

当8251A命令字位D5为1时,RTS有效,请求调制解调器作好发送准备(建立载波)。

CTS:

清除发送(允许传送)信号输入线,低电平有效。

当调制解调器作好送数准备时,CTS有效,作为对8251A的RTS信号的响应。

如果8251A不使用调制解调器而直接和外界通讯,一般应将DSR、CTS脚接地。

3)芯片8251A的技术参数

(1)控制字寄存器。

控制字寄存器寄存方式控制字和命令控制字。

①方式控制字。

方式控制字确定8251A的通讯方式(同步/异步)、校验方式(奇校验、偶校验、不校验)、数据位数(5、6、7或8位)及波特率参数等。

方式控制字的格式如图2-12所示。

它应在复位后写入,且只需写入一次。

 

②命令控制字。

命令控制字使8251A处于规定的状态以准备发送或接收数据。

命令控制字的格式如图2-13所示。

它应在写入方式控制字后写入,用于控制8251A的工作,可以多次写入。

 

图2-13

(2)状态寄存器

状态寄存器存放8251A的状态信息,供CPU查询,状态字各位的意义如图2-14所示。

图2-14

4.选择芯片8253A

1)芯片8253A在本设计中的作用

8253作为频率发生器,选用通道0,控制字为35H,工作在方式2,并且将计数初值设为26H,因为2000000/26=16*4800。

这是为了将产生的频率送至8251的RXC和TXC,为了和红外数据传送一致。

2)芯片8253A的功能分析

a)8253A引脚图:

8253是一片具有3个独立通道的16位计数器/定时器芯片,使用单一+5V电源,24引脚双列直插式封装

 

图2-15

 

 

图2-168253的内部结构示意图

b)CPU接口

(1)读/写控制逻辑

决定三个计数器和控制字寄存器中哪一个能进行工作,并控制内部总线上数据传送的方向。

(2)控制寄存器

接收从CPU来的控制字,并由控制字的D7、D6位的编码决定该控制字写入哪个计数器的控制寄存器,控制寄存器只能写入,不能读出。

(3)计数器

当8253用作计数器时,加在CLK引脚上脉冲的间隔可以是不相等的;当它用作定时器时,则在CLK引脚应输入精确的时钟脉冲,8253所能实现的定时时间,取决于计数脉冲的频率和计数器的初值,即:

定时时间=时钟脉冲周期Tc×预置的计数初值n。

对8253来讲,外部输入到CLK引脚上的时钟脉冲频率不能大于2MHZ,否则需分频后才能送到CLK端。

c)8253A的引脚信号

D0~D7——三态双向数据线。

与CPU数据总线相连,用于传递CPU与8253之间的数据信息、控制信息和状态信息;

CS——片选信号(ChipSelect),输入,低电平有效;

WR——写信号,输入,低电平有效,用于控制CPU对8253的写操作,可与A1,A0信号配合以决定是写入控制字还是计数初值;

RD——读信号,输入,低电平有效。

用于控制CPU对8253的读操作,可与A1,A0信号配合读取某个计数器的当前计数值;

A0,A1——地址输入线。

用于8253内部寻址的4个端口,即3个计数器和一个控制字寄存器。

一般与CPU低位的地址线相连。

CLK0(CLK1,CLK2)——时钟脉冲输入端,用于输入定时脉冲或计数脉冲信号。

CLK可以是系统时钟脉冲,也可以是由其他脉冲源提供。

8253规定加在CLK引脚的输入时钟周期不得小于380ns;

GATE0(GATE1,GATE2)——门控输入端,用于外部控制计数器的启动或停止计数的操作。

当GATE为高电平时,允许计数器工作,当GATE为低电平时,禁止计数器工作;

OUT0(OUT1,OUT2)——计数输出端。

在不同工作方式中,当计数器计数到0时,OUT引脚上必输出相应的信号。

3)芯片8253A的技术参数

(1)控制字格式。

8253的控制字有4个主要功能:

选择计数器;

确定计数器数据的读写格式;

确定计数器的工作方式;

确定计数器计数的数制。

5.选择芯片TSAL6200

1)TSAL6200的在本设计中的作用

TSAL6200是一种高效率的红外发光二极管,将收到数字信息转换成红外信号发送出。

2)TSAL6200的功能分析

IN端口控制整个发射过程。

其中,红外载波信号采用频率为38KHz的方波,由CLK端口传输到三极管Q3的基极。

待发送到数据由IN端口以串行方式送出并驱动三极管Q2,当IN为“0”时使Q2管导通,通过Q2管采用脉宽调制(PWM)方式调制成38KHz的载波信号,并由红外发射管TSAL6200以光脉冲的形式向外发送。

当IN为“1”时使Q2管截止,Q3管也截止,连接Q2和Q3的两个上拉电阻R32和R36把三极管的基极拉成高电平,分别保证两个三极管可靠截止,红外发射管TSAL6200不发射红外光。

因此通过待发送数据的“0”或“1”就可控制调制后两个脉冲串之间的时间间隔,即调制PWM的占空比。

比如若传送数据的波特率为1200bps,则每个数位“0”就对应32个载波脉冲调制信号。

红外发射管DS12采用TSAL6200红外发射二极管,其实现将电信号转变成一定频率的红外光信号,它发射一种时断时续的高频红外脉冲信号,由于脉冲串时间长度是恒定的,根据脉冲串之间的间隔大小就可以确定传输的数据是“0”还是“1”。

3)芯片TSAL6200的功能参数

常用参数值(Tamb=25℃)

参数及符号典型值最大值单位

正向电流IF100mA

正向压降VF1.351.6V

光功率Φe35mW

峰值波长λp940nm

光辐射半角φ±17deg

(1)伏安特性

红外发光二极管TSAL6200的伏安特性与普通二极管相似.正向工作电流IF是指红外发射二极管长期工作时,允许通过的最大平均正向电流.若发射二极管长期超过IF运行,会因过热而烧坏.一般小功率红外发光二极管的正向压降VF=1~1.3V,中功率管VF=1.6~1.8V,大功率管VF≥2V.在驱动电路设计中应注意驱动电压大于红外发光管的正向压降VF,以克服死区电压产生正向电流IF。

(2)光功率Φe

红外发射二极管的电功率转化为红外光输出功率的那一部分.光功率越大,发射距离越远.

(3)峰值波长λp

红外发光二极管所发出的红外光中,光强最大值所对应的发光波长.在远距离红外通讯中,一般选用波长为940nm或950nm的红外发射二极管.TSAL6200的峰值波长为940nm,如图1所示.

(4)光辐射半角φ

是指相

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

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2