




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟組織損傷個(gè)案護(hù)理
- 歷史文化遺產(chǎn)試題及答案集
- 《地理區(qū)域環(huán)境與人類(lèi)活動(dòng)教案》
- 產(chǎn)品設(shè)計(jì)原則與方法指南
- 《不同國(guó)家的文化差異比較:高三世界歷史教案》
- 新聞閱讀中的細(xì)節(jié)捕捉與信息提煉技巧:高一語(yǔ)文閱讀技巧講解
- 職業(yè)健康檢查技術(shù)服務(wù)合同協(xié)議書(shū)
- 共享辦公室租賃合同
- 售后服務(wù)協(xié)議書(shū)三包售后協(xié)議書(shū)
- 梭織服裝相關(guān)行業(yè)投資規(guī)劃報(bào)告范本
- 2024年中考模擬試卷數(shù)學(xué)(新疆卷)
- 關(guān)于美國(guó)地理知識(shí)的講課
- 浙江2024年浙江省有色金屬地質(zhì)勘查院選調(diào)專(zhuān)業(yè)技術(shù)人員筆試歷年典型考點(diǎn)(頻考版試卷)附帶答案詳解
- 開(kāi)門(mén)見(jiàn)山的作文開(kāi)頭和結(jié)尾摘抄
- 新人教版九年級(jí)數(shù)學(xué)第一輪總復(fù)習(xí)教案
- 2024年安徽省養(yǎng)老護(hù)理職業(yè)技能競(jìng)賽考試題庫(kù)(含答案)
- 醉酒后急救知識(shí)培訓(xùn)課件
- 人工智能教學(xué)課件
- “一帶一路”背景下新疆農(nóng)產(chǎn)品出口貿(mào)易發(fā)展現(xiàn)狀及對(duì)策研究
- 安寧療護(hù)案例課件
- GB/T 44731-2024科技成果評(píng)估規(guī)范
評(píng)論
0/150
提交評(píng)論