国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MSP430單片機(jī)C語言編程與實(shí)踐(入門篇)之一 ----MSP430單片機(jī)簡(jiǎn)介和LaunchPad開發(fā)板

這篇具有很好參考價(jià)值的文章主要介紹了MSP430單片機(jī)C語言編程與實(shí)踐(入門篇)之一 ----MSP430單片機(jī)簡(jiǎn)介和LaunchPad開發(fā)板。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1.1?MSP430單片機(jī)的架構(gòu)

? ? ? ?單片機(jī)是一個(gè)綜合的模擬和數(shù)字系統(tǒng),根據(jù)其豐富的片上資源,再添加一些外圍電路,通過軟件編程后就可以完成檢測(cè)、控制等任務(wù),形成一個(gè)實(shí)用的電子裝置或設(shè)備。MSP430是美國德州儀器公司(TI,Texas Instruments)推出的系列單片機(jī),因其超低功耗和豐富的片上資源而受到業(yè)界的廣泛推崇和應(yīng)用。MSP430單片機(jī)是一個(gè)混合信號(hào)處理器(MSP的英文意思是Mixed Signal Processor),它的內(nèi)部有一個(gè)16位的RISC(精簡(jiǎn)指令集,Reduced Instruction Set ComputerCPU、許多外圍模塊、和一個(gè)靈活的時(shí)鐘系統(tǒng),通過一個(gè)共用的馮·諾依曼存儲(chǔ)地址總線(MAB)和一個(gè)存儲(chǔ)數(shù)據(jù)總線(MDB)相互連接。

1.1.1 MSP430單片機(jī)的特點(diǎn)和框圖

MSP430單片機(jī)的特點(diǎn) (以MSP430G2x53系列為例)

·低供電電壓范圍:1.8V至3.6V

·超低功耗

活躍模式(Active Mode):在1MHz和2.2V供電下,230uA

備用模式(Standby Mode):0.5uA

關(guān)閉模式(Off Mode):0.1uA

·五個(gè)節(jié)能模式

·從備用狀態(tài)超快速喚醒,喚醒時(shí)間少于1uS

·16位精簡(jiǎn)指令結(jié)構(gòu),指令周期時(shí)間62.5nS

·基礎(chǔ)時(shí)鐘模塊設(shè)置

? ? -內(nèi)部頻率可達(dá)16MHz,并有4個(gè)校準(zhǔn)的頻率

? ? -內(nèi)部非常低耗低頻(LF)振蕩器

? ? -32 kHz 晶振

? ? -外部數(shù)字時(shí)鐘源

·兩個(gè)16位定時(shí)器,每個(gè)定時(shí)器有3個(gè)捕獲/比較寄存器

·可達(dá)24個(gè)電容觸摸使能的I/O管腳

·通用串行通信接口(USCI)

? ? -增強(qiáng)的UART,支持自動(dòng)波特率檢測(cè)(LIN)

? ? -IrDA編碼器和解碼器

? ? -同步SPI

? ? -I2C

·片上比較器,用于模擬信號(hào)比較功能或者斜坡(Slope)模數(shù)轉(zhuǎn)換

·10位200-ksps(每秒20萬采樣率)的模數(shù)轉(zhuǎn)換器,有內(nèi)部參考電壓,采樣和保持以及自動(dòng)掃描(Autoscan)

·欠壓檢測(cè)器(Brownout Detector)

·串行板上(Onboard)編程,無需外部編程電壓,通過安全熔絲可編程的代碼保護(hù)

·有Spy-Bi-Wire接口的片上仿真邏輯

·封裝選擇

-TSSOP:20腳,28腳

-PDIP:20腳

-QFN:32腳

? ? ? ?MSP430G2x53系列的方框圖如圖1.1所示,對(duì)于不同的封裝其內(nèi)部的模塊有所變化。

texas instruments的單片機(jī),c語言

圖1.1 ?MSP430G2x53系列的方框圖

? ? ? ?圖1.1中,左上角為時(shí)鐘系統(tǒng),可以產(chǎn)生ACLK、SMCLK、MCLK三個(gè)時(shí)鐘,其中ACLK、SMCLK可用于外圍模塊,MCLK用于CPU和系統(tǒng)。然后自左向右為Flash和RAM存儲(chǔ)區(qū)、十位ADC、端口P1、P2和P3,其中P1和P2具有中斷能力。另外,P1、P2和P3這三個(gè)端口都有內(nèi)置的上/下拉電阻。最左側(cè)中間為16位的CPU,最高頻率為16MHz,CPU內(nèi)部包含16個(gè)寄存器。左下角為仿真及JTAG接口等。圖1.1的下方自左向右又依次為欠壓保護(hù)、比較器A+、看門狗WDT+、定時(shí)器0_A3、定時(shí)器1_A3和USCI A0 及USCI B0。CPU和各個(gè)外圍模塊間通過存儲(chǔ)器地址總線(MAB)和存儲(chǔ)器數(shù)據(jù)總線(MDB)進(jìn)行連接。

1.1.2 ?CPU簡(jiǎn)介

? ? ? ?由圖1.2可見,CPU的主要部件是一個(gè)16位的算術(shù)邏輯單元(16-bit ALUALU—Arithmetic Logic Unit),這個(gè)ALU就完成了所有的數(shù)學(xué)運(yùn)算和邏輯運(yùn)算,類似于我們的大腦,能進(jìn)行運(yùn)算和對(duì)事物的判斷等。注意圖中ALU的運(yùn)算結(jié)果會(huì)產(chǎn)生一些零(Z)、進(jìn)借位(C)、溢出(V)、負(fù)(N)的標(biāo)志位,這些信息是程序中需要判斷并以此決定程序進(jìn)程的一些條件,特別是用匯編語言時(shí),經(jīng)常要跟這些標(biāo)志位打交道。

? ? ? ?CPU中除了ALU,自上而下是16個(gè)寄存器R0~R15。這些寄存器中,R4~R15是一般的寄存器(General Purpose),R0~R3是比較特殊的。其中R0稱為PCProgram Counter),即程序計(jì)數(shù)器,這個(gè)部件很關(guān)鍵,它就是一個(gè)指揮棒,引導(dǎo)著CPU的運(yùn)行,而且CPU每執(zhí)行完一條指令,PC就自動(dòng)加2(或加4、加6),并指向下一條指令(地址),CPU再執(zhí)行完這條指令,PC又自動(dòng)加,再指向下一條指令,使整個(gè)程序被逐條的執(zhí)行下去。

