基于AT89S52单片机的万年历设计 下载本文

内容发布更新时间 : 2024/5/3 10:30:55星期一 下面是文章的全部内容请认真阅读。

洛阳师范学院课程设计说明书(2015)

(3)复位电路

在实际应用中,复位电路有两种基本形式:一种是上电复位,另一种是上电与按键均有效的复位如图2.4所示。

上电复位要求接通电源后,单片机自动实现复位操作。常用的上电复位电路如图2-4(a)所示。上电瞬间RST引脚获得高电平,随着电容C1的充电,RST引脚的高电平将逐渐下降。RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。该电路典型的电阻和电容参数为:晶振为12MHz时,C1为10uF,R1为8.2KΩ;晶振为6MHz时,电容C1为22uF,R1为1KΩ。

上电与按键均有效的复位电路如图2.4(b)所示。上电与按键均有效的复位电路原理与上电复位原理相同,不同的是上电与按键均有效的复位电路在单片机运行期间,能用按键来控制复位操作晶振为6MHz时,电容C1为22uF,R2为200Ω

上电复位电路 图2.4(b)上电与按键均有效复位电路

2.4(a)

本设计中使用后者电路复位,就是可以在单片机运行期间可以人工的复位。这样是比较方便。

2.2 显示电路设计

.2.2.1 显示器的简介

发光二极管LED是简单常用的输出设备,通常用来指示机器的状态或其它信息。它的优点是价格低,寿命长,对电压电流的要求低及容易实现多路等,因而在测量控制仪器中获得了广泛的应用。

LED是近似于恒压的元器件,到导电时(发光)的正向压降一般约为1.6V或2.4V,反向击穿电压一般≥5V。工作电流通常在10---20mA,故电路中需要串联适当的限流电阻。发光强度基本上与正向电流成正比。发光效率和颜色取决于制造的材料,一般常用红色,偶尔也用于黄色或绿色。

10

洛阳师范学院课程设计说明书(2015)

多个LED可接成共阴或共阳极形式。通过驱动器接到系统的并行输出口上,由CPU输出适当的代码来点亮或熄灭相应的LED。

发光二级管显示驱动(点亮)的方法有如下2种:

? 静态驱动方法:即给欲点亮的LED通过恒定的定流。这种驱动方法需要显示的

位数增加时,所需的逻辑部件及连线也相应增加,成本也增加。

? 动态驱动方法:是给欲点亮的LED通过脉冲电流,此时LED的脉冲电流倍数于

其额定电流值。利用动态驱动方法可以减少需要的逻辑部件和连线。 7段LED数码显示器

最常用的一种数码显示器是由7段条形的LED组成,如图2.5所示。

图2.5(a)共阴极接法 图2.5(b)共阳极接法

点亮适当的字段,就可以出不同的数字。此外不少于7段数码管显示器在右下角带有一个圆形的LED作小数点用,这样一共有8段,恰好适用于8位的并行系统。 图2.5(a)为共阴极接法,公共阴极接地。当各段阳极上的电平为“1”时,该段点亮;电平为“0”时,段就熄灭。图2.5(b)为共阳极接法+5V电源。当各段阴极上的电平为“0”时,该段就点亮;电平为“1”时,段就熄灭。图中的电阻是限流电阻。

11

洛阳师范学院课程设计说明书(2015)

图2.6 7段LED数码管显示器内部段的排列

为了在7段(图2.6)LED上显示不同的数字或字符,首先要把数字或字符转换成相应的段码(又称字型码),由于电路接法不同,形成的段码也不相同,如表2-1所示。

表2-1 7段数码显示器的段位码

