<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 網(wǎng)絡(luò )與存儲 > 設計應用 > C8051F02X外部存儲器接口和I/O端口配置

C8051F02X外部存儲器接口和I/O端口配置

作者: 時(shí)間:2008-03-04 來(lái)源:嵌入式技術(shù)網(wǎng) 收藏
摘要:介紹美國Cygnal公司生產(chǎn)的系列單片機的外部存儲器接口、端口配置方法和有關(guān)注意的問(wèn)題;在此基礎上列舉兩個(gè)關(guān)于、的配置應用。

關(guān)鍵詞:

本文引用地址:http://dyxdggzs.com/article/79602.htm

美國Cygnal公司系列單片機是集成在一起芯片上的混合信號系統級單片機。該單片機具有32/64位數字I/O端口(引腳)、25MIPS高速流水線(xiàn)式8051微控制器內核、64KB在系統可編程Flash存儲器、64KB地址的外部存儲器接口、4352(4096+256)B片內RAM、各自獨立的SPI、SMBUS/I2C和兩個(gè)UART串行接口等特點(diǎn)。其最突出的優(yōu)點(diǎn)就是,通過(guò)設置寄存器控制片內數字資源映射到外部I/O引腳,這就允許用戶(hù)根據自己的特定應用,選擇通用I/O端口和所需要數字資源。當然,在設置數字寄存器時(shí),應該首先考慮的配置問(wèn)題。其配置不同,將導致單片機通過(guò)不同的端口(低或高)訪(fǎng)問(wèn)片外存儲器和存儲器映像的I/O部件,以及數字交叉開(kāi)關(guān)是否分配外部設備給P0.7(WR)、P0.6(RD)、P0.5(ALE)引腳。(如圖EMIF設置為多路器模式。)


1 EMIF和I/O配置方法


1.1 外部存儲器接口(EMIF)配置


C8051F02X系列MCU有4KB的RAM可以只映射在片內,也可以映射在64KB外部數據存儲器地址空間,還可以同時(shí)映射到片內和片外(4KB地址以?xún)仍谄瑑却鎯ζ骺臻g訪(fǎng)問(wèn),4KB以上經(jīng)過(guò)EMIF訪(fǎng)問(wèn))三種方式。對于后兩種存儲器工作模式,需通過(guò)外部存儲器接口使用MOVX和DPTR或MOVX和R0(R1)指令訪(fǎng)問(wèn)外部數據存儲器和存儲器映像的I/O設備。但是對于高8位地址,必須由外部存儲器接口寄存器(EMI0CN)提供;而EMIF可將外部數據存儲器接口映射到低端口(P0~P3)(F020/2/3系列)或高端口(P4~P7)(F020/2系列),以及配置為復用模式或非復用模式等。配置外部存儲器接口的步驟下:


*設置EMIF為低端口或高端口;


*設置EMIF為復用模式或非復用模式;


*選擇存儲器模式(片內方式、無(wú)塊選擇分片方式、帶塊選擇分片方式、片外方式);


*設置片外存儲器或片外設備時(shí)基;


*選擇相關(guān)I/O端口(寄存器PnMOUT、P74OUT)的輸出模式。


外部存儲器接口(EMI)映射為低端口(P0~P3)即PRTSEL位(EMIOCH.5)置為0,如PRTSEL位置為1,EMI映射為高端口(P4~P7)(適用于P020/2系列)。此時(shí)如果EMIFLE位(XBR2.5)被設置為邏輯1,那么,數字交叉開(kāi)關(guān)將不分配外部設備給P0.7(WR)、P0.6(RD)、P0.5(ALE)引腳(如果EMI設置為多中模式);如果EMIFLE位設為0,那么P0.7、P0.6、P0.5引腳的功能將由交叉開(kāi)關(guān)寄存器或端口鎖存器來(lái)決定。外部存儲器接口只有執行片外MOVX指令期間使用相關(guān)的端口引腳,一旦MOVX指令執行完畢,端口鎖存器或交叉開(kāi)關(guān)寄存器又重新恢復對端口引腳的控制。


1.2 I/O端口配置


