第5章S12輸入_輸出端口模塊及其應(yīng)用實(shí)例_第1頁(yè)
第5章S12輸入_輸出端口模塊及其應(yīng)用實(shí)例_第2頁(yè)
第5章S12輸入_輸出端口模塊及其應(yīng)用實(shí)例_第3頁(yè)
第5章S12輸入_輸出端口模塊及其應(yīng)用實(shí)例_第4頁(yè)
第5章S12輸入_輸出端口模塊及其應(yīng)用實(shí)例_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)輸出端口模塊及其應(yīng) 用實(shí)例用實(shí)例 合肥工業(yè)大學(xué)合肥工業(yè)大學(xué) 機(jī)械與汽車(chē)工程學(xué)院機(jī)械與汽車(chē)工程學(xué)院 滕滕 勤勤 2014.42014.4 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 本章內(nèi)容本章內(nèi)容 p 5.1 5.1 并行并行I/OI/O接口簡(jiǎn)介接口簡(jiǎn)介 p 5.2 5.2 輸入輸入/ /輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 p 5.3 5.3 輸入輸入/ /輸出端口應(yīng)用實(shí)例輸出端口應(yīng)用實(shí)例 基于HCS12的嵌入式系

2、統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.1 5.1 并行并行I/OI/O接口簡(jiǎn)介接口簡(jiǎn)介 p【I/OI/O接口接口(Input/Output Interface)(Input/Output Interface)】MCUMCU與外界進(jìn)行交互與外界進(jìn)行交互 的重要通道。的重要通道。 p【常見(jiàn)【常見(jiàn)I/OI/O接口】接口】人機(jī)交互接口,如開(kāi)關(guān)、鍵盤(pán)、指示燈、顯人機(jī)交互接口,如開(kāi)關(guān)、鍵盤(pán)、指示燈、顯 示器示器(LED(LED、LCD)LCD)等,或者外接其它輸入、輸出設(shè)備。等,或者外接其它輸入、輸出設(shè)備。 pI/OI/O接口電路的主要作

3、用:接口電路的主要作用: (1 1)協(xié)調(diào)高速)協(xié)調(diào)高速CPUCPU與低速外設(shè)之間的速度匹配與低速外設(shè)之間的速度匹配 (2 2)提供輸入、輸出過(guò)程中的狀態(tài)信號(hào))提供輸入、輸出過(guò)程中的狀態(tài)信號(hào) 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.1 5.1 并行并行I/OI/O接口簡(jiǎn)介接口簡(jiǎn)介 【并行【并行I/OI/O接口組成】接口組成】 p【端口】【端口】接口電路中用以完成信息傳送、并可通過(guò)地址讀接口電路中用以完成信息傳送、并可通過(guò)地址讀/ /寫(xiě)寫(xiě) 的寄存器。的寄存器。 p【并行【并行I/OI/O接口】接口】由若干個(gè)端

4、口(由若干個(gè)端口(PortPort)組成:一個(gè)接口在物)組成:一個(gè)接口在物 理上有若干個(gè)端口,與不同的寄存器相對(duì)應(yīng),規(guī)定這些端口理上有若干個(gè)端口,與不同的寄存器相對(duì)應(yīng),規(guī)定這些端口 分別是分別是數(shù)據(jù)口數(shù)據(jù)口、狀態(tài)口狀態(tài)口和和命令口命令口。 p一個(gè)接口分配有若干個(gè)地址,即每一個(gè)端口分配一個(gè)地址。一個(gè)接口分配有若干個(gè)地址,即每一個(gè)端口分配一個(gè)地址。 CPUCPU將不同的信息寫(xiě)到不同的端口地址,也從不同的端口地址將不同的信息寫(xiě)到不同的端口地址,也從不同的端口地址 讀取不同的信息。讀取不同的信息。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出

5、端口模塊及其應(yīng)用實(shí)例 5.1 5.1 并行并行I/OI/O接口簡(jiǎn)介接口簡(jiǎn)介 pMC9S12DG128MC9S12DG128單片機(jī)的單片機(jī)的I/OI/O接口包括接口包括PORTAPORTA、PORTBPORTB、PORTEPORTE、PORTKPORTK、PORTTPORTT、 PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH、PORTJPORTJ以及以及PORTADPORTAD端口模塊端口模塊。 pPORTAPORTA、PORTBPORTB、PORTEPORTE和和PORTKPORTK屬于屬于復(fù)用擴(kuò)展總線接口復(fù)用擴(kuò)展總線接口( (MEBIMEBI) ),當(dāng)

6、,當(dāng) MC9S12DG128MC9S12DG128在擴(kuò)展方式下工作時(shí),作為總線信號(hào);在單片模式下工作時(shí),在擴(kuò)展方式下工作時(shí),作為總線信號(hào);在單片模式下工作時(shí), PORTAPORTA、PORTBPORTB、PORTEPORTE和和PORTKPORTK可用作通用可用作通用I/OI/O口。口。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.1 5.1 并行并行I/OI/O接口簡(jiǎn)介接口簡(jiǎn)介 pPORTTPORTT、PORTSPORTS、PORTMPORTM、 PORTPPORTP、PORTHPORTH和和PORTJPO

7、RTJ屬于屬于 端口集成模塊端口集成模塊PIMPIM,與片內(nèi),與片內(nèi) 其他功能模塊的引腳復(fù)用。其他功能模塊的引腳復(fù)用。 p每個(gè)功能模塊按照優(yōu)先級(jí)的每個(gè)功能模塊按照優(yōu)先級(jí)的 高低使用引腳。高低使用引腳。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.1 5.1 并行并行I/OI/O接口簡(jiǎn)介接口簡(jiǎn)介 p 【GPIOGPIO簡(jiǎn)化功能邏輯圖】簡(jiǎn)化功能邏輯圖】?jī)H考慮兩個(gè)寄存器:僅考慮兩個(gè)寄存器:數(shù)據(jù)寄存器數(shù)據(jù)寄存器PORTPORT和和數(shù)據(jù)方數(shù)據(jù)方 向寄存器向寄存器DDRDDR。 p RD_DDRRD_DDR和和WR_DD

8、RWR_DDR分別控制各自的三態(tài)雙向門(mén)閂電路,該電路具有雙向傳分別控制各自的三態(tài)雙向門(mén)閂電路,該電路具有雙向傳 輸和高阻三態(tài)功能(圖中只給出了單向傳輸和門(mén)控功能),可分別讀取輸和高阻三態(tài)功能(圖中只給出了單向傳輸和門(mén)控功能),可分別讀取 PORTPORT引腳狀態(tài)、數(shù)據(jù)鎖存器狀態(tài)和方向寄存器引腳狀態(tài)、數(shù)據(jù)鎖存器狀態(tài)和方向寄存器DDRDDR的狀態(tài)。的狀態(tài)。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.1 5.1 并行并行I/OI/O接口簡(jiǎn)介接口簡(jiǎn)介 p9S129S12單片機(jī)的每個(gè)單片機(jī)的每個(gè)I/OI/O接口引腳均

