杭州电子科技大学本科毕业设计
个圆点型发光二极管,用于显示小数点。通过七个发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。
LED数码管按其内部接法不同可分为共阳极数码管和共阴极数码管,所谓共阴共阳即是把数码管内部的发光二极管的阴/阳极连在一起构成公共端而来的。因此使用时需按数码管极性将其公共端接地或+5V,否则数码管不亮。
图 21 LED数码管段码
dp 1 1 1 1 1 1 1 1 1 1 0 g 1 1 0 0 0 0 0 1 0 0 1 f 0 1 1 1 0 0 0 1 0 0 0 e 0 1 0 1 1 1 0 1 0 1 0 d 0 1 0 0 0 0 0 1 0 0 0 c 0 0 1 0 0 0 0 0 0 0 0 b 0 0 0 0 1 1 1 0 0 0 0 a 0 1 0 0 0 0 0 0 0 0 0 字形 0 1 2 3 4 5 6 7 8 9 0 字形码 C0H F9H A6H B0H 99H 92H 82H F8H 80H 90H 40H 图 22 十六进制数的字形代码表
4.3.3.2 74LS47译码器
74LS47是BCD-7段数码管译码器/驱动器,74LS47的功能用于将BCD码转化成数码块中的数字,通过它解码,可以直接把数字转换为数码管的显示数字,从而简化了程序,节约了单片机的IO开销,因此得到了广泛应用。
译码为编码的逆过程,它将编码时赋予代码的含义“翻译”过来。实现译码的逻辑电路成为译码器。译码器输出与输入代码有唯一的对应关系。74LS47是输出低电平有效的七段字形译码器,它在这里与数码管配合使用。
- 17 -
杭州电子科技大学本科毕业设计
图 22 74LS47管脚图
单片机内部软件对处于工作状态的设备进行计数,因受控设备总数为四,故计
数最大值也为四,所以系统只需一位数码管即可。单片机将计数结果送到P1口第四位,与之相连的译码器即对单片机IO口数据解码并驱动数码管进行显示。显示电路如下图:
图 23 译码显示电路
整个红外遥控系统接收电路图见附录 2。
由于本设计不需要高功率电源,所以采用三端稳压器足以满足要求。三端稳
4.4 电源电路
压器,主要有两种,一种输出电压是固定的,称为固定输出三端稳压器,另一种输出电压是可调的,称为可调输出三端稳压器,其基本原理相同,均采用串联型稳压电路。在线性集成稳压器中,由于三端稳压器只有三个引出端子,具有外接元件少,使用方便,性能稳定,价格低廉等优点,因而得到广泛应用。
电路如图24所示。由于在本电路中须要两个不同电压供电,所以采用了两个固定三端稳压器,7805和7809。在设计中分出了2个支路,一个输出的电压为9V,另外一个输出的电压为5V。
- 18 -
杭州电子科技大学本科毕业设计
电路直流稳压电源的主要由电源变压器、整流电路、滤波电路和稳压电路四部分组成。框图如图24所示。 图 24 电源电路框图
220V 电源 变压器 整流 电路 滤波 电路 稳压 电路 二次 滤波 电路图如下:
图 25 电源电路
- 19 -
杭州电子科技大学本科毕业设计
5 软件设计
5.1 总体方案
基于单片机的红外遥控电路系统设计中编码解码部分全部由单片机实现。即本设计为软件编解码。因此软件设计也是设计的一大重点。编码标准章节 3.3 红外编码标准已详细介绍。这里将具体讲述编解码的软件实现过程。
MCS-51单片机通常使用汇编语言和C语言来进行软件开发。汇编语言是一种简单易掌握、效率较高的开发语言。其程序结构简单,执行速度快,实时性好,程序易优化,编译后占用存储空间校少,是简单的单片机应用系统开发中最常用的程序设计语言。本设计采用汇编语言进行编程,编译器采用Keil μVision V4.00a,该编译器是51系列单片机程序设计的常用工具,既可用汇编,也支持C语言编译。同时具有完善的调试功能。
5.2 编码发射程序设计
红外发射程序任务要采集用户的按键信息,生成控制码及控制反码连同预设的系统识别码和识别码反码共同组成四个八位的二进制数据流,然后通过单片机的中断系统将以引导码开头的数据流以脉冲形式发送出去。具体编码方法本文章节3.3已有介绍。
图 26为红外发射主程序流程图四个八位二进制数据调用四次数据发送子程序,最后以结束码‘1’结返回尾。表示本次数据发送完毕。
开始初始化键盘及中断延时130msN键按下?Y发射引导码数据发送子程序四个八位码发送完毕?Y发送结束码 1N图 26 红外遥控发射主程序流程图
- 20 -
杭州电子科技大学本科毕业设计
图 27为红外发送子程序的流程图。它每被调用一次便将累加器中的八位二进制数据发送出去。程序从高位开始依次发送累加器中的二进制数据。为‘0’则先发送1.68ms的低电平,为‘1’则先发送0.56ms的低电平。然后打开中断,利用八位自动重装初值定时器使T0口为产生周期26ms的脉冲,脉冲持续时间为0.56ms。脉冲发送完毕,关中断。直至八位数据发送完,本次发射子程序退出。
N进入发射子程序待发射位为0?Y延时1.68msN延时0.56ms开中断 发射0.56ms脉冲关中断八位数据发送完毕?Y退出发射子程序图 27 红外发射子程序流程图
中断服务程序:
INTT1: CPL P3.5 ;38kHZ红外线遥控信号产生
RETI OUT04:
;中断返回
发送子程序:
;循环发射累加器中各数据位
R1,#08H A
MOV
OUT: RLC
ACALL SEND RET
;关定时器T1
DJNZ R1,OUT ;八位数据发送完毕退出 SEND: CLR TR1
CLR ET1 ;关T1中断 CLR P3.5 ;关脉冲输出
JC
SEND1
;发射0码
- 21 -
MOV R3,#08H