i
cludereg52hi
cludei
tri
sh
defi
eGPIOP0defi
eucharu
sig
edchardefi
eui
tu
sig
edi
tsbitb_1P10sbitb_2P11sbitb_3P12sbitb_4P13
ucharcodeshuma_gua
0xc00xf90xa40xb00x990x920x820xf80x800x9009
ucharbit_10
数码管显示的四位标量
ucharbit_20
数码管显示的四位标量
ucharbit_30
数码管显示的四位标量
ucharbit_40
数码管显示的四位标量
ucharcou
tuchartimeui
tT0_flagu
sig
edlo
gData
数码管显示变量
voiddelay10msu
sig
edi
tc
u
sig
edcharab
误差0us
c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了forc0c
forb38b0b
fora130a0a
voiddisplay
bit_1Data100001000bit_2Data1000100bit_3Data10010bit_4Data10
时间显示数码管显示
fvoidmai
TMOD0X15设置定时器T016位
EA1
打开中断
ET01
打开TO定时器
ET11
TR01
关闭中断
TR11
TH00
TL00
TH16553650000256
TL16553650000256
b_1b_2b_3b_40
while1
iftime1
TR00
Data65536T0_flagTH0256TL0
T0_flag0
TH00
TL00
time0
TR01
display
delay10ms1
中断函数
voidfoscvoidi
terrupt1
T0_flag
voiddelay1svoidi
terrupt3
TH1655365000256
5ms产生一次中断
TL1655365000256
5ms产生一次中断
cou
t
ifcou
t200
time
cou
t0
用于数码管动态扫描用于数码管动态扫描
fswitchcou
t8
case0b_2b_3b_40b_11GPIOshuma_gua
bit_1break
case1b_1b_3b_40b_21GPIOshuma_gua
bit_2break
case2b_1b_2b_40b_31GPIOshuma_gua
bit_3break
case3b_1b_2b_30b_41GPIOshuma_gua
bit_4break
fr