求单片机程序,会的人进来帮帮忙啊!

来源:百度知道 编辑:UC知道 时间:2024/06/22 16:47:41
本人是一单片机菜鸟,现在有个题目,求这个题目的程序,小弟感激不尽,题目如下:设计一个两位秒表:使用定时器T1以方式1定时,统计秒数并通过两位数码管显示:当按下停止按钮时,停止统计并显示当前统计秒数。设单片机Fosc=12MHz。

//1:用AT89C51单片机的定时/计数器T1产生一秒的
//定时时间,作为秒计数时间,当一秒产生时,秒
//计数加1,秒计数到99时,自动从0开始。单片机
//晶振频率为12MHZ
//当有按键按下时,记数停止,并保持显示,弹开按键继续执行
//p32口为按键
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,
0x6f};
void display(uchar fen,uchar miao);
sbit b=P3^2;
uchar a,fen,miao,shu;
void delay(uint z);
void init();
void main()
{
init();
while(1)
{
if(b==0)
{
TR0=0;
display(fen,miao);
}
else
{
TR0=1;
display(fen,miao);
}
}

}
void timer1() interrupt 3
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
a++;
if(a==20)
{
a=0;
shu++;
fen=shu/10;
miao=shu%10;
if(shu==99)
shu=0;
}

}

void init()
{
T