9、內(nèi)置拉電阻,可以通過(guò)編程設(shè)置是否使用上拉、接口引腳均內(nèi)置拉電阻,可以通過(guò)編程設(shè)置是否使用上拉、 下拉功能及其極性。下拉功能及其極性。 p【拉電阻的主要作用】【拉電阻的主要作用】當(dāng)電路驅(qū)動(dòng)器關(guān)閉時(shí),保持線路(節(jié)點(diǎn))為固定電平,提當(dāng)電路驅(qū)動(dòng)器關(guān)閉時(shí),保持線路(節(jié)點(diǎn))為固定電平,提 高抗干擾能力。高抗干擾能力。 標(biāo)準(zhǔn)端口的最小特性:標(biāo)準(zhǔn)端口的最小特性: 輸入輸入/ /輸出選擇輸出選擇 兩個(gè)可選擇驅(qū)動(dòng)強(qiáng)度的兩個(gè)可選擇驅(qū)動(dòng)強(qiáng)度的5V5V輸出驅(qū)動(dòng)輸出驅(qū)動(dòng) 5V5V數(shù)字或模擬輸入數(shù)字或模擬輸入 可選擇上拉或下拉器件的輸入可選擇上拉或下拉器件的輸入 選擇特性:選擇特性: 線或連接的開(kāi)漏輸出線或連接的開(kāi)漏輸出

10、虛假信號(hào)濾波的中斷輸入虛假信號(hào)濾波的中斷輸入 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.1 5.1 并行并行I/OI/O接口簡(jiǎn)介接口簡(jiǎn)介 p通用通用I/OI/O口可以設(shè)置輸入口可以設(shè)置輸入/ /輸出、驅(qū)動(dòng)能力、內(nèi)部上拉輸出、驅(qū)動(dòng)能力、內(nèi)部上拉/ /下拉電阻、中斷輸入等功能。下拉電阻、中斷輸入等功能。 用戶可以通過(guò)設(shè)置用戶可以通過(guò)設(shè)置DDRDDR、I/OI/O、RDRRDR、PERPER、PPSPPS和和IEIE等寄存器,選擇等寄存器,選擇I/OI/O口的工作方口的工作方 式。其中:式。其中: 方向寄存器方向

11、寄存器DDR DDR 用于設(shè)定用于設(shè)定I/OI/O口的數(shù)據(jù)方向??诘臄?shù)據(jù)方向。 I/OI/O寄存器寄存器 用于設(shè)定端口輸出電平的高低。用于設(shè)定端口輸出電平的高低。 驅(qū)動(dòng)控制驅(qū)動(dòng)控制寄存器寄存器RDR RDR 用于選擇用于選擇I/OI/O的輸出驅(qū)動(dòng)能力。的輸出驅(qū)動(dòng)能力。 上拉上拉/ /下拉使能下拉使能寄存器寄存器PER PER 當(dāng)當(dāng)I/OI/O口為輸入時(shí),用于選擇內(nèi)部上拉或下拉功能。口為輸入時(shí),用于選擇內(nèi)部上拉或下拉功能。 上拉上拉/ /下拉選擇下拉選擇寄存器寄存器PPSPPS有兩個(gè)用途:有兩個(gè)用途: (1 1)當(dāng)中斷允許位置位時(shí),用于選擇上升沿觸發(fā)或下降沿觸發(fā)中斷。)當(dāng)中斷允許位置位時(shí),用于選

12、擇上升沿觸發(fā)或下降沿觸發(fā)中斷。 (2 2)當(dāng)使能內(nèi)部上拉)當(dāng)使能內(nèi)部上拉/ /下拉器件時(shí),用于選擇上拉或下拉。下拉器件時(shí),用于選擇上拉或下拉。 中斷使能中斷使能寄存器寄存器IE IE 用于允許或禁止用于允許或禁止I/OI/O口上的中斷。口上的中斷。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 p引腳配置匯總引腳配置匯總 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2 5.2 輸入輸入/ /輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置

13、 5.2.1 PORTT5.2.1 PORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH和和PORTJPORTJ 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2.1 PORTT5.2.1 PORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH和和 PORTJPORTJ 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2.1 PORTT5.2

14、.1 PORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH和和 PORTJPORTJ 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2 5.2 輸入輸入/ /輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.1 PORTT5.2.1 PORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH和和PORTJPORTJ 1 1數(shù)據(jù)方向寄存器數(shù)據(jù)方向寄存器DDRxDDRx p 【作用】【作用】決定對(duì)應(yīng)的引腳為輸出還是輸入,任何時(shí)候可

15、讀寫(xiě)。決定對(duì)應(yīng)的引腳為輸出還是輸入,任何時(shí)候可讀寫(xiě)。 v DDRx7:0 DDRx7:0 端口端口x x數(shù)據(jù)方向位數(shù)據(jù)方向位 1 = 1 = 對(duì)應(yīng)引腳設(shè)置為輸出。對(duì)應(yīng)引腳設(shè)置為輸出。 0 = 0 = 對(duì)應(yīng)引腳設(shè)置為輸入。對(duì)應(yīng)引腳設(shè)置為輸入。 p 復(fù)位后,數(shù)據(jù)方向寄存器值為復(fù)位后,數(shù)據(jù)方向寄存器值為0 x000 x00,引腳默認(rèn)為輸入。,引腳默認(rèn)為輸入。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2 5.2 輸入輸入/ /輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.1 PORTT5.2.1 PORTT、

16、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH和和PORTJPORTJ 1數(shù)據(jù)方向寄存器數(shù)據(jù)方向寄存器DDRxDDRx p 如果外設(shè)模塊控制引腳,數(shù)據(jù)方向寄存器的內(nèi)容被忽略。如果外設(shè)模塊控制引腳,數(shù)據(jù)方向寄存器的內(nèi)容被忽略。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5章章 S12輸入輸入/輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2.1 PORTT5.2.1 PORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH和和PORTJPORTJ 2I/OI/O寄存器寄存器PTxPTx p 任何時(shí)候可讀寫(xiě)。任何時(shí)

