
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar a=0
uchar b=9
//共阴数码管七段码
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77}
void delay(uchar aa)//延时子程序
{
uchar bb,cc
for(bb=aabb>0bb--)
for(cc=200cc>0cc--)
}
void main(void )//主程序
{
TMOD=0x01// 定时器0工作方式一
ET0=1
EA=1
TH0=(65536-50000)/256//定时50ms
TL0=(65536-50000)%256
TR0=1//启动
while(b>搜伍0)
{
P0= table[b]
delay(5)
}
P0=0
TR0=0;
while(1)
}
/庆拦/中断子程序
void Timer0(void) interrupt 1
{
TH0=(65536-50000)/256
TL0=(65536-50000)%256
a++
if(a==20) {a=0b--}
}
其实,控制秒表的启动和停止,很简单。要做秒表,一定要用定时器吧,假如用T0,那开始初始化时,不写TR0=1,先不启动。\x0d\x0a当按一下键,再启动,TR0=1,就开始戚谨计时了。\x0d\x0a再 按一下键,就孙仔信停止,TR0=0,就不计时了。\x0d\x0a程序好写,先 定义一个按键\x0d\x0asbit key=P1^1 //具体是则轮哪个 键,你自己改\x0d\x0a主程序中,判断按键和启动/停止\x0d\x0aif(key==0)\x0d\x0a{\x0d\x0adelay()//具体延时时间自己定\x0d\x0aif(key==0)\x0d\x0a{\x0d\x0aTR0=!TR0 //每按一次,取反 一次\x0d\x0awhile(key==0)\x0d\x0a}\x0d\x0a}欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)