蓝桥杯单片机省赛第十届 难点
本屆賽題的難點(diǎn)就在于NE555頻率的測量。
目錄
NE555定時器的概述:
NE555周期、頻率的測量:
NE555定時器的概述:
在NE555內(nèi)部,有3個5K的電阻分壓,故稱555定時器。
555定時器的基本原理:
低電平觸發(fā)端TRIG和高電平觸發(fā)端THR:
兩者電壓均小于各自的參考電壓時,U0=1,放電管截至。
兩者電壓均大于各自的參考電壓時,U0=0,放電管導(dǎo)通。
NE555是一個純硬件的設(shè)計(jì),一旦硬件電路確定了,其功能也確定了,沒有可編程的部分。
在藍(lán)橋杯的板子上,555定時器是一個信號發(fā)生電路,通過電位器Rb3可改變輸出信號的頻率。
以上來源:B站小蜜蜂老師
信號輸出的頻率放在了P34引腳,而P34引腳恰好對應(yīng)著定時器0的計(jì)數(shù)信號輸入引腳。
NE555周期、頻率的測量:
需要兩個定時器:一個定時器0來計(jì)數(shù),計(jì)數(shù)P34引腳外面有多少脈沖信號;再用另一個定時器來實(shí)現(xiàn)計(jì)時功能(定時1秒,檢測1秒內(nèi)的周期)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?頻率方波圖?
測量周期方法:紅色代表正周期(高電平 1),藍(lán)色代表反周期(低電平 0)。測量正反周期就知道了整個周期的時間。
(1)規(guī)定多長的檢測時間進(jìn)入周期來分別檢測正負(fù)周期的時長?
這個時間一定要比最小的周期短,否則就不會準(zhǔn)確的分別檢測到正負(fù)周期的時長
理論上來說:進(jìn)行檢測的時間=2倍 最高頻率的周期 (至少)
在說明書中,NE555頻率在200HZ—20KHZ之間,所以我們檢測的時間就是40KHZ的周期,t=1/40000=0.000025秒=25微秒。也就是每25微秒檢測一次。
以上是理論值,這個板子我們最低可以用5微秒的定時器0來進(jìn)行檢測。(這樣檢測會更加的精確)
(2)測量周期:
① zheng_now=0
? ? ?flag由0變?yōu)?
? ? ?反周期時間增加,fan++
② 正周期時間增加,zheng++
? ? ?flag由1變?yōu)?
? ? ?fan_now=fan
③ 反周期時間增加,fan++,一直加到圖中綠點(diǎn)處
? ? ?這一段的反周期的時間會等到下進(jìn)入正周期的時候賦給fan_now
? ? ?flag由0變?yōu)?
? ? ?zheng_now=zheng;
? ? ?
?????這樣反周期的時間就是fan_how,正周期的時間就是zheng_now
? ? ?這樣無論如何我們對于正反周期的數(shù)據(jù)測量都是從一個完整的周期開始的。
? ? 程序:
void timer0() interrupt 1 {if(P34==0)//P34輸出低電平{fan++;if(t_flag==0){t_flag=1;zheng_now=zheng;zheng=0;}}else if(P34==1)//P34輸出高電平{zheng++;if(t_flag==1){t_flag=0;fan_now=fan;fan=0;}} }(3)規(guī)定的檢測時間多長才能檢測出一整個周期?
這個時間一定比最長周期長,來確保能夠完整地測量出一整個NE555信號的周期.
最低頻率:200HZ,周期為5毫秒。以上只是理論值,實(shí)際情況下,最低頻率可以達(dá)到100HZ,周期為10毫秒。(我們可以適當(dāng)延長這個時間)所以我們可以規(guī)定使用30毫秒,也就是說每一秒鐘內(nèi),花30毫秒的時間來進(jìn)行周期的采集。
用1毫秒定時器1,每一秒鐘進(jìn)行 采集一次,采集時間為30毫秒。
在中斷1中寫30毫秒采集一次周期的程序:在一秒鐘之內(nèi),到了969毫秒,開啟定時器0;到999毫秒的時候關(guān)閉定時器0,讀取周期數(shù)據(jù)。
注意:在stc軟件上復(fù)制過來的時候,要把定時器1的開始計(jì)時注釋掉。我們用的時候再打開。
程序:
void timer1() interrupt 3 {intr++;if(intr==969)//開始進(jìn)行采集{TR0=1;ET0=1;//開啟計(jì)時和中斷}else if(intr==999)//采集完畢{intr=0;TR0=0;ET0=0;time=(fan_now+zheng_now)*5;frep=1000000/time;} }這樣周期和頻率就測量完畢了。
總結(jié)
以上是生活随笔為你收集整理的蓝桥杯单片机省赛第十届 难点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【maya】骨骼绑定与蒙皮权重调整
- 下一篇: 查询mysql定时任务(事件)及事件的内