单片机课程设计说明书范文 - 电子秒表(2)

2019-05-17 16:12

图3.3 显示电路基本原理图

3. 数码显示管分为共阳数码管和共阴数码管两种

共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起,如图3.4(b),通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。

图3.4(a)数码管引脚图 (b)共阳极内部结构图 (c)共阴极内部结构

共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起,如图3.4(c),通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端,当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。

本设计采用共阴极数码显示管做显示电路,由于采用的是共阴的数码显示管,所以只要数码管的a、b、c、d、e、f、g、dp引脚为高电平,那么其对应的二极管就会发光,使数码显示管显示0~9的编码见表3.1。

字型

表3.1 共阴极数码显示管字型代码 共阴极代码

5

共阴极代码

字型

0 1 2 3 4

3FH 06H 5BH 4FH 66H

5 6 7 8 9

6DH 7DH 07H 7FH 6FH

4. 动态显示电路由显示块、字形码驱动模块、字位驱动模块三部分组成。如图3.3所示为本系统的3位LED动态显示器接口电路。图中,3个数码管的8段段选线分别与外接上拉电阻的单片机P0口对应相连,而3个数码管的位控制端则和NPN型三极管的集电极相连接。单片机的P2.2~P2.4口则分别对应数码显示管的最低位到最高位,P2.2~P2.4口分别和 三个NPN型三极管的基极相连,做三极管导通的控制端,而NPN型三极管选用9013型三极管。根据9013的资料显示:其耐压值为40V,最大功率为0.65W,最大电流为0.5A,电气性能完全满足本设计的要求。另外数码管显示是采用动态显示,所以对三极管的开关频率有一定的要求。根据电子秒表的设计计算可知动态显示的频率最高为3KHz,而9013的导通频率为150MHz,完全能满足本设计的要求,所以最终选取9013三极管最为位控制开关。

5. 由于数码管是有P0口来驱动,它内部没有上拉电阻,作为输出口时驱动能力比较弱,不能点亮数码显示管,因此P0口必须接上拉电阻来提高驱动能力。另外一位共阴数码管的驱动电流一般为20mA左右,如果电流太大容易造成数码管损坏,所以也需要根据电源的电压值来确定上拉电阻的大小。如果电阻过小,势必会形成灌电流过大,造成单片机IO的损坏,如果电阻过大,那么对拉电流没有太大的影响。电源供电电压为5V,当上拉电阻选用220Ω电阻时灌电流为22mA。不会损坏单片机的I/O口,同时也可以为数码显示管起到限制电流的保护作用。

3.2.4 按键电路的选择与设计

本设计中有四个按键,分别实现启动、开始、暂停和复位功能。按设计要求对开始和停止键采用外部中断INT0、INT1的方式,即A、B键分别接P3.2、P3.3口。四个按键均采用低电平有效,具体电路连接图如图3.5所示。

1. 当按键没有按下时,单片机的I/O口直接连接电源,因此需要接上拉电阻来进行

限流,本设计中选取阻值为100Ω 的电阻作为上拉电阻,根据计算可知此时的灌电流为50mA,查看80C51的资料得知次电流在安全范围内,符合安全设计要求。 2. 按键电路中由于采用了外部中断,所以需要用到P3口的第二功能。P3口引脚的

第二功能如表2.2

6

图3.5 按键电路

表3.2 P3口引脚第二功能表

P3口引脚

P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7

特殊功能

RXD(串行输入口) TXD(串行输出口)

INT0(外部中断0请求输入端) INT1(外部中断1请求输入端)

T0(定时器/计数器0计数脉冲输入端) T1(定时器/计数器1计数脉冲输入端) WR(片外数据存储器写选通信号输出端) RD(片内数据存储器读选通信号输出端)

3.2.5 时钟电路的选择与设计

单片机的时钟信号用来提供单片机内各种微操作的时间基准,80C51片内设有一个由反向放大器所构成的振荡电路,XTAL1和 XTAL2分别为振荡电路的输入和输出端,80C51单片机的时钟信号通常用两种电路形式得到:内部振荡方式与外部振荡方式。外部方式的时钟很少用,若要用时,只要将XTAL1接地,XTAL2接外部振荡器就行。对外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于12MHz的方波信号。