數字交叉開(kāi)關(guān)譯碼器按照被使用設備的優(yōu)先權順序將端口P0~P7的引腳分配給外部數字外設。端口引腳的分配是從P0.0開(kāi)始,沒(méi)有被使用的引腳可作為一般通用的I/O引腳,通過(guò)讀寫(xiě)相應的端口數據寄存器訪(fǎng)問(wèn)。在數字交叉開(kāi)關(guān)寄存器XBR0、XBR1、XBR2中將相應的內部數字資源使能位置1,數字資源就映射到I/O端口引腳。例如:將UART0EN位(XBR0.2)置為1,那么,TX0和RX0引腳被分別映射到P0.0和P0.1。因為UART0具有最高的優(yōu)先權,故在它的使能位置1時(shí),TX0和RX0引腳總是被映射到P0.0和P0.1。如果一個(gè)數字外設的使能位沒(méi)有置1,它的端口的I/O引腳上是不能被訪(fǎng)問(wèn)的。數字交叉開(kāi)關(guān)寄存器被正確配置以后,通過(guò)置XBARE(XBR2.4)位1來(lái)使能交叉開(kāi)關(guān)。在交叉開(kāi)關(guān)使能后。P0~P3(F020/1/2/3系列)或P0~P7(F020/2系列)輸出驅動(dòng)自動(dòng)被禁止,從而避免了交叉開(kāi)關(guān)寄存器和其它寄存器寫(xiě)入時(shí)在端口引腳上產(chǎn)生的沖突。注意:對于由交叉開(kāi)關(guān)分配的輸入引腳(如T0、INT0、RX0等),其輸出驅動(dòng)自動(dòng)被禁止,因此,端口數據寄存器和PnMDOUT寄存器的值對這些引腳的狀態(tài)沒(méi)有影響。


在給單片機內部數字資源分配了相應的I/O引腳后,還應設置其輸出方式:推挽和漏極開(kāi)路。PnMDOUT寄存器各位決定P0~P7端口引腳的輸出方式,某一位置1,則該位為推挽輸出方式;置0,為漏極開(kāi)路輸出方式。PnMDOUT寄存器控制端口引腳的輸出方式,而與交叉開(kāi)關(guān)是否把端口引腳分配給數字外設無(wú)關(guān)。注意:對于由交叉開(kāi)關(guān)分配的輸入引腳(如:SDA、SCL、RX0、RX1等)自動(dòng)配置為漏極開(kāi)路方式,而與相應的端口配置寄存器的設置無(wú)關(guān)。但對于一般的I/O引腳配置為輸入時(shí),與這一引腳相關(guān)的PnMDOUT設置為漏極開(kāi)路,同時(shí)端口配置寄存器位必須清0。


盡管在C8051F021/3中P4、P5、P6和P7沒(méi)有對應的引腳,但端口數據寄存器仍然存在,并可為軟件所用。由于數字輸入通路保持活動(dòng)狀態(tài),所以建議不要將這些引腳處于“懸空”狀態(tài),避免因輸入浮空為無(wú)效邏輯電平而導致不必要的功率消耗。下面的三種方法可以防止這種情況的發(fā)生:


①通過(guò)將WEAKPUD(XBR2.7)設置為邏輯0來(lái)使能弱上拉部件;


②通過(guò)寫(xiě)P74OUT=0xFF,將P4、P5、P6和P7的輸出方式配置為推挽方式;


③通過(guò)向端口數據寄存器寫(xiě)0,將P4、P5、P6和P7的輸出狀態(tài)強制為邏輯0,即P4=0x00、P5=0x00、P6=0x00、P7=0x00。


2 EMIF和I/O端口配置應用


下面應用基于C8051F021/3單片機,也適應于C8051F020/2單片機。


*假設有一應用需要配置UART0、SMBus、UART1、INT0和INT1(8位),存儲器的工作模式為片內方式;另外,P1端口作為4×4鍵盤(pán)的接口,P2、P3口作為通用的I/O端口。該應用的EMIF和I/O端口配置如下:


①設EMI的配置寄存器FMI0CF=0x00,因為本應用無(wú)擴展存儲器和存儲器映像的I/O設備,即存儲器工作模式為片內方式;同時(shí),將EMIFLE(XBR2.5)設置為0,這樣P0.7、P0.5的引腳將由交叉開(kāi)關(guān)寄存器或端口鎖存器來(lái)決定,不被交叉開(kāi)關(guān)跳過(guò)。


②按UART0EN=1、UART1EN=1、SMB0EN=1、INT0E=1、INT1E=1和EMIFLE=0,設置XBR0、XBR1、XBR2為XBR0=0x05、XBR1=0x14、XBR2=0x04。


③配置P1端口為數字輸入模式,即P1MDIN=0xFF;P1端口低四位為鍵盤(pán)輸出,高四位為輸入,即P1MDOUT=0x0FH(P1.0~P1.3為推挽方式,P1.4~P1.7為漏極開(kāi)路方式),P1|=0xF0。


④使能交叉開(kāi)關(guān),即XBARE=1、XBR2=0x44。


