七段数码管动态显示控制

  • 格式:doc
  • 大小:141.50 KB
  • 文档页数:8

下载文档原格式

  / 8
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二七段数码管动态显示控制

一、实验目的

利用AT89S52和使用两位数码管显示器,循环显示两位数00-99。其中

P2.0和P2.1端口分别控制数码管的个位和十位的供电,当相应的端口变成

低电平时,驱动相应的三极管会导通,+5V通过驱动三极管给数码管相应的

位供电,这时只要P3口送出数字的显示代码,数码管就能正常显示数字。

二、实验要求

1、使用两位数码管显示器,循环显示两位数00-99;

2、具有电源开关和指示灯,有复位键;

3、数码管动态显示,即扫描方式,每一位每间隔一段时间扫描一次。字符的亮度及清晰度与每位点亮的停留时间和每位显示的时间内轮换导通次数有关。三、实验电路

四、实验器材

AT89S52;动态扫描显示;共阳极数码管;电阻

五、实验原理说明

图1 AT89S52引脚图图2 共阳极七段数码管引脚

图1AT89S52引脚图,说明如下:

按照功能,AT89S52的引脚可分为主电源、外接晶体振荡或振荡器、多功能I/O 口、控制和复位等。

1.多功能I/O口

AT89S52共有四个8位的并行I/O口:P0、P1、P2、P3端口,对应的引脚分别是P0.0 ~ P0.7,P1.0 ~ P1.7,P2.0 ~ P2.7,P3.0 ~ P3.7,共32根I/O线。每根线可以单独用作输入或输出。

①P0端口,该口是一个8位漏极开路的双向I/O口。在作为输出口时,每根引脚可以带动8个TTL输入负载。当把“1”写入P0时,则它的引脚可用作高阻抗输入。当对外部程序或数据存储器进行存取时,P0可用作多路复用的低字节地址/数据总线,在该模式,P0口拥有内部上拉电阻。在对Flash存储器进行编程时,P0用于接收代码字节;在校验时,则输出代码字节;此时需要外加上拉电阻。

②P1端口,该口是带有内部上拉电阻的8位双向I/O端口,P1口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P1口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在对Flash

编程和程序校验时,P1口接收低8位地址。另外,P1.0与P1.1可以配置成定时

/计数器2的外部计数输入端(P1.0/T2)与定时/计数器2的触发输入端,如表1-1所示。

表1-1 P1口管脚复用功能

③ P2端口,该口是带有内部上拉电阻的8位双向I/O端口,P2口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P2口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。

在访问外部程序存储器或16位的外部数据存储器时,P2口送出高8位地址,在访问8位地址的外部数据存储器时,P2口引脚上的内容(就是专用寄存器(SFR)区中P2寄存器的内容),在整个访问期间不会改变。在对Flash编程和程序校验期间,P2口也接收高位地址或一些控制信号。

④ P3端口,该口是带有内部上拉电阻的8位双向I/O端口,P3口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P3口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。

在AT89S52中,同样P3口还用于一些复用功能,如表1-2所列。在对Flash编程和程序校验期间,P3口还接收一些控制信号。

表1-2 P3端口引脚与复用功能表

2. RST 复位输入端。在振荡器运行时,在此脚上出现两个机器周期的高电平将使其单片机复位。看门狗定时器(Watchdog)溢出后,该引脚会保持98个振荡周期的高电平。在SFR AUXR(地址8EH)寄存器中的DISRTO位可以用于屏蔽这种功能。DISRTO位的默认状态,是复位高电平输出功能使能。

3. ALE/PROG 地址锁存允许信号。在存取外部存储器时,这个输出信号用于锁存低字节地址。在对Flash存储器编程时,这条引脚用于输入编程脉冲PROG。一般情况下,ALE是振荡器频率的6分频信号,可用于外部定时或时钟。但是,在对外部数据存储器每次存取中,会跳过一个ALE脉冲。在需要时,可以把地址8EH中的SFR寄存器的0位置为“1”,从而屏蔽ALE的工作;而只有在MOVX或MOVC指令执行时ALE才被激活。在单片机处于外部执行方式时,对ALE屏蔽位置“1”并不起作用。

4. PSEN 程序存储器允许信号。它用于读外部程序存储器。当AT89S52在执行来自外部存储器的指令时,每一个机器周期PSEN被激活2次。在对外部数据存储器的每次存取中,PSEN的2次激活会被跳过。

5. EA/Vpp 外部存取允许信号。为了确保单片机从地址为0000H~FFFFH

的外部程序存储器中读取代码,故要把EA接到GND端,即地端。但是,如果锁定位1被编程,则EA在复位时被锁存。当执行内部程序时,EA应接到Vcc。在对Flash存储器编程时,这条引脚接收12V编程电压Vpp。

6. XTAL1 振荡器的反相放大器输入,内部时钟工作电路的输入。

7. XTAL2 振荡器的反相放大器输出。

图2为共阳极七段数码管引脚图,说明如下:

2 1 0 1 1 0 1 1 5bh

3 1 0 0 1 1 1 1 4fh

4 1 1 0 0 1 1 0 66h

5 1 1 0 1 1 0 1 6dh

6 1 1 1 1 1 0 1 7dh

7 0 0 0 0 1 1 1 07h

8 1 1 1 1 1 1 1 7fh

9 1 1 0 1 1 1 1 6fh

A 1 1 1 0 1 1 1 77h

b 1 1 1 1 1 0 0 7ch

C 0 1 1 1 0 0 1 39h

d 1 0 1 1 1 1 0 5eh

E 1 1 1 1 0 0 1 79h

F 1 1 1 0 0 0 1 71h

六、程序流程图

七、程序清单

BITS EQU 20H;数码管个位数存放内存位置

TEN EQU 21H;数码管十位数存放内存位置