ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:143.98KB ,
资源ID:4369619      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4369619.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(红外遥控及点阵式显示器件的应用.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

红外遥控及点阵式显示器件的应用.docx

1、红外遥控及点阵式显示器件的应用1 软件介绍1.1 protues仿真软件介绍 Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051ARM、8086和MSP430等。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。 Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:(1)原理布图(2)PCB自动或人工布线(3)SPICE电路仿真 Prote

2、us软件的特点是: (1)互动的电路仿真 用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。 (2)仿真处理器及其外围电路可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。 Proteus软件资源丰富: (1)Proteus可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。(2)Proteus可提供的仿真仪表资源 :示波器

3、、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。(3)除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。(4)Proteus可提供的调试手段 Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。1.2 Keil软件Keil软件是目前最流行开发MCS-51

4、系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。(1)Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编

5、代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。 (2)C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tSc

6、ope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。(3)优点,Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。2.主要元器件简介2.1 AT89C51简介 AT89C52单片机的内部结构与MCS-51系列单片机的构成基本相同。CPU是由运算器和控制器所构成的。运算器主要用来对操作数进行算术、逻辑运算和位操作的。控制器是单片机的指挥控制部

7、件,主要任务的识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动而协调地工作。它的程序存储器为8K字节可重擦写Flash闪速存储器,闪烁存储器允许在线+5V电擦除、电写入或使用编程器对其重复编程。数据存储器比51系列的单片机相比大了许多为256字节RAM。AT89C52单片机的指令系统和引脚功能与MCS-51的完全兼容。 图1单片机AT89C52结构框图2.1.1 AT89C52管脚说明VCC:电源GND:接地P0口:P0口是一个8位漏级开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0口端口写“1”时,引脚作高阻抗输入。当访问外部程序和数据存储器时,

8、P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接受指令字节:在程序效验时,输出指令字节。程序效验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位是双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电平。对P1口写“1”时,内部上拉电阻的原因,将输出电流ILL。此外,与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输出(P1.1/T2EX),具体 如下表所示 引脚号功能特性P1.0T2(定时/计数器2外部计数脉冲输入),时钟输出P1.1T2EX定时

9、/计数2捕获/重装载触发和方向控制图2 AT89C52外部引脚表 1 P1.0和P1.1的第二功能 在Flash编程和校验时,P1口接收低8位地址字节。 P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲级可驱动吸收或输出电流4个TTL逻辑电平。对P2口写“1”时,通过内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流ILL。 在访问外部好曾许存储器或用16位地址读取外部数据存储器时,P2口送出高8位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容。在

10、Flash编程和校验时,P2口接收低8位地址字节和一些控制信号。 P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电平。对P3口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入端口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流ILL。P3口除了作为一般、的I/O口线外,更重要的是它的第二功能,如下表所示。 引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外

11、部数据存储器写选通)P3.7RD(外部数据存储器读选通)表 2 P3口引脚第二功能 在Flash编程和校验时,P3口也接收一些控制信号。 RST:复位输入。晶振工作时,RST脚持续2个机器周期以高电平将使用单片机复位。 ALE/:地址锁存器控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚()也使用作编程输入脉冲。 在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。 如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作无效。这一位置“1”,

12、ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位的设置对微控制器处于外部执行模式下无效。 :外部程序储存器选通信号()是外部程序存储器选通信号。当AT89C52从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而在访问外部数据储存器时,将不被激活。 :访问外部程序存储器控制信号。为使能从0000HFFFFH的外部程序存储器读取指令,端必须保持低电平(接地)。为了执行内部程序指令,应该接VCC。 在flash编程期间,也接受12伏VPP电压。 XTA L1:振荡器反相放大器及内部时钟发生器的输入端。 XTA L2:振荡器反相放大器的输出端。2.1

13、.2存储器结构 MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。1. 程序存储器 如果EA引脚接地,程序读取只从外部存储器开始。对于89C52,如果EA接VCC,程序先从内部存储器(地址为0000H1FFFFH)开始,接着从外部寻址,寻址范围为:2000HFFFFH。2. 数据存储器 AT89C52有256字节RAM。高128字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高字节RAM还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)。

14、2.1.3定时器1. 定时器0和定时器1在AT89C52中,定时器0和定时器1都是16位加法计数结构,分别由TH0(地址8CH)和TL0(地址8AH)及TH1(地址8DH)和TL1(地址8BH)两个8位计数器组成。这4个计数器均属于专用寄存器之列。每个定时器/计数器都有定时和计数两种功能。2. 计数功能 所谓的计数功能是指对外部事件进行计数。外部事件的发生以输入脉冲表示,因此计数功能的实质就是对外脉冲进行计数。MCS-51系列的芯片有T0(P3.4)和T1(P3.5)两个信号引脚,分别就是这两个计数器的计数输入端。外部输入的脉冲在负跳变时有效,进行计数器加1。计数方式下,单片机在每个机器周期的