17、候可讀寫(xiě)。 p 如果數(shù)據(jù)方向寄存器如果數(shù)據(jù)方向寄存器DDRxDDRx對(duì)應(yīng)位的數(shù)值為對(duì)應(yīng)位的數(shù)值為“1”(1”(輸出輸出) )時(shí),時(shí),I/OI/O寄存器的值與引腳寄存器的值與引腳 電平一致:電平一致: PTx =1PTx =1,對(duì)應(yīng)的引腳輸出為高電平。,對(duì)應(yīng)的引腳輸出為高電平。 PTx =0PTx =0,對(duì)應(yīng)的引腳輸出為低電平。,對(duì)應(yīng)的引腳輸出為低電平。 讀取該寄存器返回讀取該寄存器返回I/OI/O寄存器的內(nèi)容。寄存器的內(nèi)容。 p 如果數(shù)據(jù)方向寄存器如果數(shù)據(jù)方向寄存器DDRxDDRx對(duì)應(yīng)位的數(shù)值為對(duì)應(yīng)位的數(shù)值為“0”0”,即將對(duì)應(yīng)引腳定義為,即將對(duì)應(yīng)引腳定義為輸入輸入時(shí):時(shí): 讀取該寄存器返回引

18、腳值。讀取該寄存器返回引腳值。 寫(xiě)該寄存器不改變引腳狀態(tài),但當(dāng)寫(xiě)該寄存器不改變引腳狀態(tài),但當(dāng)DDRxDDRx對(duì)應(yīng)位的數(shù)值變?yōu)閷?duì)應(yīng)位的數(shù)值變?yōu)椤?”1”時(shí),寄存器中的時(shí),寄存器中的 數(shù)值將反映在引腳上。數(shù)值將反映在引腳上。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2.1 PORTT5.2.1 PORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH和和PORTJPORTJ 3輸入寄存器輸入寄存器PTIxPTIx p 輸入寄存器是一個(gè)輸入寄存器是一個(gè)只讀只讀寄存器。任

19、何時(shí)候可讀,寫(xiě)無(wú)效。寄存器。任何時(shí)候可讀,寫(xiě)無(wú)效。 p 如果數(shù)據(jù)方向寄存器如果數(shù)據(jù)方向寄存器DDRxDDRx對(duì)應(yīng)位的數(shù)值為對(duì)應(yīng)位的數(shù)值為“0”0”,即將對(duì)應(yīng)引腳定義為,即將對(duì)應(yīng)引腳定義為輸入輸入時(shí),時(shí), 讀取該寄存器總是返回引腳值。讀取該寄存器總是返回引腳值。 讀出的值為讀出的值為“0”0”,表示對(duì)應(yīng)引腳上為低電平;,表示對(duì)應(yīng)引腳上為低電平; 讀出的值為讀出的值為“1”1”,表示對(duì)應(yīng)引腳上為高電平。,表示對(duì)應(yīng)引腳上為高電平。 p 如果數(shù)據(jù)方向寄存器如果數(shù)據(jù)方向寄存器DDRxDDRx對(duì)應(yīng)位的數(shù)值為對(duì)應(yīng)位的數(shù)值為“1”1”,即將對(duì)應(yīng)引腳定義為,即將對(duì)應(yīng)引腳定義為輸出輸出時(shí),時(shí), 利用讀該寄存器可以

20、監(jiān)視對(duì)應(yīng)引腳是否過(guò)載或短路。如果過(guò)載或短路,則該寄存利用讀該寄存器可以監(jiān)視對(duì)應(yīng)引腳是否過(guò)載或短路。如果過(guò)載或短路,則該寄存 器對(duì)應(yīng)位為器對(duì)應(yīng)位為1 1,否則,為,否則,為0 0。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2 5.2 輸入輸入/ /輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.1 PORTT5.2.1 PORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH和和PORTJPORTJ 4 4驅(qū)動(dòng)控制寄存器驅(qū)動(dòng)控制寄存器RDRxRDRx p 【作用】

21、【作用】定義每個(gè)輸出端口引腳的驅(qū)動(dòng)能力,任何時(shí)候可讀寫(xiě)。定義每個(gè)輸出端口引腳的驅(qū)動(dòng)能力,任何時(shí)候可讀寫(xiě)。 v RDRx7:0 RDRx7:0 端口端口x x降功率驅(qū)動(dòng)控制位降功率驅(qū)動(dòng)控制位 1 = 1 = 對(duì)應(yīng)引腳輸出驅(qū)動(dòng)能力為正常值的對(duì)應(yīng)引腳輸出驅(qū)動(dòng)能力為正常值的1/61/6。 0 = 0 = 對(duì)應(yīng)引腳為輸出全功率驅(qū)動(dòng)。對(duì)應(yīng)引腳為輸出全功率驅(qū)動(dòng)。 p 如果端口用作輸入,該位被忽略。如果端口用作輸入,該位被忽略。 p 復(fù)位后,復(fù)位后,RDRxRDRx寄存器值為寄存器值為$00$00,引腳默認(rèn)以滿功率驅(qū)動(dòng)輸出。,引腳默認(rèn)以滿功率驅(qū)動(dòng)輸出。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12

22、S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2.1 PORTT5.2.1 PORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH和和PORTJPORTJ 5 5上拉上拉/ /下拉使能寄存器下拉使能寄存器PERx PERx p 【作用】【作用】如果端口用作輸入或?yàn)槿绻丝谟米鬏斎牖驗(yàn)椤熬€或線或”模式時(shí),該寄存器設(shè)置是否激活模式時(shí),該寄存器設(shè)置是否激活 內(nèi)置上拉內(nèi)置上拉/ /下拉器件。任何時(shí)候可讀寫(xiě)。下拉器件。任何時(shí)候可讀寫(xiě)。 v PERx7:0 PERx7:0 端口上拉端口上拉/ /下拉器件使能位下拉器件使能位 1 = 1

23、 = 對(duì)應(yīng)引腳允許內(nèi)置上拉或下拉器件。對(duì)應(yīng)引腳允許內(nèi)置上拉或下拉器件。 0 = 0 = 對(duì)應(yīng)引腳禁用內(nèi)置上拉對(duì)應(yīng)引腳禁用內(nèi)置上拉/ /下拉器件。下拉器件。 p 如果端口用作輸出,該位無(wú)效。如果端口用作輸出,該位無(wú)效。 p 復(fù)位后,復(fù)位后,PERx=$00PERx=$00,禁止上拉,禁止上拉/ /下拉功能。下拉功能。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2.1 PORTT5.2.1 PORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH和和PORTJPORTJ

24、 【補(bǔ)充】【補(bǔ)充】上上/ /下拉電阻的作用下拉電阻的作用 p 當(dāng)當(dāng)TTLTTL電路驅(qū)動(dòng)電路驅(qū)動(dòng)COMSCOMS電路時(shí),由于電路時(shí),由于TTLTTL電路輸出的高電平低于電路輸出的高電平低于COMSCOMS電路的電路的 高電平閾值,需要在高電平閾值,需要在TTLTTL的輸出端接上拉電阻,以提高輸出高電平的值。的輸出端接上拉電阻,以提高輸出高電平的值。 p OCOC(集電極開(kāi)路)或(集電極開(kāi)路)或ODOD(漏極開(kāi)路)門(mén)電路必須加上拉電阻,才能使用。(漏極開(kāi)路)門(mén)電路必須加上拉電阻,才能使用。 p 為加大輸出引腳的驅(qū)動(dòng)能力,有的單片機(jī)管腳上也常使用上拉電阻。為加大輸出引腳的驅(qū)動(dòng)能力,有的單片機(jī)管腳上也

