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