版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于HCS12的嵌入式系統(tǒng)設(shè)計
第5章S12輸入/輸出端口模塊及其應(yīng)用實例合肥工業(yè)大學機械與汽車工程學院滕勤2014.4第5章S12輸入/輸出端口模塊及其應(yīng)用實例本章內(nèi)容
5.1并行I/O接口簡介
5.2輸入/輸出端口寄存器及設(shè)置
5.3輸入/輸出端口應(yīng)用實例基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.1并行I/O接口簡介【I/O接口(Input/OutputInterface)】MCU與外界進行交互的重要通道?!境R奍/O接口】人機交互接口,如開關(guān)、鍵盤、指示燈、顯示器(LED、LCD)等,或者外接其它輸入、輸出設(shè)備。I/O接口電路的主要作用:(1)協(xié)調(diào)高速CPU與低速外設(shè)之間的速度匹配(2)提供輸入、輸出過程中的狀態(tài)信號基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.1并行I/O接口簡介【并行I/O接口組成】【端口】接口電路中用以完成信息傳送、并可通過地址讀/寫的寄存器?!静⑿蠭/O接口】由若干個端口(Port)組成:一個接口在物理上有若干個端口,與不同的寄存器相對應(yīng),規(guī)定這些端口分別是數(shù)據(jù)口、狀態(tài)口和命令口。
一個接口分配有若干個地址,即每一個端口分配一個地址。CPU將不同的信息寫到不同的端口地址,也從不同的端口地址讀取不同的信息?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.1并行I/O接口簡介MC9S12DG128單片機的I/O接口包括PORTA、PORTB、PORTE、PORTK、PORTT、PORTS、PORTM、PORTP、PORTH、PORTJ以及PORTAD端口模塊。PORTA、PORTB、PORTE和PORTK屬于復用擴展總線接口(MEBI),當MC9S12DG128在擴展方式下工作時,作為總線信號;在單片模式下工作時,PORTA、PORTB、PORTE和PORTK可用作通用I/O口。基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.1并行I/O接口簡介PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ屬于端口集成模塊PIM,與片內(nèi)其他功能模塊的引腳復用。每個功能模塊按照優(yōu)先級的高低使用引腳。
基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.1并行I/O接口簡介【GPIO簡化功能邏輯圖】僅考慮兩個寄存器:數(shù)據(jù)寄存器PORT和數(shù)據(jù)方向寄存器DDR。RD_DDR和WR_DDR分別控制各自的三態(tài)雙向門閂電路,該電路具有雙向傳輸和高阻三態(tài)功能(圖中只給出了單向傳輸和門控功能),可分別讀取PORT引腳狀態(tài)、數(shù)據(jù)鎖存器狀態(tài)和方向寄存器DDR的狀態(tài)。基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.1并行I/O接口簡介9S12單片機的每個I/O接口引腳均內(nèi)置拉電阻,可以通過編程設(shè)置是否使用上拉、下拉功能及其極性?!纠娮璧闹饕饔谩慨旊娐夫?qū)動器關(guān)閉時,保持線路(節(jié)點)為固定電平,提高抗干擾能力。標準端口的最小特性:輸入/輸出選擇兩個可選擇驅(qū)動強度的5V輸出驅(qū)動5V數(shù)字或模擬輸入可選擇上拉或下拉器件的輸入選擇特性:線或連接的開漏輸出虛假信號濾波的中斷輸入基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.1并行I/O接口簡介通用I/O口可以設(shè)置輸入/輸出、驅(qū)動能力、內(nèi)部上拉/下拉電阻、中斷輸入等功能。用戶可以通過設(shè)置DDR、I/O、RDR、PER、PPS和IE等寄存器,選擇I/O口的工作方式。其中:★
方向寄存器DDR用于設(shè)定I/O口的數(shù)據(jù)方向?!?/p>
I/O寄存器用于設(shè)定端口輸出電平的高低。★
驅(qū)動控制寄存器RDR用于選擇I/O的輸出驅(qū)動能力?!锷侠?下拉使能寄存器PER當I/O口為輸入時,用于選擇內(nèi)部上拉或下拉功能?!锷侠?下拉選擇寄存器PPS有兩個用途:(1)當中斷允許位置位時,用于選擇上升沿觸發(fā)或下降沿觸發(fā)中斷。(2)當使能內(nèi)部上拉/下拉器件時,用于選擇上拉或下拉?!镏袛嗍鼓芗拇嫫鱅E用于允許或禁止I/O口上的中斷。基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例引腳配置匯總
基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2輸入/輸出端口寄存器及設(shè)置5.2.1PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2.1PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2.1PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2輸入/輸出端口寄存器及設(shè)置5.2.1PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ1.數(shù)據(jù)方向寄存器DDRx【作用】決定對應(yīng)的引腳為輸出還是輸入,任何時候可讀寫。DDRx[7:0]—端口x數(shù)據(jù)方向位1=對應(yīng)引腳設(shè)置為輸出。0=對應(yīng)引腳設(shè)置為輸入。復位后,數(shù)據(jù)方向寄存器值為0x00,引腳默認為輸入?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2輸入/輸出端口寄存器及設(shè)置5.2.1PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ1.數(shù)據(jù)方向寄存器DDRx如果外設(shè)模塊控制引腳,數(shù)據(jù)方向寄存器的內(nèi)容被忽略?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2.1PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ2.I/O寄存器PTx任何時候可讀寫。如果數(shù)據(jù)方向寄存器DDRx對應(yīng)位的數(shù)值為“1”(輸出)時,I/O寄存器的值與引腳電平一致:PTx=1,對應(yīng)的引腳輸出為高電平。PTx=0,對應(yīng)的引腳輸出為低電平。讀取該寄存器返回I/O寄存器的內(nèi)容。如果數(shù)據(jù)方向寄存器DDRx對應(yīng)位的數(shù)值為“0”,即將對應(yīng)引腳定義為輸入時:讀取該寄存器返回引腳值。寫該寄存器不改變引腳狀態(tài),但當DDRx對應(yīng)位的數(shù)值變?yōu)椤?”時,寄存器中的數(shù)值將反映在引腳上?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2.1PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ3.輸入寄存器PTIx輸入寄存器是一個只讀寄存器。任何時候可讀,寫無效。如果數(shù)據(jù)方向寄存器DDRx對應(yīng)位的數(shù)值為“0”,即將對應(yīng)引腳定義為輸入時,讀取該寄存器總是返回引腳值。讀出的值為“0”,表示對應(yīng)引腳上為低電平;讀出的值為“1”,表示對應(yīng)引腳上為高電平。如果數(shù)據(jù)方向寄存器DDRx對應(yīng)位的數(shù)值為“1”,即將對應(yīng)引腳定義為輸出時,利用讀該寄存器可以監(jiān)視對應(yīng)引腳是否過載或短路。如果過載或短路,則該寄存器對應(yīng)位為1,否則,為0。基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2輸入/輸出端口寄存器及設(shè)置5.2.1PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ4.驅(qū)動控制寄存器RDRx【作用】定義每個輸出端口引腳的驅(qū)動能力,任何時候可讀寫。RDRx[7:0]—端口x降功率驅(qū)動控制位1=對應(yīng)引腳輸出驅(qū)動能力為正常值的1/6。0=對應(yīng)引腳為輸出全功率驅(qū)動。如果端口用作輸入,該位被忽略。復位后,RDRx寄存器值為$00,引腳默認以滿功率驅(qū)動輸出?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2.1PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ5.上拉/下拉使能寄存器PERx
【作用】如果端口用作輸入或為“線或”模式時,該寄存器設(shè)置是否激活內(nèi)置上拉/下拉器件。任何時候可讀寫。PERx[7:0]—端口上拉/下拉器件使能位1=對應(yīng)引腳允許內(nèi)置上拉或下拉器件。0=對應(yīng)引腳禁用內(nèi)置上拉/下拉器件。如果端口用作輸出,該位無效。復位后,PERx=$00,禁止上拉/下拉功能?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2.1PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ【補充】上/下拉電阻的作用當TTL電路驅(qū)動COMS電路時,由于TTL電路輸出的高電平低于COMS電路的高電平閾值,需要在TTL的輸出端接上拉電阻,以提高輸出高電平的值。OC(集電極開路)或OD(漏極開路)門電路必須加上拉電阻,才能使用。為加大輸出引腳的驅(qū)動能力,有的單片機管腳上也常使用上拉電阻。管腳懸空容易受外界的電磁干擾。不用的管腳不能懸空,一般接上拉電阻,提高總線的抗電磁干擾能力,防止靜電造成COMS芯片損壞。芯片的管腳加上拉電阻來提高輸出電平,從而提高芯片輸入信號的噪聲容限,增強抗干擾能力。長線傳輸中,電阻不匹配容易引起反射波干擾,加下拉電阻進行電阻匹配,有效抑制反射波干擾?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2.1PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ6.上拉/下拉選擇寄存器PPSx
【作用】選擇上拉或下拉器件是否與引腳相連。任何時候可讀寫。PPSx[7:0]—端口上拉/下拉選擇位1=如果端口用作輸入、且PERx寄存器相關(guān)位設(shè)置為允許時,對應(yīng)的端口引腳與下拉器件相連。0=如果端口用作輸入、且PERx寄存器相關(guān)位設(shè)置為允許時,對應(yīng)的端口引腳與上拉器件相連?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2輸入/輸出端口寄存器及設(shè)置5.2.1PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ6.上拉/下拉選擇寄存器PPSx【注意】PORTP、PORTH和PORTJ三個端口具有中斷功能,當這三個端口允許中斷時,上拉/下拉選擇寄存器還具有第二個作用,用于選擇引腳上觸發(fā)中斷的形式。PPSx[7:0]—觸發(fā)中斷選擇位1=當某個引腳使能中斷時,上升沿觸發(fā)中斷。0=當某個引腳使能中斷時,下降沿觸發(fā)中斷?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2.1PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ7.端口線或模式寄存器WOMx端口M和端口S各具有一個線或模式寄存器,用來將輸出引腳設(shè)置成“線或”方式。任何時候可讀寫。如果使能,輸出驅(qū)動僅僅低電平有效,邏輯“1”電平不驅(qū)動。也適用于SPI和SCI輸出,允許幾個串行模塊的多點連接。該位對用作輸入的引腳沒有影響。WOMx[7:0]—線或模式選擇位1=輸出緩沖器工作在開漏輸出(open-drainoutput)狀態(tài)。0=輸出緩沖器工作在推挽輸出(push-pulloutput)狀態(tài)。基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例【復習】單片機開漏輸出和推挽輸出的區(qū)別驅(qū)動能力不同推挽輸出(1)兩個參數(shù)相同的MOSFET分別受兩互補信號的控制,一個管子導通時另一個截止。(2)輸出電阻小,導通損耗小,效率高,能夠驅(qū)動大的負載。單片機管腳可以直接驅(qū)動發(fā)光二極管、蜂鳴器、甚至更小阻抗的負載。(3)可以輸出高、低電平,連接數(shù)字器件。輸出既可以向負載灌電流,也可以從負載抽取電流。開漏輸出(1)漏極開路,只能輸出低電平,需接上拉電阻才能得到高電平狀態(tài)。(2)適合于吸收型弱電流驅(qū)動,接上拉電阻后吸收電流的能力比輸出電流的能力強?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2.1PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ8.中斷使能寄存器PIExPORTP、PORTH和PORTJ三個端口具有中斷功能,且各有一個中斷使能寄存器,允許或禁止相應(yīng)端口對有效邊沿的中斷。任何時候可讀寫。PIEx[7:0]—中斷使能位1=允許中斷。0=禁止中斷(中斷被屏蔽)。復位后,中斷使能寄存器值為$00,所有端口中斷關(guān)閉。
基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2.1PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ9.中斷標志寄存器PIFx
PORTP、PORTH和PORTJ三個端口各有一個中斷標志寄存器PIFx(x=P、H、J)?;赑PSx寄存器設(shè)置的有效邊沿,當相應(yīng)引腳上出現(xiàn)上升沿或下降沿時,中斷標志寄存器中的對應(yīng)位被置位。任何時候可讀寫PIFx寄存器。為了清除中斷標志,需要向該寄存器中的相應(yīng)位寫“1”。寫“0”無效。PIFx[7:0]—中斷標志位1=相應(yīng)引腳上出現(xiàn)有效邊沿(如果相應(yīng)的使能位置位,將產(chǎn)生中斷)。0=相應(yīng)引腳上未出現(xiàn)有效邊沿?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2輸入/輸出端口寄存器及設(shè)置5.2.1PORTT、PORTS、PORTM、PORTP、PORTH和PORTJPORTP、PORTH和PORTJ三個端口的中斷向量地址及相關(guān)標志位、控制位?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2輸入/輸出端口寄存器及設(shè)置5.2.2PORTA、PORTB、PORTE和PORTK基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2.2PORTA、PORTB、PORTE和PORTK1.數(shù)據(jù)方向寄存器DDRx【作用】決定端口引腳為輸出還是輸入。DDRx[7-0]—數(shù)據(jù)方向位1=設(shè)置相應(yīng)的I/O引腳為輸出。0=設(shè)置相應(yīng)的I/O引腳為輸入。DDRx各位的數(shù)值影響相應(yīng)PORTx寄存器讀取的數(shù)據(jù)源。如果DDRx寄存器某位為“0”(輸入),讀取的是緩沖的引腳輸入狀態(tài);如果DDRx寄存器某位為“1”(輸出),讀取的是相應(yīng)端口數(shù)據(jù)寄存器對應(yīng)位的狀態(tài)。復位后,數(shù)據(jù)方向寄存器的值為0x00,引腳默認為輸入?!咀⒁狻慷丝贓是一個特例,其最低兩位只能為輸入口,端口E的數(shù)據(jù)方向寄存器DDRE最低兩位是只讀位,讀這兩位始終返回“0”?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2.2PORTA、PORTB、PORTE和PORTK2.I/O寄存器PORTx
I/O寄存器中8位對應(yīng)每個端口中的相應(yīng)引腳,當PORTx寄存器處于內(nèi)存分配表中時,任何時候可讀寫。如果某端口的引腳被定義為輸出,寫入I/O寄存器中的數(shù)值會從對應(yīng)引腳輸出;如果某端口的引腳被定義為輸入,讀取I/O寄存器獲得對應(yīng)的引腳電平。為了確保讀到PORTx引腳的當前值,寫DDRx寄存器后至少等待一個周期,再讀PORTx寄存器?!咀⒁狻慷丝贓是一個特例,其最低兩位只能為輸入,端口E的I/O寄存器PORTE最低兩位是只讀位?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2.2PORTA、PORTB、PORTE和PORTK3.上拉電阻控制寄存器PUCRPORTA、PORTB、PORTE和PORTK都有內(nèi)置上拉電阻,共用一個控制寄存器PUCR。【作用】選擇端口引腳的上拉電阻,第7、4、1和0位分別對應(yīng)端口K、E、B和A。當PUCR寄存器處于內(nèi)存分配表中時,任何時候可讀寫。上拉根據(jù)每個端口來分配,適用于當前配置為輸入的相應(yīng)端口的任何引腳。當相應(yīng)引腳為輸出時,這些位無效(上拉設(shè)置不起作用)。單片機復位后,端口K和端口E的上拉電阻使能,端口B和端口A的上拉電阻禁止。在擴展和外設(shè)模式下,PUCR寄存器不在片內(nèi)寄存器映射區(qū)內(nèi)?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2.2PORTA、PORTB、PORTE和PORTK3.上拉電阻控制寄存器PUCRPUPKE—端口K上拉使能位1=端口K輸入引腳上拉允許。0=端口K輸入引腳上拉禁止。PUPEE—端口E上拉使能位1=端口E輸入引腳7,4-0上拉允許。0=端口E輸入引腳7,4-0上拉禁止。PUPBE—端口B上拉使能位1=端口B所有輸入引腳上拉允許。0=端口B上拉禁止。PUPAE—端口A上拉使能位1=端口A所有輸入引腳上拉允許。0=端口A上拉禁止。基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2.2PORTA、PORTB、PORTE和PORTK4.驅(qū)動控制寄存器RDRIVPORTA、PORTB、PORTE和PORTK都可以設(shè)置端口輸出驅(qū)動能力,共用一個控制寄存器RDRIV?!咀饔谩窟x擇相關(guān)端口引腳的降功率驅(qū)動,第7、4、1和0位分別對應(yīng)端口K、E、B和A。當RDRIV寄存器處于內(nèi)存分配表中時,任何時候可讀寫。如果某個控制位為“1”,對應(yīng)端口輸出驅(qū)動能力降低;如果某個控制位為“0”,對應(yīng)端口為正常驅(qū)動輸出方式。在擴展和外設(shè)模式下,RDRIV寄存器不在片內(nèi)映射區(qū)內(nèi)?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.2.2PORTA、PORTB、PORTE和PORTK4.驅(qū)動控制寄存器RDRIVRDPK-端口K降功率驅(qū)動控制位1=允許所有端口K輸出引腳低功耗驅(qū)動。0=允許所有端口K輸出引腳全功率驅(qū)動。RDPE-端口E降功率驅(qū)動控制位1=允許所有端口E輸出引腳低功耗驅(qū)動。0=允許所有端口E輸出引腳全功率驅(qū)動。RDPB-端口B降功率驅(qū)動控制位1=允許所有端口B輸出引腳低功耗驅(qū)動。0=允許所有端口B輸出引腳全功率驅(qū)動。RDPA-端口A降功率驅(qū)動控制位1=允許所有端口A輸出引腳低功耗驅(qū)動。0=允許所有端口A輸出引腳全功率驅(qū)動?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.3輸入/輸出端口應(yīng)用實例
5.3.1輸出設(shè)備LED控制實例PORTB連接8只LED,編程實現(xiàn)明燈流水操作。點亮LED燈,并使蜂鳴器發(fā)聲。基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.3輸入/輸出端口應(yīng)用實例5.3.2輸入設(shè)備撥碼開關(guān)讀取實例使用PORTA讀取8位撥碼開關(guān)狀態(tài)。根據(jù)撥位開關(guān)的狀態(tài),點亮或熄滅對應(yīng)的LED燈?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.3輸入/輸出端口應(yīng)用實例5.3.3鍵盤接口設(shè)計鍵盤多由多個按鍵組成,排列成陣列。當無鍵按下時,行和列線之間不相連,若第N行第M列的鍵被按下,則第N行與第M列的線被接通。如果在列線上加上信號,根據(jù)行線的狀態(tài),便可得知是否有鍵按下。如果逐列加上信號(掃描列線),讀取行線狀態(tài),便可判斷按鍵的位置?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.3.3鍵盤接口設(shè)計用PORTA擴展的4×4鍵盤:低4位作為行線,高4位作為列線。將端口A的低4位設(shè)置為輸入、高4位設(shè)置為輸出(即DDRA=0xF0)。使PORTA的高4位逐列輸出低電平,并讀取PORTA的低4位,將高4位的輸出狀態(tài)與讀取到的低4位狀態(tài)相“與”,然后查詢RAM中的表格便可判斷被按下鍵的位置?!炬I盤掃描方法】逐行/逐列掃描法反轉(zhuǎn)法【去抖動方法】硬件法——采用斯密特觸發(fā)器軟件法——利用軟件延時基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.3.3鍵盤接口設(shè)計【硬件去抖動處理】利用兩級帶斯密特觸發(fā)電路的反相器?!拒浖ザ秳犹幚怼慨斉袛嘤墟I按下后,軟件延時20ms,再次掃描確認。基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.3輸入/輸出端口應(yīng)用實例5.3.3鍵盤接口設(shè)計基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.3.3鍵盤接口設(shè)計采用數(shù)碼管顯示驅(qū)動及鍵盤掃描管理芯片ZLG7289B擴展4×4鍵盤。【芯片特點】可直接驅(qū)動8位共陰式數(shù)碼管(或64只獨立LED)??蓲呙韫芾矶噙_64只按鍵。內(nèi)部含有譯碼器,可直接接收BCD碼或16進制碼,并具有兩種譯碼方式。具有多種控制指令,如消隱、閃爍、左移、右移、段尋址等。采用SPI串行總線與微控制器接口。利用片選信號,ZLG7289B可以并接在一起使用,實現(xiàn)多于8位的顯示或多于64只按鍵的應(yīng)用?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.3.3鍵盤接口設(shè)計通過IRQ中斷來檢測是否有按鍵被按下?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.3.4LED顯示接口設(shè)計【LED(LightEmittingDiode)】數(shù)碼管,用發(fā)光二極管顯示字段的顯示器。【LED顯示器類型】共陰極、共陽極。共陰極——將8個發(fā)光二極管陰極連在一起作為公共端。共陽極——將8個發(fā)光二極管的陽極連在一起作為公共端。
(a)外形結(jié)構(gòu)與引腳(共陰)(b)共陰極(C)共陽極基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.3.4LED顯示接口設(shè)計數(shù)碼管的公共端相當于一個位選開關(guān),一般稱為位碼開關(guān)。當該位處于高電平時,數(shù)碼管全滅;當該位處于低電平時,根據(jù)二極管陽極(一般稱為段碼或字形碼)的電平狀態(tài),確定段碼是否點亮。段碼高電平時,該段碼亮;段碼低電平時,該段碼不亮。輸出相應(yīng)的段碼值得到LED顯示器的字形?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.3輸入/輸出端口應(yīng)用實例5.3.4LED顯示接口設(shè)計【LED顯示驅(qū)動方式】靜態(tài)驅(qū)動,動態(tài)掃描。靜態(tài)驅(qū)動方式——每個LED顯示器用一個I/O端口驅(qū)動?!咎攸c】亮度較高,功耗也較大,占用I/O端口多,適合顯示位數(shù)少的場合。
動態(tài)掃描驅(qū)動方式——將多個顯示器的段碼同名端連接在一起(并聯(lián)),由位碼分別控制各顯示器,利用眼睛的余輝暫留效應(yīng)實現(xiàn)顯示。只要保證一定的顯示刷新頻率,其顯示效果與靜態(tài)顯示相當。用一個I/O端口驅(qū)動段碼,用一個I/O端口實現(xiàn)位碼控制。【特點】占用I/O端口少,功耗也小,電路簡化,成本降低,適合顯示位數(shù)的場合。
基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.3.4LED顯示接口設(shè)計基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例鍵盤、LED顯示接口基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.3輸入/輸出端口應(yīng)用實例5.3.5LCD顯示接口設(shè)計【LCD類型】段位式、字符式和點陣式。段位式LCD和字符式LCD只能顯示簡單的字符和數(shù)字,不能顯示圖形、曲線和漢字。點陣式LCD不僅可以顯示字符、數(shù)字,還可以顯示各種圖形、曲線以及漢字,并且可以實現(xiàn)屏幕上下左右滾動、動畫、分區(qū)開窗口、反轉(zhuǎn)、閃爍等多種功能?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.3輸入/輸出端口應(yīng)用實例5.3.5LCD顯示接口設(shè)計【字符式LCD顯示器接口電路設(shè)計】
YM-0802B系列字符式LCD模塊是2×8字符式LCD模塊(可顯示2行,每行8個字符)。YM-0802B可以工作在全字或半字模式下。
基于HCS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.3輸入/輸出端口應(yīng)用實例5.3.5LCD顯示接口設(shè)計【字符式LCD顯示器接口電路設(shè)計】
方案中采用半字模式,以節(jié)省I/O口線。A口的高4位作為數(shù)據(jù)線,與YM-0802B的DB4~DB7連接,PORTB的低3位作為控制線,分別與YM-0802B的RS、R/W、E連接?;贖CS12的嵌入式系統(tǒng)設(shè)計》第5章S12輸入/輸出端口模塊及其應(yīng)用實例5.3輸入/輸出端口應(yīng)用實例5.3.5LCD顯示接口設(shè)計【點陣式LCD顯示器接口
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆廣東省廣州荔灣區(qū)真光中學數(shù)學高一上期末質(zhì)量檢測試題含解析
- 2025屆甘肅省寧縣二中數(shù)學高二上期末達標檢測試題含解析
- 2025屆四川省西昌市川興中學高一數(shù)學第一學期期末綜合測試試題含解析
- 2025屆北京市順義區(qū)、通州區(qū)英語高三第一學期期末監(jiān)測試題含解析
- 2025屆貴州省六盤水市生物高三第一學期期末調(diào)研試題含解析
- 2025屆遼寧省阜新二高語文高三第一學期期末學業(yè)水平測試試題含解析
- 湖北省名師聯(lián)盟2025屆數(shù)學高二上期末經(jīng)典試題含解析
- 2025屆安徽省休寧縣臨溪中學英語高三第一學期期末監(jiān)測模擬試題含解析
- 2025屆浙江安吉天略外國語學校數(shù)學高二上期末考試試題含解析
- 幼兒園場地清理合同范本(2篇)
- 數(shù)字中國發(fā)展報告(2023年)
- DB33936-2022公路橋梁整體頂升技術(shù)規(guī)程
- 2024年醫(yī)院招聘筆試試題及參考答案
- 北京市西城區(qū)2023-2024學年高一下學期期末英語試題(解析版)
- 三位數(shù)乘兩位數(shù)乘法豎式計算練習100道及答案
- 2025高考語文步步高大一輪復習講義65練答案精析
- 中國中煤筆試
- DLT5196-2016 火力發(fā)電廠石灰石-石膏濕法煙氣脫硫系統(tǒng)設(shè)計規(guī)程
- 人教版四年級數(shù)學上冊第八單元第1課《沏茶問題》備課組說課稿
- 2024高考數(shù)學九省聯(lián)考數(shù)學試題
- 山西退役軍人事務(wù)廳事業(yè)單位筆試真題2024
評論
0/150
提交評論