25、常使用上拉電阻。 p 管腳懸空容易受外界的電磁干擾。不用的管腳不能懸空,一般接上拉電管腳懸空容易受外界的電磁干擾。不用的管腳不能懸空,一般接上拉電 阻,提高總線的抗電磁干擾能力,防止靜電造成阻,提高總線的抗電磁干擾能力,防止靜電造成COMSCOMS芯片損壞。芯片損壞。 p 芯片的管腳加上拉電阻來(lái)提高輸出電平,從而提高芯片輸入信號(hào)的噪聲芯片的管腳加上拉電阻來(lái)提高輸出電平,從而提高芯片輸入信號(hào)的噪聲 容限,增強(qiáng)抗干擾能力。容限,增強(qiáng)抗干擾能力。 p 長(zhǎng)線傳輸中,電阻不匹配容易引起反射波干擾,加下拉電阻進(jìn)行電阻匹長(zhǎng)線傳輸中,電阻不匹配容易引起反射波干擾,加下拉電阻進(jìn)行電阻匹 配,有效抑制反射波干擾。

26、配,有效抑制反射波干擾。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2.1 PORTT5.2.1 PORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH和和PORTJPORTJ 6 6上拉上拉/ /下拉選擇寄存器下拉選擇寄存器PPSx PPSx p 【作用】【作用】選擇上拉或下拉器件是否與引腳相連。選擇上拉或下拉器件是否與引腳相連。 p 任何時(shí)候可讀寫(xiě)。任何時(shí)候可讀寫(xiě)。 v PPSx7:0 PPSx7:0 端口上拉端口上拉/ /下拉選擇位下拉選擇位 1 = 1 =

27、 如果端口用作輸入、且如果端口用作輸入、且PERxPERx寄存器相關(guān)位設(shè)置為允許時(shí),對(duì)應(yīng)的端寄存器相關(guān)位設(shè)置為允許時(shí),對(duì)應(yīng)的端 口引腳與下拉器件相連??谝_與下拉器件相連。 0 = 0 = 如果端口用作輸入、且如果端口用作輸入、且PERxPERx寄存器相關(guān)位設(shè)置為允許時(shí),對(duì)應(yīng)的端寄存器相關(guān)位設(shè)置為允許時(shí),對(duì)應(yīng)的端 口引腳與上拉器件相連。口引腳與上拉器件相連。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2 5.2 輸入輸入/ /輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.1 PORTT5.2.1 POR

28、TT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH和和PORTJPORTJ 6 6上拉上拉/ /下拉選擇寄存器下拉選擇寄存器PPSxPPSx p 【注意】【注意】PORTPPORTP、PORTHPORTH和和PORTJPORTJ三個(gè)端口具有中斷功能,當(dāng)這三個(gè)端口允三個(gè)端口具有中斷功能,當(dāng)這三個(gè)端口允 許中斷時(shí),上拉許中斷時(shí),上拉/ /下拉選擇寄存器還具有下拉選擇寄存器還具有第二個(gè)作用第二個(gè)作用,用于選擇引腳上觸,用于選擇引腳上觸 發(fā)中斷的形式。發(fā)中斷的形式。 v PPSx7:0 PPSx7:0 觸發(fā)中斷選擇位觸發(fā)中斷選擇位 1 = 1 = 當(dāng)某個(gè)引腳使

29、能中斷時(shí),上升沿觸發(fā)中斷。當(dāng)某個(gè)引腳使能中斷時(shí),上升沿觸發(fā)中斷。 0 = 0 = 當(dāng)某個(gè)引腳使能中斷時(shí),下降沿觸發(fā)中斷。當(dāng)某個(gè)引腳使能中斷時(shí),下降沿觸發(fā)中斷。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2.1 PORTT5.2.1 PORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH和和PORTJPORTJ 7. 7. 端口線或模式寄存器端口線或模式寄存器WOMxWOMx p 端口端口M M和端口和端口S S各具有一個(gè)線或模式寄存器,用來(lái)將輸出引腳設(shè)置成各具有一

30、個(gè)線或模式寄存器,用來(lái)將輸出引腳設(shè)置成“線線 或或”方式。任何時(shí)候可讀寫(xiě)。方式。任何時(shí)候可讀寫(xiě)。 p 如果使能,輸出驅(qū)動(dòng)僅僅低電平有效,如果使能,輸出驅(qū)動(dòng)僅僅低電平有效,邏輯邏輯“1”1”電平不驅(qū)動(dòng)。也適用于電平不驅(qū)動(dòng)。也適用于 SPISPI和和SCISCI輸出,允許幾個(gè)串行模塊的多點(diǎn)連接。該位對(duì)用作輸入的引腳輸出,允許幾個(gè)串行模塊的多點(diǎn)連接。該位對(duì)用作輸入的引腳 沒(méi)有影響。沒(méi)有影響。 WOMx7:0 WOMx7:0 線或模式選擇位線或模式選擇位 v1 = 1 = 輸出緩沖器工作在開(kāi)漏輸出輸出緩沖器工作在開(kāi)漏輸出(open-drain output)(open-drain output)狀態(tài)。

31、狀態(tài)。 v0 = 0 = 輸出緩沖器工作在推挽輸出輸出緩沖器工作在推挽輸出(push-pull output)(push-pull output)狀態(tài)。狀態(tài)。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 【復(fù)習(xí)】【復(fù)習(xí)】單片機(jī)開(kāi)漏輸出和推挽輸出的區(qū)別單片機(jī)開(kāi)漏輸出和推挽輸出的區(qū)別 p 驅(qū)動(dòng)能力不同驅(qū)動(dòng)能力不同 p 推挽輸出推挽輸出 (1 1)兩個(gè)參數(shù)相同的)兩個(gè)參數(shù)相同的MOSFETMOSFET分別受兩互補(bǔ)信號(hào)的控制,一個(gè)管子導(dǎo)通時(shí)另一個(gè)截止。分別受兩互補(bǔ)信號(hào)的控制,一個(gè)管子導(dǎo)通時(shí)另一個(gè)截止。 (2 2)輸出電阻

