找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3830|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

MSP430單片機(jī)理論知識(shí)點(diǎn)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:806027 發(fā)表于 2020-7-20 21:12 來(lái)自觸屏版 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
縱觀微處理器的發(fā)展,一是朝著具有復(fù)雜數(shù)據(jù)運(yùn)算、高速通信、信息處理等功能的高性能計(jì)算機(jī)系統(tǒng)方向發(fā)展;二是產(chǎn)生了一種將中央處理器,存儲(chǔ)器,I/O接口電路以及連接他們的總線(xiàn)都集成一塊芯片上的計(jì)算機(jī)。單片機(jī)在設(shè)計(jì)上主要突出了控制功能,調(diào)整了接口配置,在單一芯片上制成了結(jié)構(gòu)完整的計(jì)算機(jī)。
目前最常用的3中可編程處理器:微控制器(MCU)、微處理器(MPU)、數(shù)字信號(hào)處理器(DSP);
單片機(jī)可應(yīng)用的領(lǐng)域:工業(yè)控制(工業(yè)機(jī)器人)、智能化儀器儀表(溫度濕度的測(cè)量)、日常生活鐘的電器產(chǎn)品(MP3)、計(jì)算機(jī)網(wǎng)絡(luò)與通信(以太網(wǎng))、計(jì)算機(jī)外部設(shè)備(微型打印機(jī));
單片機(jī)的結(jié)構(gòu)特點(diǎn):時(shí)鐘頻率比通用MPU和DSP低;功耗低;字長(zhǎng)一般為8-32位;內(nèi)存有限,通常小于1mb;具有幾個(gè)到上百個(gè)輸入/輸出引腳;
單片機(jī)應(yīng)用特點(diǎn):小巧靈活、成本低、易于產(chǎn)品化(組裝成智能式控制設(shè)備以及各種智能儀器儀表)、面向控制、抗干擾能力強(qiáng)、可以方便地實(shí)現(xiàn)多機(jī)和分布式控制,提高效率和可靠性;
MSP430是16位超低功耗、具有精簡(jiǎn)指令集的混合信號(hào)處理器(因其針對(duì)實(shí)際應(yīng)用需求,將多個(gè)不同功能的模擬電路、數(shù)字電路模塊和微處理器集成在一個(gè)芯片上,以提供“單片”解決方案(豐富的片內(nèi)外設(shè)));
MSP430的特點(diǎn):1.最顯著:超低功耗(電源電壓為1.8-3.6V,最高工作頻率25MHz)2.強(qiáng)大的處理能力(16位,采用精簡(jiǎn)指令集結(jié)構(gòu),一個(gè)時(shí)鐘周期可執(zhí)行一條指令)3.高性能模擬技術(shù)以及豐富的片內(nèi)外圍模塊4.系統(tǒng)工作穩(wěn)定5.方便高效的開(kāi)發(fā)環(huán)境
MSP430發(fā)展和應(yīng)用:推出X1XX--X6XX系列,其中X3xx、X4xx、X6xx具有LCD驅(qū)動(dòng)模塊,對(duì)提高系統(tǒng)的集成度較有利
MSP430微控制器架構(gòu):CPU具有16位數(shù)據(jù)總線(xiàn)、7種尋址模式,采用精簡(jiǎn)指令集(代碼更短、更緊湊、執(zhí)行速度更快),微控制器采用馮諾依曼架構(gòu)(程序指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器共用一個(gè)存儲(chǔ)空間,地址線(xiàn)和數(shù)據(jù)線(xiàn)共用一組;哈佛結(jié)構(gòu)是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)的,地址和數(shù)據(jù)是兩組獨(dú)立的總線(xiàn)),CPU、多種外設(shè)和時(shí)鐘系統(tǒng)通過(guò)存儲(chǔ)器地址總線(xiàn)和存儲(chǔ)器數(shù)據(jù)總線(xiàn)相連。
MSP430主要功能部件:CPU、存儲(chǔ)器、外圍模塊;存儲(chǔ)器分為程序存儲(chǔ)器(以字方式訪(fǎng)問(wèn))和數(shù)據(jù)存儲(chǔ)器(以字(16位)或字節(jié)(8位)方式訪(fǎng)問(wèn)),字通常編址在偶數(shù)單元,這個(gè)地址存放字的低字節(jié),后面緊鄰的奇數(shù)地址包含字的高字節(jié),8位運(yùn)算數(shù)據(jù)訪(fǎng)問(wèn)可以從偶數(shù)或奇數(shù)地址開(kāi)始,16運(yùn)算數(shù)據(jù)訪(fǎng)問(wèn)只能從偶數(shù)地址開(kāi)始。
MSP430所有內(nèi)存包括RAM、ROM、Flash、信息內(nèi)存、特殊功能寄存器、外設(shè)寄存器;
Flash:字母F標(biāo)識(shí),可擦除以及重新變成代碼空間;ROM字母C,價(jià)格低廉、適用于大容量;FRam字母FR,具備動(dòng)態(tài)區(qū)功能統(tǒng)一存儲(chǔ)器,訪(fǎng)問(wèn)速度快,實(shí)現(xiàn)零功率狀態(tài)保持;存儲(chǔ)器的每個(gè)儲(chǔ)存單元由一個(gè)字節(jié)構(gòu)成。
中斷向量表位于存儲(chǔ)空間的最后一段區(qū)域,從0FFE0h到)0FFFEh,中斷向量?jī)?yōu)先級(jí)隨字地址的增加而遞增。
所有的代碼、表、編碼常量都存儲(chǔ)在FLash/ROM內(nèi),其起始地址取決于Flash/ROM的容量。軟件能從Flash/ROM中存儲(chǔ)并讀出字或字節(jié)表。MSP430的Flash中含有信息內(nèi)存地址空間(只存數(shù)據(jù)),還含有引導(dǎo)內(nèi)存地址空間,引導(dǎo)程序在此,是一個(gè)能對(duì)Flash編程的外部接口之一(還有一個(gè)JTAG),此區(qū)域不會(huì)被其他應(yīng)用程序訪(fǎng)問(wèn),也不會(huì)被意外覆蓋。
RAM結(jié)尾地址取決于設(shè)備中的RAM的容量,RAM可以用來(lái)存儲(chǔ)代碼或數(shù)據(jù);
外設(shè)模塊包含了所有映射到地址空間的片上外設(shè)寄存器,這些模塊可以通過(guò)字或字節(jié)指令訪(fǎng)問(wèn)。
一些外設(shè)功能被映射到帶有特殊功能的內(nèi)存中,特殊功能寄存器有:中斷使能寄存器,中斷標(biāo)志寄存器,使能標(biāo)志寄存器;特殊功能寄存器僅能通過(guò)字節(jié)指令訪(fǎng)問(wèn)。
MSP430 CPU適用于高性能、低功耗應(yīng)用,RISC(精簡(jiǎn)指令集)類(lèi)型CPU體系結(jié)構(gòu)基于正交的短指令集(27條指令),采用3級(jí)指令流水線(xiàn)進(jìn)行譯碼,包含ALU、4個(gè)專(zhuān)用寄存器,12個(gè)通用寄存器。將常用的值和變量存到通用寄存器中,節(jié)省CPU周期。
ALU(算術(shù)邏輯單元)處理加法、減法、比較和邏輯運(yùn)算(AND、OR、XOR)。ALU運(yùn)算會(huì)影響狀態(tài)寄存器中的溢出、零標(biāo)志、負(fù)標(biāo)志和進(jìn)位標(biāo)志位。
4個(gè)專(zhuān)用寄存器(R0--R3)12個(gè)通用寄存器(R4--R15):R0:程序計(jì)數(shù)器(PC):16位的程序計(jì)數(shù)器存放著下一條將要從程序存儲(chǔ)器中取出的指令的地址,程序計(jì)數(shù)器的實(shí)現(xiàn)依賴(lài)于指令使用的字節(jié)數(shù)(2、4、6總是偶數(shù)),由于指令是16位的,故PC一定是在偶數(shù)地址對(duì)齊。
R1可用于保存堆棧指針(SP/R1)用戶(hù)可以使用堆棧存儲(chǔ)數(shù)據(jù)(PUSH指令來(lái)存數(shù)據(jù)、POP指令來(lái)取數(shù)據(jù))。用戶(hù)和編譯器均可使用堆棧為子函數(shù)傳遞參數(shù)(PUSH、POP用于調(diào)用函數(shù),被調(diào)用的函數(shù)使用SP來(lái)計(jì)算偏移);系統(tǒng)進(jìn)入子函數(shù)之前,把PC值存儲(chǔ)到堆棧中,從子函數(shù)返回時(shí),再取出堆棧中的值,重新賦值給PC。系統(tǒng)堆棧在系統(tǒng)進(jìn)入中斷服務(wù)程序時(shí),首先保護(hù)程序計(jì)數(shù)器(PC),然后將中斷矢量地址送入程序計(jì)數(shù)器,再執(zhí)行中斷服務(wù)程序,中斷服務(wù)程序執(zhí)行完畢,遇到返回指令時(shí),將堆棧的內(nèi)容送到程序計(jì)數(shù)器中,程序又回到原來(lái)的地方繼續(xù)執(zhí)行,在函數(shù)調(diào)用之前保存的寄存器變量、局部變量和參數(shù)都不會(huì)變。
R2狀態(tài)寄存器(SR):用來(lái)存儲(chǔ)狀態(tài)位和控制位,CPU根據(jù)運(yùn)算結(jié)果,自動(dòng)改變系統(tǒng)標(biāo)志,SR的預(yù)留位用來(lái)支持常量發(fā)生器。“8位 V”是溢出位,v=1 表示算術(shù)結(jié)果溢出有符號(hào)變量的范圍;“7位SCG1”系統(tǒng)時(shí)鐘生成器0,SCG1=1 表示DCO生成器被關(guān)閉;“6位SCG0”系統(tǒng)時(shí)鐘生成器1,SCG0=1 代表FLL+循環(huán)控制被關(guān)閉;“5位OSOFF 振蕩器關(guān)閉 OSOFF=1關(guān)閉LFXT1”;“4位CPUOFF CPU關(guān)閉 CPUOFF=1禁用CPU內(nèi)核”;“3位GIE一般中斷使能 GIE=1使能可屏蔽中斷”“2--0位”是狀態(tài)位,N——求反標(biāo)識(shí)“N=1字節(jié)或字運(yùn)算結(jié)果為負(fù)”Z——零標(biāo)識(shí)“Z=1字節(jié)或字運(yùn)算結(jié)果為0” C——進(jìn)位標(biāo)識(shí) “C=1字節(jié)或字運(yùn)算結(jié)果產(chǎn)生進(jìn)位”。
R2/R3(常量發(fā)生寄存器(CG1/CG2))根據(jù)源寄存器尋址模式(AS)的值,常量發(fā)生寄存器可以不需要通過(guò)代碼字或代碼內(nèi)存訪(fǎng)問(wèn)即可生成6個(gè)常用的常量�?梢詫�(shí)現(xiàn)仿真指令。
R4-R15通用寄存器可以用來(lái)保存數(shù)據(jù)值、地址指針或者索引值,可以通過(guò)字節(jié)或字指令訪(fǎng)問(wèn)它們。
寄存器尋址模式可以直接操作通用寄存器或特殊功能及寄存器。
RISC和CISC體系結(jié)構(gòu)主要特征:RISC結(jié)構(gòu)簡(jiǎn)單,易于設(shè)計(jì),程序執(zhí)行效率高;CISC:功能豐富,指令執(zhí)行更加靈活;
系統(tǒng)復(fù)位:3種復(fù)位信號(hào):掉電復(fù)位(BOR)、上電復(fù)位(POR)、上電清零(PUC);POR為高電平時(shí),狀態(tài)寄存器復(fù)位,程序計(jì)數(shù)器指向0FFFEh,外設(shè)寄存器全部恢復(fù)到上電狀態(tài);PUC將PC和SR復(fù)位,僅復(fù)位某些外設(shè)寄存器。
3種時(shí)鐘:輔助時(shí)鐘(ACLK一般用于低速外設(shè)模塊)、主系統(tǒng)時(shí)鐘(MCLK主要用于CPU和系統(tǒng))、子系統(tǒng)時(shí)鐘(SMCLK高速外設(shè)模塊);
XT1振蕩器(在PUC后開(kāi)始工作):工作在低頻(LF)模式(XTS=0)時(shí),提供支持32768Hz的超低功耗模式,晶振只需經(jīng)過(guò)XIN和XOUT兩個(gè)引腳連接;工作在高頻(HF)模式時(shí)(XTS=1),支持高頻晶振或諧振器。XT1在LF時(shí)通過(guò)XT1DRIVE提高驅(qū)動(dòng),在HF時(shí),通過(guò)XT1DRIVE適應(yīng)不同的晶振或振蕩器。在XT1BYPASS下輸入到XT1的外部時(shí)鐘信號(hào)(4MHz-32MHz),XT1自動(dòng)關(guān)閉電源;
XT2振蕩器(高速振蕩器):產(chǎn)生XT2CLK時(shí)鐘信號(hào),當(dāng)XT2CLK信號(hào)沒(méi)有用作ACLK、MCLK、SMCLK,可用控制位XT2OFF關(guān)閉XT2。系統(tǒng)頻率和系統(tǒng)的工作電壓密切相關(guān);
片內(nèi)數(shù)字控制振蕩器(DCO):是數(shù)字可控的RC振蕩器,其頻率隨供電電壓、環(huán)境溫度變化而具有一定的不穩(wěn)定性;可以用控制位SCG0關(guān)閉;
MPS430的中斷源有內(nèi)部中斷和外部中斷,分為復(fù)位中斷、不可屏蔽中斷(NMI不能被狀態(tài)寄存器中的通用中斷使能(GIE)位禁用)、可屏蔽中斷;所有可屏蔽中斷均能被CPU的中斷控制識(shí)別,所以GIE必須置位;系統(tǒng)復(fù)位中斷(振蕩器/閃存和硬復(fù)位)是不可能屏蔽中斷,具有最高的中斷向量和處理優(yōu)先級(jí);
不可屏蔽中斷(NMI)有兩個(gè)等級(jí):系統(tǒng)NMI(SNMI)和用戶(hù)(UNMI)。
可屏蔽中斷:每個(gè)都在外設(shè)寄存器或獨(dú)立模塊中有獨(dú)立的使能或禁用標(biāo)志,可屏蔽中斷都能被狀態(tài)寄存器(SR)中的通用中斷使能位(GIE)禁用。當(dāng)發(fā)生可屏蔽中斷事件時(shí),必須是GIE和中斷事件有關(guān)的模塊都中斷允許時(shí),該中斷才能有可能被響應(yīng);
中斷向量:最多可有64個(gè)中斷源,指向響應(yīng)中斷服務(wù)程序的起始位置
中斷是應(yīng)用程序的外部事件,外設(shè)中斷使能位和gie均置位中斷請(qǐng)求發(fā)出后就會(huì)調(diào)用ISR,中斷延遲時(shí)間為中斷事件開(kāi)始到中斷服務(wù)程序執(zhí)行之間的時(shí)間間隔,CPU識(shí)別并調(diào)用ISR6個(gè)時(shí)鐘周期:中斷發(fā)生時(shí),程序計(jì)數(shù)器(PC)和狀態(tài)寄存器(SR)被壓入到棧中,SCG0異常,將SR清零,設(shè)置GIE禁止中斷,此時(shí)其他ISR將不會(huì)被調(diào)用,中斷服務(wù)程序結(jié)尾的reti指令會(huì)將程序流重定位,且自動(dòng)彈出棧中SR和PC值。ISR處理時(shí)間必須小于中斷請(qǐng)求的時(shí)間間隔,否則棧會(huì)溢出。
端口能直接用于輸入/輸出,輸入/輸出操作都是通過(guò)傳送指令完成的,端口P1——P11和PJ都可以按位尋址,每一位可獨(dú)立用于輸入/輸出;相鄰兩個(gè)端口組合成端口對(duì)(分別命名為:PA、PB、PC、PD等),通過(guò)字節(jié)形式訪(fǎng)問(wèn)單獨(dú)端口,通過(guò)字形式訪(fǎng)問(wèn)端口對(duì);MSP430只有數(shù)據(jù)端口,可用端口的某一位或幾位來(lái)傳送狀態(tài)信息,來(lái)確定外設(shè)狀態(tài)。
端口特點(diǎn):1.類(lèi)型豐富:有P1——P11、PJ、S、COM端口;2.功能豐富:P1、P2口有中斷能力;3.寄存器豐富:P1和P2具有9個(gè)(或7個(gè))寄存器,其他有6個(gè)(或4個(gè))寄存器,通過(guò)設(shè)置寄存器,(1每個(gè)I/O口可以獨(dú)立編程,2輸入或輸出可任意組合,3P1、P2所有I/O口都具有邊沿可選的輸入中斷功能,4能使用所有指令對(duì)寄存器操作,5可設(shè)置I/O口的上拉或下拉功能,6可配置I/O驅(qū)動(dòng)能力);端口的數(shù)據(jù)輸出特性:MSP430輸入端口的最大漏電流為50na,輸入端口的漏電流對(duì)系統(tǒng)的耗電影響很大;每個(gè)端口的輸出晶體管都能夠限制輸出電流(最大約為25mA);
端口P1和P2具有輸入/輸出、中斷和外部模塊功能;可以通過(guò)9個(gè)(或7個(gè))控制寄存器的設(shè)置來(lái)實(shí)現(xiàn):1.PxDIR輸入/輸出方向寄存器:相互獨(dú)立的8為分別定義了8個(gè)引腳的輸入/輸出方向,8位在PUC(上電清零)后都被復(fù)位。使用輸入/輸出功能時(shí),應(yīng)該先定義端口的方向,作為輸入時(shí),只能讀,作為輸出時(shí),可讀可寫(xiě),對(duì)某位置位時(shí),表示對(duì)應(yīng)引腳設(shè)置為輸出方向,否則為輸入方向,“|=”按位或運(yùn)算;2.PxIN輸入寄存器:是只讀寄存器,用戶(hù)不能對(duì)其寫(xiě)入,對(duì)這種只讀寄存器寫(xiě)入,會(huì)在寫(xiě)操作有效期間增加電流消耗;3.PxOUT輸出寄存器:可讀可寫(xiě),讀寄存器時(shí),讀的值為上一次寫(xiě)入的值,若某引腳設(shè)置為輸入方向,則對(duì)該寄存器寫(xiě)操作不會(huì)改變引腳之前的狀態(tài);4.PxREN上拉或下拉電阻使能寄存器(提高信號(hào)的驅(qū)動(dòng)能力):該寄存器的每一位可以使能或禁用I/O引腳的上拉/下拉電阻,通過(guò)設(shè)置PxOUT相應(yīng)位來(lái)選擇引腳上拉或下拉功能:"0為禁止,1為使能”;5.PxSEL功能選擇寄存器:P1和P2端口還具有其他片內(nèi)外設(shè)功能,為減少引腳,將這些功能與芯片外的聯(lián)系通過(guò)復(fù)用P1和P2引腳的方式來(lái)實(shí)現(xiàn),P1SEL和P2SEL用來(lái)選擇引腳的I/O端口功能與外圍模塊功能,”0:選擇引腳為I/O端口,1:選擇引腳為外圍模塊功能“;6.PxDS輸出驅(qū)動(dòng)強(qiáng)度寄存器:每位設(shè)置引腳的輸出強(qiáng)度為高驅(qū)動(dòng)強(qiáng)度(“1”)或低驅(qū)動(dòng)強(qiáng)度(“0”),默認(rèn)值為低驅(qū)動(dòng)強(qiáng)度;7.PxIE中斷使能寄存器:該寄存器的8位與該端口的8個(gè)引腳一一對(duì)應(yīng),某一位置位表示允許對(duì)應(yīng)的引腳在電平變化(上升沿或下降沿)時(shí)產(chǎn)生中斷;8.PxIES中斷觸發(fā)沿選擇寄存器:如果允許Px口某個(gè)引腳中斷,還需定義該引腳的中斷觸發(fā)方式,該寄存器8位對(duì)應(yīng)Px口的8個(gè)引腳(”0:上升沿使相應(yīng)標(biāo)志置位,1:下降沿使相應(yīng)標(biāo)志置位“);9.PxIFG(”0:沒(méi)有中斷請(qǐng)求;1:有中斷請(qǐng)求“)中斷標(biāo)志寄存器:用來(lái)表示對(duì)應(yīng)引腳是否產(chǎn)生了有PxIES設(shè)定的電平跳變,如果GIE置位,引腳對(duì)應(yīng)的中斷使能寄存器PxIE位置位,則會(huì)向CPU請(qǐng)求中斷處理;中斷標(biāo)志共用一個(gè)中斷向量,屬于多源中斷,須用軟件來(lái)判定是對(duì)哪一個(gè)事件服務(wù),并將相應(yīng)的標(biāo)志復(fù)位,外部中斷事件的時(shí)間必須保持不低于1.5倍的MCLK的時(shí)間,以保證中斷請(qǐng)求被接受,且使相應(yīng)的中斷標(biāo)志位置位。
端口COM和S實(shí)現(xiàn)與液晶片的直接接口,COM端口為液晶片的公共端,S端口為液晶片的段碼端;
定時(shí)功能模塊是MSP430應(yīng)用系統(tǒng)中經(jīng)常用到的重要部分,可用來(lái)實(shí)現(xiàn)定時(shí)控制、延遲、頻率測(cè)量、脈寬測(cè)量和信號(hào)產(chǎn)生、信號(hào)檢測(cè)等等。定時(shí)信號(hào)可以用軟件和硬件兩種方法來(lái)獲得。
看門(mén)狗定時(shí)器(WDT):特性:8種軟件可選的定時(shí)時(shí)間,看門(mén)狗工作模式,定時(shí)器工作模式,帶密碼保護(hù)的WDT控制寄存器,適中源可選擇,為降低功耗,可停止,時(shí)鐘失效保護(hù);看門(mén)狗寄存器:1.計(jì)數(shù)單元(WDTCNT)是不能通過(guò)軟件直接訪(fǎng)問(wèn)的32位增計(jì)數(shù)器,是由所選定的時(shí)鐘電路產(chǎn)生的固定周期脈沖信號(hào)對(duì)計(jì)數(shù)器進(jìn)行加法計(jì)數(shù)。2.控制寄存器(WDTCTL)是一個(gè)16位寄存器,高8位用于存放訪(fǎng)問(wèn)密碼,低8位6位(WDT時(shí)鐘源有SMCLK和ACLK,時(shí)鐘源的選擇由控制位WDTSSEL確定;WDTHOLD(1是禁用)看門(mén)狗定時(shí)器停止位;WDTTMSEL:工作模式選擇(0看門(mén)狗模式1間隔定時(shí)器模式))用于WDT控制,其余兩位用于NMI(不可屏蔽中斷)的控制;
看門(mén)狗的工作模式:關(guān)閉狀態(tài)、定時(shí)模式、看門(mén)狗模式;處于定時(shí)模式下的 WDT 中斷屬于可屏蔽中斷。其中斷優(yōu)先級(jí)介于定時(shí)器 A 與定時(shí)器 B 之間;
看門(mén)狗模式下: 用戶(hù)軟件一都需要進(jìn)行如下操作:     進(jìn)行WDT的初始化:設(shè)置合適的時(shí)間。           周期性地對(duì)WDTCNT清零:防止WDT溢出。
WDT為什么能抗干擾:將WDT定時(shí)時(shí)間稍大于程序執(zhí)行一遍所用的時(shí)間,而且程序執(zhí)行過(guò)程中都有對(duì)看門(mén)狗定時(shí)器清零指令,不會(huì)產(chǎn)生溢出,使計(jì)數(shù)器清零(喂狗)重新計(jì)數(shù),如果干擾使程序跑飛,不會(huì)在WDT定時(shí)時(shí)間到之前執(zhí)行WDT清零指令,WDT溢出,從而產(chǎn)生系統(tǒng)復(fù)位,CPU需要重新運(yùn)行用戶(hù)程序,這樣程序就可以回到正常狀態(tài);
定時(shí)器 A (MSP430Flash型單片機(jī)都含有定時(shí)器A)由一個(gè)16位定時(shí)器和多路捕獲/比較通道(提高I/O 端口處理事務(wù)的能力和速度)組成,4種計(jì)數(shù)模式:00停止模式、01增計(jì)數(shù)模式、10連續(xù)計(jì)數(shù)模式、11增/減計(jì)數(shù)模式;停止模式:用于定時(shí)器暫停,不發(fā)生復(fù)位,寄存器所有現(xiàn)行內(nèi)容在該模式結(jié)束后仍可用; 增計(jì)數(shù)模式:(增到TAxCCR0降到0)捕獲/比較寄存器TAxCCR0為T(mén)imer_A增計(jì)數(shù)模式的周期寄存器,適用于周期小于65536的連續(xù)計(jì)數(shù)情況;連續(xù)計(jì)數(shù)模式:定時(shí)器從當(dāng)前值計(jì)數(shù)到0FFFFH后,又從0開(kāi)始重新計(jì)數(shù),TAxCCR0工作方式和其他捕獲/比較寄存器相同,不再作為周期寄存器;需要對(duì)稱(chēng)波形通常需要用到增/減計(jì)數(shù)模式,該模式計(jì)數(shù)方向鎖定,先增計(jì)數(shù)到TAxCCR0然后反向減計(jì)數(shù)到0;
增計(jì)數(shù)模式和連續(xù)計(jì)數(shù)模式區(qū)別:在連續(xù)計(jì)數(shù)模式中,很多時(shí)候會(huì)用到CCR0、CCR1等信號(hào),鬧鐘的例子最形象了,在周期循環(huán)定時(shí)中,CCR0、CCR1對(duì)應(yīng)不同時(shí)刻的事件
模數(shù)轉(zhuǎn)換器(ADC)從信號(hào)系統(tǒng)中采集信號(hào)電壓,經(jīng)過(guò)信號(hào)處理后,將其轉(zhuǎn)換為等效的數(shù)字量。A/D轉(zhuǎn)換,通常按取樣、保持、量化、編碼四個(gè)步驟進(jìn)行(基本過(guò)程);
取樣:是對(duì)模擬信號(hào)周期性抽取樣值;保持:在下一個(gè)取樣脈沖到來(lái)前,暫時(shí)保持取得的樣值脈沖幅度;量化:將樣值電壓變換為量化單位電壓整數(shù)倍的過(guò)程;編碼:量化后的離散量用相應(yīng)的二進(jìn)制碼表示;數(shù)字量計(jì)算方法:ADC內(nèi)核一般要使用兩個(gè)參考電壓VR+和VR-,一般這兩個(gè)電壓可以是用戶(hù)接入或者是使用內(nèi)部參考電壓。VR+是定義的轉(zhuǎn)換最大值,VR-則是轉(zhuǎn)換的最小值;公式:N = 4095*(Vin-Vr-)/(Vr+ - Vr-);


程序:
//ADC中斷程序:
#pragma vector=ADC_VECTOR
_interrupt void ADC12ISR(void)
{
uchar j;
while(ADC12CTL1&0x01)==1);//如果ADC忙,則等待,否則讀取ADC轉(zhuǎn)換數(shù)值
Flag=1;
TEMP=ADC12MEM0;//讀取ADC轉(zhuǎn)換值
Data_do(TEMP);//處理ADC值,用于顯示,數(shù)字量
Voltage_do(TEMP);//處理ADC值,用于顯示,模擬電壓值
for(j=0;j<15;j++)
{
LCD_DisplayADC();//顯示ADC數(shù)據(jù),ADC數(shù)字量;
LCD_DisplayVoltage();//顯示ADC的電壓值;
}
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表