1樓:翟荃捷康德
開啟定時器作為時間基準,然後再設定仿巧幾個軟體計數器,比如,你設定定時哪大毀器每隔10毫秒中斷一次,軟體計數器a加1,當a數值=100時,就已經定時1秒了,軟體計數器b這時+1,當b數值=60時,就李備已經定時1分了,軟體計數器c這時+1,當c數值=60時,就已經定時1小時了。
就是這樣累積的定時,明白?
2樓:酈心任白萱
簡單啊。大致說來就是。
你先開啟個定時器,根據你選用的。
晶振。計算出你要用定時器定時的基準時間,就假設是10毫秒吧陸桐。
然後給定時器的thx,tlx寫入初值,開啟中斷,進行定時。
然後就等待中斷。
在你響應中斷的程式中,再次給微控制器送入初值,由於是10毫秒中斷一次,因此我們設定幾個「軟體計數器」
比如每此中斷,軟甲計數器+1,例衝雀如「軟體計數器1」散悉早在中斷程式中計數100次,則是10ms*100=1s
而「軟體計數器2」在1的基礎上繼續計數100次,則是1s*100=100s
而「軟體計數器3」在2的基礎上繼續計數36次,則是100s*36=3600s=1小時。
3樓:
我覺得你應該已經知道了。就是備早迴圈,中斷時間不可猜帶能定義為1小時。但是你可以仿兆雀取迴圈了多少箇中斷之後,才執行你的指令。
51微控制器執行一條語句的時間是多久
4樓:網友
51微控制器執行一條語句的時間與指令條件有關。
假設晶振為12mhz,則指令週期為1us,51分為1指令週期,2指令週期和4指令週期,1指令週期執行為1us,2指令週期執行為2us,4指令週期執行為4us。
微控制器(microcontrollers)是一種積體電路晶元,是採用超大規模積體電路技術把具有資料處理能力的**處理器cpu、隨機儲存器ram、唯讀儲存器rom、多種i/o口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調製電路、模擬多路轉換器、a/d轉換器等電路)整合到一塊矽片上構成的乙個小而完善的微型計算機系統,在工業控制領域廣泛應用。從上世紀80年代,由當時的4位、8位微控制器,發展到現在的300m的高速微控制器。
微控制器又稱單片微控制器,它不是完成某乙個邏輯功能的晶元,而是把乙個計算機系統整合到乙個晶元上。相當於乙個微型的計算機,和計算機相比,微控制器只缺少了i/o裝置。概括的講:
一塊晶元就成了一臺計算機。它的體積小、質量輕、**便宜、為學習、應用和開發提供了便利條件。同時,學習使用微控制器是瞭解計算機原理與結構的最佳選擇。
微控制器的使用領域已十分廣泛,如智慧型儀表、即時工控、通訊裝置、導航系統、家用電器等。各種產品一旦用上了微控制器,就能起到使產品公升級換代的功效,常在產品名稱前冠以形容詞——「智慧型型」,如智慧型型洗衣機等 。
5樓:匿名使用者
假設晶振為12mhz,則指令週期為1us
51分為1指令週期,2指令週期和4指令週期1指令週期執行為1us
2指令週期執行為2us
4指令週期執行為4us
1指令週期和2指令佔多數,4指令週期只有幾條而已。
6樓:匿名使用者
很短,0.**微秒吧,短得可憐。
51微控制器怎樣停止定時計數器,就是定時計數器完成了任務後不停下來,迴圈起來。怎麼樣停止定時器定時呢?
7樓:
51微控制器中的定時器控制字中有兩個控制位tr0、tr1,分別用於啟動、停止定時器的計數。
任何時刻,當tr0/tr1為1時,t0/t1定時器計數;當tr0/tr1為0時,t0/t1定時器停止計數。
置tr0/tr1為1的指令一般應該在初始化程式或主程式或其他程式中,不能在其自己的中斷服務程式中。因為cpu能夠進入執行該定時器的中斷服務程式,肯定是該定時器已經啟動並且計時已到。
8樓:網友
就是在它完成任務後,後面把tr0/tr1設定成0就行了,但前提是,你的。
定時器初始化程式不能寫在迴圈程式裡面,要不然迴圈回來,又開啟了!
9樓:網友
建議看下51的課本。裡面有關於定時器gate端使用的介紹,它可以完成你需要的這個功能。
51微控制器定時器中斷函式,定時器,還有while()這三個之間是怎麼跳轉,工作流程是什麼呢?
10樓:煙火夜空
①tr0=1;//啟動定時器0 這就是 定時器開始 工作了。
程式配置了 定時器的 中斷時間為 50ms(12mhz晶振),也就是每隔 50ms 就進入一次中斷函式。進入中斷後,程式又重新給定時器 定時 50ms,同時 對 中斷次數 進行 記錄(tt++)主程式只要查詢 記錄值(tt),就能知道 定時器 中斷了多少次了。
主函式的 while(1)表示 系統是個 迴圈系統,一直在 迴圈,不結束。當 定時器 產生中斷時,就會 暫停 主函式,這就稱為 中斷。等 中斷執行結束後,又 會的 主函式 被打斷的 地方,繼續執行主函式的 內容。
51微控制器定時的時候為什麼一定要開啟中斷?
11樓:最近的天涯海角
不一定要開啟中斷吧,如果只是為了單純的延時的話可以利用查詢法,如果定時時間到要採取操作最好還是用中斷。
12樓:網友
1、微控制器的中斷是乙個很高明的辦法。沒有中斷時微控制器只會順序執行主程式中的語句。
2、微控制器的定時器有自己的時鐘,開啟51微控制器的定時器後,微控制器一邊順序執行主程式的語句時,一邊定時器在計時。當計到你設定的值後,他需要產生中斷,然後暫停主程式語句,轉到中斷程式中執行你的命令。執行完命令後返回到主程式的順序語句中。
然後知道下一次中斷來臨,再次產生中斷。
3、要讓他能產生中斷,你就必須開中斷。這就像乙個控制開關,你不把開關開啟,燈怎麼會亮。
13樓:網友
也可以不開啊,如果不開就沒多大意義了。開中斷主要是能在第一時間解決問題。
14樓:網友
不開啟中斷使能位怎麼讓定時器工作啊。就像微控制器不供電它怎麼工作。對吧!
15樓:做而論道
一定要開啟中斷?
樓主怎麼會有這樣的想法?
51微控制器定時器初值用變數設定定時不準確,為什麼,求高手。TH0 65536 X 256,TL0 65536 X
南國有兒女 第一種用法是常用的用法,我剛看了一下你的程式,那個x在這個程式中可能就是那個a,a是uint,就是無符整型,而直接用1000,這個是int型,系統預設的,我感覺問題出在這,計算時出錯。你可以把x設成int型,再試試! 工作頻率12m,所以定時器脈衝頻率為1m 1000000 define...
51微控制器定時器中斷程式
m愛人 再次重新啟動。用c語言實現的,先要定義好定時器的初值,不管你使用多大的晶振,使用51微控制器,一般都是12分頻出來,也就可以得出一個機器週期,機器週期 12 n n指晶振頻率 假設你要定時的時間為m,那麼定時的初值為 m 機器週期 初值 th0 65536 初值 256 tl0 65536 ...
用51微控制器調光,51微控制器pwm調光電路
你的電路構思不太好,目的一樣但是電路構成的方法有很多的,你這種辦法比較耗費元件,並且因為過多的原件而導致可靠性下降。實現你的要求有簡單的辦法,就是採用微控制器產生可控的pwm pwm pulse width modulation 控制 脈衝寬度調製技術。通過對一系列脈衝的寬度進行調製,來等效地獲得所...