www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]介紹美國Cygnal公司生產(chǎn)的C8051F02X系列單片機(jī)的外部存儲器接口、I/O端口配置方法和有關(guān)注意的問題。


    摘要:介紹美國Cygnal公司生產(chǎn)的C8051F02X系列單片機(jī)的外部存儲器接口、I/O端口配置方法和有關(guān)注意的問題;在此基礎(chǔ)上列舉兩個關(guān)于EMIF、I/O的配置應(yīng)用。

    關(guān)鍵詞:C8051F02X EMIF I/O 交叉開關(guān)

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

1 EMIF和I/O配置方法

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

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

*設(shè)置EMIF為低端口或高端口;

*設(shè)置EMIF為復(fù)用模式或非復(fù)用模式;

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

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

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

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

1.2 I/O端口配置

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

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

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

①通過將WEAKPUD(XBR2.7)設(shè)置為邏輯0來使能弱上拉部件;

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

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

2 EMIF和I/O端口配置應(yīng)用

下面應(yīng)用基于C8051F021/3單片機(jī),也適應(yīng)于C8051F020/2單片機(jī)。

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

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

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

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

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

因為EMIFLE=0,交叉開關(guān)譯碼器將不跳過P0.7、P0.6、P0.5引腳,所以按優(yōu)先極交叉開關(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引腳。

⑤設(shè)置UART0的TX0引腳(TX0、P0.0)、UART1的TX1引腳(TX1,P0.4)為推挽輸出方式,即P0MDOUT=0x11。RX0、SDA、SCL、RX1、INT0和INT1是由交叉開關(guān)分配輸入的,因此與其端口配置寄存器的值無關(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 鍵盤 通用 通用

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

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

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

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

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

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

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

引腳功能如表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 通用 復(fù)用高地址 復(fù)用低地址/數(shù)據(jù)

3 總結(jié)

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