基于C51单片机控制的数码管秒表
说明:下面是通过c语言编写的程序,数码管为共阴数码管使用的芯片有74h138译码器器
74HCT573PW芯片。
显示效果为:000000
分别是分秒百分之一秒
可用一个键控制:按一下开始计时,再按暂停,再按清零。
本代码经测试可以使用
i
cludereg51h
defi
eENABLE0
defi
eDISABLE1
defi
eDATAP0
u
sig
ed
0
u
sig
edcharabcou
t0ij0xu8
sbithc138s_e
ableP13
sbithc138s_aP10
sbithc138s_bP11
sbithc138s_cP12
sbitk1P34
u
sig
edcharcodetable共阴极0f数码管编码
0x3f0x060x5b0x4f03
0x660x6d0x7d0x0747
0x7f0x6f
89
voiddelay_msu
sig
edi
t
ms
voidchose7su
sig
edchar
um
voidchose7ssu
sig
edchar
umm
voidtimer0_i
itvoid
TMOD0X01TH06553610000256TL06553610000256ET01EA1TR01
用作数码管最初显示状态
f
voids1
forj0j8j
ifj2j5
chose7sj使能某位数码管
DATA0x40
delay_ms2
else
chose7sj
DATA0x3f
delay_ms2
voids2
timer0_i
it
fori0i10i扫描
forj0j8j
ifj2j5chose7sj
DATA0x40delay_ms2elsechose7sj
xujDATAtablexdelay_ms2
f开关
voidkey1
ifk10
delay_ms20
ifk10
if
3
0
cou
t0
b0
a0
whilek1
函数名
mai
函数功能
主函数
输入
无
输出
无
voidmai
void
while1
key1switch
case0s1
fbreakcase1
timer0_i
its2
breakcase2
TR00s2break
函数名
chose7s
函数功能
使能某个数码管
输入
数码管编号
输出
无
voidchose7su
sig
edchar
um
hc138s_e
ableENABLE
switch
um
case0第1个数码管hc138s_a0hc138s_b0hc138s_c0
P00x3fbreak
case1第2个数码管hc138s_a1hc138s_b0hc138s_c0
P00x3fbreak
case2第3个数码管
fhc138s_a0hc138s_b1hc138s_c0P00x40breakcase3第4个数码管hc138s_a1hc138s_br