![第5章 MC9S12XS輸入輸出端口模塊及其應(yīng)用實(shí)例_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/1/b5389d82-7262-4fe2-9e40-15b0d92d1834/b5389d82-7262-4fe2-9e40-15b0d92d18341.gif)
![第5章 MC9S12XS輸入輸出端口模塊及其應(yīng)用實(shí)例_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/1/b5389d82-7262-4fe2-9e40-15b0d92d1834/b5389d82-7262-4fe2-9e40-15b0d92d18342.gif)
![第5章 MC9S12XS輸入輸出端口模塊及其應(yīng)用實(shí)例_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/1/b5389d82-7262-4fe2-9e40-15b0d92d1834/b5389d82-7262-4fe2-9e40-15b0d92d18343.gif)
![第5章 MC9S12XS輸入輸出端口模塊及其應(yīng)用實(shí)例_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/1/b5389d82-7262-4fe2-9e40-15b0d92d1834/b5389d82-7262-4fe2-9e40-15b0d92d18344.gif)
![第5章 MC9S12XS輸入輸出端口模塊及其應(yīng)用實(shí)例_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/1/b5389d82-7262-4fe2-9e40-15b0d92d1834/b5389d82-7262-4fe2-9e40-15b0d92d18345.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、MC9S12XS單片機(jī)原理單片機(jī)原理及嵌入式系統(tǒng)開發(fā)及嵌入式系統(tǒng)開發(fā)輸入輸出端口模塊及其應(yīng)用實(shí)例輸入輸出端口模塊及其應(yīng)用實(shí)例第5章 MC9S12XS輸入/輸出端口模塊及其應(yīng)用實(shí)例l 輸入/輸出端口簡介l 輸入/輸出端口寄存器及設(shè)置l 輸入/輸出端口應(yīng)用實(shí)例l 智能車系統(tǒng)中輸入/輸出端口的應(yīng)用 5.1 輸入輸入/輸出端口簡介輸出端口簡介 MC9S12XS系列內(nèi)部有非常豐富的輸入系列內(nèi)部有非常豐富的輸入/輸輸出端口資源,同時(shí)也集成了多種功能模塊,出端口資源,同時(shí)也集成了多種功能模塊,其輸入其輸入/輸出引腳大多為復(fù)用引腳。輸出引腳大多為復(fù)用引腳。MC9S12XS128通用通用I/O口包括口包括POR
2、TA、PORTB、PORTE、PORTK、PORTT、PORTS、PORTM、PORTP、PORTH、PORTJ以及以及PORTAD。5.2 輸入輸入/輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 通用通用I/O口通過配置相應(yīng)寄存器位,可以設(shè)置輸入口通過配置相應(yīng)寄存器位,可以設(shè)置輸入/輸出端口、驅(qū)輸出端口、驅(qū)動能力、內(nèi)置上拉動能力、內(nèi)置上拉/下拉電阻使用、中斷輸入方式等多種功能。通過下拉電阻使用、中斷輸入方式等多種功能。通過對對DDR、I/O、RDR、PE、PS和和IE等寄存器的設(shè)置,用戶可以獲得等寄存器的設(shè)置,用戶可以獲得通用通用I/O口的不同工作方式。其中,口的不同工作方式。其中,DDR(數(shù)據(jù)
3、方向寄存器)設(shè)定(數(shù)據(jù)方向寄存器)設(shè)定I/O口為輸入口為輸入/輸出端口。數(shù)據(jù)寄存器(輸出端口。數(shù)據(jù)寄存器(I/O寄存器)用于設(shè)定寄存器)用于設(shè)定I/O口的高低口的高低電平。電平。RDR(驅(qū)動控制寄存器)用于設(shè)定(驅(qū)動控制寄存器)用于設(shè)定I/O口的輸出驅(qū)動能力??诘妮敵鲵?qū)動能力。PE(上拉(上拉/下拉使能寄存器)用于當(dāng)下拉使能寄存器)用于當(dāng)I/O口為輸入口時(shí)使能內(nèi)置上拉電阻口為輸入口時(shí)使能內(nèi)置上拉電阻或下拉電阻的使用?;蛳吕娮璧氖褂?。PS(上拉(上拉/下拉選擇寄存器)當(dāng)中斷允許位置位下拉選擇寄存器)當(dāng)中斷允許位置位時(shí),用于選擇上升沿觸發(fā)或下降沿觸發(fā)中斷;當(dāng)使能內(nèi)置上拉時(shí),用于選擇上升沿觸發(fā)或下
4、降沿觸發(fā)中斷;當(dāng)使能內(nèi)置上拉/下拉下拉電阻時(shí),用于選擇使用上拉電阻或下拉電阻。電阻時(shí),用于選擇使用上拉電阻或下拉電阻。IE(中斷使能寄存器)(中斷使能寄存器)用于使能用于使能I/O口的中斷功能??诘闹袛喙δ堋?5.2 輸入輸入/輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.1 PORTA、PORTB、PORTE和和PORTK1數(shù)據(jù)寄存器(數(shù)據(jù)寄存器(Px) 數(shù)據(jù)寄存器Px中的8位對應(yīng)每個(gè)端口中的相應(yīng)引腳,如果某端口的引腳被定義為輸出時(shí),寫入數(shù)據(jù)寄存器Px中的數(shù)值,則從對應(yīng)引腳輸出;如果某端口的引腳被定義為輸入時(shí),可以讀取數(shù)據(jù)寄存器Px對應(yīng)引腳的電平值。 需要注意PORTE端口是一個(gè)特例,它
5、的最低兩位只能為輸入口,所以PORTE端口的數(shù)據(jù)寄存器最低兩位是只讀位。5.2 輸入輸入/輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.1 PORTA、PORTB、PORTE和和PORTK2數(shù)據(jù)方向寄存器(數(shù)據(jù)方向寄存器(DDRx) DDRx決定對應(yīng)引腳配置為輸出口還是輸入口,如果某位為“0”,則對應(yīng)引腳設(shè)定為輸入口;如果某位為“1”,則對應(yīng)引腳設(shè)定為輸出口。MCU復(fù)位后,DDRx值為0 x00,引腳默認(rèn)為輸入口。 需要注意的是,PORTE端口是一個(gè)特例,它的最低兩位只能為輸入口,所以PORTE端口的數(shù)據(jù)方向寄存器最低兩位是只讀位,讀取這兩位始終返回“0”。5.2 輸入輸入/輸出端口寄存器
6、及設(shè)置輸出端口寄存器及設(shè)置 5.2.1 PORTA、PORTB、PORTE和和PORTK3上拉電阻控制寄存器(上拉電阻控制寄存器(PUCR) PORTA、PORTB、PORTE和PORTK端口都有內(nèi)置上拉電阻,PUCR有4位分別配置4個(gè)端口選擇使用內(nèi)置上拉電阻,即第7、4、1和0位分別設(shè)置K、E、B和A端口。當(dāng)控制位為“1”時(shí),設(shè)定對應(yīng)端口使用上拉電阻;當(dāng)控制位為“0”時(shí),禁止對應(yīng)端口使用上拉電阻。MCU復(fù)位后,設(shè)定PORTK和PORTE端口使用上拉電阻,PORTB和PORTA端口禁用上拉電阻。 PUCR第6位設(shè)置BKGD引腳使用上拉電阻。當(dāng)該位為“1”時(shí),設(shè)定該端口使用上拉電阻;當(dāng)控制位為“
7、0”時(shí),禁止該端口使用上拉電阻。MCU復(fù)位后,該位為“1”, 引腳默認(rèn)為使用內(nèi)置上拉電阻。5.2 輸入輸入/輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.1 PORTA、PORTB、PORTE和和PORTK4驅(qū)動控制寄存器(驅(qū)動控制寄存器(RDR) 如果PORTA、PORTB、PORTE和PORTK端口為輸出口時(shí),每個(gè)端口都可以設(shè)置其輸出驅(qū)動能力,RDR有4位分別設(shè)定4個(gè)端口輸出驅(qū)動能力,即第7、4、1和0位分別設(shè)置K、E、B和A端口。如果某個(gè)控制位為“1” 時(shí),設(shè)定對應(yīng)端口輸出驅(qū)動能力降低;如果某個(gè)控制位為“0”時(shí),設(shè)定對應(yīng)端口為正常驅(qū)動輸出方式。5.2 輸入輸入/輸出端口寄存器及設(shè)置輸
8、出端口寄存器及設(shè)置 5.2.2 PORTT、PORTS、PORTM、PORTP、PORTH和和PORTJ 1數(shù)據(jù)寄存器(數(shù)據(jù)寄存器(PTx) 如果數(shù)據(jù)方向寄存器DDRx的對應(yīng)位為“0”,即對應(yīng)引腳定義為輸入時(shí),讀取數(shù)據(jù)寄存器PTx的對應(yīng)位,則為對應(yīng)引腳的輸入電平值;如果DDRx的對應(yīng)位為“1”,即對應(yīng)引腳定義為輸出時(shí),寫入PTx寄存器的對應(yīng)位,則為對應(yīng)引腳的輸出電平值。5.2 輸入輸入/輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.2 PORTT、PORTS、PORTM、PORTP、PORTH和和PORTJ 2輸入寄存器(輸入寄存器(PTIx) 輸入寄存器PTIx是一個(gè)只讀寄存器,如果DD
9、Rx的對應(yīng)位為“0”,即對應(yīng)引腳定義為輸入時(shí),讀取PTIx總是返回引腳電平值;如果DDRx的對應(yīng)位為“1”,即對應(yīng)引腳定義為輸出時(shí),利用PTIx可以監(jiān)視對應(yīng)引腳是否過載或短路。5.2 輸入輸入/輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.2 PORTT、PORTS、PORTM、PORTP、PORTH和和PORTJ 3數(shù)據(jù)方向寄存器(數(shù)據(jù)方向寄存器(DDRx) DDRx決定對應(yīng)引腳配置為輸出口還是輸入口,如果某位為“0”,則對應(yīng)引腳設(shè)定為輸入;如果某位為“1”,則對應(yīng)引腳設(shè)定為輸出。復(fù)位后,DDRx值為0 x00,即MCU復(fù)位后引腳默認(rèn)為輸入口。5.2 輸入輸入/輸出端口寄存器及設(shè)置輸出端
10、口寄存器及設(shè)置 5.2.2 PORTT、PORTS、PORTM、PORTP、PORTH和和PORTJ 4驅(qū)動控制寄存器(驅(qū)動控制寄存器(RDRx) 如果端口為輸出口時(shí),RDRx可以設(shè)置端口對應(yīng)引腳的輸出驅(qū)動能力。如果RDRx某位為“1”,則對應(yīng)引腳的輸出驅(qū)動能力為正常時(shí)的1/5;如果某位為“0”,則對應(yīng)引腳輸出為正常驅(qū)動能力。復(fù)位后,驅(qū)動控制寄存器值為0 x00,即MCU復(fù)位后引腳默認(rèn)為滿功率驅(qū)動輸出。5.2 輸入輸入/輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.2 PORTT、PORTS、PORTM、PORTP、PORTH和和PORTJ 5上拉上拉/下拉使能寄存器(下拉使能寄存器(PE
11、Rx) 如果端口為輸入口或者“線或”模式時(shí),可以通過上拉/下拉使能寄存器PERx使能選擇使用內(nèi)置上拉/下拉電阻。如果PERx某位為“1” 時(shí),則對應(yīng)引腳允許使用內(nèi)置上拉/下拉電阻;如果某位為“0” 時(shí),則對應(yīng)引腳禁用內(nèi)置上拉/下拉電阻。5.2 輸入輸入/輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.2 PORTT、PORTS、PORTM、PORTP、PORTH和和PORTJ 6上拉上拉/下拉選擇寄存器(下拉選擇寄存器(PPSx) 當(dāng)某引腳被定義為輸入且使能內(nèi)置上拉/下拉電阻時(shí),上拉/下拉選擇寄存器PPSx用于選擇使用內(nèi)置上拉或者下拉電阻。如果PPSx某位為“0”,則對應(yīng)引腳使用上拉電阻;如
12、果某位為“1”,則對應(yīng)引腳使用下拉電阻。 PORTP、PORTH和PORTJ三個(gè)端口都具有中斷功能,當(dāng)某端口允許中斷時(shí),PPSx還具有第二個(gè)作用,用于選擇該端口中的引腳中斷為上升沿觸發(fā)或下降沿觸發(fā)。當(dāng)端口某引腳使能中斷時(shí),當(dāng)PPSx對應(yīng)位為“0” 時(shí),則該引腳中斷為下降沿觸發(fā);當(dāng)PPSx對應(yīng)位為“1”,則該引腳中斷為上升沿觸發(fā)。5.2 輸入輸入/輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.2 PORTT、PORTS、PORTM、PORTP、PORTH和和PORTJ 7中斷使能寄存器(中斷使能寄存器(PIEx) PORTP、PORTH和PORTJ三個(gè)端口具有中斷功能,且都有中斷使能寄存器P
13、IEx,PIEx允許或者禁止相應(yīng)端口的中斷請求。如果PIEx某位為“1”,則對應(yīng)引腳允許中斷;如果某位為“0”,則對應(yīng)引腳禁止中斷。復(fù)位后,中斷使能寄存器值為0 x00,MCU復(fù)位后關(guān)閉所有端口中斷請求。5.2 輸入輸入/輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.2 PORTT、PORTS、PORTM、PORTP、PORTH和和PORTJ 8中斷標(biāo)志寄存器(中斷標(biāo)志寄存器(PIFx) PORTP、PORTH和PORTJ三個(gè)端口具有中斷功能,且都有中斷標(biāo)志寄存器PIFx。基于PPSx寄存器設(shè)置的邊沿觸發(fā)中斷方式,當(dāng)端口相應(yīng)引腳發(fā)生中斷,并產(chǎn)生有效電平時(shí),則PIFx中的中斷引腳對應(yīng)位被置位
14、。為了清除PIFx中的中斷標(biāo)志位,需要向該位進(jìn)行寫“1”操作。5.2 輸入輸入/輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.2 PORTT、PORTS、PORTM、PORTP、PORTH和和PORTJ PORTP、PORTH和PORTJ三個(gè)端口的中斷向量地址及相關(guān)標(biāo)志位、控制位如表5-2所示。5.2 輸入輸入/輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.3 PORTT、PORTS、PORTM、PORTP、PORTH和和PORTJ 1AD0數(shù)據(jù)寄存器數(shù)據(jù)寄存器0(PT0AD0) 當(dāng)不使用AD功能時(shí),如果AD0端口數(shù)據(jù)方向寄存器0DDR0AD0的對應(yīng)位為“0”,即對應(yīng)引腳定義為輸入時(shí),
15、讀取PT0AD0的對應(yīng)位,則為對應(yīng)引腳的輸入電平值;如果DDR0AD0的對應(yīng)位為“1”,即對應(yīng)引腳定義為輸出時(shí),寫入PT0AD0寄存器的對應(yīng)位,則為對應(yīng)引腳的輸出電平值。5.2 輸入輸入/輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.3 PORTT、PORTS、PORTM、PORTP、PORTH和和PORTJ 2AD0數(shù)據(jù)寄存器數(shù)據(jù)寄存器1( PT1AD0) 當(dāng)不使用AD功能時(shí),如果AD0端口數(shù)據(jù)方向寄存器1DDR1AD0的對應(yīng)位為“0”,即對應(yīng)引腳定義為輸入時(shí),讀取PT1AD0的對應(yīng)位,則為對應(yīng)引腳的輸入電平值;如果DDR1AD0的對應(yīng)位為“1”,即對應(yīng)引腳定義為輸出時(shí),寫入PT1AD0
16、寄存器的對應(yīng)位,則為對應(yīng)引腳的輸出電平值。5.2 輸入輸入/輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.3 PORTT、PORTS、PORTM、PORTP、PORTH和和PORTJ 3AD0數(shù)據(jù)方向寄存器數(shù)據(jù)方向寄存器0(DDR0AD0) DDR0AD0決定AN00AN07對應(yīng)引腳為輸出口還是輸入口,如果某位為“0”,則對應(yīng)引腳設(shè)定為輸入口;如果某位為“1”,則對應(yīng)引腳設(shè)定為輸出口。如果希望設(shè)置AD0端口為通用I/O口功能,ATD0DIEN(數(shù)字輸入使能)寄存器必須設(shè)置為“1”,關(guān)于ATD0DIEN寄存器的詳細(xì)介紹,請參閱第8章。5.2 輸入輸入/輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置
17、 5.2.3 PORTT、PORTS、PORTM、PORTP、PORTH和和PORTJ 4AD0數(shù)據(jù)方向寄存器數(shù)據(jù)方向寄存器1(DDR1AD0) DDR1AD0決定AN08AN15對應(yīng)引腳為輸出口還是輸入口,如果某位為“0”,則對應(yīng)引腳設(shè)定為輸入口;如果某位為“1”,則對應(yīng)引腳設(shè)定為輸出口。如果希望設(shè)置AD0端口為通用I/O口功能,ATD0DIEN寄存器必須設(shè)置為“1”,關(guān)于ATD0DIEN寄存器的詳細(xì)介紹,請參閱第8章。5.2 輸入輸入/輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.3 PORTT、PORTS、PORTM、PORTP、PORTH和和PORTJ 5AD0驅(qū)動控制寄存器驅(qū)動控
18、制寄存器0(RDR0AD0) 如果端口為輸出口時(shí),RDR0AD0可以設(shè)置端口對應(yīng)引腳的輸出驅(qū)動能力。如果RDR0AD0某位為“1”,則對應(yīng)引腳的輸出驅(qū)動能力為正常時(shí)的1/5;如果某位為“0”,則對應(yīng)引腳輸出為正常驅(qū)動能力。5.2 輸入輸入/輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.3 PORTT、PORTS、PORTM、PORTP、PORTH和和PORTJ 6AD0驅(qū)動控制寄存器驅(qū)動控制寄存器1(RDR1AD0) 如果端口為輸出口時(shí),RDR1AD0可以設(shè)置端口對應(yīng)引腳的輸出驅(qū)動能力。如果RDR1AD0某位為“1”,則對應(yīng)引腳的輸出驅(qū)動能力為正常時(shí)的1/5;如果某位為“0”,則對應(yīng)引腳輸
19、出為正常驅(qū)動能力。5.2 輸入輸入/輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.3 PORTT、PORTS、PORTM、PORTP、PORTH和和PORTJ 7AD0上拉使能寄存器上拉使能寄存器0(PER0AD0) 如果端口為輸入口時(shí),可以通過PER0AD0使能選擇使用內(nèi)置上拉電阻。如果PER0AD0某位為“1” 時(shí),則對應(yīng)引腳允許使用內(nèi)置上拉電阻;如果某位為“0” 時(shí),則對應(yīng)引腳禁用內(nèi)置上拉電阻。5.2 輸入輸入/輸出端口寄存器及設(shè)置輸出端口寄存器及設(shè)置 5.2.3 PORTT、PORTS、PORTM、PORTP、PORTH和和PORTJ 8AD0上拉使能寄存器上拉使能寄存器1(PER
20、1AD0) 如果端口為輸入口時(shí),可以通過PER1AD0使能選擇使用內(nèi)置上拉電阻。如果PER1AD0某位為“1”時(shí),則對應(yīng)引腳允許使用內(nèi)置上拉電阻;如果某位為“0” 時(shí),則對應(yīng)引腳禁用內(nèi)置上拉電阻。5.3 輸入輸入/輸出端口應(yīng)用實(shí)例輸出端口應(yīng)用實(shí)例 5.3.1 控制輸出設(shè)備控制輸出設(shè)備LED實(shí)例實(shí)例 典型LED有陽極和陰極兩個(gè)引腳,LED在正向偏置的狀態(tài)下能夠發(fā)光,通過通用I/O口控制LED一個(gè)引腳,LED另外一個(gè)引腳接固定電平,即可實(shí)現(xiàn)LED的點(diǎn)亮控制。 本應(yīng)用實(shí)例硬件連接如圖5.21所示,PORTB端口連接8只LED,通過編程實(shí)現(xiàn)LED流水燈操作。5.3 輸入輸入/輸出端口應(yīng)用實(shí)例輸出端口應(yīng)
21、用實(shí)例 5.3.1 控制輸出設(shè)備控制輸出設(shè)備LED實(shí)例實(shí)例 由電路圖可知,使用MC9S12XS128的PORTB端口控制8只LED,PORTB端口輸出低電平點(diǎn)亮相應(yīng)LED。本例中流水燈的流動速度沒有實(shí)現(xiàn)精確控制,即延時(shí)時(shí)間沒有精確計(jì)算,本書后面章節(jié)會論述如何實(shí)現(xiàn)精確定時(shí)。5.3 輸入輸入/輸出端口應(yīng)用實(shí)例輸出端口應(yīng)用實(shí)例 5.3.1 控制輸出設(shè)備控制輸出設(shè)備LED實(shí)例實(shí)例流水燈應(yīng)用實(shí)例程序清單如下所示。5.3 輸入輸入/輸出端口應(yīng)用實(shí)例輸出端口應(yīng)用實(shí)例 5.3.1 控制輸出設(shè)備控制輸出設(shè)備LED實(shí)例實(shí)例5.3 輸入輸入/輸出端口應(yīng)用實(shí)例輸出端口應(yīng)用實(shí)例 5.3.2 讀取輸入設(shè)備撥碼開關(guān)狀態(tài)實(shí)例
22、讀取輸入設(shè)備撥碼開關(guān)狀態(tài)實(shí)例 通過讀取通用I/O口引腳的輸入電平值,可以獲悉輸入設(shè)備撥碼開關(guān)的狀態(tài)。本應(yīng)用實(shí)例硬件連接如圖5.22所示。5.3 輸入輸入/輸出端口應(yīng)用實(shí)例輸出端口應(yīng)用實(shí)例 5.3.2 讀取輸入設(shè)備撥碼開關(guān)狀態(tài)實(shí)例讀取輸入設(shè)備撥碼開關(guān)狀態(tài)實(shí)例 由電路圖可知,通過MC9S12XS128的PORTA端口可以讀取8位撥碼開關(guān)狀態(tài)。本例依然使用圖5.21所示的控制LED電路,使用MC9S12XS128的PORTB端口控制8只LED燈,考慮通過8只LED燈的亮滅反映8位撥碼開關(guān)狀態(tài)的設(shè)置情況。5.3 輸入輸入/輸出端口應(yīng)用實(shí)例輸出端口應(yīng)用實(shí)例 5.3.2 讀取輸入設(shè)備撥碼開關(guān)狀態(tài)實(shí)例讀取輸
23、入設(shè)備撥碼開關(guān)狀態(tài)實(shí)例實(shí)例程序清單如下所示。5.4 智能車系統(tǒng)中輸入智能車系統(tǒng)中輸入/輸出端口的應(yīng)用輸出端口的應(yīng)用5.4.1 鍵盤接口設(shè)計(jì)鍵盤接口設(shè)計(jì) 鍵盤多由多個(gè)按鍵組成,一般將其排列成陣列式,如圖5.23所示。5.4 智能車系統(tǒng)中輸入智能車系統(tǒng)中輸入/輸出端口的應(yīng)用輸出端口的應(yīng)用 5.4.1 鍵盤接口設(shè)計(jì)鍵盤接口設(shè)計(jì) 當(dāng)沒有鍵按下時(shí),行和列線之間是不相連的,若第N行第M列的鍵被按下,那么第N行與第M列的線就被接通。如果在列線上加上信號,根據(jù)行線的狀態(tài),便可得知是否有鍵按下。如果在列線上逐行加上一個(gè)掃描信號,就可以判斷按鍵的位置。 根據(jù)上述原理,利用MC9S12XS128的一個(gè)或兩個(gè)端口就能
24、方便地實(shí)現(xiàn)擴(kuò)展鍵盤接口。圖5.24給出了用MC9S12XS128的PORTA端口擴(kuò)展44的鍵盤。PORTA端口的低4位作為行線,高4位作為列線。5.4 智能車系統(tǒng)中輸入智能車系統(tǒng)中輸入/輸出端口的應(yīng)用輸出端口的應(yīng)用5.4.1 鍵盤接口設(shè)計(jì)鍵盤接口設(shè)計(jì)5.4 智能車系統(tǒng)中輸入智能車系統(tǒng)中輸入/輸出端口的應(yīng)用輸出端口的應(yīng)用 5.4.1 鍵盤接口設(shè)計(jì)鍵盤接口設(shè)計(jì) PORTA端口的低4位設(shè)置為輸入、高4位設(shè)置為輸出(即DDRA=0 xF0)。通過PORTA的高4位逐列輸出低電平,同時(shí)讀取PORTA的低4位,將高4位的輸出狀態(tài)與讀取的低4位的狀態(tài)相“與”,然后查詢保存在RAM中的表就能判斷被按下鍵的位置
25、。5.4 智能車系統(tǒng)中輸入智能車系統(tǒng)中輸入/輸出端口的應(yīng)用輸出端口的應(yīng)用 5.4.1 鍵盤接口設(shè)計(jì)鍵盤接口設(shè)計(jì) 當(dāng)然如果系統(tǒng)中的I/O端口資源緊張,也可以采用專用芯片來擴(kuò)展鍵盤。在此介紹一款數(shù)碼管顯示驅(qū)動及鍵盤掃描管理芯片ZLG7289B。 ZLG7289B是廣州周立功單片機(jī)發(fā)展有限公司自行設(shè)計(jì)的數(shù)碼管顯示驅(qū)動及鍵盤掃描管理芯片,可直接驅(qū)動8位共陰式數(shù)碼管(或64只獨(dú)立LED),同時(shí)還可以掃描管理多達(dá)64只按鍵。ZLG7289B內(nèi)部含有譯碼器,可直接接收BCD碼或16進(jìn)制碼,并同時(shí)具有兩種譯碼方式。此外,還具有多種控制指令,如消隱、閃爍、左移、右移、段尋址等。 ZLG7289B采用SPI串行總
26、線與微控制器接口,僅占用少數(shù)幾根I/O口線。利用片選信號,ZLG7289B還可以并接在一起使用,能夠方便地實(shí)現(xiàn)多于8位的顯示或多于64只按鍵的應(yīng)用。ZLG7289B的引腳如圖5.25所示。5.4 智能車系統(tǒng)中輸入智能車系統(tǒng)中輸入/輸出端口的應(yīng)用輸出端口的應(yīng)用 5.4.1 鍵盤接口設(shè)計(jì)鍵盤接口設(shè)計(jì)本節(jié)僅敘述使用ZLG7289B實(shí)現(xiàn)鍵盤擴(kuò)展,將在5.4.2節(jié)介紹如何采用ZLG7289B擴(kuò)展顯示功能。用ZLG7289B擴(kuò)展44鍵盤的方案如圖5.26所示。5.4 智能車系統(tǒng)中輸入智能車系統(tǒng)中輸入/輸出端口的應(yīng)用輸出端口的應(yīng)用 5.4.2 鍵盤接口設(shè)計(jì)鍵盤接口設(shè)計(jì)本節(jié)僅敘述使用ZLG7289B實(shí)現(xiàn)鍵盤擴(kuò)
27、展,將在5.4.2節(jié)介紹如何采用ZLG7289B擴(kuò)展顯示功能。用ZLG7289B擴(kuò)展44鍵盤的方案如圖5.26所示。5.4 智能車系統(tǒng)中輸入智能車系統(tǒng)中輸入/輸出端口的應(yīng)用輸出端口的應(yīng)用 5.4.2 LED顯示接口設(shè)計(jì)顯示接口設(shè)計(jì)LED(Light Emitting Diode)顯示是用發(fā)光二極管顯示字段的顯示器,也稱為數(shù)碼管,其外形結(jié)構(gòu)如圖5.27所示,它由8個(gè)發(fā)光二極管構(gòu)成,通過不同的組合可用來顯示09、AF及小數(shù)點(diǎn)。5.4 智能車系統(tǒng)中輸入智能車系統(tǒng)中輸入/輸出端口的應(yīng)用輸出端口的應(yīng)用 5.4.2 LED顯示接口設(shè)計(jì)顯示接口設(shè)計(jì)LED顯示器一般分為共陰極和共陽極兩種,共陰極是將8個(gè)發(fā)光二
28、極管陰極連接在一起作為公共端,而共陽極則是將8個(gè)發(fā)光二極管的陽極連接在一起作為公共端。以下敘述都以共陰極為例。數(shù)碼管的公共端相當(dāng)于一個(gè)位選開關(guān),一般稱為位碼開關(guān)。當(dāng)該位處于高電平時(shí),數(shù)碼管全滅;當(dāng)該位處于低電平時(shí),根據(jù)二極管陽極(一般稱為段碼或字形碼)的電平狀態(tài),確定段碼是否點(diǎn)亮。段碼高電平時(shí),該段碼亮;段碼低電平時(shí),該段碼不亮。輸出相應(yīng)的段碼值就可以控制LED顯示器的字形,表5-3中給出了段碼與字形的關(guān)系,假定段碼a、b、c、d、e、f、g、dp分別對應(yīng)8位數(shù)字位D0、D1、D2、D3、D4、D5、D6、D7。5.4 智能車系統(tǒng)中輸入智能車系統(tǒng)中輸入/輸出端口的應(yīng)用輸出端口的應(yīng)用 5.4.2 LED顯示接口設(shè)計(jì)顯示接口設(shè)計(jì)5.4 智能車系統(tǒng)中輸入智能車系統(tǒng)中輸入/輸出端口的應(yīng)用輸出端口的應(yīng)用 5.4.2 LED顯示接口設(shè)計(jì)顯示接口設(shè)計(jì)LED顯示接口一般采用靜態(tài)驅(qū)動和動態(tài)掃描兩種驅(qū)動方式。靜態(tài)驅(qū)動方式工作原理是每個(gè)LED顯示器用一個(gè)I/O端口驅(qū)動,亮度較高,功耗也較大,占用I/O端口多,顯示位數(shù)多時(shí)很少采用;動態(tài)掃描驅(qū)動方式工作原理是將多個(gè)顯示器的段碼同名端連接在一起,位碼分別控制,利用眼睛的余輝暫留效應(yīng)實(shí)現(xiàn)顯示。只要保證一定的顯示刷新頻
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代家教新思路實(shí)踐案例解析
- 遠(yuǎn)程教育在寵物行業(yè)人才培養(yǎng)中的應(yīng)用
- 風(fēng)險(xiǎn)導(dǎo)向下企業(yè)內(nèi)部財(cái)務(wù)控制的改進(jìn)措施研究
- 餐飲應(yīng)急預(yù)案
- 監(jiān)控施工方案范文(6篇)
- 二手機(jī)械銷售合同模板
- KTV裝修合同執(zhí)行管理制度范文
- 不銹鋼建筑材料加工合同
- 交通損害賠償合同示例
- 業(yè)務(wù)合作及分成合同書
- 人教版五年級上冊小數(shù)乘除法豎式計(jì)算題200道及答案
- 五年級上冊美術(shù)《傳統(tǒng)門飾》課件
- DL∕T 1309-2013 大型發(fā)電機(jī)組涉網(wǎng)保護(hù)技術(shù)規(guī)范
- (2020版)煤礦安全生產(chǎn)標(biāo)準(zhǔn)化管理體系評分表
- 城鄉(xiāng)低保待遇協(xié)議書
- DL-T5153-2014火力發(fā)電廠廠用電設(shè)計(jì)技術(shù)規(guī)程
- 華為HCIA-Storage H13-629考試練習(xí)題
- 遼寧省撫順五十中學(xué)2024屆中考化學(xué)全真模擬試卷含解析
- 2024年中國科學(xué)技術(shù)大學(xué)少年創(chuàng)新班數(shù)學(xué)試題真題(答案詳解)
- 2024年新疆維吾爾自治區(qū)成考(專升本)大學(xué)政治考試真題含解析
- 網(wǎng)絡(luò)安全與制造業(yè)
評論
0/150
提交評論