15、S5P2拍节对外部计数脉冲进行采样。如果前一个机器周期采样为高电平,后一个机器周期采样为低电平,即为一个有效计数脉冲。在下一个机器周期的S3P1进行计数。可见采样计数脉冲是在2个机器周期进行的。鉴于此,计数脉冲的频率不能高于振荡脉冲的频率不能高于振荡脉冲频率的1/24。3. 定时功能 定时器也是通过计数器的计数来实现的,不过此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲。也就是每个机器周期计数加1。由于一个机器周期等于12个振荡脉冲周期,因此计数频率为振荡频率的1/12。如果单片机采用12MHz晶体,则计数频率为1MHz。即每微秒计数器加1。这样不但可以根据计数值计算出定时时间

16、,也可以反过来按定时时间的要求计算出计数器的预置值。4. 定时器2 定时器2是一个16位定时器/计数器,它既可以作定时器,又可以做事件计数器。其工作方式由特殊寄存器T2CON中的C/T2位选择(如表2所示)。定时器2有三种工作模式:捕捉方式、自动重载(向上或向下计数)和波特率发生器。如表3.3所示,工作模式由T2CON中的相关为选择。定时器2有2个8位寄存器:TH2和TL2。在定时工作方式中,每个机器周期,TL2寄存器都会加1。由于一个机器周期由12个晶振周期构成,因此,计数频率就是晶振频率的1/12。CP/RL2TR2MODE00116位自动重载01116位捕捉11波特率发生器0不用表 3

17、定时器2工作模式 在计数工作方式下,寄存器在相关外部输入角T2发生1至0的下降沿时增加1。在这种方式下,每个机器周期的S5P2期间采样外部输入。一个周期采样到高电平,而下一个周期采样到低电平,计数器加1。在检测到跳变的这个周期的S3P1期间,新的计数值出现在寄存器中。因为识别10的跳变需要2个机器周期(24个晶振周期),所以,最大的计数频率不高于晶振频率的1/24。为了确保给定的电平在采样前采样到一次,电平应该至少在一个完整的机器周期内保持不变。 -T2OEDCEN76543210符号功能无定义,预留扩展T2OE定时器2输出允许位DCEN置1后,定时器2可配置向上或向下计数表4 T2MOD-定

18、时器2控制寄存器2.1.4中断 AT89C52有6个中断源:两个外部中断(INT0和INT1),三个定时中断定时器0、1、2和一个串行中断。每个中断源都可以通过置位或清除特殊寄存器IE中的相关中断允许控制位分别使得中断源有效或无效。IE还包括一个中断总控制位EA,它能禁止所有中断。 如表3.5所示,IE.6位是不可用的。对于AT89S52,IE.5位也是不能用的。用户软件不应给这些位写1。它们为AT89系列新产品预留。定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是TF2或EXF2激活中断。标志位

19、也必须由软件清0。符号位地址功能EAIE.7中断允许控制位,EA=0,中断总禁止;EA=1,各中断由各自的控制位设定-IE.6预留ET2IE.5定时器2中断允许控制位ESIE.4串行口中断允许控制位ET1IE.3定时器1中断允许控制位EX1IE.2外部中断1允许控制位ET0IE.1定时器0中断允许控制位EX0IE.0外部中断0允许控制位定时器0和定时器1标志位TF0和TF1在计数溢出的那个周期的S5P2被置位。它们的值一直到下一个周期被电路捕捉下来。然而,定时器2的标志位TF2在计数溢出的那个周期被置位,在同一个周期被电路捕捉下来。表5 中断允许控制位2.2 16*16点阵LED 16*16点

20、阵实际上就是四块8*8的点阵LED级联而成,因此在此给出8*8点阵的工作原理。下图为88点阵LED外观及引脚图,其等效电路如下图所示,只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X轴或Y轴。 图3 16*16点阵 LED点阵显示一般有静态和动态显示两种方案,静态方案虽然设计简单,但其使用的管脚太多,如本设计中1616的点阵共有256个发光二极管,这个数字很庞大,因为我们仅仅是1616的点阵,在实际应用中的显示屏往往要大得多,这样在成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一

21、种称为动态扫描的显示方法。动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套驱动器。具体就1616的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第16行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。采用扫描方式进行显示时,每一行有一个行驱动器,各行

22、的同名列共用一个驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并列传输的方案是不可取的。所以本设计采用串行输出。2.3 红外控制相关介绍 红外线遥控是目前使用很广泛的一种通信和遥控技术。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外

23、线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可以而且能有效地隔离电气干扰红外遥控系统主要由遥控发射器、一体化接收头、单片机、接口电路组成,遥控器用来产生遥控编码脉冲,驱动红外发射管输出红外遥控信号,遥控接收头完成对遥控信号的放大、检波、整形、解调出遥控编码脉冲。遥控编码脉冲是一组串行二进制码,对于一般的红外遥控系统,此串行码输入到微控制器,由其内部CPU完成对遥控指令解码,并执行相应的遥控功能。使用遥控器作为控制系统的输入,需要解决如下几个关键问题:如何接收红外遥控信号;如何识别红外遥控信号以及解码软件的设计、控制程序的设计。通用红外遥控系统由发射和接收两大