时钟发生器把振荡频率两分频,产生一个两相时钟信号P1和P2供单片机使用。P1

在每一个状态S的前半部分有效,P2在每个状态的后半部分有效。本设计采用的内部振荡方式,内部振荡方式所得的时钟信号比较稳定,实用电路中使用较多。本设计系统的时钟电路如图3.6所示。只要按照图3.6所示电路进行设计连接就能使系统可靠起振并能稳定运行。图中,电容器C1 、C2起稳定振荡频率、快速起振的作用,电容值一般为5~33pF。但在时钟电路的实际应用中一定要注意正确选择其大小,并保证电路的对称性,

7

尽可能匹配,选用正牌的瓷片或云母电容,如果可能的话,温度系数尽可能低。本设计中采用大小为30pF的电容和12MHz的晶振。

(a)原理图 (b)电路连接图

图3.6 内部振荡电路

3.2.6 复位电路的选择与设计

关于单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。

根据应用的要求,复位操作通常有两种基本形式:上电复位、手动复位。 上电复位要求接通电源后,自动实现复位操作。80C51单片机的上电复位POR(Power On Reset)实质上就是上电延时复位,也就是在上电延时期间把单片机锁定在复位状态上。在单片机每次初始加电时,首先投入工作的功能部件是复位电路。复位电路把单片机锁定在复位状态上并且维持一个延时(记作TRST),以便给予电源电压从上升到稳定的一个等待时间;在电源电压稳定之后,再插入一个延时,给予时钟振荡器从起振到稳定的一个等待时间;在单片机开始进入运行状态之前,还要至少推迟2个机器周期的延时。

上述一系列的延时,都是利用在单片机RST引脚上外接一个RC支路的充电时间而形成的。典型复位电路如图3.7(a)所示,其中的阻容值是原始手册中提供的。在经历了一系列延时之后,单片机才开始按照时钟源的工作频率,进入到正常的程序运行状态。在电源电压以及振荡器输出信号稳定之后,又等待了一段较长的延时才释放RST信号,使得CPU脱离复位锁定状态;而RST信号一旦被释放,立刻在ALE引脚上就可检测到持续的脉冲信号。

由于标准80C51的复位逻辑相对简单,复位源只有RST一个(相对新型单片机来说,复位源比较单一),因此各种原因所导致的复位活动以及复位状态的进入,都要依靠在外接引脚RST上施加一定时间宽度的高电平信号来实现。

标准80C51不仅复位源比较单一,而且还没有设计内部上电复位的延时功能,因此

8

必须借助于外接阻容支路来增加延时环节,如图3.7(a)所示。其实,外接电阻R还是可以省略的,理由是一些CMOS单片机芯片内部存在一个现成的下拉电阻Rrst。如图2.8所示。因此,在图3.7(a)的基础上,上电复位延时电路还可以精简为图3.7(b)所示的简化电路(其中电容C的容量也相应减小了)。

图3.7上电复位延时电路 图3.8复位引脚RST内部电路

在每次单片机断电之后,须使延时电容C上的电荷立刻放掉,以便为随后可能在很短的时间内再次加电作好准备。否则,在断电后C还没有充分放电的情况下,如果很快又加电,那么RC支路就失去了它应有的延迟功能。因此,在图3.7(a)的基础上添加一个放电二极管D,上电复位延时电路就变成了如图3.7(c)所示的改进电路。也就是说,只有RC支路的充电过程对电路是有用的,放电过程不仅无用,而且会带来潜在的危害。于是附加一个放电二极管D来大力缩短放电持续时间,以便消除隐患。二极管D只有在单片机断电的瞬间(即VCC趋近于0 V,可以看作VCC对地短路)正向导通,平时一直处于反偏截止状态。

手动复位要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。单片机要完成复位,必须向复位端输出并持续两个机器周期以上的高电平,从而实现复位操作。

VCCC3R4200Ω22uFS4R51KΩ接RSET

(a)原理图 (b)电路连接图

图3.9 单片机复位电路

本设计采用上电且开关复位电路,如图3.9所示上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使RST持续一段时

9


单片机课程设计说明书范文 - 电子秒表(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:计算机网络基础在线作业

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: