LED 电子钟 显示时间共31页.docx
- 文档编号:28427773
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:31
- 大小:152.97KB
LED 电子钟 显示时间共31页.docx
《LED 电子钟 显示时间共31页.docx》由会员分享,可在线阅读,更多相关《LED 电子钟 显示时间共31页.docx(31页珍藏版)》请在冰豆网上搜索。
LED电子钟显示时间共31页
《单片机技术》课程设计任务
1、本课题任务如下:
设计一个具有特定功能的电子钟。
该电子钟上电或按键复位后能自动显示系统提示符“P.”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。
2、本课题要求如下:
(1)在AT89S51的P0口和P2口外接由六个LED数码管(LED5~LED0)构成的显示器,用P0口作LED的段码输出口(P0.0~P0.7对应于LED的a~dp),P2.5~P2.0作LED的位控输出线(P2.5~P2.0对应于LED5~LED0),P1口外接四个按键A、B、C、D(对应于P1.0~P1.3)。
(2)、利用六个LED显示当前时间。
(3)、四个按键的功能:
A键用于电子钟启动/调整;B键用于调时,范围0-23,0为24点,每按一次时加1;C键用于调分,范围0-59,0为60分,每按一次分加1;D键用于调秒,范围0-59,0为60秒,每按一次秒加1。
方案四:
独立式按键,LED动态显示。
该方案方框图如图1.2.4所示,独立式按键直接与单片机I/O口相连构成键盘,每个按键不会相互影响,因本系统用到的按键比较少,采用独立式键盘不会浪费I/O口线,所以本系统采用独立式键盘。
动态显示的亮度虽然不如静态显示,但其硬件电路较简单,可节省硬件成本,虽然动态扫描需占用CPU较多的时间,但本系统中的单片机没有很多实时测控任务,因此,本系统采用此种方案。
2多功能电子表的工作原理
本设计中的电子钟的核心是AT89S51单片机,其内部带有4KB在线可编程Flash存储器的单片机,无须外扩程序存储器,硬件电路主要由四部分构成:
时钟电路,复位电路,键盘以及显示电路。
时钟电路是电子表硬件电路的核心,没有时钟电路,电子表将无法正常工作计时。
本系统时钟电路采用的晶振的频率为12MHz,定时器采用的是定时器0工作在方式1定时,用于实现时、分、秒的计时,定时时间为62.5ms。
复位电路可使电子表恢复到初始状态。
键盘可对电子表进行开启、停止,还能实现时、分、秒的显示及设定等操作。
显示电路由两个共阳级4位一体LED数码管构成,它的段控端和位控端通过74LS244及其S8550PNP型号三极管与AT89S51单片机的I/O口相连,显示器可使电子表显示出时、分、秒。
多功能电子表的计时原理为:
上电后,电子表显示P.提示符,按下A键后,电子表从00:
00:
00开始计时。
当定时器0的定时时间满62.5ms后,定时器0溢出一次,溢出满16次后,电子表的秒加1,满60秒后,分加1,满60分后,时加1,满24时后,电子表重新从00:
00:
00开始计时。
3多功能电子表原理方框图、原理图及PCB图
3.1多功能电子表原理方框图
多功能电子表整机电路方框图如图3.1
3.2多功能电子表电路原理图
3.2.2多功能电子表整机电路原理
3.3.2多功能电子表整机电路PCB图
多功能电子表整机电路PCB图如图3.5所示
3.5整机PCB图
4多功能电子表元器件清单
多功能电子表电路所有元器件清单如表4.1所示
表4.1多功能电子表元器件清单1
元件名称
封装形式
元件号
LED数码管(共阳极)
DIP-12
D1
LED数码管(共阳极)
DIP-12
D2
510Ω电阻
AXIAL0.4
R1
510Ω电阻
AXIAL0.4
R2
510Ω电阻
AXIAL0.4
R3
510Ω电阻
AXIAL0.4
R4
510Ω电阻
AXIAL0.4
R5
510Ω电阻
AXIAL0.4
R6
510Ω电阻
AXIAL0.4
R7
510Ω电阻
AXIAL0.4
R8
1K电阻
AXIAL0.4
R9
200电阻
AXIAL0.4
R10
4.7K电阻
AXIAL0.4
R11
4.7K电阻
AXIAL0.4
R12
4.7K电阻
AXIAL0.4
R13
4.7K电阻
AXIAL0.4
R14
4.7K电阻
AXIAL0.4
R15
4.7K电阻
AXIAL0.4
R16
4.7K电阻
AXIAL0.4
R17
4.7K电阻
AXIAL0.4
R18
电源插座
UIN
DIANYUAN
74LS244芯片
DIP-20
A1
S8550PNP三极管
TO-5
85501
S8550PNP三极管
TO-5
85502
S8550PNP三极管
TO-5
85503
S8550PNP三极管
TO-5
85504
S8550PNP三极管
TO-5
85505
S8550PNP三极管
TO-5
85506
轻触开关A
DIP04
A
轻触开关B
DIP04
B
轻触开关C
DIP04
C
轻触开关D
DIP04
D
轻触开关
DIP04
S5
12M晶振
XTAL1
Y1
33pF电容
RAD0.2
C1
33pF电容
RAD0.2
C2
22µF电容
RB.2/.4
C3
7805芯片
TO-220
U1
0.33µF电容
RAD0.2
C1
0.1µF电容
RAD0.2
C2
220µF电容
RB.2/.4
C3
220µF电容
RB.2/.4
C4
桥式整流
DIP-04
D2
二极管
DIODE0.4
D1
11V变压器
DIP-5
TR
扩展插针
SIP08
J0
扩展插针
SIP08
J1
5多功能电子表单元电路工作原理介绍
5.2时钟电路工作原理
图5.2所示为时钟电路原理图,在AT89S51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。
时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。
5.3复位电路工作原理
图5.3所示为复位电路原理图,复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序,并使其它功能单元处于一个确定的初始状态。
本复位电路采用的是按键复位,它是通过复位端经电阻与VCC电源接通而实现的,它兼具上电复位功能。
因本系统的晶振的频率为12MHz,所以,复位信号持续时间应当超过2μS才能完成复位操作。
5.4键盘工作原理
图5.4所示为键盘原理图,本系统采用的是独立式键盘结构,每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。
它软件是采用查询式结构,首先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序。
5.5显示器工作原理
系统采用动态显示方式,用P0口来控制LED数码管的段控线,而用P2口来控制其位控线。
动态显示通常都是采用动态扫描的方法进行显示,即循环点亮每一个数码管,这样虽然在任何时刻都只有一位数码管被点亮,但由于人眼存在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同时显示的感觉。
图中的S8550作为驱动器,而8个510欧姆电阻则起限流作用。
由图5.5可知,要想让数码管那一段亮,在该数码管位控段为高电平的情况下给这段送低电平就可以了。
显示电路结构采用动态扫描的方式,所有数码管的段控端公用单片机P0口的8根输出口线,数码管的段控端a、b、c、d、e、f、g、dp分别接到P0口的P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7口线上,每个数码管的位控线单独占用单片机P2口一根输出口线,8位数码管从高位到低位分别接P2.0~P2.7引脚。
段控码(低电平有效)由P0口输出经上拉电阻上拉电压后通过锁存器74LS244送到数码管的段控端,位控码由P2口输出经三极管S8550驱动后送到数码管的位控端。
在单片机内部显示缓冲区79H、7AH、7BH、7CH、7DH、7EH内的值分别是秒的个位、秒的十位、分的个位、分的十位、时的个位、时的十位,显示器LED0、LED1、LED2、LED3、LED4、LED5分别显示秒的个位十位、分的个位十位、时的个位十位,由图5.5所示。
数码管动态显示:
由于显示的数据和LED数码管的段控码并不是一一对应的关系,即显示的数据与数码管的字型代码不相符。
显示数据与字型代码之间存在着转换关系,数码管段控数据和数码管各段的对应关系如表5.1、表5.2所示。
表5.1数码管数据和数码管每段的对应关系
D7
D6
D5
D4
D3
D2
D1
D0
LED显示码
a
1
1
1
1
1
1
1
0
0FEH
b
1
1
1
1
1
1
0
1
0FDH
c
1
1
1
1
1
0
1
1
0FBH
d
1
1
1
1
0
1
1
1
0F7H
e
1
1
1
0
1
1
1
1
0EFH
f
1
1
0
1
1
1
1
1
0DFH
g
1
0
1
1
1
1
1
1
0BFH
dp
0
1
1
1
1
1
1
1
7FH
表5.2数码管断码和字型的对应关系(共阳极)
字型
D7
D6
D5
D4
D3
D2
D1
D0
段码
dp
g
f
e
d
c
b
a
0
1
1
0
0
0
0
0
0
0CO
1
1
1
1
1
1
0
0
1
0F9
2
1
0
1
0
0
1
0
0
0A4
3
1
0
1
1
0
0
0
0
0B0
4
1
0
0
1
1
0
0
1
99
5
1
0
0
1
0
0
1
0
92
6
1
0
0
0
0
0
1
0
82
7
1
1
1
1
1
0
0
0
0F8
8
1
0
0
0
0
0
0
0
80
9
1
0
0
1
0
0
0
0
90
A
1
0
0
0
1
0
0
0
88
B
1
0
0
0
0
0
1
1
83
C
1
1
0
0
0
1
1
0
0C6
D
1
0
1
0
0
0
0
0
0A0
E
1
0
0
0
0
1
1
0
86
F
1
0
0
0
1
1
1
0
8E
P.
0
0
0
0
0
1
1
0
06
全亮
0
0
0
0
0
0
0
0
00
全灭
1
1
1
1
1
1
1
1
0FF
从电子钟程序清单中的显示程序可以知道:
数据表格存储单元从首地址到最高位分别存放的是共阳极数码管0、1、2、3、4、5、6、7、8、9、P.、灭的十六进制字型代码,所以只要把显示缓冲区内的数值加上偏移地址rel(偏移量计算方法如式3.1所示),把和送到累加器A中,使用MOVCA,@A+PC就可以取出缓冲区内要显示数据的字型代码,当然要取P.和灭的字型代码就要分别给缓冲区送0AH、0BH。
偏移地址rel=数据表格首地址-MOVCA@A+PC指令单元首地址-1式3.1
在动态扫描时,显示缓冲区79H内部存放的是要显示的秒的个位的数值,使用MOVCA,@A+PC指令取出段控码,由P0口输出通过锁存器74LS244后送到数码管的段控端,给P2口送01H通过锁存器74LS244驱动以后,只有LED0位的位控端有效,此时只有LED0被点亮来显示秒的个位,延时持续点亮一段时间,然后把显示缓冲单元地址加1,位控值左移一位,取出段控码,再把段控码和位控码送到数码管显示器,此时只有LED1被点亮显示秒的十位,延时持续点亮一段时间,就这样通过逐个地从低位到高位点亮各个显示器,扫描到最高位时的十位被点亮就返回。
这样虽然在任一时刻只有一位显示器被点亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果完全一样。
5.6AT89S51芯片介绍
如图5.7所示为AT89S51芯片的引脚图
兼容标准MCS-51指令系统的AT89S51单片机是一个低功耗、高性能CHMOS的单片机,片内含4KB在线可编程Flash存储器的单片机。
它与通用80C51系列单片机的指令系统和引脚兼容。
AT89S51单片机片内的Flash可允许在线重新编程,也可用通用非易失性存储编程器编程;片内数据存储器内含128字节的RAM;有40个引脚,32个外部双向输入/输出(I/O)端口;具有两个16位可编程定时器;中断系统是具有6个中断源、5个中断矢量、2级中断优先级的中断结构;震荡器频率0到33MHZ,因此我们在此选用12MHZ的晶振是比较合理的;具有片内看门狗定时器;具有断电标志POF等等。
AT89S51具有PDIP,TQFP和PLCC三种封装形式。
上图就是PDIP封装的引脚排列,下面介绍各引脚的功能。
P0口:
8位、开漏级、双向I/O口。
P0口可作为通用I/O口,但须外接上拉电阻;作为输出口,每各引脚可吸收8各TTL的灌电流。
作为输入时,首先应将引脚置1。
P0也可用做访问外部程序存储器和数据存储器时的低8位地址/数据总线的复用线。
在该模式下,P0口含有内部上拉电阻。
在FLASH编程时,P0口接收代码字节数据;在编程效验时,P0口输出代码字节数据(需要外接上拉电阻)。
P1口:
8位、双向I/0口,内部含有上拉电阻。
P1口可作普通I/O口。
输出缓冲器可驱动四个TTL负载;用作输入时,先将引脚置1,由片内上拉电阻将其抬到高电平。
P1口的引脚可由外部负载拉到低电平,通过上拉电阻提供电流。
在FLASH并行编程和校验时,P1口可输入低字节地址。
在串行编程和效验时,P1.5/MO-SI,P1.6/MISO和P1.7/SCK分别是串行数据输入、输出和移位脉冲引脚。
P2口:
具有内部上拉电阻的8位双向I/O口。
P2口用做输出口时,可驱动4各TTL负载;用做输入口时,先将引脚置1,由内部上拉电阻将其提高到高电平。
若负载为低电平,则通过内部上拉电阻向外部输出电流。
CPU访问外部16位地址的存储器时,P2口提供高8位地址。
当CPU用8位地址寻址外部存储时,P2口为P2特殊功能寄存器的内容。
在FLASH并行编程和校验时,P2口可输入高字节地址和某些控制信号。
P3口:
具有内部上拉电阻的8位双向口。
P3口用做输出口时,输出缓冲器可吸收4各TTL的灌电流;用做输入口时,首先将引脚置1,由内部上拉电阻抬位高电平。
若外部的负载是低电平,则通过内部上拉电阻向输出电流。
在与FLASH并行编程和校验时,P3口可输入某些控制信号。
P3口除了通用I/O口功能外,还有替代功能,如表5.3所示
表5.3P3口的替代功能
引脚
符号
说明
P3.0
RXD
串行口输入
P3.1
TXD
串行口输出
P3.2
/INT0
外部中断0
P3.3
/INT1
外部中断1
P3.4
T0
T0定时器的外部的计数输入
P3.5
T1
T1定时器的外部的计数输入
P3.6
/WR
外部数据存储器的写选通
P3.7
/RD
外部数据存储器的读选通
RST:
复位端。
当振荡器工作时,此引脚上出现两个机器周期的高电平将系统复位。
ALE/
:
当访问外部存储器时,ALE(允许地址锁存)是一个用于锁存地址的低8位字节的书粗脉冲。
在Flash编程期间,此引脚也可用于输入编程脉冲(
)。
在正常操作情况下,ALE以振荡器频率的1/6的固定速率发出脉冲,它是用作对外输出的时钟,需要注意的是,每当访问外部数据存储器时,将跳过一个ALE脉冲。
如果希望禁止ALE操作,可通过将特殊功能寄存器中位地址为8EH那位置的“0”来实现。
该位置的“1”后。
ALE仅在MOVE或MOVC指令期间激活,否则ALE引脚将被略微拉高。
若微控制器在外部执行方式,ALE禁止位无效。
:
外部程序存储器读选取通信号。
当AT89S51在读取外部程序时,每个机器周期将PSEN激活两次。
在此期间内,每当访问外部数据存储器时,将跳过两个
信号。
/Vpp:
访问外部程序存储器允许端。
为了能够从外部程序存储器的0000H至FFFFH单元中取指令,
必须接地,然而要注意的是,若对加密位1进行编程,则在复位时,
的状态在内部被锁存。
执行内部程序
应接VCC。
不当选择12V编程电源时,在Flash编程期间,这个引脚可接12V编程电压。
XTAL1:
振荡器反向放大器输入端和内部时钟发生器的输入端。
XTAL2:
振荡器反相放大器输出端。
5.774LS244驱动器
74LS244是单向总线驱动器。
是8输入8输出芯片,中1G和2G为使能端,低电平有效。
它的外部管脚图如图5.8所示。
74LS244是一种三态输出的八缓冲器和线驱动器,该芯片的逻辑电路图和引脚图如图5.8所示。
从图5.8可见,该缓冲器有8个输入端,分为两路——1A1~1A4,2A1~2A4,同时8个输出端,也分为两路——1Y1~1Y4,2Y1~2Y4,分别由2个门控信号1G和2G控制,当记为低电平时,1Y1~1Y4的电平与1A1~1A4的电平相同,即输出反映输入电平的高低;同样,当2G为低电平时,1Y1~1Y4的电平与2A1~2A4的电平和同。
而当1G(或2G)为高电平时,输出1A1~1A4(或2A1~2A4)为高阻态。
经74LS244缓冲后,输入信号被驱动,输出信号的驱动能力加大了。
其功能表如表5.4所示,表中 H为高电平,L为低电平,A为高阻态,X为任意状态
表5.474LS244引脚功能表
输入
输出
G
A
Y
L
L
L
L
H
H
N
X
X
5.8S8550PNP三极管
5.8.1主要用途:
作为音频放大器,应用于收录机、电动玩具等电子产品。
(与S8050互补)
其管脚图如下图5.9
5.8.2极限值如下表5.5
参数
符号
标称值
单位
集电极、基极击穿电压
VCBO
-40
V
集电极、发射极击穿电压
VCEO
-25
V
发射极、基极击穿电压
VEBO
-6
V
集电极电流
IC
-1.5
A
集电极功率
PC
1
W
结温
TJ
125
℃
贮存温
TSTG
-55-125
℃
5.8.3电参数(Ta=25℃)
电参数表5.6
参数
符号
测试条件
最小值
典型值
最大值
单位
集电极漏电流
ICBO
VCB=-35,IE=0
-100
nA
发射极漏电流
IEBO
VBE=-6,IC=0
-100
nA
集电极、发射极击穿电压
BVCEO
IC=-2mA,IB=0
-25
V
发射极、基极击穿电压
BVEBO
IE=-100μA,IC=0
-6
V
集电极、基极击穿电压
BVCBO
IC=-100μA,IE=0
-40
V
集电极、发射极饱和压降
VCE(sat)
IC=-800mA,IB=-80mA
-0.5
V
基极、发射极饱和压降
VBE(sat)
IC=-800mA,IB=-80mA
-1.2
V
基极、发射极压降
VBE
VCE=-1V,IC=-10mA
-1.0
V
直流电流增益
HFE1
VCE=-1V,IC=-100mA
85
300
HFE2
VCE=-1V,IC=-800mA
40
5.9四位一体数码管
四位一体数码管的内部结构,如图5.10所示。
由图可知,四个数码管的位控端连接在一起,共用8根数据线,四个公共端却单独占一根口线。
假设段控端有段码输入时,每个数码管的段控端都收到了段码,但只有位控线有效的数码管才能显示数据,反之亦反。
共阳极数码管段控端为低电平有效,位控端高电平有效,共阴极数码管恰恰相反。
四位一体数码管用于动态扫描,即把数码管显示数据的段控码分时送到其对应的段控端。
当一个段控码被送到段控端时,显示此段控码数据的数码管,它的位控端置有效电平,数码管点亮;而其他数码管的位控端送无效电平,数码管不亮。
持续点亮一段时间,再送其它的段控码,依次把显示段控码的数码管,使其位控端为有效电平,其他数码管的位控端为无效电平,就这样数码管依次被点亮。
四位一体数码管共十二个引脚,从数码管的正面看,它以第一脚为起点,逆时针排列的。
由图可知,6、8、9、12为公共端,A-11、B-7、C-4、D-2、E-1、F-10、G-5、DP-3。
显示字型和代码关系如表5.3所示。
字型
共阳极代码
共阴极代码
字型
共阳极代码
共阴极代码
0
C0H
3FH
9
90H
6FH
1
F9H
06H
A
88H
77H
2
A4H
5BH
b
83H
7CH
3
B0H
4FH
C
C6H
39H
4
99H
66H
d
A1H
5EH
5
92H
6DH
E
86H
79H
6
82H
7DH
F
8EH
71H
7
F8H
07H
灭
FFH
00H
8
80H
7FH
表5.7十六进制数字型代码
6单片机硬件资源的分配
本次设计用到了单片机正常工作的硬件资源,如(连接晶振的引脚XTAL1和XTAL2,复位引脚RESET),对其硬件资源还做了具体的安排。
(1).P0口
作为数码管显示器的段控输出口,对数码管显示器进行控制。
(2).P1口
P1.0~P1.3接了四个独立式分别为A键、B键、C键、D键,用于对键盘的控制,P1.5、P1.6、P1.7则作为ISP程序下载的输入端。
(3).P2口
该口全部用于数码管的位控端。
(4).定时/计数器
使用定时器0来实现本次电子钟的运行。
(5).内部存储单元
30H存储定时/计数器0的中断次数。
31H~36H分别作为时、分、秒个位和十位的数据存储单元。
79H~7E分别作为LED0、LED1、LED2、LED3、LED4、LED5显示缓冲单元。
(6).通用寄存器
第0组寄存器:
R0、R1、R3、R7,用来存放键功能程序的数据;第1组寄存器:
R3,用来存放中断服务程序的数据;第2组寄存器:
R1、R4,用来存放显示程序的数据。
(7).专用寄存器
定时器控制寄存器TCON,通过设置该寄存器中TR0位的状态来控制定时/计数器0的启动/停止;中断允许寄存器IE,通过设置该寄存器EA/ET0位的状态来设置定时/计数器0中断允许/禁止;定时/计数器工作方式寄存器TMOD,设置定时/计数器0的工作方式。
7程序流程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LED 电子钟 显示时间共31页 显示 时间 31