简易秒表 课程设计 有程序 帮我写个设计思路
发布网友
发布时间:2022-05-29 17:14
我来回答
共1个回答
热心网友
时间:2023-10-27 15:39
下面是秒表的程序 你看看 60S的
#include<regx51.h>
#define KEY P1_7
#define CON P2
#define DATA P0
#define unchar unsigned char
#define unint unsigned int
unchar second=0;
unint count=4000;
/*51实验箱共阳极笔段码(0123456789)*/
//unchar code table[]={0x84,0xf5,0x46,0x54,0x35,0x1c,0x0c,0xd5,0x04,0x14};
/*标准共阴极笔段码(0123456789)*/
unchar code table[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//共阴极笔段码(标准)
void delay();
void display();
void tmr0_int() interrupt 1
{
count--;
if(!count)
{
second++;
count=4000;
}
}
void main()
{
TMOD=0X02;//定时器0工作在方式2
TH0=0X06;
TL0=0X06;//定时器0计数初值
IE=0X82;//开总中断和定时器0中断
TR0=1;
while(1)
{
display();
}
}
void delay()
{
unchar a,b;
for(a=4;a>0;a--)
for(b=248;b>0;b--);
}
void display()
{
if(second>59)
{
second=0;
}
if(second>9)
{
CON=0XFE;
DATA=table[second/10];
delay();
CON=0XFF;
CON=0XFD;
DATA=table[second%10];
delay();
CON=0XFF;
}
else
{
CON=0XFD;
DATA=table[second%10];
}
}