版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、6、 通用輸入輸出端口(General Purpose Input & Output)本節(jié)內(nèi)容GPIO 概述 MSP430的GPIO 特點(diǎn)MSP430 GPIO 寄存器GPIO 官方庫函數(shù)GPIO 應(yīng)用示例GPIO基本都是用于芯片與片外器件或設(shè)備的交互。檢測數(shù)字輸入,如鍵盤或開關(guān)信號(hào);驅(qū)動(dòng)LED,蜂鳴器或LCD等其他指示器;控制片外器件,較高級(jí)的使用可以用它們(通過程序)模擬很多器件的時(shí)序達(dá)到控制相應(yīng)器件的目的,比如模擬SPI和模擬總線等。GPIO 概述 (1/4)GPIOGPIO (General Purpose I/O),通用輸入輸出端口。應(yīng)用特性 GPIO是MCU與外界交互的重要途徑,它
2、具有如下的特性:可以獨(dú)立控制每個(gè)GPIO口的方向(輸入/輸出模式);可以獨(dú)立設(shè)置每個(gè)GPIO的輸出狀態(tài)(高/低電平);所有GPIO口在復(fù)位后都有個(gè)默認(rèn)方向(或輸入或輸出)。GPIO 概述 (2/4)寄存器概述 GPIO口都是按組規(guī)劃,有的芯片是8個(gè)GPIO口一組,有的是16個(gè)或32個(gè)為一組。一般每個(gè)GPIO口都需要做兩個(gè)寄存器位:一是選擇口線方向(輸入輸出)二是需要一個(gè)數(shù)據(jù)位(用于設(shè)置輸出數(shù)據(jù)和讀取輸入數(shù)據(jù))。所以一組GPIO口至少會(huì)有兩個(gè)寄存器GPIOxDIR和GPIOxDATA。GPIOxDIR:控制各個(gè)GPIO口的方向;GPIOxDATA:用于各個(gè)GPIO口的輸入輸出數(shù)據(jù)。GPIO 概述
3、 (3/4)寄存器工作圖GPIOxDATA 寄存器輸入鎖存輸出鎖存GPIOxDIR 寄存器三態(tài)門輸入緩沖讀寫I/O PIN選擇輸出選擇輸入禁止GPIO 概述 (4/4)端口類型豐富 有端口P1、P2、P3、P4、P5、P6、P7、P8、P9 、P10 、P11 、S和COM。產(chǎn)品因型號(hào)不同可包含上述所有或部分端口。如下表所示:MSP430的GPIO 特點(diǎn)(1/4)具有中斷能力的端口:P1和P2。 端口P1和P2具有輸入輸出、中斷和外部模塊功能。這些 功能可以通過它們各自9個(gè)控制寄存器的設(shè)置來實(shí)現(xiàn)。不具有中斷能力的端口:P3和其他端口 P3和其他端口沒有中斷能力,其余功能同P1和P2, 可以實(shí)現(xiàn)
4、輸入輸出功能和外圍模塊功能。端口COM和S 這些端口實(shí)現(xiàn)與液晶片的直接接口。COM端口為液晶片的公共端,S口為液晶片的段碼端。詳細(xì)使用方式,請參見本書第四章液晶驅(qū)動(dòng)模塊部分。MSP430的GPIO 特點(diǎn)(2/4)端口引腳還可以獨(dú)立的配置成特殊功能,例如:USART 通用串行同步/異步通信模塊;模擬信號(hào)比較器;模擬數(shù)字轉(zhuǎn)換器;其他功能 (請參見具體芯片的數(shù)據(jù)手冊)。MSP430各端口和功能,如下表所示:功能豐富MSP430的GPIO 特點(diǎn)(3/4) MSP430各種端口有大量的控制寄存器供用戶操作。最大限度提供了輸入/輸出的靈活性。每個(gè)I/O口都可以獨(dú)立編程。輸入或輸出可任意組合。P1和P2所有
5、I/O口都具有邊沿可選的輸入中斷功能??梢园醋止?jié)輸入輸出,也可按位進(jìn)行操作??稍O(shè)置I/O口的上拉或下拉功能??膳渲肐/O驅(qū)動(dòng)能力(高驅(qū)動(dòng)強(qiáng)度或低驅(qū)動(dòng)強(qiáng)度)。寄存器豐富MSP430的GPIO 特點(diǎn)(4/4)PxDIR 輸入輸出方向寄存器相互獨(dú)立的8位分別定義了8個(gè)引腳的輸入/輸出方向。使用輸入和輸出功能時(shí),應(yīng)該先定義端口的方向。PxDIR 配置: Bit = 1: 將端口引腳設(shè)置為輸出模式; Bit = 0: 將端口引腳設(shè)置為輸入模式。例,設(shè)置P1端口的P1.0引腳為輸出方向,其余引腳(P1.1P1.7)設(shè)置為輸入方向。 P1DIR = 0 x01; / 設(shè)置P1端口P1.0引腳為輸出方向GPI
6、O 寄存器(1/9)該寄存器是只讀寄存器,即用戶不能對它寫入。這個(gè)寄存器是只讀的,其中的每一位都反映了其對應(yīng)的I/O引腳的輸入信號(hào)(引腳配置為通用I/O)。PxIN 配置:Bit = 1: 輸入為高電平;Bit = 0: 輸入為低電平;PxIN 輸入寄存器GPIO 寄存器(2/9)輸出寄存器是可讀可寫的。這個(gè)寄存器的每個(gè)位都反映了寫入相應(yīng)輸出引腳的值。將需要的值寫入該寄存器,控制輸出引腳的電平狀態(tài)。PxOUT 配置:Bit = 1: 輸出為高電平;Bit = 0: 輸出為低電平;PxOUT 輸出寄存器GPIO 寄存器(3/9)2022/8/2614PxREN 上拉或下拉電阻使能寄存器Bit =
7、 1: 引腳選擇上拉; 上拉電阻簡單來說就是把電平拉高, 通常用4.710K的電阻接到Vcc電源。PxREN寄存器中的每一位可使能或禁用相應(yīng)I/O引腳的上拉/下拉電阻。PxREN 配置:Bit = 1: 使能上拉/下拉電阻;Bit = 0: 禁用上拉/下拉電阻。當(dāng)使能引腳上拉或下拉功能時(shí),通過 設(shè)置PxOUT相應(yīng)位來選擇。VCC引腳 Px.xRR引腳上拉GPIO 寄存器(4/9)2022/8/2615GPIO 寄存器(4/9)PxREN 上拉或下拉電阻使能寄存器Bit = 1: 引腳選擇上拉 上拉電阻簡單來說就是把電平拉高, 通常用4.710K的電阻接到Vcc電源。Bit = 0: 引腳選擇下
8、拉; 下拉電阻則是把電平拉低,電阻接到GND地線上。PxREN寄存器中的每一位可使能或禁用相應(yīng)I/O引腳的上拉/下拉電阻。PxREN 配置:Bit = 1: 使能上拉/下拉電阻;Bit = 0: 禁用上拉/下拉電阻。當(dāng)使能引腳上拉或下拉功能時(shí),通過 設(shè)置PxOUT相應(yīng)位來選擇。VCC引腳 Px.xRR引腳下拉I/O端口還具有其他片內(nèi)外設(shè)功能,為減少引腳,將這些外設(shè)功能與I/O端口引腳復(fù)用來實(shí)現(xiàn)。PxSEL來選擇引腳的I/O端口功能與外圍模塊功能。PxSEL的配置:Bit = 0: 選擇引腳為I/O端口;Bit = 1: 選擇引腳為外設(shè)功能。PxSEL 功能選擇寄存器GPIO 寄存器(5/9)P
9、xDS 輸出驅(qū)動(dòng)強(qiáng)度寄存器PxDS寄存器的每個(gè)位,設(shè)置引腳的輸出強(qiáng)度為高驅(qū)動(dòng)強(qiáng)度或低驅(qū)動(dòng)強(qiáng)度。默認(rèn)值為低驅(qū)動(dòng)強(qiáng)度。PxDS的配置:Bit = 0: 低驅(qū)動(dòng)強(qiáng)度;Bit = 1: 高驅(qū)動(dòng)強(qiáng)度。GPIO 寄存器(6/9)該寄存器的8位與端口的8個(gè)引腳一一對應(yīng),其中某一位置位表示允許對應(yīng)的引腳在電平變化(上升沿或下降沿)時(shí)產(chǎn)生中斷,否則,表示禁止該位的中斷。每個(gè)PxIE位使能的中斷請求都與相應(yīng)的PxIFG中斷標(biāo)志相關(guān)聯(lián),可通過寫PxOUT和PxDIR來設(shè)置PxIFG。PxIE的配置:Bit = 1: 允許中斷;Bit = 0: 禁止中斷。PxIE 中斷使能寄存器(僅中斷端口P1和P2)GPIO 寄存
10、器(7/9)PxIES 中斷觸發(fā)沿選擇寄存器(僅中斷端口P1和P2)如果允許Px口的某個(gè)引腳中斷(即PxIE和GIE已設(shè)置),還需定義該引腳的中斷觸發(fā)方式。該寄存器可讀可寫,寄存器的8位分別對應(yīng)Px口8個(gè)引腳PxIES的配置:Bit = 1: 下降沿使相應(yīng)中斷標(biāo)志置位;Bit = 0: 上升沿使相應(yīng)中斷標(biāo)志置位。GPIO 寄存器(8/9)該寄存器用來表示對應(yīng)引腳是否產(chǎn)生了由PxIES設(shè)定的電平跳變。如果在GIE置位,引腳對應(yīng)的中斷使能寄存器PxIE位置位,則會(huì)向CPU請求中斷處理。中斷標(biāo)志PxIFG.0PxIFG.7共用一個(gè)中斷向量, PxIFG.0PxIFG.7不會(huì)自動(dòng)復(fù)位。必須用軟件來判定
11、 是對哪一個(gè)事件服務(wù),并將相應(yīng)的標(biāo)志復(fù)位。PxIFG的配置:Bit = 0: 沒有中斷請求;Bit = 1: 有中斷請求。PxIFG 中斷標(biāo)志寄存器(僅中斷端口P1和P2)GPIO 寄存器(9/9)GPIO_setAsOutputPin() / 設(shè)置為輸出引腳GPIO_setAsInputPin() / 設(shè)置為輸入引腳GPIO_setAsInputPinWithPullDownresistor() / 設(shè)置為輸入上拉GPIO API被分成三組函數(shù):GPIO的引腳配置函數(shù),處理中斷的函數(shù),以及引腳狀態(tài)的函數(shù)。GPIO的引腳配置函數(shù)GPIO 官方庫函數(shù)(1/4)GPIO_setAsInputPin
12、WithPullUpresistor() / 設(shè)置為輸入下拉GPIO_setDriveStrength() / 設(shè)置引腳驅(qū)動(dòng)強(qiáng)度GPIO_setAsPeripheralModuleFunctionOutputPin() / 設(shè)置為外設(shè)輸出引腳GPIO_setAsPeripheralModuleFunctionInputPin() / 設(shè)置為外設(shè)輸入引腳GPIO的引腳配置函數(shù)(續(xù))GPIO 官方庫函數(shù)(2/4)GPIO 官方庫函數(shù)(3/4)GPIO_enableInterrupt() / 使能中斷GPIO_disbleInterrupt() / 禁止中斷GPIO_clearInterruptFlag() / 清除中斷標(biāo)志位GPIO_getInterruptStatus() / 獲取中斷狀態(tài)GPIO_inter
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 某著名企業(yè)三局鋁模施工控制
- 《GB-Z 18914-2014信息技術(shù) 軟件工程 CASE工具的采用指南》專題研究報(bào)告
- 《GBT 15824-2008熱作模具鋼熱疲勞試驗(yàn)方法》專題研究報(bào)告
- 《GBT 15609-2008彩色顯示器色度測量方法》專題研究報(bào)告
- 道路安全交通法班會(huì)課件
- 2025年病理科工作總結(jié)暨工作計(jì)劃
- 2026年貴州省遵義市輔警招聘試卷帶答案
- 2025-2026年蘇教版初三歷史上冊期末真題解析含答案
- 2026年廣東中山市高職單招數(shù)學(xué)考試題庫(含答案)
- 道具交通安全培訓(xùn)內(nèi)容課件
- 東莞初三上冊期末數(shù)學(xué)試卷
- 鸚鵡熱治療講課件
- 低碳-零碳產(chǎn)業(yè)園清潔能源供暖技術(shù)規(guī)范DB15-T 3994-2025
- 小學(xué)的思政教育
- 學(xué)術(shù)道德與學(xué)術(shù)規(guī)范嚴(yán)守誠信底線共建優(yōu)良學(xué)風(fēng)培訓(xùn)課件
- 門診預(yù)約掛號(hào)流程
- 光伏防火培訓(xùn)課件
- 2025中學(xué)生國防教育
- 電視節(jié)目編導(dǎo)與制作(全套課件147P)
- 《海外并購》課件
- 醫(yī)學(xué)預(yù)防科普
評(píng)論
0/150
提交評(píng)論