微控制器建議頻率計,能幫我看一下嗎?

2025-02-10 12:00:01 字數 1105 閱讀 5794

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因為它代表專著一種感情 這把壺因為沒有具屬體尺寸,不好定是盛酒的還是盛茶的。我覺得應該是茶壺。材質屬於黃銅,有人物雕,不過很模糊,古玩界說就是品相不好。年代應該是清末 的。是老東西,值得收藏 謝謝 不是很清晰,粗看是個銅壺,是...

能幫我看下這是公貓還是母貓嗎,大家幫看一下這是公貓還是母貓

根據你所提供的 來看的話,我覺得這只貓咪應該是公貓比較多。看了一下你這個 的話,它應該是公貓的一種,這個的話你可以詳細的去找寵物店契機人簽訂了一般都會免費的。就憑 這樣子看呢,應該是乙隻母貓,因為母貓和公貓的 還是有明顯的區別的。公貓咪是有兩個大蛋蛋的。母貓咪沒有。你可以用手摸摸。大家幫看一下這是公...