初學者如何學習微控制器
微控制器是一門實用技術,我們學習它已經不是為了應付考試了,微控制器如何學習呢?下面小編整理關於學習微控制器的方法,供你參考。
微控制器學習步驟
第一步:數字I/O的使用
使用按鈕輸入訊號,發光二極體顯示輸出電平,就可以學習引腳的數字I/O功能,在按下某個按鈕後,某發光二極體發亮,這就是數位電路中組合邏輯的功能,雖然很簡單,但是可以學習一般的微控制器程式設計思想,例如,必須設定很多暫存器對引腳進行初始化處理,才能使引腳具備有數字輸入和輸出輸出功能。每使用微控制器的一個功能,就要對控制該功能的暫存器進行設定,這就是微控制器程式設計的特點,千萬不要怕麻煩,所有的微控制器都是這樣
第二步:定時器的使用
學會定時器的使用,就可以用微控制器實現時序電路,時序電路的功能是強大的,在工業、家用電氣裝置的控制中有很多應用,例如,可以用微控制器實現一個具有一個按鈕的樓道燈開關,該開關在按鈕按下一次後,燈亮3分鐘後自動滅,當按鈕連續按下兩次後,燈常亮不滅,當按鈕按下時間超過2s,則燈滅。數字積體電路可以實現時序電路,可程式設計邏輯器件PLD可以實現時序電路,可程式設計控制器PLC也可以實現時序電路,但是隻有微控制器實現起來最簡單,成本最低。
定時器的使用是非常重要的,邏輯加時間控制是微控制器使用的基礎。
第三步:中斷
微控制器的特點是一段程式反覆執行,程式中的每個指令的執行都需要一定的執行時間,如果程式沒有執行到某指令,則該指令的動作就不會發生,這樣就會耽誤很多快速發生的事情,例如,按鈕按下時的下降沿。要使微控制器在程式正常執行過程中,對快速動作做出反應,就必須使用微控制器的中斷功能,該功能就是在快速動作發生後,微控制器中斷正常執行的程式,處理快速發生的動作,處理完成後,在返回執行正常的程式。中斷功能使用中的困難是需要精確地知道什麼時候不允許中斷髮生遮蔽中斷、什麼時候允許中斷髮生開中斷,需要設定哪些暫存器才能使某 種中斷起作用,中斷開始時,程式應該幹什麼,中斷完成後,程式應該幹什麼等等 。
中斷學會後,就可以編制更復雜結構的程式,這樣的程式可以幹著一件事,監視著一件事,一旦監視的事情發生,就中斷正在乾的事情,處理監視的事情,當然也可以監視多個事情,形象的比喻,中斷功能使微控制器具有吃著碗裡的,看著鍋裡的功能。
以上三步學會,就相當於降龍十八掌武功,會了三掌了,可以勉強護身。
第四步:與PC機進行RS232通訊
微控制器都有USART介面,特別是MSP430系列中很多型號,都具有兩個USART介面。USART介面不能直接與PC機的RS232介面連線,它們之間的邏輯電平不同,需要使用一個MAX3232晶片進行電平轉換。
USART介面的使用是非常重要的,通過該介面,可以使微控制器與PC機之間交換資訊,雖然RS232通訊並不先進,但是對於介面的學習是非常重要的。正確使用USART介面,需要學習通訊協議,PC機的RS232介面程式設計等等知識。試想,微控制器實驗板上的資料顯示在PC機監視器上,而PC機的鍵盤訊號可以在微控制器實驗板上得到顯示,將是多麼有意思的事情啊!
第五步:學會A/D轉換
MAP430微控制器帶有多通道12位A/D轉換器,通過這些A/D轉換器可以使微控制器操作模擬量,顯示和檢測電壓、電流等訊號。學習時注意模擬地與數字地、參考電壓、取樣時間,轉換速率,轉換誤差等概念
使用A/D轉換功能的簡單的例子是設計一個電壓表。
第六步:學會PCI、I2C介面和液晶顯示器介面
這些介面的使用可以使微控制器更容易連線外部裝置,在擴充套件微控制器功能方面非常重要。
第七步:學會比較、捕捉、PWM功能
這些功能可以使微控制器能夠控制電機,檢測轉速訊號,實現電機調速器等控制起功能。 如果以上七步都學會,就可以設計一般的應用系統,相當於學會十招降龍十八掌,可以出手攻擊了。
第八步:學習USB介面、TCP/IP介面、各種工業匯流排的硬體與軟體設計學習USB介面、TCP/IP介面、各種工業匯流排的硬體與軟體設計是非常重要的,因為這是當前產品開發的發展方向。
微控制器位運算的一些技巧
1、把小寫字母變為大寫字母,清位:‘a’ & 0xDF,結果為‘A’
2、把大寫字母變為小寫字母,置位:‘A’ | 0x20,結果為‘a’
3、對某位取反, 某個位與1 異或即為取反 第1 位取反:0xFF ^ 0x01,運算的結果為0xFE
4、部分乘法的化簡,與2 的n 次方相乘,相當於左移n 位,例如0x02 乘以4,0x02 << 2,這裡的2,表示4 = 2 的‘2’次方,結果為8
5、部分除法的化簡,與2 的n 次方相除,相當於右移n 位,例如0x08 除以4,0x08 >> 2,這裡的2,表示4 = 2 的‘2’次方,結果為2
6、部分求餘的化簡,與2 的n 次方求餘,跟2 的n 次方-1 與,如15跟8 求餘,相當於15 & 7,這裡的7 是8-1 = 7,結果為8
7、其他乘法的化簡,例如0x08 * 7 = 0x08 * 8 - 1 = 0x08 << 3 - 0x08
8、迴圈移位,對一個16 位的數迴圈左移n 位,0xXX >> 16 - n | 0xXX << n
9、迴圈移位,對一個16 位的數迴圈右移n 位,0xXX << 16 - n | 0xXX >> n
成人高考的學習方式