freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于msp430單片機(jī)的學(xué)習(xí)型遙控器設(shè)計(編輯修改稿)

2025-07-24 18:29 本頁面
 

【文章內(nèi)容簡介】 成了很多功能模塊,可以應(yīng)用于各個方面,使得用一片 MSP430 芯片就能完成以前要用多片芯片組合才能完成的功能,大大地縮小了產(chǎn)品的體積,并且降低了成本。因此,MSP430 系列一經(jīng)推出,就受到了業(yè)內(nèi)人士的歡迎。迄今為止,MSP430 已經(jīng)廣泛應(yīng)用于各個領(lǐng)域,尤其是便攜式儀器儀表、監(jiān)測、醫(yī)療器械以及汽車電子等領(lǐng)域。本章將對 MSP430 的基礎(chǔ)特性進(jìn)行簡明扼要地介紹,以及說明課題設(shè)計到的一些寄存器和外圍硬件電路,對基礎(chǔ)特性的了解是操作任何一種微處理器所必備的,本章內(nèi)容將展開課題的具體實踐操作。 MSP430單片機(jī)簡介當(dāng)前市場上存在很多種微處理器,每種微處理器都有其特色,針對不同的場合選擇合適的微處理器非常重要。MSP430 單片機(jī)是 TI 公司推出的一個新型單片機(jī)系列,其主要特點(diǎn)是:(1)超低功耗。擁有5種低功耗模式,以適應(yīng)不同的需要。CPU 從低功耗模式被喚醒,這個過程最多只需要6 μs,因此,在某些需要迅速做出反應(yīng)的應(yīng)用中,CPU 能夠及時退出低功耗模式,進(jìn)入工作模式。 (2)靈活的時鐘使用方式除了片內(nèi)集成一個晶體振蕩器外,還可外接 1~2個晶體振蕩器。不同的內(nèi)部功能模塊可根據(jù)需要使用不同的晶體振蕩器,在不需要時可以通過設(shè)置寄存器將其關(guān)閉,以降低功耗。 (3)高速的運(yùn)算能力16位RISC架構(gòu),125 ns指令周期。 (4)靈活快速的編程方式可通過JTAG和BSL兩種方式向CPU內(nèi)裝載程序。(5)高保密性只需按照特定的方式將MSP430內(nèi)部的熔絲熔斷,JTAG 口便被物理性地阻斷。BSL方式所需要的密碼長達(dá)256位,排列組合出來的密碼量為2的256次冪,如此巨大的數(shù)量被破解的可能性微乎其微。(6)~ V。課題所設(shè)計的遙控器,選用的單片機(jī)型號是MSP430F1496,其性能特點(diǎn)如下:低工作電壓(~ V);超低功耗( μA);16位精簡指令結(jié)構(gòu)(RISC);150 ns指令周期;帶有3個捕獲/比較器的16位定時器;片內(nèi)集成96段LCD驅(qū)動器;片內(nèi)有JTAG調(diào)試接口和FLASH型存儲器,可在線串行編程;開發(fā)環(huán)境十分方便高效,支持C語言和匯編語言。 IAR編譯器的實用 編寫程序的過程主要包括編寫代碼、編譯、調(diào)試,這3個過程是交替進(jìn)行的。編譯器的生產(chǎn)廠商通常將代碼編輯器、編譯器、調(diào)試器集成在同一個軟件包中,稱為集成調(diào)試環(huán)境,這樣的軟件包簡稱為編譯器。熟練掌握編譯器的使用方法是非常重要的,往往能夠大幅度提高編寫、調(diào)試代碼的效率。 開發(fā)調(diào)試環(huán)境要開發(fā)一個完整的軟件,其源文件通常會有多個,而且文件類型也有多種。為了便于使用和管理,將這些文件的集合稱為 project (工程或者項目) 。其中有幾個文件是專門用來記錄編譯器設(shè)置、文件列表等開發(fā)環(huán)境的,稱為工程文件。開發(fā)軟件的時候,首先要創(chuàng)建一個 project ,設(shè)置工程參數(shù),然后才可以編譯和鏈接。EW430 除了創(chuàng)建工程,還需要創(chuàng)建一個workspace(工程集合)。工程集合中可以只有一個工程。每個工程中也可以只有一個源文件,視需要而定。源文件的種類可以是C文件、匯編文件,也可以是庫文件。創(chuàng)建工程的過程為:(1)從File菜單中選擇New選項,創(chuàng)建一個workspace。(2)從Project菜單中選擇Creat New Project選項。出現(xiàn)的對話框如圖31所示。其中Empty project表示建一個空的工程,asm表示建一個純使用匯編語言的工程,C++表示建一個使用C++語言的工程,C表示建一個使用C語言的工程。選擇后3種都會為用戶生成一個主程序的框架,并對編譯和鏈接的選項選擇相關(guān)的設(shè)置。不過,它不會包辦所有的工作,一般用戶在后面仍然需要按照自己的要求進(jìn)一步調(diào)整選項。圖31 新建一個工程選擇使用C語言的工程,按OK按鈕。出現(xiàn)對話框,要求填寫工程名稱以及保存路徑,工程名稱填寫為test。填寫完畢后,按OK按鈕出現(xiàn)創(chuàng)建完畢的工程。EW430還同時為同一個工程創(chuàng)建了兩種編譯選項:Debug和Release。Debug編譯時在目標(biāo)文件中包含調(diào)試信息,進(jìn)行低級別(low)優(yōu)化,用于調(diào)試程序。Release編譯時不在目標(biāo)文件中包含調(diào)試信息,且對目標(biāo)代碼文件進(jìn)行了優(yōu)化。用戶也可以創(chuàng)建自己的編譯方式。 (3)向工程中添加其他文件。將鼠標(biāo)移動到工程窗口上,單擊右鍵,出現(xiàn)如圖32所示的彈出菜單,添加需要的文件。圖32 添加文件 編譯鏈接項目在編譯開始之前先要對編譯器的參數(shù)作一些設(shè)置。在圖32中的彈出菜單中選擇Options選項,注意單擊右鍵之前鼠標(biāo)要放在testDebug欄上,而不是放在工程中的文件()上。如果是放在工程中的文件上,設(shè)置的僅是這個源文件的參數(shù),而不是整個工程的參數(shù)。編譯器允許每個源文件使用各自的編譯、鏈接參數(shù)。在圖32中的彈出菜單中選擇Options選項后,出現(xiàn)Options對話框,如圖33所示。圖33 編譯參數(shù)設(shè)置在這里,只簡單介紹一些常用的設(shè)置。(1)在General Options選項Target選項卡中Device選項設(shè)置使用的MSP430單片機(jī)類型。(2)在Debugger選項Setup選項卡中選擇調(diào)試方式,如圖34所示。FET Debuger選擇 JTAG 調(diào)試方式。Simulator選擇軟件模擬方式。圖34 選擇仿真方式(3)在FET Debugger選項Setup選項卡Connection選項中選擇并口調(diào)試或USB調(diào)試,如圖35所示,其中IAR軟件自帶并口與USB接口驅(qū)動程序。圖35 選擇調(diào)試方式這里選擇并口調(diào)試方式,即Texas Instrument LPTIF選項 調(diào)試本節(jié)所講的調(diào)試針對的是通過JTAG端口連接硬件進(jìn)行仿真的情況。連接好JTAG仿真器后,在菜單Project選項中選擇Download and Debug選項或者單擊圖標(biāo)按鈕,正常情況下,將會進(jìn)入調(diào)試狀態(tài),如圖 36 所示。進(jìn)入調(diào)試界面之前,編譯器會檢查項目中的文件在修改后是否被編譯過,如果沒有,先進(jìn)行編譯和鏈接。這樣可使生成的目標(biāo)代碼和源文件總是保持一致。圖36 調(diào)試顯示界面下面介紹一下調(diào)試中一些按鈕的功能 Reset 復(fù)位 Step Over 單步運(yùn)行。遇到函數(shù)調(diào)用時,將遇到的函數(shù)當(dāng)作單獨(dú)的一步執(zhí)行。 Step Into 單步運(yùn)行。遇到函數(shù)調(diào)用時,進(jìn)入所遇到的函數(shù)中,并執(zhí)行一句語句。 Step Out 單步運(yùn)行。將本函數(shù)執(zhí)行完畢,退出本函數(shù)后停止程序運(yùn)行,等待用戶新的命令。 Next Statement 單步運(yùn)行。 C 語言的一句語句中還可以包含多個表達(dá)式, Step Over、Step Into、Step Out 將每一個表達(dá)式作為一步。Next Statement不考慮包含的表達(dá)式,直接執(zhí)行 C 語言完整的一句語句。 Run to Cursor 運(yùn)行到光標(biāo)所在位置停下。 Go 運(yùn)行。 break 暫停。 Stop the current debug session 終止調(diào)試。 Toggle Breakpoint 建立或者取消光標(biāo)所在位置的斷點(diǎn)。 MSP430定時器的應(yīng)用 MSP430系列單片機(jī)的定時器相當(dāng)豐富。有基本定時器BT、定時器TA、定時器TB、看門狗定時器WDT等。其中看門狗主要用于程序的完善性控制等方面;基本定時器除了可以用于定時之外,還可以用于液晶顯示的時序控制;TA、TB基本相同,而且功能復(fù)雜,這里將簡單介紹。 看門狗定時器看門狗的目的在于阻止程序跑飛,其原理在于:看門狗定時器設(shè)置一定時間,比如250毫秒,這個時間是所有用戶程序一定能在此時間內(nèi)執(zhí)行完該程序的一個時間,設(shè)置好這個定時時間之后,所有用戶程序就必須在這個設(shè)定的時間內(nèi)將看門狗計數(shù)器的值清零,使計數(shù)器重新技術(shù),如果CPU執(zhí)行程序正確,則看門狗計數(shù)器始終能在規(guī)定的時間內(nèi)被用戶程序清零而時鐘不能計數(shù)到250毫秒,而當(dāng)CPU執(zhí)行程序跑飛(PC值指向用戶程序以外),看門狗計數(shù)器得不到用戶程序清零,能計數(shù)到250毫秒,發(fā)出溢出,導(dǎo)致CPU復(fù)位,這樣CPU又重新運(yùn)行用戶程序。所以使用看門狗時,用戶軟件必須周期性地在WDTCTL的CNTCL位寫“1”,使得看門狗計數(shù)器復(fù)位以防止其超過設(shè)定的定時時間。 基本定時器BT是MSP430X3XX、MSP430F4XX系列器件中的模塊。它也是一個定時器,它通常向其它外圍模塊提供低頻控制信號。BT可以是兩個8位定時器也可以是一個16位定時器,它有兩個計數(shù)單元(BTCNTBTCNT2)與一個控制單元(BTCTL)。通過控制寄存器BTCTL的設(shè)置,用戶可以方便地使用BT。 定時器ATA、TB基本相同,這里將詳細(xì)講解定時器A。定時器A是MSP430所有系列都有的模塊,是一個用途非常廣泛的通用16位定時/計數(shù)器。它有一下一些特點(diǎn):16位計數(shù)器,四種工作模式;多種可選的計數(shù)器時鐘源;多個具有可配置輸入端的捕獲/比較寄存器;有8種輸出模式的多個可配置的輸出單元;Timer_A可支持同時進(jìn)行的多種時序控制、多個捕獲/比較功能、多種輸出波形(PWM),也可以是幾種功能的組合。每個捕獲/比較寄存器可以以硬件方式支持實現(xiàn)串行通訊。Timer_A具有中斷能力。中斷可由計數(shù)器溢出引起,也可來自具有捕獲或比較功能的捕獲/比較寄存器。每個捕獲/比較模塊可獨(dú)立編程,由捕獲或比較外部信號以產(chǎn)生中斷,外部信號可以是上升沿,也可以是下降沿,也可都是。在不同的MSP430器件中,Timer_A模塊中的捕獲/比較器的數(shù)量不一樣,比如在MSP430F435中Timer_A模塊含有3個捕獲/比較器(簡稱CCR),因此也經(jīng)常稱Timer_A3,表示該模塊含有3個CCR。如圖37,是Timer_A的結(jié)構(gòu)原理圖,圖中,可以將Timer_A分解成幾個部分:計數(shù)器部分、捕獲/比較寄存器、輸出單元。其中計數(shù)器部分完成時鐘源的選擇、分頻、模式控制、計數(shù)等功能。捕獲/比較器用于捕獲事件發(fā)生的時間或產(chǎn)生時間間隔。輸出模塊用于產(chǎn)生用戶需要的輸出信號。定時器A的寄存器中TACTL為最主要的控制寄存器,它決定TA的輸入時鐘信號、TA的工作模式、TA的開啟與停止、中斷的申請等工作。TACTL寄存器為16位寄存器,必須使用字指令對其訪問。該寄存器在POR信號后全部復(fù)位,但在PUC信號后不受影響。圖37 定時器A的結(jié)構(gòu)下面將以設(shè)計一段時間的定時為例講述各種定時器如何初始化。⒈BT的初始化:(假設(shè)允許中斷) IE2 |= BTIE。 //Enable BT interrupt BTCTL = BTSSEL+BTIP2+BTIP1+BTIP0。 _EINT()。 //Enable interrupts⒉WDT的初始化:(假設(shè)允許中斷) WDTCTL = WDT_MDLY_32。 IE1 |= WDTIE。 _EINT()。⒊TA的初始化:(假設(shè)允許中斷) TACTL = TASSEL1 + TAC。 CCTL0 = CCIE。 CCR0 = 50000。 TACTL |= MC1。 _EINT()。 MSP430與鍵盤接口電路實驗 在單片機(jī)應(yīng)用中,鍵盤是人機(jī)對話的輸入設(shè)備,借助鍵盤可向系設(shè)置參數(shù),發(fā)出控制指令等。在課題設(shè)計中,采用了44鍵盤,在這個小節(jié)中,將從硬件和軟件介紹一下MSP430單片機(jī)的鍵盤設(shè)計。 鍵盤程序的一般書寫方法鍵盤是由若干上述的獨(dú)立按鍵按一定的規(guī)則組合而成的。也就是說,鍵盤的基本元素是按鍵,那么消除按鍵的抖動是必須的。同時,鍵盤是由若干按鍵構(gòu)成的,那么判斷是哪一個按下則需要通過判鍵得到鍵值。得到鍵值之后,還有一件事情就是等待按下的按鍵松開(注意:如果系統(tǒng)中使用了看門狗,則在這里要不斷地清空看門狗,因為假如使用者長時間按著鍵,則看門狗超時、系統(tǒng)復(fù)位)。綜合起來,一般的鍵盤程序有如下3個步驟:消除按鍵抖動(如果使用硬件,則可忽略);判斷是哪個按鍵按下,識別鍵碼;等待按鍵松開。在鍵盤中又分為獨(dú)立式鍵盤和行列掃描式鍵盤,在課題中,采用了44鍵盤,屬于行列掃描式鍵盤,在這里,介紹一下行列掃描式鍵盤。 矩陣鍵盤原理分析行列掃描式鍵盤又叫矩陣鍵盤,矩陣鍵盤電路主要是對MSP430單片機(jī)的一般I/O口來進(jìn)行擴(kuò)展設(shè)計。矩陣鍵盤由行線和列線組成。矩陣鍵盤通過掃描來實現(xiàn)捕獲鍵盤的輸入。所謂掃描就是單片機(jī)不斷地對行線一次設(shè)置低電平,然后檢查列線的輸入狀態(tài),從而確定鍵盤是否有輸入。如圖38,為鍵盤的電路設(shè)計圖。圖38 鍵盤電路在圖38中,、。、。列線為輸入口,行線為輸出口。,所以在沒有任何鍵被按下時,所有列線上都為高電平。當(dāng)往相應(yīng)的行線上輸出低電平,如果鍵盤上某個鍵被按下時,則某個列線就為低電平,單片機(jī)讀取該列線的狀態(tài)就可以判斷某個被按下,這就是鍵盤的掃描原理。由于MSP430單片機(jī)的P1口具有中斷功能,因此在軟件設(shè)計時,可以采用一般I/O口來實現(xiàn)鍵盤輸入,也可以利用P1口的中斷功能來實現(xiàn)鍵盤輸入。 一般I/0口方式的程序設(shè)計根據(jù)上面的原理分析,軟件主要是基于掃描實現(xiàn)的。軟件通過設(shè)置行線上的輸出,讀取列線上的狀態(tài)來獲取鍵盤的輸入值,整個程序處于鍵盤的掃描狀態(tài)。在實際的應(yīng)用中,有時候按鍵的抖動可能引起誤判,所以在程序設(shè)計時必須考慮消除抖動。如圖39所示為程序流程圖。圖39 一般I/O方式程序設(shè)計流程圖由圖39可以看出,整個程序包括端口初始化、鍵盤掃描、抖動消除和鍵盤識別等幾個部分,下面具體分析鍵盤掃描程序。鍵盤掃描程序主要是等待按鍵的按下,如果有按鍵按下,則進(jìn)行按鍵輸入分析,在進(jìn)行鍵盤掃描的時候,為了簡單起見,在等待鍵盤輸入的時候采取的是死循環(huán)等待方式,在實際中可以采用其它靈活的方式,具體情況根據(jù)系統(tǒng)的需求來確定,下面為具體的程序。int KeyScan(void){ int nP10,nP11,nP12,nP13。 int nRes = 0。 for(。) { //讀取各個管腳的狀態(tài) nP10 = P1IN amp。 BIT0。 nP11 = (P1IN
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1