texas instruments的單片機(jī),c語言

圖1.2 ?CPU的方框圖

? ? ? ?R1稱為SP(Stack Pointer),即堆棧指針。什么是堆棧呢?看一下倉庫或車站、碼頭里的貨物,都是一層一層疊放的,那就是堆棧。計(jì)算機(jī)(單片機(jī))處理數(shù)據(jù)時(shí)需要把數(shù)據(jù)臨時(shí)存放在一些存儲(chǔ)區(qū)域中,就像疊放貨物一樣,一個(gè)一個(gè)地放進(jìn)去,再一個(gè)一個(gè)地取出來,叫做壓棧和出棧。這個(gè)堆棧指針就指向棧頂,并隨著棧頂?shù)母淖兌詣?dòng)變化,它永遠(yuǎn)指向棧頂。這樣,程序中就可以通過堆棧指針來找到需要操作和處理的數(shù)據(jù)。這一般是匯編語言編程的事情了,我們用C語言時(shí)是不用管這些事情的,CCS或IAR這些開發(fā)環(huán)境已經(jīng)在后臺(tái)為我們處理好這些事情了,這也是C語言編程的好處之一(你不用管太多的事情,專注于你的程序就行了)。

? ? ? ?R2稱為SR(Status Register),即狀態(tài)寄存器。狀態(tài)寄存器隨時(shí)記錄著程序運(yùn)行過程中所產(chǎn)生的各種信息,比如前面提到的計(jì)算結(jié)果為0(Z)、進(jìn)借位(C)、負(fù)(N)、溢出(V)等,還有CPU及晶振的狀態(tài)等。匯編語言中需要通過SR來獲取這些信息,并進(jìn)行相應(yīng)的判斷和處理。

? ? ? ?R2和R3還聯(lián)合在一起產(chǎn)生一些常用的常數(shù)。稱為常數(shù)發(fā)生器CG1,CG2,(CG即Constant Generator),這些常數(shù)配合其它指令可以產(chǎn)生一些高效的模擬指令。

? ? ? ?R4~R15是通用寄存器,如果你用匯編的話,這十二個(gè)寄存器就是你天天要打交道的對(duì)象了,數(shù)據(jù)的傳遞和獲取經(jīng)常要在這些寄存器中進(jìn)行。

