i
cludereg52hdefi
eui
tu
sig
edi
tdefi
eucharu
sig
edcharu
sig
edchars100xc00xf90xa40xb00x990x920x820xf80x800x90数码管段码u
sig
edcharx
sbitP27P27sbitP26P26sbitP25P25sbitP33P34sbitfmqP36sbitP32P32u
sig
edchart
函数功能:蜂鸣器发声
voidbeepui
txui
tiui
tjfori0ixiforj0j57jfmqfmq
函数功能:1ms延时函数
voiddelayu
sig
edchariu
sig
edcharjwhileiforj0j125j
函数功能:点亮数码管电路7678
voiddisplayu
sig
edcharx
P270
P0sx10
求数的个位
delay1P20xff
熄灭数码管,让其不闪烁
P260P0sx10010
求数的十位
delay1
P20xff
P250
P25接通点亮第六个数码管
P0sx100
x100取余,得到x的最高位
fdelay1P20xff
延时1ms,让数码管显示稳定关闭P2口,熄灭数码管
函数功能:主函数
voidmai
TMOD0x06
定时方式寄存器00000110B工作模式2,即定时器T1关闭,
用T0,gate(门控制位)、CT(外部事件计数模式,CT1时对T1T0的负脉冲计数,CT0
时,片内时钟定时器,对片内的机器周期进行数定时)M0M1为0110
EA1
开中中断
ET01
允许定时器T0的外部中断
EX01TR01TH0TL02561
允许外部中断INT0启动T0定时器定时器T0高八位赋初值
while1displayx
函数功能:中断T0函数,清零
voidcleari
terrupt0
x0
ifP320按键按下delay10消抖ifP320再次检测
beep100蜂鸣器发声whileP32等到按键释放delay10
函数功能:中断T1函数,按按键让数码管显示计数
voidtimeri
terrupt1ifP330
fdelay20ifP330beep100whileP32delay10
ifP330xx11000因为数码管是三位显示,要把X控制在1000以内
fr