1樓:網友
頻率計,一是定時測脈衝個數,另一種方法是測單個脈衝週期,你的方法就是測1秒內脈衝個數。
你這程式太費勁兒可能是 num1沒清0 count沒清0
另外是定時器0外部脈衝輸入腳,可以直接對外部脈衝計數,設tmod=0x05 不必再判斷高低平了。
另外buftoseg()耗時比較長,主程式幾乎全部時間在此工作。
在此期間中斷仍會頻繁發生。
但flag=0;count++;這些操作是執行不了的,能正常計時嗎?
正確方法是用兩個定時器,乙個作為計數器對外部脈衝進行計數,另外乙個定時50 ms作為時間基準,500ms或1000ms讀一次計數器的值,即可換算成頻率。
void init()/初始化設定。
tmod=0x15;//定時器0作為計數器,定時器1作為定時器用。
th0=0;//計數器清0
tl0=0;
ea=1;//開總中斷。
et1=1;//允許定時器1中斷。
th1=0x4c;
tl1=0x5c;
tr0=1;//啟動計數器。
tr1=1;//啟動定時器。
aa=0;void main()/主程式很簡單。
init();初始化。
while(1)//迴圈程式。
dd=bb*256+cc;的計數值。
ee=2*dd;//換算為1秒鐘的計數值。
if(aa==1)
if(th0>12)//預判斷,50ms內th0>12,1s內計數值將超過可計數的最大值65535
fm=1;//報警。
display4(ee);/顯示。
fm=0;//報警停止。
void timer1()interrupt 3//注意:定時器1的中斷序號為3
aa++;th1=0x4c;
tl1=0x5c;//實際電路振盪頻率,對tl1修正。
if(aa==10)//中斷10次,共。
tr0=0;//暫停計數。
aa=0;bb=th0;//讀出計數器資料。
cc=tl0;
tl0=0;//計數器清0
th0=0;
tr0=1;//重新啟動計數器。
感覺自己有些問題,能幫我看一下嗎
如果只是最近才出現這種想獨處的行為,以前沒有這種情況過很少出現這種情況,說明你不是乙個內向的人。既然不是內向的人卻又突然遠離人群,自己孤立自己,很可能是感覺自己最近沒受到重視,心裡突然覺得自己變卑微了,漸漸的也對周圍的人和事都失去了興趣,一心只想待在自己的世界裡。這是你私人空間太小了。你迫切的認識到...
我爺爺留下茶壺,有古董專家能幫我看一下嗎
首先 bai不管是不是古董du,是爺爺留下的,就應zhi該好好珍藏,dao因為它代表專著一種感情 這把壺因為沒有具屬體尺寸,不好定是盛酒的還是盛茶的。我覺得應該是茶壺。材質屬於黃銅,有人物雕,不過很模糊,古玩界說就是品相不好。年代應該是清末 的。是老東西,值得收藏 謝謝 不是很清晰,粗看是個銅壺,是...
能幫我看下這是公貓還是母貓嗎,大家幫看一下這是公貓還是母貓
根據你所提供的 來看的話,我覺得這只貓咪應該是公貓比較多。看了一下你這個 的話,它應該是公貓的一種,這個的話你可以詳細的去找寵物店契機人簽訂了一般都會免費的。就憑 這樣子看呢,應該是乙隻母貓,因為母貓和公貓的 還是有明顯的區別的。公貓咪是有兩個大蛋蛋的。母貓咪沒有。你可以用手摸摸。大家幫看一下這是公...