求单片机的记秒程序【加分】

来源:百度知道 编辑:UC知道 时间:2024/05/27 09:49:12
求一个单片机的程序
利用两个数码管,打开开关开始记秒,从0开始,关掉开关停止记秒,当秒从0 到99后重新又从0开始记。(希望有程序的简单讲解)
又不是我想学单片机!!!!!!学校开的,应付作业,考试能过就OK。
我已经 有程序了,谢谢前两位的回答,只是不是这样的要求。

#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x89,0x86,0xc7,0xff};sbit key=P1^4;
uchar t,bai,shi,ge;
uint num;
void init();
void display(uchar bai,uchar shi,uchar ge);
void delay(uint z)
{
uchar x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
init();
while(1)
{
if(t==2)
{
t=0;
num++;
bai=num/100;
shi=num%100/10;
ge=num%10;
if(num==999) //最大计数到999
num=0;
}
if(key==1)
{

display(bai,shi,ge);
}
if(key==0)
{ delay(10);
if(key==0)
{ TR0=0;
while(!key)
{
display(bai,shi,ge);
}
// while(!key);
TR