因為EMIFLE=0,交叉開(kāi)關(guān)譯碼器將不跳過(guò)P0.7、P0.6、P0.5引腳,所以按優(yōu)先極交叉開(kāi)關(guān)譯碼表進(jìn)行分配。UART0具有最高優(yōu)先極,故P0.0分配給TX0,P0.1分配給RX0;SMBus的SDA、SCL分別分配在P0.2、P0.3引腳;UART1的TX1、RX1分別分配在P0.4、P0.5引腳;INT0分配在P0.6引腳;INT1分配在P0.7引腳。


⑤設置UART0的TX0引腳(TX0、P0.0)、UART1的TX1引腳(TX1,P0.4)為推挽輸出方式,即P0MDOUT=0x11。RX0、SDA、SCL、RX1、INT0和INT1是由交叉開(kāi)關(guān)分配輸入的,因此與其端口配置寄存器的值無(wú)關(guān)。


⑥P2、P3作為一般I/O端口初始化為輸入狀態(tài),即P2MDOUT=0x00、P2=0xFF和P3MDOUT=0x00、P3=0xFF。


引腳功能如表1所列。

表1


引腳 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P1 P2 P3
功能 TX0 RX0 SDA CL TX1 RX1 INT0 INT1 鍵盤(pán) 通用 通用

*設現有一應用需要UART0、SMBus、UART1、INT0和INT1共8位。另外,存儲器工作方式為帶塊選擇的分片方式,EMIF為復用模式、低端口,并配置P1.2、P1.3、P1.4為模擬輸入模式,通過(guò)這三個(gè)引腳利用ADC1來(lái)測量輸入電壓。具體配置步驟如下:


①配置EMI為復用模式和工作在低端口,即PRTSEL=0,EMD2=0;存儲器模式為帶塊選擇的分片方式,即EMD1~0=10;ALE時(shí)基設為2個(gè)SYSCLK周期,即EALE1~0=01。


②按UART0EN=1、UART1EN=1、SYB0EN=1、INT0E=1、INT1E和EMIFLE=1,設置XBR0、XBR1、XBR2為XBR0=0x05、XBR1=0x14、XBR2=0x42。


③配置P1端口的P1.2、P1.3、P1.4為模擬輸入模式,這些引腳對應的位在P1MDIN寄存器中置為0,即P1MDIN=0xE3。


④使能交叉開(kāi)關(guān),即XBARE=1、XBR2=0x46。


UART0具有最高優(yōu)先權,故P0.0分配給TX0,P0.1分配給RX0;依次按照優(yōu)先極分配表,SMBus的SDA、SCL分配在P0.2、P0.3引腳;UART1的TX1、RX1分配在P0.4、P1.0引腳。因為EMI工作在低端口且為復用模式,交叉開(kāi)關(guān)譯碼器將不分配內部數字資源給P0.7(WR)、P0.6(RD)、P0.5(ALE),所以,RX1按次序分配在P1.0引腳,INT0分配在P1.1引腳。由于P1.2、P1.3、P1.4被配置為模擬輸入,交叉開(kāi)關(guān)跳過(guò)這些引腳,故INT1分配在P1.5引腳。在執行片外MOVX指令時(shí),EMI將驅動(dòng)P2和P3端口。


⑤配置UART0的TX0引腳(TX0,P0.0)、UART1的TX1引腳(TX1,P0.4)、P0.7(WR)、P03.6(RD)、P0.5(ALE)為推挽輸出方式,即P0MDOUT=0xF1。


⑥配置EMIF的端口(P2、P3)輸出為推挽方式,即P2MDOUT=0xFF和P3MDOUT=0xFF。


⑦通過(guò)設置P1MDOUT=0x00(輸出為開(kāi)漏極)和P1=0xFF(P1為高阻狀態(tài))來(lái)禁止P1.2、P1.3、P1.4三個(gè)模擬輸入引腳的輸出驅動(dòng)器。


引腳功能如表2所列。

表2


引腳 P0 P1 P2 P3
0 1 2 3 4 5 6 7 0 1 2~4 5 6~7
功能 TX0 RX0 SDA SCL TX1 ALE RD WR RX1 INT0 模擬輸入 INT1 通用 復用高地址 復用低地址/數據

3 總結


C8051F02X具有低功耗(3V工作電壓)、大容量存儲器、高速度、高集成度等特點(diǎn),廣泛應用于工業(yè)控制、測量系統、報警系統。該單片機具有雙串行口,更適合于定位和報警系統的前端,從而提高移動(dòng)終端集成度和降低功耗。

存儲器相關(guān)文章:存儲器原理




評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>