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

正文內容

基于msp430單片機的學習型遙控器設計(編輯修改稿)

2025-07-24 18:29 本頁面
 

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