秒表计时器
秒表计时器
要 求:
①编写一个能够实现秒表计时功能的程序;
②计时时间通过若干个数码管显示;
③计时开始、暂停、继续、清零都由若干个开关控制;
④其它功能及创新设计。
功能挺全的,你是想买它?还是别的什么?你要说清楚一点,要不然大家以为是在给学生们布置作业呢。
我是这个程序不懂的,向你们请教的。可以的给程序来参考参考呗
刚好有这么个程序,是一个按键控制秒表启动、暂停、清零。不过程序是与实际电路结合才有用的。
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit bitcode=P2^6;
sbit segment=P2^7;
sbit key =P2^4;
uint number;
uchar a; //用来计数按键按下的次数,为每一次设定不同的功能
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //有这10个数就够了,不用把A,B,C,D,E,F 也写在里面
void delay(uchar us)
{
uchar x,y;
for(x=0;x<us;x++)
for(y=0;y<110;y++);
}
void key_scan()
{
if(key==0)
{
delay(10);
if(key==0)
{
a++;
while(!key);
if(a==3)
{
a=0;
}
}
}
switch(a) //取上面的a值,给每次按下按键提供不同功能,由下面部分执行各自任务
{
case 0:
TR0=0;
number=0;
break;
case 1:
TR0=1;
break;
case 2:
TR0=0;
break;
}
}
void display()
{
uchar bai,shi,ge;
bai=number/100;
shi=number%100/10;
ge =number%10;
bitcode=1;
P0=0xdf;
bitcode=0;
segment=1;
P0=table[bai];
segment=0;
delay(5);
bitcode=1;
P0=0xbf;
bitcode=0;
segment=1;
P0=table[shi];
segment=0;
delay(5);
bitcode=1;
P0=0x7f;
bitcode=0;
segment=1;
P0=table[ge];
segment=0;
delay(5);
}
void main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
number=0;
while(1)
{
key_scan();
display();
}
}
void time0()interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
number++;
if(number==1000)
{
number=0;
}
}
谢谢了,以后请多多指教哦。那你有没有51单片机串口同学程序啊?给我一些好不好啊?我现在要学习学习,我在通信这方面很弱的。
是有没有51单片机串口通信的程序的啊
为什么我拿单片机试了,不可以的啊?
实现不了以上的功能的