存储器地址 SEG SEG+1 SEG+2 SEG+3 SEG+4 SEG+5 SEG+6 SEG+7 SEG+8 SEG+9 SEG+10 SEG+11 SEG+12 SEG+13 SEG+14 SEG+15 显示数字 0 1 2 3 4 5 6 7 8 9 A B C D E F 共阴极接法的7段状态 g f e d c b a 0 1 1 1 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 共阴极接法段码(十六进制数) 3F 06 5B 4F 66 6D 7D 07 7F 67 77 7C 39 5E 79 71 共阳极接法段码(十六进制数) 40 79 24 30 19 12 02 78 00 18 08 03 46 21 06 0E 注:由于用MAX7219驱动译码,所以,本文选用共阴极数码管,只显示0---9,如果要用7段数码显示器显示多位数字,就用MAX7219来驱动,下一节MAX7219的驱动。详情请参考上一节。 2.2.2 驱动芯片的简介

MAX7219是MAXMI公司生产的一种串行接口方式7段共阴极LED显示驱动

12

洛阳师范学院课程设计说明书(2015)

器。其片内包含有一个BCD码到B码的译码器、多路复用扫描电路、字段和字位驱动器,以及存储每个数字的8X8RAM。每位数字都可以被寻址和更新,允许对每一位数字选择B码译码或不译码。采用三线串行方式与单片机接口。电路十分简单,只需要一个10KΩ左右的外接电阻来设置所有LED的段电流。MAX7219的引脚排列如图2.7所示。

图2.7 MAX7219的引脚排列

(1)引脚功能简介

DIN:串行数据输入。在CLK时钟的上升沿,串行数据被移入内部移位寄存器。移入时最高位(MSB)在前。

DIG0-7:8根字位驱动引脚,它从LED显示器吸入电流。 GND:接地,两根GND引脚必须相连。

LOAD:装载数据输入。在LOAD的上升沿,串行输入数据的最后16位被锁存。 CLK:时钟输入。它是串行数据输入时所需的移位脉冲。最高时钟频率为10MHz,在CLK地上升沿串行数据被移入内部移位寄存器,在CLK的下降沿数据从DOUT移出。

SEGA-SEGG,DP:七段和小数点驱动输出,它提供LED显示器源电流。 ISET:通过一个10KΩ电阻Rset接到V+以设置峰值段电流。 V+:+5V电源电压。

DOUT:串行数据输出。输入到DIN的数据经过16.5个时钟周期后,在DOUT端有效。

(2) MAX7219的传输方式:

采用串行数据传输方式,由16位数据包发送到DIN引脚的串行数据在每个CLK的上升沿被移入的内部16位移位寄存器,然后在LOAD的上升沿将数据所存到数字

13

洛阳师范学院课程设计说明书(2015)

或控制寄存器中。LOAD信号必须在第16个时钟上升沿同时或之后,但在下一个时钟上升沿之前变高;否则将会丢失数据。DIN端的数据通过移位寄存器传送,并在16.5个时钟周期之后出现在DOUT端。DOUT端的数据在CLK的下降沿输出。串行数据以16位为一帧,其中,D11-D8为内部寄存器地址,D7-D0为寄存器数据,格式如表2-2所示。

表2-2 MAX7219的串行数据格式 D15 X D14 X D13 X D12 X D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 MSN 数据 LSB 地址 (3) MAX7219的内部寄存器:

MAX7219具有14个可寻址的内部数字和控制寄存器。8个数字寄存器由一个片内8X8双端口SRAM实现,它们可以直接寻址;因此,可以对单个数字进行更新;并且只要V+超过2V,数据就可以保留下去。控制寄存器有5个,分别为译码方式、显示亮度、扫描界限(扫描数位的个数)、停机和显示测试。另外还有一个空操作寄存器(NO-OP),在不改变显示或影响任一控制寄存器的条件下器件级联时,它允许数据从DIN传到DOUT。表2.3所列为MAX7219的内部寄存器及其地址。

表2-3 MAX7219的内部寄存器及其地址

地址 寄存器 D15-D12 NO – OP 数字0 数字1 数字2 数字3 数字4 数字5 数字6 数字7 译码方式 亮度 扫描界限 X X X X X X X X X X X X D11 D10 D9 D8 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 十六进制代码 X0H X1H X2H X3H X4H X5H X6H X7H X8H X9H XAH XBH

14