欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4125|回復: 0
打印 上一主題 下一主題
收起左側

一個基于單片機的秒表出現的問題,求高手解答~~~~

[復制鏈接]
跳轉到指定樓層
樓主
ID:37990 發表于 2012-4-7 16:48 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg52.h>
#define uint unsigned int 
#define uchar unsigned char 
sbit dula=P2^6;
sbit wela=P2^7;
sbit b=P2^3;
sbit key1=P3^4;
sbit key2=P3^5;
uchar aa;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
uchar code table1[]={
 0xBF,0x86,0xDB,0xCF,0xE6,
0xED,0xFD,0x87,0xFF,0xEF};
uchar time[]={0,0,0,0,0,0};
 void delay(uint z)
{
	uint x,y;
	for(x=z;x>0;x--)
		for(y=120;y>0;y--);
}

void init()
{
    TMOD=0x01;
	TH0=(65536-1000)/256;
	TL0=(65536-1000)%256;
			

}
void display()
{
        dula=1;
		P0=table[time[0]];
		dula=0;
		P0=0xff;
		wela=1;
		P0=0xdf;
		wela=0;
		delay(1);

		dula=1;
		P0=table[time[1]];
		dula=0;
		P0=0xff;
		wela=1;
		P0=0xef;
		wela=0;
		delay(1);

		dula=1;
		P0=table1[time[2]];
		dula=0;
		P0=0xff;
		wela=1;
		P0=0xf7;
		wela=0;
		delay(1);

		 dula=1;
		P0=table[time[3]];
		dula=0;
		P0=0xff;
		wela=1;
		P0=0xfb;
		wela=0;
		delay(1);

		dula=1;
		P0=table1[time[4]];
		dula=0;
		P0=0xff;
		wela=1;
		P0=0xfd;
		wela=0;
		delay(1);

		dula=1;
		P0=table[time[5]];
		dula=0;
		P0=0xff;
		wela=1;
		P0=0xfe;
		wela=0;
		delay(1);

		if(aa==1)
 {
 aa=0; time[0]++;  
   if(time[0]==10)  
 {time[0]=0;time[1]++;
     if(time[1]==10) 
	  {time[1]=0;time[2]++;
 	     if(time[2]==10) 
	     {time[2]=0;time[3]++;
		   if(time[3]==6) 
	        {time[3]=0;time[4]++;
		      if(time[4]==10)
			   {time[4]=0;time[5]++;
			    if(time[5]==6) 
	              {time[5]=0;time[6]++;}}}}}

 }
}
}
 void keyscan()
 {
 if(key1==0)
{
delay(5);
if(key1==0)
	{	b=0;
     EA=~EA;
	ET0=~ET0;
	TR0=~TR0;
		}
	while(!key1);
}
b=1;
if(key2==0)
{
delay(5);
if(key2==0)
	{	b=0;
     	time[0]=time[1]=time[2]=time[3]=time[4]=time[5]=0;
		}
	while(!key2);
}
b=1;		
 
 }
void main()
{
 init();

while(1) {keyscan();
display();} 

 } 		   
void timer0() interrupt 1
{
	TH0=(65536-1000)/256;
	TL0=(65536-1000)%256;
	aa++;	
}
這是我用51單片機寫的秒表程序,其他很正常,就是秒表太不準了,本該顯示微秒的數碼管變化的時間一秒差不多,這是怎么回事啊。。。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表