32、小,導(dǎo)通損耗小,效率高,能夠驅(qū)動(dòng)大的負(fù)載。單片機(jī)管腳可以直接)輸出電阻小,導(dǎo)通損耗小,效率高,能夠驅(qū)動(dòng)大的負(fù)載。單片機(jī)管腳可以直接 驅(qū)動(dòng)發(fā)光二極管、蜂鳴器、甚至更小阻抗的負(fù)載。驅(qū)動(dòng)發(fā)光二極管、蜂鳴器、甚至更小阻抗的負(fù)載。 (3 3)可以輸出高、低電平,連接數(shù)字器件。輸出既可以向負(fù)載灌電流,也可以從負(fù))可以輸出高、低電平,連接數(shù)字器件。輸出既可以向負(fù)載灌電流,也可以從負(fù) 載抽取電流。載抽取電流。 p 開(kāi)漏輸出開(kāi)漏輸出 (1 1)漏極開(kāi)路,只能輸出低電平,需接上拉電阻才能得到高電平狀態(tài)。)漏極開(kāi)路,只能輸出低電平,需接上拉電阻才能得到高電平狀態(tài)。 (2 2)適合于吸收型弱電流驅(qū)動(dòng),接上拉電阻后吸收

33、電流的能力比輸出電流的能力強(qiáng)。)適合于吸收型弱電流驅(qū)動(dòng),接上拉電阻后吸收電流的能力比輸出電流的能力強(qiáng)。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2.1 PORTT5.2.1 PORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH和和PORTJPORTJ 8 8中斷使能寄存器中斷使能寄存器PIExPIEx p PORTPPORTP、PORTHPORTH和和PORTJPORTJ三個(gè)端口具有中斷功能,且各有一個(gè)中斷使能寄存三個(gè)端口具有中斷功能,且各有一個(gè)中斷使能寄存

34、器,允許或禁止相應(yīng)端口對(duì)有效邊沿的中斷。任何時(shí)候可讀寫(xiě)。器,允許或禁止相應(yīng)端口對(duì)有效邊沿的中斷。任何時(shí)候可讀寫(xiě)。 v PIEx7:0 PIEx7:0 中斷使能位中斷使能位 1 = 1 = 允許中斷。允許中斷。 0 = 0 = 禁止中斷禁止中斷 ( (中斷被屏蔽中斷被屏蔽) )。 p 復(fù)位后,中斷使能寄存器值為復(fù)位后,中斷使能寄存器值為$00$00,所有端口中斷關(guān)閉。,所有端口中斷關(guān)閉。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2.1 PORTT5.2.1 PORTT、PORTSPORTS、PORTMPOR

35、TM、PORTPPORTP、PORTHPORTH和和PORTJPORTJ 9 9中斷標(biāo)志寄存器中斷標(biāo)志寄存器PIFx PIFx p PORTPPORTP、PORTHPORTH和和PORTJPORTJ三個(gè)端口各有一個(gè)中斷標(biāo)志寄存器三個(gè)端口各有一個(gè)中斷標(biāo)志寄存器PIFx(x=PPIFx(x=P、H H、 J)J)。基于?;赑PSxPPSx寄存器設(shè)置的有效邊沿,當(dāng)相應(yīng)引腳上出現(xiàn)上升沿或下降寄存器設(shè)置的有效邊沿,當(dāng)相應(yīng)引腳上出現(xiàn)上升沿或下降 沿時(shí),中斷標(biāo)志寄存器中的對(duì)應(yīng)位被置位。沿時(shí),中斷標(biāo)志寄存器中的對(duì)應(yīng)位被置位。 p 任何時(shí)候可讀寫(xiě)任何時(shí)候可讀寫(xiě)PIFxPIFx寄存器。為了清除中斷標(biāo)志,需要向該

36、寄存器中的寄存器。為了清除中斷標(biāo)志,需要向該寄存器中的 相應(yīng)位寫(xiě)相應(yīng)位寫(xiě)“1”“1”。寫(xiě)。寫(xiě)“0”“0”無(wú)效。無(wú)效。 v PIFx7:0 PIFx7:0 中斷標(biāo)志位中斷標(biāo)志位 1 = 1 = 相應(yīng)引腳上出現(xiàn)有效邊沿相應(yīng)引腳上出現(xiàn)有效邊沿( (如果相應(yīng)的使能位置位,將產(chǎn)生中斷如果相應(yīng)的使能位置位,將產(chǎn)生中斷) )。 0 = 0 = 相應(yīng)引腳上未出現(xiàn)有效邊沿。相應(yīng)引腳上未出現(xiàn)有效邊沿。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2 5.2 輸入輸入/ /輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.1 PO

37、RTT5.2.1 PORTT、PORTSPORTS、PORTMPORTM、PORTPPORTP、PORTHPORTH和和PORTJPORTJ pPORTPPORTP、PORTHPORTH和和PORTJPORTJ三個(gè)端口的中斷向量地址及相三個(gè)端口的中斷向量地址及相 關(guān)標(biāo)志位、控制位。關(guān)標(biāo)志位、控制位。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2 5.2 輸入輸入/ /輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.2 PORTA5.2.2 PORTA、PORTBPORTB、PORTEPORTE和和PORT

38、KPORTK 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2.2 PORTA5.2.2 PORTA、PORTBPORTB、PORTEPORTE和和PORTKPORTK 1 1數(shù)據(jù)方向寄存器數(shù)據(jù)方向寄存器DDRxDDRx p 【作用】【作用】決定端口引腳為輸出還是輸入。決定端口引腳為輸出還是輸入。 v DDRx7-0 DDRx7-0 數(shù)據(jù)方向位數(shù)據(jù)方向位 1 = 1 = 設(shè)置相應(yīng)的設(shè)置相應(yīng)的I/OI/O引腳為輸出。引腳為輸出。 0 = 0 = 設(shè)置相應(yīng)的設(shè)置相應(yīng)的I/OI/O引腳為輸入。引腳為輸入。 v DDR

39、xDDRx各位的數(shù)值影響相應(yīng)各位的數(shù)值影響相應(yīng)PORTxPORTx寄存器讀取的寄存器讀取的數(shù)據(jù)源數(shù)據(jù)源。 如果如果DDRxDDRx寄存器某位為寄存器某位為“0”0”(輸入),讀取的是緩沖的引腳輸入狀態(tài);(輸入),讀取的是緩沖的引腳輸入狀態(tài); 如果如果DDRxDDRx寄存器某位為寄存器某位為“1”1”(輸出),讀取的是相應(yīng)端口數(shù)據(jù)寄存器對(duì)應(yīng)位的狀態(tài)。(輸出),讀取的是相應(yīng)端口數(shù)據(jù)寄存器對(duì)應(yīng)位的狀態(tài)。 p 復(fù)位后,數(shù)據(jù)方向寄存器的值為復(fù)位后,數(shù)據(jù)方向寄存器的值為0 x000 x00,引腳默認(rèn)為輸入。,引腳默認(rèn)為輸入。 p 【注意】【注意】端口端口E E是一個(gè)特例,其是一個(gè)特例,其最低兩位只能為輸入

