课题三 简易数字钟(课件)-《单片机技术与应用》同步教学(电子工业版)
2024-07-11
|
19页
|
26人阅读
|
1人下载
普通
内容正文:
课题三 简易数字钟
LED数码管原理及显示方式
静态显示电路及程序
动态显示电路及程序
简易数字钟
数码管原理
(b)共阴数码管
(c)共阳数码管
(a)数码管示意图
数码管段码
字符 共阴型 共阳型 数码管
hgfe dcba 字型码 hgfe dcba 字型码
0 0011 1111 3FH 1100 0000 C0H
1 0000 0110 06H 1111 1001 F9H
2 0101 1011 5BH 1010 0100 A4H
3 0100 1111 4FH 1011 0000 B0H
4 0110 0110 66H 1001 1001 99H
5 0110 1101 6DH 1001 0010 92H
6 0111 1101 7DH 1000 0010 82H
7 0000 0111 07H 1111 1000 F8H
8 0111 1111 7FH 1000 0000 80H
9 0110 1111 6FH 1001 0000 90H
一只数码管显示0~9
数码管显示原理电路
数码管显示等效电路
一只数码管显示0~9
。 要实现0~9的显示,设计方法与前面彩灯花样显示类似,首先写出0~9的显示数据(表3-1中的字型码数据,注意电路中选用的是共阴或共阳数码管一致),这些数据在程序中作数组元素。程序中将数组元素依次读出送到端口,使数码管显示出对应的数字。
数码管静态显示
数码管静态显示
所谓静态显示,是各数码管都有独立的锁存电路驱动,其公共端接固定电平,所有数码管同时点亮。
如:四位数码管显示四位数字 ,需要将数字1的七段码送到第一只数码管上,数字3的七段码送第二只数码管上,数字5的七段码送第三只数码管上,数字7的七段码送第四只数码管上。
数据锁存可用单片机端口及单片机外接具有数据锁存功能的芯片实现。
端口驱动共阳数码管静态显示电路
外接锁存器的静态显示电路
74164驱动静态显示电路原理图
数码管动态显示
动态显示电路
采用锁存器的动态扫描电路原理图
74573
74573
74LS138驱动的动态显示电路原理图
简易数字钟
简易数字钟
数字钟要完成的功能是显示小时、分和秒和计数器。其中秒和分为60进制,小时为24进制(也可用12翻1)计数。
为了确定1秒,首先要确定动态显示一次所需要的时间,如果每一只数码管显示的时间为0.5ms,则一次动态显示(8只LED数码管)的时间约为4 ms,所以,八只数码管每显示250次约为1秒。
需要说明的是,这里之所以说是简易数字钟,主要是用程序运行来计算时间,这样用程序来确定出1秒的时间精度很有限的,所以整个时钟的精度不高。如果要提高计时精度,可用后面介绍的定时器来设出计较为精确的时钟,这个题目就留给读者学习了中断和定时器后自己完成
简易数字钟
根据任务分析,可以确定整个程序的主框架是以定时1秒计算一次的方式来实现数字钟。定时1秒的程序段,使用动态显示程序实现延时,既完成了延时也完成了数字的显示。
在计算程序中,使对应于时、分、秒的变量按照60进制和24进制进行计算,动态显示程序直接引用这些变量,达到显示的数字也随之不断变化,即完成了数字钟的功能。再次说明,程序的计时的精度是不高的。
图3-12 数字钟程序框图
(a)主程序 (b) 定时1秒 (c)时间计算
开始
初始化
秒加1
秒>59
定时1秒
秒清0,分加1
分>59
分清0,小时加1
小时>23
小时清0
Yes
Yes
Yes
No
No
No
计算时间
(a)
(b)
(c)
>250次?
动态显示
Yes
思考与练习
1 数码管静态显示与动态显示的区别。
2 编制一个简易的倒计时的定时器。
3 请用数码管和LED作为显示器,设计一个简易的交通灯系统。
4 请按你自己的设想控制多只数码管显示的系统。
�
h
g
f
e
d
c
b
a
P00
P02
P03
P04
P05
P06
P07
P01
�
�
h
g
f
e
d
c
b
a
com
com
a
b
c
d
e
f
g
h
a
b
c
d
e
f
g
h
a
b
c
d
e
f
g
h
com
(a)
(b)
(c)
com
�
h
g
f
e
d
c
b
a
P00
P02
P03
P04
P05
P06
P07
P01
�
�
h
g
f
e
d
c
b
a
com
com
a
b
c
d
e
f
g
h
a
b
c
d
e
f
g
h
a
b
c
d
e
f
g
h
com
(a)
(b)
(c)
com
�
h
g
f
e
d
c
b
a
P00
P02
P03
P04
P05
P06
P07
P01
�
�
h
g
f
e
d
c
b
a
com
com
a
b
c
d
e
f
g
h
a
b
c
d
e
f
g
h
a
b
c
d
e
f
g
h
com
(a)
(b)
(c)
com
�
�
�
�
�
�
�
h
g
f
e
d
c
b
a
P00
P02
P03
P04
P05
P06
P07
P01
�
�
�
�
�
�
�
�
�
com
a
b
c
d
e
f
g
h
h
g
f
e
d
c
b
a
AT89S51
12MHz
20pF
20pF
RESET
10µF
4.7kΩ
XTAL1
XTAL2
VCC
5V
EA
复位
GND
P2.0
P2.2
P2.3
P2.4
P2.5
P2.6
P2.7
P2.1
330Ω
P2.0
P2.2
P2.3
P2.4
a
P2.5
P2.6
P2.7
P2.1
b
c
d
e
f
g
h
com
com
a
b
c
d
e
f
g
h
h
g
f
e
d
c
b
a
h
g
f
e
d
c
b
a
com
com
a
b
c
d
e
f
g
h
�
�
�
�
译码
锁存
译码
锁存
...
...
AT89S51
(a)
段码译码
锁存
...
位码译码
锁存
...
AT89S51
(b)
...
...
...
...
...
...
...
...
�
�
�
�
�
�
�
h
g
f
e
d
c
b
a
P00
P02
P03
P04
P05
P06
P07
P01
�
�
�
�
�
�
�
�
�
com
a
b
c
d
e
f
g
h
h
g
f
e
d
c
b
a
P0.0
P0.2
P0.3
P0.4
AT89S51
P0.5
P0.6
P0.7
P0.1
5V
330Ω
12MHz
20pF
20pF
RESET
10µF
4.7kΩ
XTAL1
XTAL2
VCC
5V
EA
十位
个位
复位
GND
P2.0
P2.2
P2.3
P2.4
P2.5
P2.6
P2.7
P2.1
5V
330Ω
�
�
�
�
�
h
g
f
e
d
c
b
a
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
h
g
f
e
d
c
b
RESET
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
XTAL1
XTAL2
VCC
5V
a
AT89S51
EA
74164
A
B
CP
74164
A
B
CP
RXD
TXD
GND
十位
个位
com
a
b
c
d
e
f
g
h
h
g
f
e
d
c
b
a
h
g
f
e
d
c
b
a
com
com
a
b
c
d
e
f
g
h
�
�
�
�
译码
锁存
译码
锁存
...
...
AT89S51
(a)
段码译码
锁存
...
位码译码
锁存
...
AT89S51
(b)
...
...
...
...
...
...
...
...
h
g
f
e
d
c
b
a
P00
P02
P03
P04
P05
P06
P07
P01
74LS245
B0
B1
B2
B3
B4
B5
b6
B7
A0
P0.0
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
P0.1
A1
aT89S51
A2
A3
A4
A5
A6
A7
5V
DIR
e
Y0
Y1
Y2
Y3
Y4
y5
Y6
Y7
5V
g1
74LS138
A0
A1
A2
P2.0
P2.2
P2.1
g2A
g2B
$$
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。