菜鳥零基礎學電子之從屌絲向高富帥的第一步
打開你的IE瀏覽器,進入淘寶主頁,搜索MSP430單片機開發板,出來的寶貝令郎滿目,而且絕大部分都是帶有視頻教程和數據手冊的。這些視頻教程就是可以讓你少走很多彎路,首先你要學會怎么安裝IAR軟件,然后怎么設置軟件,創建一個新的工程。這是最基本的技能,一步一步的跟著他學,你會發現用msp430和51單片機是差不多一樣,有它的共性,也有它的不同。
學習單片機,就要盡可能的減少花費在尋址資料和閱讀大量數據手冊上的時間,應該把時間花在對程序的分析,和對寄存器設置的記憶上。在你買你的開發板時,你的賣家已經幫你把資料整理,把教程和例子都給你,那么就等你把它一一吸入你的大腦轉變成為你的知識。
吸星大法——學會利用開發板及視頻教程,盡可能的減少彎路,將更多時間用于實際的操作和開發中。
第二招:移花接木
移花接木,是一門與吸星大法相似的武功,但是移花接木的不同之處是利用自己以前用過的武功,轉接到新的武功中去,瞬間爆發出巨大的威力。
就51單片機和MSP430單片機來說,兩種單片機的編程上有它的相同的地方,也有它不同的地方,我們可以利用51單片機的程序只需要修改幾個字母,那么它的程序就能當做MSP430的程序,這種方法叫程序移植。C語言有很強的移植性,無論是什么單片機,只要是用C語言編程的,大多都可以相互移植,但是移植程序需要將程序模塊化,否則移植會變得更加困難。
51 程序模塊化移植msp430舉例說明
分別用51單片機和MSP430控制兩個燈,一個紅燈一個綠燈,兩個燈交替亮滅,時間間隔0.5秒。 要求:程序要用模塊化設計,并且可輕易移植
51單片機硬件電路:
紅燈陽極接上拉電阻,陰極接單片機P1.0引腳。
綠燈陽極接上拉電阻,陰極接單片機P1.1引腳
Msp430單片機硬件電路:
紅燈陽極接上拉電阻,陰極接單片機P2.0引腳。
綠燈陽極接上拉電阻,陰極接單片機P2.1引腳。
紅色字體就是51單片機與MSP430單片機在編程上的不同點。 51單片機需要用IO口時需要位聲明,例如 sbit P10 = P1^0; 而MSP430單片機不需要位定義,但是要設置設置IO的方向,例如 P2DIR |= BIT0; 把P20 IO引腳配置成輸出模式。
MSP430默認打開看門狗,所有在程序開始時要關掉。
藍色字體為延遲函數,每一種單片機的延遲函數都是不相同的,這取決于單片機單個機器周期所用的時間,所有在移植程序的時候不能移植延遲函數。但是為了其他程序移植方便,需要將兩種不同單片機的延遲函數的函數名取相同。
51單片機的延遲函數一般采用程序延遲,這種延遲方法不精確。
在本文中,MSP430的延遲方式采用MSP430函數庫中的延遲函數,__delay_cycles((long)(CPU_F*(double)x/1000.0))來做精確延遲,只需要用戶設置好晶振頻率即可。
黑色加粗字體,就是我們應用函數,這個應用函數就是一個可移植的模塊,這個模塊的程序無論移植到哪里都不需要修改直接就可以用。這就是程序模塊化移植思想。這個程序不僅僅能應用與MSP430,還能應用其他的單片機,比如STM32。
模塊化的程序有以下特點:
1. 在應用函數內不能出現 P10 = 1; 或者 P1OUT &=BIT0; 這些IO口配置的代碼 ,必須使用其他名詞來代替,比如#define Red_ON P10 = 0,我們就把P10口打開狀態用Red_ON來取代。
2. 模塊化的程序一般用英文來描述,比如說 Red_ON 意思紅燈開,意思表述很明確,所有模塊化程序的優點之一是方便閱讀和理解。
3.一般的IO配置,常用#define 來定義。并存放在頭文件內或者程序的開頭。

51單片機相關文章:51單片機教程
單片機相關文章:單片機教程
單片機相關文章:單片機視頻教程
單片機相關文章:單片機工作原理
評論