24、部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。 采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如下图所示。 图4 红外线系统波形3 设计方案介绍3.1.设计总体思路本次课程设计的要求是利用红外遥控器控制,在1616点阵的显示器件上循显示“武汉理工大学”6个汉字,控制项目:循环显示的速度可调,循环显示进入方向(从左至右、从右至

25、左、从上到下、从下往上)。本课设需要一个16*16的点阵(在proteus仿真中可以用4个相同的8*8点阵级连代替),由于单片机的I/O口有限,需要同时用一个74HC154(4线-16译码器)来拓展单片机的串行口同时做为点阵的行驱动,单片机上的P0和P2口作为数据口分别点亮点阵的上下半块。汉字的显示:采用行扫描的方式,先使一个I/O口产生一个选行信号(通过74HC154),先选中一行,对选中的行进行扫描,然后用另外2组I/O口输送数据,这样一个字的1/16就送到LED点阵上了,接着选下一行,这样经过16次就可以显示一个字了,再适当延时使显示的字清晰。汉字的移动:在LED上显示一个汉字并延时后,

26、可以通过增加所取表的地址(一次取两个值分别送P0和P2口),这样下一次LED上显示的字就移动了一个点阵,可以通过适当的设计来控制汉字移动循环的的次数。汉字的左右上下移动:可以通过建立不同的表,来实现汉字的各种移动,或者改变查表的方式来实现。改变数字移动的速度,可以通过改变数字的显示时间来改变。3.2 程序框图 图5 程序框图4 资源分配P1.0P1.3接74HC154为点阵提供选行信号。P0.0P0.7接16*16点阵的上半块作为数据线,给16*16点阵上部提供数据,点亮相应的LED。P2.0P2.7接16*16点阵的下半块作为数据线,给16*16点阵下部提供数据,点亮相应的LED。红外接外部

27、中断P3.2口,P3.0、P3.1、P3.6、P3.7分别接四个矩阵按键,分别控制字幕的左移、右移、上移、下移,P3.2、P3.3分别接四个矩阵按键,控制字幕移动速度的增加和降低。5 硬件连线图及仿真结果 5.1 硬件连线图图5 硬件连线图5.2 性能分析 将不加红外控制部分的程序通过keil软件编译生成.hex文件加载到proteus软件的原理原理图中进行仿真,点阵可以显示汉字左移,下移,右移,上移。再将带有红外控制部分的完整程序通过keil软件编译生成.hex文件烧到单片机中,通过红外可以完成左移,下移,右移,上移,加速,减速的控制,并且点阵上的显示很清楚。5.3 仿真结果图图6 仿真图(

28、2)图7 仿真图(2)6 源程序#include #define uchar unsigned charsbit k1=P30; /左sbit k2=P31; /右sbit k3=P36; /上sbit k4=P37; /下uchar z1,z2,z3,z4,z,speed;uchar code hz=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0

29、0,0x00,0x00,/武,0x20,0x40,0x20,0xC0,0x24,0x7E,0x24,0x40,0x24,0x40,0xA4,0x3F,0x24,0x22,0x24,0x22,0x20,0x20,0xFF,0x03,0x20,0x0C,0x22,0x10,0x2C,0x20,0x20,0x40,0x20,0xF8,0x00,0x00,/汉,0x10,0x04,0x60,0x04,0x02,0x7C,0x0C,0x03,0xC0,0x80,0x02,0x80,0x1E,0x40,0xE2,0x20,0x02,0x13,0x02,0x0C,0x02,0x13,0xE2,0x20,0x

30、1E,0x40,0x00,0x80,0x00,0x80,0x00,0x00,/理,0x04,0x20,0x84,0x60,0x84,0x20,0xFC,0x1F,0x84,0x10,0x84,0x10,0x00,0x40,0xFE,0x44,0x92,0x44,0x92,0x44,0xFE,0x7F,0x92,0x44,0x92,0x44,0xFE,0x44,0x00,0x40,0x00,0x00,/工, 0x00,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0xFC,0x3F,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x00,0x20,0x00,0x00,/大,0x20,0x80,0x20,0x80,0x20,0x40,0x20,0x20,0x20,0x10,0x20,0x0C,0x20,0x03,0xFF,0x00,0x20,0x03,0x20,0x0C,0x20,0x10,0x20,0x20,0x20,0x40,0x20,0x80,0x20,0x80,0x00,0x00,/学,0x40,0x04,0x30,0x04,0x11,0x04,0x96,0x04,0x90,0x04,0x90,0x44,0x

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1