-
2018-12-12 16:51發(fā)布了問答
-
流動測速拍到超50%扣12分罰1900怎么處理?
-
-
2018-12-03 12:11發(fā)布了問答
-
我用AT89S52做頻率計,誰能幫我把這個程序添加詳細(xì)的注釋
- #include unsigned char code Tab[]={ 0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE, 0xF6,0xEE,0x3E,0x9C,0x7A,0x9E,0x8E,0x00,}; unsigned char cfDispPos=0; unsigned long ifTimes=0; unsigned long Freq=0; unsigned long DispNow;... #include
unsigned char code Tab[]={ 0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,
0xF6,0xEE,0x3E,0x9C,0x7A,0x9E,0x8E,0x00,};
unsigned char cfDispPos=0;
unsigned long ifTimes=0;
unsigned long Freq=0;
unsigned long DispNow;
bit bfComplete=0;
bit bfTesting=0;
unsigned char Method=0;
unsigned int ifms=0;
bit bfShow=1;
sbit KEY=P3^7;
void Delay(int t)
{ while(t--);
}
void StartFreq(unsigned char Method)
{ switch(Method)
{ case 0:
{EX0=1; //從中斷開定時器,測周法 IT0=1; TMOD=0x11; //Timer0 for precise Time EA=1; break;}
case 1:
{//計數(shù)測頻法
TH0=0xf8;TL0=0x30; //1ms
ifTimes=0;
TMOD=0x51; //Time0 for precise Time ,Timer1 for counter
TH1=0;TL1=0;
EA=1; ET0=1; TR0=1;TR1=1;ET1=1;
PT1=1;
}default:break;
}
}
void timer0 (void) interrupt 1
{ switch(Method)
{ case 0: //用于計數(shù)功能
ifTimes++;
break;
case 1: //work with T1
TH0=0xf8; TL0=0x30; //1ms
ifTimes++;
if(ifTimes>2000) //2s
{ TR1=0;
TR0=0;
EA=0;
ET0=0;
ET1=0;
Freq+=(TH1*256+TL1);
Freq=Freq*10/2; //Keep One bit for '.'
if(Freq>900000)Freq=0;
bfShow=1;
bfComplete=1;
}
break;
default:break;
}
}
void timer1(void) interrupt 3 //測頻測周
{ switch(Method)
{ case 0:
TH1=0xf8; TL1=0x30;
ifms++;
if(ifms>1000)
{ ifms=0;bfShow=1;
}
case 1:
Freq+=65536;break;
default:break;
}
}
void EX0_IRQ(void) interrupt 0 //測周法使用
{ if(!bfTesting) //first falling edge
{ TH0=0x0;TL0=0x0; //1ms
ifTimes=0;
ET0=1; TR0=1; //Timer0 for Time
TH1=0xf8;TL1=0x30;
TR1=1;ET1=1;
bfTesting=1;
}
else //second falling edge
{ EA=0;TR0=0; ET0=0; EX0=0; //ET0=0;
Freq=(ifTimes*65536+256*TH0+TL0)/2;// us S
Freq=10000000/Freq; //Keep one bit for '.'
bfComplete=1;
}
}
void SystemInitial(void)
{ SCON=0X00;
//TH0=0xfc;TL0=0x18; //0.5ms
StartFreq(Method);
}
void main(void)
{ SystemInitial();
while(1)
{ if(!KEY)
{ Delay(2000);
if(!KEY)
{ while(!KEY);
if(Method)
Method=0;
else Method=1;
DispNow=0;
StartFreq(Method);
}
}
if(bfComplete)//開始測量
{ if(bfShow)
{ bfShow=0;
DispNow=Freq;
}
Freq=0;
bfComplete=0;
bfTesting=0;
StartFreq(Method);
}
{//顯示
switch(cfDispPos)
{ case 0:P2=0x6E; P0=0xFE;break;
case 1:P2=Tab[DispNow/1%10]; P0=0xFD;break;
case 2:P2=Tab[DispNow/10%10]|(~Tab[8]); P0=0xFB;break;
case 3:P2=Tab[DispNow/10]; P0=0xF7;break;
case 4:P2=Tab[DispNow/1000%10]; P0=0xEF;break;
case 5:P2=Tab[DispNow/10000%10]; P0=0xDF;break;
case 6:P2=Tab[DispNow/100000%10]; P0=0xBF;break;
case 7:if(Method)P2=0x02;else P2=0; P0=0x7F;break;
}
Delay(100);cfDispPos++;
if(cfDispPos>=8){cfDispPos=0;}
}
}
} 展開
-
2018-11-27 17:59發(fā)布了問答
-
研究性學(xué)習(xí)方案
- 急用高中的直接寫... 急用 高中的 直接寫 展開
-
2018-11-23 13:02發(fā)布了問答
-
rmva里的計時器應(yīng)該怎么用?!在線等!
- 就是到計時結(jié)束時有劇情發(fā)生,并且右上角沒有顯示“0:00”的那種!在線等??!
-
2017-03-09 13:43發(fā)布了問答
-
增加標(biāo)黃部分是什么
-
-
2017-01-12 08:27發(fā)布了問答
-
警車能測速對向車道嗎,限速70,剛剛77
-
-
2016-11-18 14:37發(fā)布了問答
-
用LM60數(shù)據(jù)采集器掃描條形碼為什么會出現(xiàn)重碼現(xiàn)象?
- 我生產(chǎn)了一批條形碼,不可能有重碼的,然后我把條形碼貼在合格證上,合格證會被保鮮膜纏繞二三圈。LM60數(shù)據(jù)采集器上我安裝了出入庫APP。我在采集器上打開入庫APP,然后掃描條形碼,掃... 我生產(chǎn)了一批條形碼,不可能有重碼的,然后我把條形碼貼在合格證上,合格證會被保鮮膜纏繞二三圈。LM60數(shù)據(jù)采集器上我安裝了出入庫APP。我在采集器上打開入庫APP,然后掃描條形碼,掃描過程發(fā)現(xiàn),當(dāng)前正在掃的A條形碼已經(jīng)被掃描過了,掃不進(jìn)去,然后我對照剛掃進(jìn)去的碼段和A條形碼數(shù)字對比不是同一個碼段,然后我又對A條形碼重新掃了一次,結(jié)果又掃進(jìn)去了。也就是說A條形碼我掃了兩次,diyi次是錯誤的讀取,第二次是正確的。這是什么原因。。讀頭原因?APP原因?系統(tǒng)原因?條形碼原因?還是條形碼表層纏繞保鮮膜折射的原因?關(guān)鍵是不經(jīng)常出現(xiàn),偶爾出現(xiàn)一次,很麻煩。。望各位百度神人各表意見。。
還有更麻煩的,就是正在掃的碼段已經(jīng)被掃進(jìn)系統(tǒng)了,而正著掃的碼段掃描是正確的,也就是說在這之前有個碼段讀取是錯誤的。 展開
-
2016-05-08 17:37發(fā)布了問答
-
加速度計和陀螺儀的區(qū)別
-
-
2016-03-21 10:23發(fā)布了問答
-
請問自行車測速儀如何安裝,牌子是btwin的是無線的
-
-
2014-07-08 23:33發(fā)布了問答
-
高速路上的測速儀,晚上會拍照嗎
-
-
2013-12-12 13:32發(fā)布了問答
-
請問各位老師如何把可連電腦的聲級計和plc中運(yùn)用
- 如題、買一個聲級計可連接電腦的、想在plc西門子s7-200中運(yùn)用其聲音信號做聲音傳感器,請問大家如何操作?可以討論下么隨便說說也可以... 如題、 買一個聲級計可連接電腦的、想在plc西門子s7-200中運(yùn)用其聲音信號做聲音傳感器,請問大家如何操作?可以討論下么隨便說說也可以 展開
-
2011-10-07 17:33發(fā)布了問答
-
請問申嘉湖高速公路從嘉興到上海路段有測速儀嗎?大概有幾個?
-
-
2011-04-29 10:15發(fā)布了問答
-
打點計時器加速度公式
- 加速度a 速度v 與s和t相關(guān)的公式
拜托清楚一些~~~~~~~
-
2011-02-10 11:29發(fā)布了問答
-
求c++簡易計時器
- 采用dev-c++編譯環(huán)境,越簡易越好,只需從循環(huán)開始開始計時,x秒后執(zhí)行另一指令,計時器清零,重新計時,再執(zhí)行同一指令,如此反復(fù),直至循環(huán)結(jié)束即可,高手解答,萬分感謝,高分懸賞!
-
2009-05-27 03:47發(fā)布了問答
-
基于單片機(jī)的數(shù)字頻率計的研究
- 利用AT89C51單片機(jī)設(shè)計一個測量頻率范圍為1Hz-10KHz的正弦波、方波、三角波信號的數(shù)字頻率計,要求用單片機(jī)實現(xiàn)自動測量功能。設(shè)計基于AT89C51單片機(jī)控制的數(shù)字頻率計的硬件電路;完成相關(guān)的系統(tǒng)軟件設(shè)計,并通過試驗儀驗證通過。