宿州学院毕业论文(设计) 800米第一名计时电路的设计
管的字符编码为00000111,即0x07;共阳数码管的字符编码为11111000,即0xf8。可以看出两个编码的各位正好相反。如图2-2所示。
图2-2 共阳极和共阴极数码管显示 共阳极的数码管0~9的段编码是这样的:
unsigned char code table[]={ //共阳极0~9数码管编码 0xc0//0, 0xf9//1, 0xa4//2, 0xb0//3, 0x99//4, 0x92//5, 0x82//6, 0xf8//7, 0x80//8, 0x90//9 };
共阴极的数码管0~9的段编码是这样的:
unsigned char code table[]={//共阴极0~9数码管编码 0x3f//0, 0x06//1, 0x5b//2, 0x4f //3, 0x66//4, 0x6d//5, 0x7d//6, 0x07//7, 0x7f//8, 0x6f//9 };
2.2 显示模块电路设计
该部分介绍了显示模块中的数码管的硬件连接、行驱动电路以及列驱动电路的设计。
2.2.1 数码管模块电路设计
为了清楚的显示记录的时间,本设计在分、秒、10ms之间分别采用‘—’连接,
11
宿州学院毕业论文(设计) 800米第一名计时电路的设计
因此本即使电路的设计需要8个数码管显示计时时间。STC89C52RC具有40个引脚,其中P0,P1,P2,P3口可供选择。此设计选择P1口作为数字显示控制端口,显示0至9十个数字以及分秒10ms之间的间隔符号。其部分引脚符号如图2—3所示:
图2-3数码管连接图
在上面介绍了数码管的显示原理,根据原理可以知道要想使该数码管显示就要对其加上相应的行驱动电路和列驱动电路,列驱动器用于输入数据,而行驱动器则用来控制扫描。由此我们可以得到结构框图如下图2-4所示:
12
宿州学院毕业论文(设计) 800米第一名计时电路的设计
STC89C52 电 源
P1口段码控制 单片机 P2口位控制
数码管 S2未按下计时开始 y 计时终止 按键s1 ?按键s2
图2-4 系统结构框图
2.3 控制模块电路设计
该部分介绍了控制模块中的硬件原理图,单片机的最小系统。
2.3.1 基于STC89C52单片机的最小系统设计
单片机最小系统是指一个单片机能开始独立工作所需的最基本的外部电路连接。具体是VCC(40号引脚)脚接电源,VSS(20号引脚)接地,(18、19号引脚)外接好晶振,RST(9号引脚)连上RC复位电路,另外勿忘EA脚接高电平。
单片机最小系统如下图2-5所示:
13
宿州学院毕业论文(设计) 800米第一名计时电路的设计
图2-5单片机最小系统
其中晶振电路即为单片机的工作提供相应的时钟脉冲(此设计选用的晶振是11.0952MHz)。使程序按照一定的节拍有序的运行,这个晶振频率就决定了单片机的运行速度,晶振频率越高则单片机的处理速度就越快。
复位电路的作用主要有两方面的,一是单片机在启动时都需要复位,使CPU及系统各部件处于确定的初始状态,并重新从初态开始工作。二是在程序进入到非正常状态,假如程序进入非预期的死循环,要想使其恢复到起始的工作状态时,就可以通过复位电路来实现。
对于单片机的复位电路分为手动复位和上电复位两种:
1、手动按钮复位即是手动按钮复位。需要人为在复位输入端RST上加入高电平。一般采用的办法是1k电阻(与电源或按键相接)、10k电阻(与地相接)、电源(+5V)和按钮串联,从两电阻之间引出一根线接到复位电路RST(9引脚)。当人为按下按钮时,则Vcc的+5V电压就会根据串联电路的分压,使得RST端的电位大于3.5v。由于人的反应存在时间会使按钮保持接通达数十毫秒。此条件完全足够复位所需要的时间,因而复位。
2、上电复位,即是在给单片机上电的时候能够给复位输入端RST上加入一段时间的高电平。在硬件上需要在RST两端分别接上一个电容C(10ufC另一端与电源相接)和10k电阻(另一端与地相接)。上电复位的工作过程是在加电时,由于电阻、
14
宿州学院毕业论文(设计) 800米第一名计时电路的设计
电容电源串联,R和C构成一阶零响应电路。由于所选用的电容电阻都是比较大的,因而电容C充电所用时间也相对比较长一些。以至于该时间足够大于复位所需要的最大时间,从而达到复位的效果。
除了上述的基本电路外,在绘制最小系统的时候还应该注意的是EA /VPP引脚的连接,该引脚实现的是外部程序存储器访问允许控制端,当要访问外部的程序存储器的时候该引脚需要接低电平。但是对于本设计来说没有使用的外部程序存储器,因此可以接上0欧电阻再接到+5V的高电平上,这里的0欧电阻起到电气隔离作用,不加电阻引脚电势受其他信号干扰,不稳定;加上电阻后电阻只通直流隔绝了其他电磁波等信号干扰。
在单片机的4个8位的IO口中值得注意的是P0口,该端口是个双功能口,既是通用IO口也是地址/数据复用口。由于P0口具有第三态即高阻态,因此当P0口用作通用IO口时,需要在片外接上拉电阻,为了能使P0 口在输出时能驱动NMOS 电路和避免输入时读取数据出错,需外接上拉电阻。加个电阻相当于和P0口内部的电阻并联,让它的压降小一点,这样输出时的电压就能够驱动电路了。把电流上拉了。如果不加上拉电阻,则单片机输出时就不能驱动NMOS电路工作,会出现故障。此时为一个准双向口即可和其他三个端口同样使用。
2.4 Protel99se绘图软件简介
Protel99SE属于EAD设计软件,应用于2000/NT/Windows9X操作系统下。能够进行联网设计,并采用设计库管理模式,拥有较强的开放性和3D模拟功能及数据交换能力。Protel99se属于32位的设计软件,即其它位数的无法正常使用。Protel99se能
[6]
够完成原理图、印刷设计、可编程逻辑器件设计和电路仿真。能够设计32个信号层,
16个电源--地层和16个机加工层。 1.PROTEL99SE主要功能模块如下:
(1)Advanced Schematic 99SE (原理图系统):该模块主要用于电路原理图的设计、原理图元件的设计和各种原理图表的生成等。
(2)Advanced PCB 99SE (印刷电路板设计系统):该模块提供了一个功能强大和交互友好的PCB设计环境。主要 用于PCB设计、元器件封装设计、报表形成及PCB输出。
(3)Advanced Route 99SE (自动布线系统):该模块是一个集成的无网格自动布线系统,布线效率高。
(4)Advanced Integrity 99SE (PCB信号完整性分析):该模块提供精确的板级屋里信号分析,可以检查出串扰、过冲、下冲、延迟和阻挠等问题,并能自动给出具体解决方案。
(5)Advanced SIM 99SE(电路仿真系统):该模块是一个基于Spice 3.5标准的仿真器,为用户的设计前提供了完整、直观的解决方案。
15