我剛學微控制器的,我需要編寫延時40ms的子程式,但不懂如何入

時間 2021-08-11 15:58:17

1樓:匿名使用者

首先需要確定晶振頻率,然後可以採用軟體延時和硬體延時兩種方法。

軟體延時就是靠編寫迴圈程式讓其迴圈執行來達到延時目的,另一種方法是硬體延時,用微控制器內部的定時器來產生延時效果,這種方法不佔用cpu資源,推薦用此方法。

首先需要確定晶振頻率,然後可以採用軟體延時和硬體延時兩種方法。

軟體延時就是靠編寫迴圈程式讓其迴圈執行來達到延時目的,另一種方法是硬體延時,用微控制器內部的定時器來產生延時效果,這種方法不佔用cpu資源,推薦用此方法。

假設晶振頻率12mhz,那麼一個機器週期為12/12mhz=1us軟體延時40ms:

mov r3,#200

diy1:mov r2,#100

diy:djnz r2,diy;執行一次2us,共執行20000次djnz r3,diy1

硬體延時涉及到定時器,需要計算定時初值,40ms可以採用定時器的模式1,最大可延時65ms,這個涉及到的東西較多,我就不具體說了,你可以檢視微控制器的相關書籍,上面講的很詳細。

2樓:匿名使用者

告訴我你的晶振頻率。還有你是要彙編還是c?都說一下。

我想從事微控制器類的工作,我想問在51微控制器和ARM深入以後

看你目標方向。你要是只考慮 wince 做系統,那麼不需要學 linux unix 鐵定不用學的。微控制器沒有作業系統,也不需要學 linux 只要你的微控制器開發 windows 下面可以實現就不需要。但問題是,你想把自己的能力限制死麼?linux 現在是免費而且開源的。而 wince 是收費的,...

關於繼續學習的問題,微控制器,我在學習微控制器,把C語言已經學完了,微控制器剛學幾課,聽說繼續學習彙編可以更好理解微控制器

其實都要學,彙編是基礎,c是高階語言,微控制器的話多練練吧,做做一些小東西,然後慢慢做系統,最後看能不能叫人做專案的帶帶你 彙編了解,重點c語言,c語言是電子方面的主流!彙編程式設計是最好的,但是彙編難學,c語言更簡單易學,而且硬體描述呀,微控制器之類的都基本上可以用c語言的,而且現在兩種語言的編譯...

我想學微控制器,可是微控制器的原理我看書看不懂呀?怎麼才能學好微控制器呀

自己買個微控制器開發板,裡面會有很多資料,不一定要功能多,當做入門就行,慢慢的除錯,就會對微控制器有一定的瞭解了,不過在此之前你要好好的學學組合語言或者c語言,建議你先學習c語言,另外還得看看數電和模擬。 學習順序可參考 1 計算機組成與結構 計算機原理 組合語言 計算機系統結構 2 資料結構 4 ...