单片机秒表程序 100

要求:0~59.99秒精度0.01秒有两个按键K1、K2,K1控制暂停、继续,K2控制清零。求高手帮忙编个程序。... 要求:0~59.99秒 精度0.01秒 有两个按键K1、K2,K1控制暂停、继续,K2控制清零。求高手帮忙编个程序。 展开
 我来答
草原狼159522
2012-09-20 · TA获得超过530个赞
知道小有建树答主
回答量:332
采纳率:50%
帮助的人:390万
展开全部
下面是程序,刚刚调试成功;给我邮箱,打包发你。带仿真图
#include<reg51.h>
//unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,
0x3f,0xbf,0xff,0x7f,0xbf};
unsigned char buf[4]={0,0,0,0};
unsigned char ss[4]={0x01,0x02,0x04,0x08};
//sbit p20=P2^0;
//sbit p21=P2^1;
sbit k0=P2^5;//定时计数器开始 暂停
sbit k1=P2^6;//定时计数器清零
unsigned int count1=0;

unsigned char n=0;
void delay(void)//延时20ms
{
unsigned char i,k;
for(i=5;i>0;i--)
for(k=200;k>0;k--);
}

void disp(void)//显示计时器内容
{
unsigned char i,num;
for(i=0;i<=3;i++)
{
P2=ss[i];
num=buf[i];
P1=tab[num];
delay();
}
}

void key0(void)//k0判断及相应处理
{
k0=1;
if(k0==0)
{disp();disp();
k0=1;
if(k0==0)
{
if(TR0==0)
{TR0=1;}//启动定时/计数器0 中断
else{TR0=0;}
}
}
k0=1;//判断按键是否松开
while(k0==0)
{
disp(); k0=1;//等待
}
}

void key1(void)//k1判断及相应处理因为
{
k1=1;
if(k1==0)
{disp(); disp();
k1=1; //因为unsigned char ss[2]={0x01,0x02}时p25,p26都被清零,所以在判断k之前使k=1;
if(k1==0)
{
if(TR0==0)
{count1=0;}
}
}
}

void int_t0(void)interrupt 1 using 1//定时/计时器中断,定时10MS
{
TH0=0xd8;
TL0=0xf0;
// n++;
// while(n==1)
// {
// n=0;
count1++;
if(count1 == 5999)
{
count1=5999;TR0=0;
}

}
void disp_time(void) //显示时间(时分秒分别送相应buf)
{
buf[0]=((count1%1000)%100)%10;
buf[1]=((count1%1000)%100)/10;
buf[2]=(count1%1000)/100+10;
buf[3]=count1/1000;
// times();
disp();
}
void main(void)
{ //中断设置
TMOD=0x01;//定时计数器初始化
TH0=0xD8;
TL0=0xF0;//初始值
IE=0x82;//开总中断/允许定时/计数器0 中断
// TR0=1;
while(1)
{

key0();
key1();
disp_time();

}//重复调用相应函数
}
追问
270101680@qq.com        谢了!
顺风一路1020
2012-09-19 · TA获得超过1071个赞
知道小有建树答主
回答量:1465
采纳率:0%
帮助的人:385万
展开全部
要汇编语言还是C语言
更多追问追答
追问
C语言
追答
没有。我只有汇编语言
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
琴柏涓6
2012-09-19 · TA获得超过213个赞
知道小有建树答主
回答量:474
采纳率:0%
帮助的人:113万
展开全部
没有电路图 编鸟程序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式