40、口,最低兩位只能為輸入口,端口端口E E的數(shù)據(jù)方向寄存器的數(shù)據(jù)方向寄存器 DDREDDRE最低兩位是只讀位,讀這兩位始終返回最低兩位是只讀位,讀這兩位始終返回“0”0”。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2.2 PORTA5.2.2 PORTA、PORTBPORTB、PORTEPORTE和和PORTKPORTK 2 2I/O I/O 寄存器寄存器PORTxPORTx p I/OI/O寄存器中寄存器中8 8位對(duì)應(yīng)每個(gè)端口中的相應(yīng)引腳,當(dāng)位對(duì)應(yīng)每個(gè)端口中的相應(yīng)引腳,當(dāng)PORTxPORTx寄存器處于內(nèi)存

41、分配表中時(shí),寄存器處于內(nèi)存分配表中時(shí), 任何時(shí)候可讀寫(xiě)。任何時(shí)候可讀寫(xiě)。 如果某端口的引腳被定義為輸出,寫(xiě)入如果某端口的引腳被定義為輸出,寫(xiě)入I/OI/O寄存器中的數(shù)值會(huì)從對(duì)應(yīng)引腳輸出;寄存器中的數(shù)值會(huì)從對(duì)應(yīng)引腳輸出; 如果某端口的引腳被定義為輸入,讀取如果某端口的引腳被定義為輸入,讀取I/OI/O寄存器獲得對(duì)應(yīng)的引腳電平。寄存器獲得對(duì)應(yīng)的引腳電平。 p 為了確保讀到為了確保讀到PORTxPORTx引腳的當(dāng)前值,寫(xiě)引腳的當(dāng)前值,寫(xiě)DDRxDDRx寄存器后至少等待一個(gè)周期,再讀寄存器后至少等待一個(gè)周期,再讀 PORTxPORTx寄存器。寄存器。 p 【注意】【注意】端口端口E E是一個(gè)特例,其是

42、一個(gè)特例,其最低兩位只能為輸入最低兩位只能為輸入,端口,端口E E的的I/OI/O寄存器寄存器PORTEPORTE最最 低兩位是只讀位。低兩位是只讀位。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2.2 PORTA5.2.2 PORTA、PORTBPORTB、PORTEPORTE和和PORTKPORTK 3 3上拉電阻控制寄存器上拉電阻控制寄存器PUCR PUCR p PORTAPORTA、PORTBPORTB、PORTEPORTE和和PORTKPORTK都有內(nèi)置上拉電阻,都有內(nèi)置上拉電阻,共用一個(gè)控制寄存

43、器共用一個(gè)控制寄存器 PUCRPUCR。 p 【作用】【作用】選擇端口引腳的上拉電阻,第選擇端口引腳的上拉電阻,第7 7、4 4、1 1和和0 0位分別對(duì)應(yīng)端口位分別對(duì)應(yīng)端口K K、E E、 B B和和A A。 p 當(dāng)當(dāng)PUCRPUCR寄存器處于內(nèi)存分配表中時(shí),任何時(shí)候可讀寫(xiě)。寄存器處于內(nèi)存分配表中時(shí),任何時(shí)候可讀寫(xiě)。 p 上拉根據(jù)每個(gè)端口來(lái)分配,適用于當(dāng)前配置為輸入的相應(yīng)端口的任何引上拉根據(jù)每個(gè)端口來(lái)分配,適用于當(dāng)前配置為輸入的相應(yīng)端口的任何引 腳。當(dāng)相應(yīng)引腳為輸出時(shí),這些位無(wú)效腳。當(dāng)相應(yīng)引腳為輸出時(shí),這些位無(wú)效( (上拉設(shè)置不起作用上拉設(shè)置不起作用) )。 p 單片機(jī)復(fù)位后,端口單片機(jī)復(fù)位

44、后,端口K K和端口和端口E E的上拉電阻使能,端口的上拉電阻使能,端口B B和端口和端口A A的上拉電的上拉電 阻禁止。阻禁止。 p 在擴(kuò)展和外設(shè)模式下,在擴(kuò)展和外設(shè)模式下,PUCRPUCR寄存器不在片內(nèi)寄存器映射區(qū)內(nèi)。寄存器不在片內(nèi)寄存器映射區(qū)內(nèi)。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2.2 PORTA5.2.2 PORTA、PORTBPORTB、PORTEPORTE和和PORTKPORTK 3 3上拉電阻控制寄存器上拉電阻控制寄存器PUCRPUCR PUPKE PUPKE 端口端口K K上拉使能

45、位上拉使能位 1 = 1 = 端口端口K K輸入引腳上拉允許。輸入引腳上拉允許。 0 = 0 = 端口端口K K輸入引腳上拉禁止。輸入引腳上拉禁止。 PUPEE PUPEE 端口端口E E上拉使能位上拉使能位 1 = 1 = 端口端口E E輸入引腳輸入引腳7, 4-07, 4-0上拉允許。上拉允許。 0 = 0 = 端口端口E E輸入引腳輸入引腳7, 4-07, 4-0上拉禁止。上拉禁止。 PUPBE PUPBE 端口端口B B上拉使能位上拉使能位 1 = 1 = 端口端口B B所有輸入引腳上拉允許。所有輸入引腳上拉允許。 0 = 0 = 端口端口B B上拉禁止。上拉禁止。 PUPAE PUP

46、AE 端口端口A A上拉使能位上拉使能位 1 = 1 = 端口端口A A所有輸入引腳上拉允許。所有輸入引腳上拉允許。 0 = 0 = 端口端口A A上拉禁止。上拉禁止。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2.2 PORTA5.2.2 PORTA、PORTBPORTB、PORTEPORTE和和PORTKPORTK 4 4驅(qū)動(dòng)控制寄存器驅(qū)動(dòng)控制寄存器RDRIVRDRIV p PORTAPORTA、PORTBPORTB、PORTEPORTE和和PORTKPORTK都可以設(shè)置端口輸出驅(qū)動(dòng)能力,都可以設(shè)置端口

47、輸出驅(qū)動(dòng)能力,共用一個(gè)控制寄存共用一個(gè)控制寄存 器器RDRIVRDRIV。 p 【作用作用】選擇相關(guān)端口引腳的降功率驅(qū)動(dòng),選擇相關(guān)端口引腳的降功率驅(qū)動(dòng),第第7 7、4 4、1 1和和0 0位分別對(duì)應(yīng)端口位分別對(duì)應(yīng)端口K K、E E、B B 和和A A。 p 當(dāng)當(dāng)RDRIVRDRIV寄存器處于內(nèi)存分配表中時(shí),任何時(shí)候可讀寫(xiě)。寄存器處于內(nèi)存分配表中時(shí),任何時(shí)候可讀寫(xiě)。 如果某個(gè)控制位為如果某個(gè)控制位為“1”1”,對(duì)應(yīng)端口輸出驅(qū)動(dòng)能力降低;,對(duì)應(yīng)端口輸出驅(qū)動(dòng)能力降低; 如果某個(gè)控制位為如果某個(gè)控制位為“0”0”,對(duì)應(yīng)端口為正常驅(qū)動(dòng)輸出方式。,對(duì)應(yīng)端口為正常驅(qū)動(dòng)輸出方式。 p 在擴(kuò)展和外設(shè)模式下,在擴(kuò)