1.1.3 ?存儲(chǔ)器地址空間

? ? ? ?MSP430采用馮-諾依曼的存儲(chǔ)器結(jié)構(gòu)(另一種叫哈佛結(jié)構(gòu)),其寄存器、代碼和數(shù)據(jù)存儲(chǔ)的地址都統(tǒng)一安排在同一個(gè)大的存儲(chǔ)空間,如圖1.3中的0h~1FFFFh,總存儲(chǔ)空間為128KB。其中,代碼的存取總是在偶數(shù)地址,數(shù)據(jù)的存取可為字節(jié)或字。前面提到的R0~R15又叫特殊功能寄存器(SFR,Special Function Registers),分布在0h~0Fh地址,它們的家就在那兒。再往上是8位的外圍模塊區(qū),在010h~0FFh地址;16位的外圍模塊區(qū),在0100h~01FFh地址。然后是RAM區(qū),從0200h地址開始,其結(jié)束的地址取決于RAM區(qū)的大小,不同的器件其結(jié)束地址不同。RAM可用于存儲(chǔ)代碼或數(shù)據(jù)。Flash/ROM區(qū)的起始地址取決于Flash/ROM區(qū)的大小,不同的器件其起始地址不同,對(duì)于Flash/ROM區(qū)小于60KB的器件,其Flash/ROM區(qū)的結(jié)束地址為0FFFFh。Flash可用于存儲(chǔ)代碼和數(shù)據(jù),字或字節(jié)表可存儲(chǔ)于并用于Flash/ROM中,在使用前無需復(fù)制表到RAM中。中斷向量表(Interrupt Vector Table,即各中斷的入口地址)被安排在Flash/ROM地址空間的高端16個(gè)字中,最高優(yōu)先級(jí)的中斷向量在Flash/ROM的最高字地址0FFFEh。每個(gè)字占用2個(gè)字節(jié),最高優(yōu)先級(jí)的中斷向量占用0FFFEh和0FFFFh兩個(gè)字節(jié),因此,其起始地址為0FFFEh。另一片F(xiàn)lash/ROM區(qū)分布在10000h~1FFFFh。

texas instruments的單片機(jī),c語言

圖1.3? 存儲(chǔ)器圖

1.1.4 ?存儲(chǔ)器組織

? ? ? ?如圖1.4所示,字節(jié)位于奇數(shù)或偶數(shù)地址,字只能位于偶數(shù)地址。一個(gè)字節(jié)由八位二進(jìn)制數(shù)構(gòu)成,就像八個(gè)格子,每個(gè)格子里的數(shù)要么是1,要么是0,只有這兩種狀態(tài)。字是由兩個(gè)字節(jié)組成的,分別稱為低字節(jié)和高字節(jié)。一個(gè)字的低字節(jié)永遠(yuǎn)是一個(gè)偶數(shù)地址,其高字節(jié)為下一個(gè)奇數(shù)地址。例如,如果一個(gè)數(shù)據(jù)字位于xxx4h地址,則這個(gè)數(shù)據(jù)的低字節(jié)位于xxx4h,其高字節(jié)位于xxx5h。位(Bit)、字節(jié)(Byte)、字(Word)之間的關(guān)系請(qǐng)看圖1.4所示。

texas instruments的單片機(jī),c語言

圖1.4? 用字節(jié)組織的存儲(chǔ)器中的位、字節(jié)和字

1.2?MSP430G2 LaunchPad簡(jiǎn)介

? ? ?為便于初學(xué)者應(yīng)用和開發(fā)MSP430單片機(jī),TI公司推出了許多單片機(jī)的開發(fā)板,MSP430G2 LaunchPad即為其中的一款針對(duì)G2系列的開發(fā)實(shí)驗(yàn)板。圖1.5為該開發(fā)板的實(shí)物圖,圖中虛線的上方為仿真器部分,通過USB接口可直接與電腦相連,調(diào)試好的程序可以通過該仿真器直接下載到開發(fā)板的單片機(jī)中運(yùn)行。虛線下方為單片機(jī)實(shí)驗(yàn)板,單片機(jī)的20個(gè)管腳都通過插排對(duì)外引出,并帶有一個(gè)復(fù)位鍵。P1.3管腳外接了一個(gè)按鍵,P1.0和P1.6通過跳線分別連接了一個(gè)紅色和綠色的LED。