48、展和外設(shè)模式下,RDRIVRDRIV寄存器不在片內(nèi)映射區(qū)內(nèi)。寄存器不在片內(nèi)映射區(qū)內(nèi)。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.2.2 PORTA5.2.2 PORTA、PORTBPORTB、PORTEPORTE和和PORTKPORTK 4 4驅(qū)動(dòng)控制寄存器驅(qū)動(dòng)控制寄存器RDRIVRDRIV RDPK - RDPK - 端口端口K K降功率驅(qū)動(dòng)控制位降功率驅(qū)動(dòng)控制位 1 = 1 = 允許所有端口允許所有端口K K輸出引腳低功耗驅(qū)動(dòng)。輸出引腳低功耗驅(qū)動(dòng)。 0 = 0 = 允許所有端口允許所有端口K K輸出引腳

49、全功率驅(qū)動(dòng)。輸出引腳全功率驅(qū)動(dòng)。 RDPE - RDPE - 端口端口E E降功率驅(qū)動(dòng)控制位降功率驅(qū)動(dòng)控制位 1 = 1 = 允許所有端口允許所有端口E E輸出引腳低功耗驅(qū)動(dòng)。輸出引腳低功耗驅(qū)動(dòng)。 0 = 0 = 允許所有端口允許所有端口E E輸出引腳全功率驅(qū)動(dòng)。輸出引腳全功率驅(qū)動(dòng)。 RDPB - RDPB - 端口端口B B降功率驅(qū)動(dòng)控制位降功率驅(qū)動(dòng)控制位 1 = 1 = 允許所有端口允許所有端口B B輸出引腳低功耗驅(qū)動(dòng)。輸出引腳低功耗驅(qū)動(dòng)。 0 = 0 = 允許所有端口允許所有端口B B輸出引腳全功率驅(qū)動(dòng)。輸出引腳全功率驅(qū)動(dòng)。 RDPA - RDPA - 端口端口A A降功率驅(qū)動(dòng)控制位降功

50、率驅(qū)動(dòng)控制位 1 = 1 = 允許所有端口允許所有端口A A輸出引腳低功耗驅(qū)動(dòng)。輸出引腳低功耗驅(qū)動(dòng)。 0 = 0 = 允許所有端口允許所有端口A A輸出引腳全功率驅(qū)動(dòng)。輸出引腳全功率驅(qū)動(dòng)。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.3 5.3 輸入輸入/ /輸出端口應(yīng)用實(shí)例輸出端口應(yīng)用實(shí)例 5.3.1 5.3.1 輸出設(shè)備輸出設(shè)備LEDLED控制實(shí)例控制實(shí)例 pPORTBPORTB連接連接8 8只只LEDLED,編程實(shí)現(xiàn),編程實(shí)現(xiàn)明燈流水明燈流水操作。操作。 p點(diǎn)亮點(diǎn)亮LEDLED燈,并使蜂鳴器發(fā)聲。燈,并

51、使蜂鳴器發(fā)聲。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.3 5.3 輸入輸入/ /輸出端口應(yīng)用實(shí)例輸出端口應(yīng)用實(shí)例 5.3.2 5.3.2 輸入設(shè)備撥碼開(kāi)關(guān)讀取實(shí)例輸入設(shè)備撥碼開(kāi)關(guān)讀取實(shí)例 p使用使用PORTAPORTA讀取讀取8 8位撥碼開(kāi)關(guān)狀態(tài)。位撥碼開(kāi)關(guān)狀態(tài)。 p根據(jù)撥位開(kāi)關(guān)的狀態(tài),點(diǎn)亮或熄滅對(duì)應(yīng)的根據(jù)撥位開(kāi)關(guān)的狀態(tài),點(diǎn)亮或熄滅對(duì)應(yīng)的LEDLED燈。燈。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)輸出端口模塊及其應(yīng)用實(shí) 例例 5.3 5.3 輸

52、入輸入/ /輸出端口應(yīng)用實(shí)例輸出端口應(yīng)用實(shí)例 5.3.3 5.3.3 鍵盤(pán)接口設(shè)計(jì)鍵盤(pán)接口設(shè)計(jì) p 鍵盤(pán)多由多個(gè)按鍵組成,排列成陣列。鍵盤(pán)多由多個(gè)按鍵組成,排列成陣列。 p 當(dāng)無(wú)鍵按下時(shí),行和列線之間不相連,若第當(dāng)無(wú)鍵按下時(shí),行和列線之間不相連,若第N N行第行第M M列列 的鍵被按下,則第的鍵被按下,則第N N行與第行與第M M列的線被接通。列的線被接通。 p 如果在列線上加上信號(hào),如果在列線上加上信號(hào), 根據(jù)行線的狀態(tài),便可根據(jù)行線的狀態(tài),便可 得知是否有鍵按下。得知是否有鍵按下。 p 如果如果逐列逐列加上信號(hào)加上信號(hào)(掃(掃 描列線)描列線),讀取讀取行線行線狀狀 態(tài)態(tài),便便可判斷按鍵的

53、位可判斷按鍵的位 置。置。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.3.3 5.3.3 鍵盤(pán)接口設(shè)計(jì)鍵盤(pán)接口設(shè)計(jì) p用用PORTAPORTA擴(kuò)展的擴(kuò)展的4 44 4鍵盤(pán):鍵盤(pán):低低4 4位作為行線,高位作為行線,高4 4位作為列線。位作為列線。 p將端口將端口A A的低的低4 4位設(shè)置為輸入、高位設(shè)置為輸入、高4 4位設(shè)置為輸出(即位設(shè)置為輸出(即DDRA=0 xF0DDRA=0 xF0)。)。 p使使PORTAPORTA的高的高4 4位逐列輸出低電平,并讀取位逐列輸出低電平,并讀取PORTAPORTA的

54、低的低4 4位,將高位,將高4 4位的輸出位的輸出 狀態(tài)與讀取到的低狀態(tài)與讀取到的低4 4位狀態(tài)相位狀態(tài)相“與與”,然后查詢,然后查詢RAMRAM中的表格便可判斷被按中的表格便可判斷被按 下鍵的位置。下鍵的位置。 【鍵盤(pán)掃描方法】【鍵盤(pán)掃描方法】 逐行逐行/ /逐列掃描法逐列掃描法 反轉(zhuǎn)法反轉(zhuǎn)法 【去抖動(dòng)方法】【去抖動(dòng)方法】 硬件法硬件法采用斯密特觸采用斯密特觸 發(fā)器發(fā)器 軟件法軟件法利用軟件延時(shí)利用軟件延時(shí) 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.3.3 5.3.3 鍵盤(pán)接口設(shè)計(jì)鍵盤(pán)接口設(shè)計(jì) p【硬件去

55、抖動(dòng)處理】【硬件去抖動(dòng)處理】利用兩級(jí)帶利用兩級(jí)帶斯密特觸發(fā)電路的反相器。斯密特觸發(fā)電路的反相器。 p【軟件去抖動(dòng)處理】【軟件去抖動(dòng)處理】當(dāng)判斷有鍵按下后,軟件延時(shí)當(dāng)判斷有鍵按下后,軟件延時(shí)20ms20ms,再次掃描確認(rèn)。,再次掃描確認(rèn)。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.3 5.3 輸入輸入/ /輸出端口應(yīng)用實(shí)例輸出端口應(yīng)用實(shí)例 5.3.3 5.3.3 鍵盤(pán)接口設(shè)計(jì)鍵盤(pán)接口設(shè)計(jì) 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)

56、例 5.3.3 5.3.3 鍵盤(pán)接口設(shè)計(jì)鍵盤(pán)接口設(shè)計(jì) p 采用數(shù)碼管顯示驅(qū)動(dòng)及鍵盤(pán)掃描管理芯片采用數(shù)碼管顯示驅(qū)動(dòng)及鍵盤(pán)掃描管理芯片ZLG7289BZLG7289B擴(kuò)展擴(kuò)展4 44 4鍵盤(pán)。鍵盤(pán)。 【芯片特點(diǎn)】【芯片特點(diǎn)】 p 可直接驅(qū)動(dòng)可直接驅(qū)動(dòng)8 8位共陰式數(shù)碼管(或位共陰式數(shù)碼管(或6464只獨(dú)立只獨(dú)立LEDLED)。)。 p 可掃描管理多達(dá)可掃描管理多達(dá)6464只按鍵。只按鍵。 p 內(nèi)部含有譯碼器,可直接接收內(nèi)部含有譯碼器,可直接接收BCDBCD碼或碼或1616進(jìn)制碼,進(jìn)制碼, 并具有兩種譯碼方式。并具有兩種譯碼方式。 p 具有多種控制指令,如消隱、閃爍、左移、右移、具有多種控制指令,如

57、消隱、閃爍、左移、右移、 段尋址等。段尋址等。 p 采用采用SPISPI串行總線與微控制器接口。串行總線與微控制器接口。 p 利用片選信號(hào),利用片選信號(hào),ZLG7289BZLG7289B可以并接在一起使用,實(shí)可以并接在一起使用,實(shí) 現(xiàn)多于現(xiàn)多于8 8位的顯示或多于位的顯示或多于6464只按鍵的應(yīng)用。只按鍵的應(yīng)用。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.3.3 5.3.3 鍵盤(pán)接口設(shè)計(jì)鍵盤(pán)接口設(shè)計(jì) p通過(guò)通過(guò)IRQIRQ中斷來(lái)檢測(cè)是否有按鍵被按下。中斷來(lái)檢測(cè)是否有按鍵被按下。 基于HCS12的嵌入式系統(tǒng)設(shè)

58、計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.3.4 LED5.3.4 LED顯示接口設(shè)計(jì)顯示接口設(shè)計(jì) p 【LEDLED ( (Light Emitting Diode) )】數(shù)碼管】數(shù)碼管,用發(fā)光二極管顯示字段的顯示器,用發(fā)光二極管顯示字段的顯示器。 p 【LEDLED顯示器類(lèi)型】顯示器類(lèi)型】共陰極、共陽(yáng)極。共陰極、共陽(yáng)極。 p 共陰極共陰極將將8 8個(gè)發(fā)光二極管陰極連在一起作為公共端。個(gè)發(fā)光二極管陰極連在一起作為公共端。 p 共陽(yáng)極共陽(yáng)極將將8 8個(gè)發(fā)光二極管的陽(yáng)極連在一起作為公共端。個(gè)發(fā)光二極管的陽(yáng)極連在一起作為公共端。 (a)

59、外形結(jié)構(gòu)與引腳外形結(jié)構(gòu)與引腳(共陰共陰) (b) 共陰極共陰極 (C) 共陽(yáng)極共陽(yáng)極 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.3.4 LED5.3.4 LED顯示接口設(shè)計(jì)顯示接口設(shè)計(jì) p數(shù)碼管的公共端相當(dāng)于一個(gè)位選數(shù)碼管的公共端相當(dāng)于一個(gè)位選 開(kāi)關(guān),一般稱為開(kāi)關(guān),一般稱為位碼開(kāi)關(guān)位碼開(kāi)關(guān)。當(dāng)該。當(dāng)該 位處于高電平時(shí),數(shù)碼管全滅;位處于高電平時(shí),數(shù)碼管全滅; 當(dāng)該位處于低電平時(shí),根據(jù)二極當(dāng)該位處于低電平時(shí),根據(jù)二極 管陽(yáng)極(一般稱為管陽(yáng)極(一般稱為段碼段碼或字形碼)或字形碼) 的電平狀態(tài),確定段碼是否點(diǎn)亮。

60、的電平狀態(tài),確定段碼是否點(diǎn)亮。 段碼高電平時(shí),該段碼亮;段碼高電平時(shí),該段碼亮; 段碼低電平時(shí),該段碼不亮。段碼低電平時(shí),該段碼不亮。 p輸出相應(yīng)的段碼值得到輸出相應(yīng)的段碼值得到LEDLED顯示器顯示器 的字形。的字形。 基于HCS12的嵌入式系統(tǒng)設(shè)計(jì) 第第5 5章章 S12 S12輸入輸入/ /輸出端口模塊及其應(yīng)用實(shí)例輸出端口模塊及其應(yīng)用實(shí)例 5.3 5.3 輸入輸入/ /輸出端口應(yīng)用實(shí)例輸出端口應(yīng)用實(shí)例 5.3.4 LED5.3.4 LED顯示接口設(shè)計(jì)顯示接口設(shè)計(jì) p 【LEDLED顯示驅(qū)動(dòng)方式】顯示驅(qū)動(dòng)方式】靜態(tài)驅(qū)動(dòng),動(dòng)態(tài)掃描。靜態(tài)驅(qū)動(dòng),動(dòng)態(tài)掃描。 靜態(tài)驅(qū)動(dòng)方式靜態(tài)驅(qū)動(dòng)方式每個(gè)每個(gè)LED

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論