texas instruments的單片機(jī),c語言

圖1.5 ?MSP430G2 LaunchPad實(shí)物圖

? ? ? ? 圖1.6為該開發(fā)板的原理圖(不包括仿真器部分)。

texas instruments的單片機(jī),c語言

圖1.6? MSP430G2 LaunchPad原理圖

? ? ? ?MSP430G2開發(fā)板雖小,但我們可以外接按鍵、傳感器、無線模塊、驅(qū)動(dòng)模塊、LCD等,形成一個(gè)完整的檢測(cè)或控制系統(tǒng)。圖1.7為對(duì)開發(fā)板各個(gè)部分的說明。

texas instruments的單片機(jī),c語言

圖1.7 MSP430G2 LaunchPad各部分說明

? ? ? ?上述對(duì)MSP430單片機(jī)的介紹及對(duì)LaunchPad開發(fā)板的說明,簡(jiǎn)單了解即可。我們?cè)诤罄m(xù)的討論中會(huì)逐步展開、掌握和應(yīng)用的。文章來源地址http://www.zghlxwxcb.cn/news/detail-841036.html

到了這里,關(guān)于MSP430單片機(jī)C語言編程與實(shí)踐(入門篇)之一 ----MSP430單片機(jī)簡(jiǎn)介和LaunchPad開發(fā)板的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • MSP430F5529單片機(jī)入門學(xué)習(xí)筆記1

    MSP430F5529單片機(jī)入門學(xué)習(xí)筆記1

    本筆記整理自B站教程 MSP430F5529單片機(jī)學(xué)習(xí)視頻匯總 右邊部分寫錯(cuò)了,看的時(shí)候注意 注意#include“driverlib.h”頭文件時(shí)要注意: 添加MSP430F5xx_6xx文件夾到當(dāng)前工程下 MSP430F5xx_6xx文件夾是在導(dǎo)入的msp430ware_3_80_13_03包中找 把上述MSP430F5xx_6xx文件夾的路徑包含進(jìn)來 有三個(gè)系統(tǒng)時(shí)鐘可

    2024年02月06日
    瀏覽(24)
  • 51單片機(jī)——數(shù)碼管、按鍵、矩陣按鍵C語言入門編程

    51單片機(jī)——數(shù)碼管、按鍵、矩陣按鍵C語言入門編程

    目錄 數(shù)碼管: 1.靜態(tài)數(shù)碼管:第二位數(shù)碼管顯示0 2.動(dòng)態(tài)數(shù)碼管:每一位數(shù)碼管依次顯示對(duì)應(yīng)位數(shù) 按鍵: 1.獨(dú)立按鍵:按下按鍵對(duì)應(yīng)LED亮滅 矩陣按鍵: 1.矩陣按鍵:按下的每個(gè)按鍵,數(shù)碼管顯示對(duì)應(yīng)鍵碼 ???????? 數(shù)碼管按段數(shù)可分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管

    2024年01月23日
    瀏覽(22)
  • 51單片機(jī)——LCD1602液晶屏 C語言入門編程

    51單片機(jī)——LCD1602液晶屏 C語言入門編程

    目錄 LCD1602: 數(shù)據(jù)指令:? 字節(jié)寫入時(shí)序: 1. LCD1602:LCD1602液晶上顯示字符信息 ????????1602液晶也叫1602字符型液晶,它能顯示2行字符信息,每行又能顯示16個(gè)字符。它是一種專門用來顯示字母、數(shù)字、符號(hào)的點(diǎn)陣型液晶模塊。它是由若 干個(gè)5x7的點(diǎn)陣字符位組成,每個(gè)點(diǎn)

    2024年02月05日
    瀏覽(18)
  • 單片機(jī)之從C語言基礎(chǔ)到專家編程 - 4 C語言基礎(chǔ) - 4.8 運(yùn)算符

    1.算術(shù)運(yùn)算符 運(yùn)算符 名稱 備注 + 加法運(yùn)算符 雙目運(yùn)算,a + b - 減法運(yùn)算符 雙目運(yùn)算,a - b * 乘法運(yùn)算符 雙目運(yùn)算,a * b / 除法運(yùn)算符 雙目運(yùn)算,a / b % 求余運(yùn)算符 雙目運(yùn)算, a % b ++ 自增運(yùn)算符 單目運(yùn)算, a++ – 自減運(yùn)算符 單目運(yùn)算, a– 2.關(guān)系運(yùn)算符 運(yùn)算符 名稱 數(shù)學(xué)中的表

    2024年02月12日
    瀏覽(52)
  • 【TB作品】MSP430單片機(jī) Proteus仿真 DS18B20溫度 LCD1602顯示器 溫度讀取與顯示

    【TB作品】MSP430單片機(jī) Proteus仿真 DS18B20溫度 LCD1602顯示器 溫度讀取與顯示

    效果圖如下: 首先,讓我們先來說說DS18B20集成電路。 ? DS18B20是一款采用OneWire通訊協(xié)議的集成電路,因此只需要一條線就可以與微控制器通訊。它不需要額外的電源,但是也有外部電源輸入端口。 ? OneWire設(shè)備具有64位的ROM代碼。如我們之前所說,這64位的前8位是家族代碼,中間

    2024年02月08日
    瀏覽(24)
  • Go語言的安全編程實(shí)踐與最佳實(shí)踐

    Go語言,也被稱為Golang,是一種現(xiàn)代的編程語言,由Google的Robert Griesemer、Rob Pike和Ken Thompson于2009年開發(fā)。Go語言旨在簡(jiǎn)化系統(tǒng)級(jí)編程,提供高性能和可擴(kuò)展性。隨著Go語言的發(fā)展,安全編程變得越來越重要。本文旨在探討Go語言的安全編程實(shí)踐與最佳實(shí)踐,幫助讀者更好地編寫

    2024年02月20日
    瀏覽(44)
  • [編程]UML語言:理論之光與實(shí)踐之惑

    UML(統(tǒng)一建模語言)是軟件工程領(lǐng)域中具有悠久歷史的一種模型化語言工具。它通過標(biāo)準(zhǔn)化的圖形符號(hào)體系,使得軟件系統(tǒng)的藍(lán)圖能夠被更直觀地表達(dá)出來。UML誕生于20世紀(jì)90年代,經(jīng)過多年積累,已擁有完備的理論體系和廣泛的實(shí)踐應(yīng)用。 在理論上,UML被公認(rèn)為是描述軟件結(jié)構(gòu)和處

    2024年02月05日
    瀏覽(14)
  • 【Go】Go語言并發(fā)編程:原理、實(shí)踐與優(yōu)化

    在當(dāng)今的計(jì)算機(jī)世界,多核處理器和并發(fā)編程已經(jīng)成為提高程序執(zhí)行效率的關(guān)鍵。Go語言作為一門極富創(chuàng)新性的編程語言,憑借其強(qiáng)大的并發(fā)能力,在這方面表現(xiàn)出色。本文將深入探討Go語言并發(fā)編程的原理,通過實(shí)際代碼示例展示其應(yīng)用,并討論可能的優(yōu)化策略。 在了解G

    2024年02月10日
    瀏覽(24)
  • New Bing 編程提效實(shí)踐 - 語言識(shí)別功能

    New Bing 編程提效實(shí)踐 - 語言識(shí)別功能

    作者 :明明如月學(xué)長, CSDN 博客專家,螞蟻集團(tuán)高級(jí) Java 工程師,《性能優(yōu)化方法論》作者、《解鎖大廠思維:剖析《阿里巴巴Java開發(fā)手冊(cè)》》、《再學(xué)經(jīng)典:《EffectiveJava》獨(dú)家解析》專欄作者。 熱門文章推薦 : (1)《人工智能時(shí)代,軟件工程師們將會(huì)被取代?》 (2)

    2023年04月09日
    瀏覽(18)
  • 學(xué)習(xí)單片機(jī)的秘訣:實(shí)踐與堅(jiān)持

    學(xué)習(xí)單片機(jī)的秘訣:實(shí)踐與堅(jiān)持

    在學(xué)習(xí)單片機(jī)時(shí),將實(shí)踐與學(xué)習(xí)結(jié)合起來是一個(gè)很好的方法。不要一上來就死磕指令和名詞,而是邊學(xué)邊做實(shí)驗(yàn),循序漸進(jìn)地理解和應(yīng)用指令。通過實(shí)驗(yàn),你能親身感受到指令的控制效果,增強(qiáng)對(duì)單片機(jī)的理解和興趣。 學(xué)習(xí)單片機(jī)不是一蹴而就的過程,需要持之以恒。合理安

    2024年02月14日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包