C8051F020入門指導_第1頁
C8051F020入門指導_第2頁
C8051F020入門指導_第3頁
C8051F020入門指導_第4頁
C8051F020入門指導_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、C8051F020/1/2/3混合信號混合信號ISP FLASH 微控制器微控制器1、概述、概述2、交叉開關配置、交叉開關配置 3、系統(tǒng)時鐘源、系統(tǒng)時鐘源 4、系統(tǒng)復位、系統(tǒng)復位5、JTAG接口的在系統(tǒng)調試接口的在系統(tǒng)調試 6、單片機的初始化設置、單片機的初始化設置1、概述、概述 C8051F020 C8051F020器件是完全集成的混合信號系統(tǒng)級器件是完全集成的混合信號系統(tǒng)級MCU MCU 芯芯片,具有片,具有64 64 個數(shù)字個數(shù)字I/O I/O 引腳(引腳(C8051F020/2C8051F020/2)或)或32 32 個數(shù)字個數(shù)字I/O I/O 引腳(引腳(C8051F021/3C80

2、51F021/3)。下面列出了一些主要特性)。下面列出了一些主要特性: : 高速、流水線結構的高速、流水線結構的8051 兼容的兼容的CIP-51 內核(可達內核(可達25MIPS) 全速、非侵入式的在系統(tǒng)調試接口(片內)全速、非侵入式的在系統(tǒng)調試接口(片內) 真正真正12 位(位(C8051F020/1)或)或10 位(位(C8051F022/3)、)、 100 ksps 的的8 通道通道ADC,帶,帶PGA和模擬多路開關和模擬多路開關 真正真正8 位位500 ksps 的的ADC,帶,帶PGA 和和8 通道模擬多路開關通道模擬多路開關 兩個兩個12 位位DAC,具有可編程數(shù)據(jù)更新方式,具有

3、可編程數(shù)據(jù)更新方式 64K 字節(jié)可在系統(tǒng)編程的字節(jié)可在系統(tǒng)編程的FLASH 存儲器存儲器 4352(4096+256)字節(jié)的片內)字節(jié)的片內RAM 可尋址可尋址64K 字節(jié)地址空間的外部數(shù)據(jù)存儲器接口字節(jié)地址空間的外部數(shù)據(jù)存儲器接口 硬件實現(xiàn)的硬件實現(xiàn)的SPI、SMBus/ I2C 和兩個和兩個UART 串行接串行接口口 5 個通用的個通用的16 位定時器位定時器 具有具有5 個捕捉個捕捉/比較模塊的可編程計數(shù)器比較模塊的可編程計數(shù)器/定時器陣列定時器陣列 片內看門狗定時器片內看門狗定時器、VDD 監(jiān)視器和監(jiān)視器和溫度傳感器溫度傳感器1.1 CIP-51TM CPU1.1.1 與與8051 完

4、全兼容完全兼容 C8051F020 系列器件使用系列器件使用Silicon Labs 的專利的專利CIP-51 微控制器內核。微控制器內核。CIP-51 與與MCS-51TM指令集完全兼容,可以指令集完全兼容,可以使用標準使用標準803x/805x 的匯編器和編譯器進行軟件開發(fā)。的匯編器和編譯器進行軟件開發(fā)。 CIP-51 內核具有標準內核具有標準8052 的所有外設部件,包括:的所有外設部件,包括:5 個個16 位的計數(shù)器位的計數(shù)器/定時器、定時器、兩個全雙工兩個全雙工UART、256 字節(jié)內部字節(jié)內部RAM、128 字節(jié)特殊功能寄存器(字節(jié)特殊功能寄存器(SFR)地址空間、)地址空間、8/

5、4 個字節(jié)寬的個字節(jié)寬的I/O 端口。端口。 CIP-51 采用流水線結構,與標準的采用流水線結構,與標準的8051 結構相比指結構相比指令執(zhí)行速度有很大的提高。令執(zhí)行速度有很大的提高。1.1.2 速度提高速度提高 在一個標準的在一個標準的8051 中,除中,除MUL 和和DIV 以外所有指令以外所有指令都需要都需要12 或或24 個系統(tǒng)時鐘周期,最大系統(tǒng)時鐘頻率為個系統(tǒng)時鐘周期,最大系統(tǒng)時鐘頻率為12-24MHz。 而對于而對于CIP-51 內核,內核,70%的指令的執(zhí)行時間為的指令的執(zhí)行時間為1 或或2 個系統(tǒng)時鐘周期個系統(tǒng)時鐘周期,只有,只有4 條指令的執(zhí)行時間大于條指令的執(zhí)行時間大于4

6、 個系統(tǒng)個系統(tǒng)時鐘周期。時鐘周期。1.1.3 增加的功能增加的功能擴展的中斷系統(tǒng)向擴展的中斷系統(tǒng)向CIP-51 提供提供22 個中斷源(標準個中斷源(標準8051 只有只有7 個中斷源),允許大量的模擬和數(shù)字外設中斷微控個中斷源),允許大量的模擬和數(shù)字外設中斷微控制器。制器。MCU 可有可有多達多達7 個復位源個復位源:一個片內:一個片內VDD 監(jiān)視器、一監(jiān)視器、一個看門狗定時器、一個時鐘丟失檢測器、一個由比較器個看門狗定時器、一個時鐘丟失檢測器、一個由比較器0 提供的電壓檢測器、一個軟件強制復位、提供的電壓檢測器、一個軟件強制復位、CNVSTR 引腳引腳及及/RST 引腳。引腳。MCU 內部

7、有一個獨立運行的時鐘發(fā)生器內部有一個獨立運行的時鐘發(fā)生器,在復位后被默,在復位后被默認為系統(tǒng)時鐘。如果需要,時鐘源可以在運行時切換到外認為系統(tǒng)時鐘。如果需要,時鐘源可以在運行時切換到外部振蕩器,外部振蕩器可以使用晶體、陶瓷諧振器、電容、部振蕩器,外部振蕩器可以使用晶體、陶瓷諧振器、電容、RC 或外部時鐘源產生系統(tǒng)時鐘。或外部時鐘源產生系統(tǒng)時鐘。1.2 片內存儲器片內存儲器CIP-51 有標準的有標準的8051 程序和數(shù)據(jù)地址配置。程序和數(shù)據(jù)地址配置。C8051F020中的中的CIP-51 還另有位于外部數(shù)據(jù)存儲器地址空還另有位于外部數(shù)據(jù)存儲器地址空間的間的4K 字節(jié)的字節(jié)的RAM 塊和一個可用

8、于訪問外部數(shù)據(jù)存儲器塊和一個可用于訪問外部數(shù)據(jù)存儲器的外部存儲器接口(的外部存儲器接口(EMIF)。)。這個片內的這個片內的4K 字節(jié)字節(jié)RAM 塊可以在整個塊可以在整個64K 外部數(shù)據(jù)存儲器地址空間中被外部數(shù)據(jù)存儲器地址空間中被尋址(以尋址(以4K 為邊界重疊)。外部數(shù)據(jù)存儲器地址空間可以只映射到片內存為邊界重疊)。外部數(shù)據(jù)存儲器地址空間可以只映射到片內存儲器、只映射到片外存儲器、或兩者的組合(儲器、只映射到片外存儲器、或兩者的組合(4K 以下的地址指向片內,以下的地址指向片內,4K 以上的地址指向以上的地址指向EMIF)。)。EMIF 可以被配置為地址可以被配置為地址/數(shù)據(jù)線復用方式或非復

9、數(shù)據(jù)線復用方式或非復用方式。用方式。MCU 的程序存儲器包含的程序存儲器包含64K 字節(jié)的字節(jié)的FLASH。該存儲器。該存儲器以以512 字節(jié)為一個扇區(qū),可以在系統(tǒng)編程,且不需特別的字節(jié)為一個扇區(qū),可以在系統(tǒng)編程,且不需特別的外部編程電壓。外部編程電壓。1.3 JTAG 調試和邊界掃描調試和邊界掃描 C8051F020系列具有片內系列具有片內JTAG邊界掃描和調試電路,邊界掃描和調試電路,通過通過4腳腳JTAG接口并使用安裝在最終應用系統(tǒng)中的產品器接口并使用安裝在最終應用系統(tǒng)中的產品器件就可以進行非侵入式、全速的在系統(tǒng)調試。件就可以進行非侵入式、全速的在系統(tǒng)調試。 該該JTAG接口完全符合接口

10、完全符合IEEE1149.1規(guī)范,為生產和測試規(guī)范,為生產和測試提供完全的邊界掃描功能。提供完全的邊界掃描功能。 Silicon Labs的調試系統(tǒng)支持觀察和修改存儲器和寄的調試系統(tǒng)支持觀察和修改存儲器和寄存器,支持斷點、觀察點、堆棧指示器和單步執(zhí)行。存器,支持斷點、觀察點、堆棧指示器和單步執(zhí)行。1.4 可編程數(shù)字可編程數(shù)字I/O 和交叉開關和交叉開關 可通過設置可通過設置交叉開關控制寄存器交叉開關控制寄存器將片內的計數(shù)器將片內的計數(shù)器/定時器、串行總線、定時器、串行總線、硬件中斷、硬件中斷、ADC轉換啟動輸入、比較器輸出以及微控制器內部的其它數(shù)轉換啟動輸入、比較器輸出以及微控制器內部的其它數(shù)

11、字信號配置為出現(xiàn)在端口字信號配置為出現(xiàn)在端口I/O引腳。引腳。 這一特性允許用戶根據(jù)自己的特定應用選擇通用端口這一特性允許用戶根據(jù)自己的特定應用選擇通用端口I/O和所需數(shù)字和所需數(shù)字資源的組合。資源的組合。 該系列該系列MCU具有具有標準標準8051的端口(的端口(0、1、2和和3)。在。在F020/2中有中有4個附加的端口(個附加的端口(4、5、6和和7),),因此共有因此共有64個通用端口個通用端口I/O。每個端口每個端口I/O引腳都可以被配置為推挽或漏極開路輸出。引腳都可以被配置為推挽或漏極開路輸出。數(shù)字交叉開關數(shù)字交叉開關。 這是一個大的數(shù)字開關網(wǎng)絡,允許將內部數(shù)字系統(tǒng)資源映射到這是一

12、個大的數(shù)字開關網(wǎng)絡,允許將內部數(shù)字系統(tǒng)資源映射到P0、P1、P2和和P3的端口的端口I/O引腳。引腳。1.5 可編程計數(shù)器陣列可編程計數(shù)器陣列 除了除了5個個16位的通用計數(shù)器位的通用計數(shù)器/定時器之外,定時器之外,C8051F020 MCU系列還系列還有一個有一個片內可編程計數(shù)器片內可編程計數(shù)器/定時器陣列(定時器陣列(PCA)。 PCA包括一個專用的包括一個專用的16位計數(shù)器位計數(shù)器/定時器時間基準和定時器時間基準和5個可編程的個可編程的捕捉捕捉/比較模塊。比較模塊。 時間基準的時鐘可以是下面的六個時鐘源之一:系統(tǒng)時鐘時間基準的時鐘可以是下面的六個時鐘源之一:系統(tǒng)時鐘/12、系、系統(tǒng)時鐘統(tǒng)

13、時鐘/4、定時器、定時器0溢出、外部時鐘輸入(溢出、外部時鐘輸入(ECI)、系統(tǒng)時鐘和外部振)、系統(tǒng)時鐘和外部振蕩源頻率蕩源頻率/8。 每個捕捉每個捕捉/比較模塊都有比較模塊都有六種工作方式六種工作方式:邊沿觸發(fā)捕捉、軟件定時:邊沿觸發(fā)捕捉、軟件定時器、高速輸出、頻率輸出、器、高速輸出、頻率輸出、8位脈沖寬度調制器和位脈沖寬度調制器和16位脈沖寬度調制位脈沖寬度調制器。器。 PCA捕捉捕捉/比較模塊的比較模塊的I/O和外部時鐘輸入可以通過數(shù)字交叉開關和外部時鐘輸入可以通過數(shù)字交叉開關連到連到MCU的端口的端口I/O引腳。引腳。1.6 串行端口串行端口C8051F020系列系列MCU內部有兩個增

14、強型全雙工內部有兩個增強型全雙工UART、SPI總線和總線和SMBus/I2C。每種串行總線都完全用硬件實現(xiàn),都能向每種串行總線都完全用硬件實現(xiàn),都能向CIP-51產生中產生中斷,因此需要很少的斷,因此需要很少的CPU干預。干預。這些串行總線不這些串行總線不“共享共享”定時器、中斷或端口定時器、中斷或端口I/O等資源,等資源,所以可以使用任何一個或全部同時使用。所以可以使用任何一個或全部同時使用。1.7 12 位模位模/數(shù)轉換器數(shù)轉換器 C8051F020/1有一個片內有一個片內12位位SAR ADC(ADC0),一個),一個9通道輸入多路選擇通道輸入多路選擇開關開關和和可編程增益放大器可編程

15、增益放大器。該。該ADC工作在工作在100ksps的最大采樣速率時可提供真正的最大采樣速率時可提供真正的的12位精度,位精度,INL為為1LSB。ADC完全由完全由CIP-51通過特殊功能寄存器控制通過特殊功能寄存器控制。有一個輸入通道被連到內部。有一個輸入通道被連到內部溫度傳感器,其它溫度傳感器,其它8個通道接外部輸入。個通道接外部輸入。8個外部輸入通道的每一對都可被配個外部輸入通道的每一對都可被配置為兩個單端輸入或一個差分輸入。置為兩個單端輸入或一個差分輸入。可編程增益放大器接在模擬多路選擇器之后,可編程增益放大器接在模擬多路選擇器之后,增益可以用軟件設置增益可以用軟件設置,從,從0.5到

16、到16以以2的整數(shù)次冪遞增。的整數(shù)次冪遞增。A/D轉換有轉換有4種啟動方式種啟動方式:軟件命令、定時器:軟件命令、定時器2溢出、定時器溢出、定時器3溢出和外部溢出和外部信號輸入。這種靈活性允許用軟件事件、外部硬件信號或周期性的定時器信號輸入。這種靈活性允許用軟件事件、外部硬件信號或周期性的定時器溢出信號觸發(fā)轉換。溢出信號觸發(fā)轉換。轉換結束由一個狀態(tài)位指示,或者產生中斷(如果中斷被使能)。在轉轉換結束由一個狀態(tài)位指示,或者產生中斷(如果中斷被使能)。在轉換完成后,換完成后,10或或12位轉換結果數(shù)據(jù)字被鎖存到兩個特殊功能寄存器中。這位轉換結果數(shù)據(jù)字被鎖存到兩個特殊功能寄存器中。這些數(shù)據(jù)字可以用軟

17、件控制為左對齊或右對齊。些數(shù)據(jù)字可以用軟件控制為左對齊或右對齊。1.8 8 位模位模/數(shù)轉換器數(shù)轉換器 C8051F020有一個片內有一個片內8位位SAR ADC(ADC1),帶有一個),帶有一個8通道輸入多路通道輸入多路選擇器和可編程增益放大器。該選擇器和可編程增益放大器。該ADC工作在工作在500ksps的最大采樣速率時可提供的最大采樣速率時可提供真正的真正的8位精度,位精度,INL為為1LSB。有。有8個用于測量的輸入端。個用于測量的輸入端。ADC1完全由完全由CIP-51通過特殊功能寄存器控制。通過特殊功能寄存器控制。ADC0的電壓基準可以在模擬電源電壓(的電壓基準可以在模擬電源電壓(

18、AV+)和一個外部和一個外部VREF引腳之間選擇。引腳之間選擇。1.9 比較器和比較器和DAC C8051F020/1/2/3系列系列MCU內部有內部有兩個兩個12位位DAC和和兩個比較器兩個比較器。MCU與每個比較器和與每個比較器和DAC之間的數(shù)據(jù)和控制接口通過特殊功能寄存之間的數(shù)據(jù)和控制接口通過特殊功能寄存器實現(xiàn)。器實現(xiàn)。MCU可以將任何一個可以將任何一個DAC或比較器置于低功耗關斷方式?;虮容^器置于低功耗關斷方式。 比較器的回差電壓可以用軟件編程比較器的回差電壓可以用軟件編程。每個比較器都能在上升沿、下。每個比較器都能在上升沿、下降沿或在兩個邊沿都產生中斷。這些中斷能將降沿或在兩個邊沿都

19、產生中斷。這些中斷能將MCU從休眠方式喚醒。比從休眠方式喚醒。比較器的輸出狀態(tài)可以用軟件查詢??赏ㄟ^設置交叉開關將比較器的輸出較器的輸出狀態(tài)可以用軟件查詢??赏ㄟ^設置交叉開關將比較器的輸出接到端口接到端口I/O引腳。引腳。 DAC為電壓輸出方式,有靈活的輸出更新機制為電壓輸出方式,有靈活的輸出更新機制。這一機制允許。這一機制允許用軟件寫和定時器用軟件寫和定時器2、定時器、定時器3及定時器及定時器4的溢出信號更新的溢出信號更新DAC輸出。輸出。C8051F020/2的的DAC之電壓基準由專用的之電壓基準由專用的VREFD輸入引腳提供,而輸入引腳提供,而C8051F021/3的的DAC之電壓基準由

20、器件內部的電壓基準提供。之電壓基準由器件內部的電壓基準提供。DAC在在作為比較器的參考電壓或為作為比較器的參考電壓或為ADC差分輸入提供偏移電壓時非常有用。差分輸入提供偏移電壓時非常有用。2、交叉開關配置、交叉開關配置2.1 端口輸入端口輸入/輸出輸出 低端口(低端口(P0、P1、P2 和和P3)既可以按位尋址也可以按字節(jié)尋址。)既可以按位尋址也可以按字節(jié)尋址。高端口(高端口(P4、P5、P6 和和P7)只能按字節(jié)尋址。)只能按字節(jié)尋址。所有引腳都耐所有引腳都耐5V 電壓,電壓,都可以被配置為都可以被配置為漏極漏極開路開路或或推挽輸出推挽輸出方式方式和和弱上拉弱上拉。 C8051F020/1/

21、2/3 器件有大量的數(shù)字資源需要通過器件有大量的數(shù)字資源需要通過4 個個低端低端I/O 端口端口P0、P1、P2 和和P3 才能使用。才能使用。 P0、P1、P2 和和P3 中的每個引腳既可定義為通用的中的每個引腳既可定義為通用的端口端口I/O(GPIO)引腳,又可以分配給一個數(shù)字外設或功能)引腳,又可以分配給一個數(shù)字外設或功能(例如:(例如:UART0 或或/INT1),如圖),如圖17.2 所示。所示。 系統(tǒng)設計者控制數(shù)字功能的引腳分配,只受可用引腳系統(tǒng)設計者控制數(shù)字功能的引腳分配,只受可用引腳數(shù)的限制。數(shù)的限制。 這種資源分配的靈活性是通過使用優(yōu)先權交叉開關譯這種資源分配的靈活性是通過使

22、用優(yōu)先權交叉開關譯碼器實現(xiàn)的。碼器實現(xiàn)的。 注意,注意,不管引腳被分配給一個數(shù)字外設或是作為通用不管引腳被分配給一個數(shù)字外設或是作為通用I/O,總是可以通過讀相應的數(shù)據(jù)寄存器得到端口,總是可以通過讀相應的數(shù)據(jù)寄存器得到端口I/O 引腳引腳的狀態(tài)。端口的狀態(tài)。端口1 的引腳可以用做的引腳可以用做ADC1 的模擬輸入。的模擬輸入。2.2 端口端口0 3 和優(yōu)先權交叉開關譯碼器和優(yōu)先權交叉開關譯碼器1 1、優(yōu)先權交叉開關譯碼器、優(yōu)先權交叉開關譯碼器(“交叉開關交叉開關”) 為數(shù)字外設分配端口引腳的優(yōu)先權順序列于圖為數(shù)字外設分配端口引腳的優(yōu)先權順序列于圖17.3,UART0 具有最高優(yōu)先權,而具有最高

23、優(yōu)先權,而CNVSTR 具有最低優(yōu)先權。具有最低優(yōu)先權。 按優(yōu)先權順序將端口按優(yōu)先權順序將端口03的引腳分配給器件上的數(shù)字的引腳分配給器件上的數(shù)字外設(外設(UART、SMBus、PCA、定時器等)。端口引腳的、定時器等)。端口引腳的分配順序是從分配順序是從P0.0 開始,可以一直分配到開始,可以一直分配到P3.7。2 2、優(yōu)先權順序、優(yōu)先權順序2.1.1 交叉開關引腳分配交叉開關引腳分配 當當交叉開關配置寄存器交叉開關配置寄存器XBR0、XBR1 和和XBR2 中外設的對應使能中外設的對應使能位被設置為邏輯位被設置為邏輯1時,交叉開關將端口引腳分配給外設。時,交叉開關將端口引腳分配給外設。

24、端口端口03中所有未被交叉開關分配的引腳都可以作為中所有未被交叉開關分配的引腳都可以作為通用通用I/O(GPI/O)引腳,)引腳,通過讀或寫相應的端口數(shù)據(jù)寄存器訪問。通過讀或寫相應的端口數(shù)據(jù)寄存器訪問。 被交叉開關分配的那些端口引腳的輸出狀態(tài)受使用這些引腳被交叉開關分配的那些端口引腳的輸出狀態(tài)受使用這些引腳的數(shù)字外設的控制。的數(shù)字外設的控制。 不管交叉開關是否將引腳分配給外設,讀一個端口數(shù)據(jù)寄存器不管交叉開關是否將引腳分配給外設,讀一個端口數(shù)據(jù)寄存器(或端口位)將總是返回引腳本身的邏輯狀態(tài)。(或端口位)將總是返回引腳本身的邏輯狀態(tài)。 交叉開關寄存器被正確配置后,通過將交叉開關寄存器被正確配置后

25、,通過將XBARE(XBR2.6)設)設置為邏輯置為邏輯1來使能交叉開關。來使能交叉開關。 在在XBARE 被設置為邏輯被設置為邏輯1之前,之前,端口端口0-3 的輸出驅動器被明的輸出驅動器被明確禁止,以防止對交叉開關寄存器和其它寄存器寫入時在端口引腳上產確禁止,以防止對交叉開關寄存器和其它寄存器寫入時在端口引腳上產生爭用。生爭用。 被交叉開關分配給被交叉開關分配給輸入信號(例如輸入信號(例如RX0)的引腳所對應的輸出驅動)的引腳所對應的輸出驅動器應被明確禁止器應被明確禁止;以保證端口數(shù)據(jù)寄存器和;以保證端口數(shù)據(jù)寄存器和PnMDOUT 寄存器的值不影寄存器的值不影響這些引腳的狀態(tài)。響這些引腳的

26、狀態(tài)。2.1.2 配置端口引腳的輸出方式配置端口引腳的輸出方式 在在XBARE(XBR2.6)被設置為邏輯)被設置為邏輯1之前,端口之前,端口0-3 的輸出的輸出驅動器驅動器保持禁止狀態(tài)保持禁止狀態(tài)。 每個端口引腳的輸出方式都可被配置為每個端口引腳的輸出方式都可被配置為漏極開路漏極開路或或推挽方式推挽方式,缺省狀態(tài)為缺省狀態(tài)為漏極開路漏極開路。1、推挽方式、推挽方式:向端口數(shù)據(jù)寄存器中的相應位:向端口數(shù)據(jù)寄存器中的相應位:寫邏輯寫邏輯0將使端口引腳被驅動到將使端口引腳被驅動到GND,寫邏輯寫邏輯1將使端口引腳被驅動到將使端口引腳被驅動到VDD。2、漏極開路方式、漏極開路方式:向端口數(shù)據(jù)寄存器中

27、的相應位:向端口數(shù)據(jù)寄存器中的相應位:寫邏輯寫邏輯0將使端口引腳被驅動到將使端口引腳被驅動到GND,寫邏輯寫邏輯1將使端口引腳處于高阻狀態(tài)。將使端口引腳處于高阻狀態(tài)。3、端口端口0-3 引腳的輸出方式由引腳的輸出方式由PnMDOUT 寄存器中的對應寄存器中的對應位決定。位決定。為邏輯為邏輯1時,配置為推挽方式;時,配置為推挽方式;為邏輯為邏輯0時,時, 配置為漏極開路方式。配置為漏極開路方式。u 不管交叉開關是否將端口引腳分配給某個數(shù)字外設,端口引腳的不管交叉開關是否將端口引腳分配給某個數(shù)字外設,端口引腳的輸出方式都受輸出方式都受PnMDOUT寄存器寄存器控制控制。2.1.3 配置端口引腳為數(shù)

28、字輸入配置端口引腳為數(shù)字輸入1、通過設置輸出方式為通過設置輸出方式為“漏極開路漏極開路”并向并向端口數(shù)據(jù)寄端口數(shù)據(jù)寄存器中的相應位寫存器中的相應位寫1將端口引腳配置為數(shù)字輸入。將端口引腳配置為數(shù)字輸入。例:例:設置設置P3MDOUT.7 為邏輯為邏輯0并設置并設置P3.7 為邏輯為邏輯1即可將即可將P3.7 配置為數(shù)字輸入。配置為數(shù)字輸入。2、如果一個端口引腳被交叉開關分配給某個數(shù)字外設,如果一個端口引腳被交叉開關分配給某個數(shù)字外設,并且該引腳的功能為輸入(例如并且該引腳的功能為輸入(例如UART0 的接收引腳的接收引腳RX0),則該引腳的輸出驅動器被自動禁止。),則該引腳的輸出驅動器被自動禁

29、止。2.1.4 外部中斷(外部中斷(IE6 和和IE7) 除了外部中斷除了外部中斷/INT0和和/INT1(其引腳由交叉開關分配)之外,(其引腳由交叉開關分配)之外,P3.6和和P3.7可被配置為邊沿觸發(fā)的中斷源,用可被配置為邊沿觸發(fā)的中斷源,用IE6CF(P3IF.2)和)和IE7CF(P3IF.3)位可以將這兩個中斷源配置為)位可以將這兩個中斷源配置為下降沿下降沿或或上升沿上升沿觸發(fā)。觸發(fā)。2.1.5 弱上拉弱上拉 每個端口引腳都有一個內部弱上拉部件,在引腳與每個端口引腳都有一個內部弱上拉部件,在引腳與VDD 之間提供之間提供阻性連接(約阻性連接(約100 k),在缺省情況下該上拉器件被使

30、能。),在缺省情況下該上拉器件被使能。 弱上拉部件可以被總體禁止,通過向弱上拉禁止位(弱上拉部件可以被總體禁止,通過向弱上拉禁止位(WEAKPUD,XBR2.7)寫)寫1實現(xiàn)。實現(xiàn)。 當任何引腳被驅動為邏輯當任何引腳被驅動為邏輯0時,弱上拉自動取消;即輸出引腳不能時,弱上拉自動取消;即輸出引腳不能與其自身的上拉部件沖突。與其自身的上拉部件沖突。2.1.6 配置端口配置端口1 的引腳為模擬輸入(的引腳為模擬輸入(AIN.7:0) 端口端口1 的引腳可以用作的引腳可以用作ADC1 模擬多路開關的模擬輸模擬多路開關的模擬輸入。通過向入。通過向P1MDIN 寄存器寄存器中的對應位寫中的對應位寫0即可將

31、端口即可將端口引腳配置為模擬輸入。引腳配置為模擬輸入。將一個端口引腳配置為模擬輸入的過程如下:將一個端口引腳配置為模擬輸入的過程如下:1 禁止引腳的數(shù)字輸入路徑。禁止引腳的數(shù)字輸入路徑。這可以防止在引腳上的電壓接近這可以防止在引腳上的電壓接近VDD / 2 時消耗額外的電源電流。讀端口數(shù)據(jù)位將返回邏輯時消耗額外的電源電流。讀端口數(shù)據(jù)位將返回邏輯0,與加在,與加在引腳上的電壓無關。引腳上的電壓無關。2 禁止引腳的弱上拉部件。禁止引腳的弱上拉部件。3 使交叉開關在為數(shù)字外設分配引腳時跳過該引腳。使交叉開關在為數(shù)字外設分配引腳時跳過該引腳。1、被配置為模擬輸入的引腳的輸出驅動器并沒有被明確地禁止。被

32、配置為模擬輸入的引腳的輸出驅動器并沒有被明確地禁止。因此因此 輸出驅動器禁止的設置方式:輸出驅動器禁止的設置方式: 被配置為模擬輸入的引腳所對應的被配置為模擬輸入的引腳所對應的P1MDOUT 位應被設置為位應被設置為邏輯邏輯0(漏極開路方式);(漏極開路方式); 對應的端口數(shù)據(jù)位應被設置為邏輯對應的端口數(shù)據(jù)位應被設置為邏輯1(高阻態(tài))。(高阻態(tài))。注意:注意:2、將一個端口引腳用作將一個端口引腳用作ADC1 模擬多路開關的輸入時并模擬多路開關的輸入時并不要求將其配置為模擬輸入,不要求將其配置為模擬輸入,但強烈建議這樣做但強烈建議這樣做。2.1.8 交叉開關引腳分配示例交叉開關引腳分配示例要求:

33、要求:1、將配置交叉開關,為、將配置交叉開關,為UART0、SMBus、UART1、/INT0 和和/INT1分配端口引腳(共分配端口引腳(共8 個引腳)。個引腳)。2、將外部存儲器接口配置為復用方式并使用低端口。、將外部存儲器接口配置為復用方式并使用低端口。3、將、將P1.2、P1.3 和和P1.4 配置為模擬輸入,以便用配置為模擬輸入,以便用ADC1 測量加在這測量加在這些引腳上的電壓。些引腳上的電壓。配置步驟如下:配置步驟如下:1、按、按UART0EN = 1、UART1E = 1、SMB0EN = 1、INT0E = 1、INT1E = 1 和和EMIFLE =1。設置。設置XBR0、

34、XBR1 和和XBR2,則有:,則有: XBR0 = 0 x05,XBR1 = 0 x14,XBR2 = 0 x06。2、將外部存儲器接口配置為復用方式并使用低端口,有:、將外部存儲器接口配置為復用方式并使用低端口,有: PRTSEL = 0,EMD2 = 0。3、將作為模擬輸入的、將作為模擬輸入的端口端口1 引腳引腳配置為配置為模擬輸入方式模擬輸入方式:設置:設置P1MDIN 為為0 xE3(P1.4、P1.3 和和P1.2 為模擬輸入,所以它們?yōu)槟M輸入,所以它們的對應的對應P1MDIN 被設置為邏輯被設置為邏輯0)。)。4、設置、設置XBARE = 1 以使能交叉開關:以使能交叉開關:X

35、BR2= 0 x46。- UART0 有最高優(yōu)先權,所以有最高優(yōu)先權,所以P0.0 被分配給被分配給TX0,P0.1 被分配給被分配給RX0。- SMBus 的優(yōu)先權次之,所以的優(yōu)先權次之,所以P0.2 被分配給被分配給SDA,P0.3 被分配給被分配給SCL。- 接下來是接下來是UART1,所以,所以P0.4 被分配給被分配給TX1。- 由于外部存儲器接口選在低端口(由于外部存儲器接口選在低端口(EMIFLE = 1),所以交叉開關跳過),所以交叉開關跳過P0.6(/RD)和和P0.7(/WR)。又因為外部存儲器接口被配置為復用方式,所以交叉。又因為外部存儲器接口被配置為復用方式,所以交叉開

36、關也跳過開關也跳過P0.5(ALE)。- 下一個未被跳過的引腳下一個未被跳過的引腳P1.0 被分配給被分配給RX1。- /INT0,被分配到引腳,被分配到引腳P1.1。- 將將P1MDIN 設置為設置為0 xE3,使,使P1.2、P1.3 和和P1.4 被配置為模擬輸入,導致交被配置為模擬輸入,導致交叉開關跳過這些引腳。叉開關跳過這些引腳。- 優(yōu)先權高的是優(yōu)先權高的是/INT1,所以下一個未跳過的引腳,所以下一個未跳過的引腳P1.5 被分配給被分配給/INT1。5、配置結果。配置結果。6、 我們將我們將UART0 的的TX 引腳(引腳(TX0,P0.0)、)、UART1 的的TX 引腳(引腳(

37、TX1,P0.4)、)、ALE、/RD、/WR(P0.7:3)的輸出設置為的輸出設置為推挽方式推挽方式,通過設置,通過設置P0MDOUT = 0 xF1 來來實現(xiàn)。實現(xiàn)。7、 我們通過設置我們通過設置P2MDOUT = 0 xFF 和和P3MDOUT = 0 xFF 將將EMIF 端口(端口(P2、P3)的輸出方式配置為)的輸出方式配置為推挽方推挽方式。式。8、 我們通過設置我們通過設置P1MDOUT = 0 x00(配置輸出為漏極開(配置輸出為漏極開路)和路)和P1 = 0 xFF(邏輯(邏輯1選擇高阻態(tài))禁止選擇高阻態(tài))禁止3 個模擬輸個模擬輸入引腳的輸出驅動器。入引腳的輸出驅動器。2.3

38、 端口端口4-7(僅(僅C8051F020/2) 端口端口4-7 的所有端口引腳都可用作通用的所有端口引腳都可用作通用I/O(GPIO),),通過讀和寫相應的端口數(shù)據(jù)寄存器訪問每個端口,這些端口通過讀和寫相應的端口數(shù)據(jù)寄存器訪問每個端口,這些端口數(shù)據(jù)寄存器是一組按字節(jié)尋址的特殊功能寄存器。數(shù)據(jù)寄存器是一組按字節(jié)尋址的特殊功能寄存器。讀端口數(shù)據(jù)寄存器時,返回的是端口引腳本身的邏輯狀態(tài)。讀端口數(shù)據(jù)寄存器時,返回的是端口引腳本身的邏輯狀態(tài)。1、推挽方式、推挽方式:向端口數(shù)據(jù)寄存器中的相應位:向端口數(shù)據(jù)寄存器中的相應位:寫邏輯寫邏輯0將使端口引腳被驅動到將使端口引腳被驅動到GND,寫邏輯寫邏輯1將使端

39、口引腳被驅動到將使端口引腳被驅動到VDD。2、漏極開路方式、漏極開路方式:向端口數(shù)據(jù)寄存器中的相應位:向端口數(shù)據(jù)寄存器中的相應位:寫邏輯寫邏輯0將使端口引腳被驅動到將使端口引腳被驅動到GND,寫邏輯寫邏輯1將使端口引腳處于高阻狀態(tài)。將使端口引腳處于高阻狀態(tài)。2.3.1 配置端口引腳的輸出方式配置端口引腳的輸出方式每個端口引腳的輸出方式都可被配置為每個端口引腳的輸出方式都可被配置為: 漏極開路漏極開路、推挽方式推挽方式。3、端口、端口4-7 引腳的輸出方式由引腳的輸出方式由P74OUT 寄存器中的位決定。寄存器中的位決定。 P7-4OUT 中的每一位控制端口中的每一位控制端口4-7 中一組引腳(

40、每中一組引腳(每組組4 位)的輸出方式。位)的輸出方式。 P7-4OUT.7 為邏輯為邏輯1時將端口時將端口7 中高中高4 位(位(P7.7:4)的輸出方式配置為的輸出方式配置為推挽方式推挽方式; P7-4OUT.7 為邏輯為邏輯0時將端口時將端口7 中高中高4 位(位(P7.7:4)的輸出方式配置為的輸出方式配置為漏極開路漏極開路。2.3.2 配置端口引腳為數(shù)字輸入配置端口引腳為數(shù)字輸入 通過設置輸出方式為通過設置輸出方式為“漏極開路漏極開路”并向端口數(shù)據(jù)寄存器中的相應并向端口數(shù)據(jù)寄存器中的相應位寫位寫 1 將端口引腳配置為數(shù)字輸入。將端口引腳配置為數(shù)字輸入。例如:例如:將將P7.7 配置為

41、數(shù)字輸入配置為數(shù)字輸入 設置設置P4OUT.7 為邏輯為邏輯0 設置設置P7.7 為邏輯為邏輯1即可。即可。2.3.3 弱上拉弱上拉 每個端口引腳都有一個內部弱上拉部件,在缺省情況每個端口引腳都有一個內部弱上拉部件,在缺省情況下該上拉器件被使能,在引腳與下該上拉器件被使能,在引腳與VDD之間提供阻性連接之間提供阻性連接(約(約100 k)。)。 弱上拉部件可以被總體禁止,通過向弱上拉禁止位弱上拉部件可以被總體禁止,通過向弱上拉禁止位(WEAKPUD,XBR2.7)寫)寫1實現(xiàn)。實現(xiàn)。 當任何引腳被驅動為邏輯當任何引腳被驅動為邏輯0時,弱上拉自動取消;時,弱上拉自動取消;即輸出引腳不能與其自身的

42、上拉部件沖突。即輸出引腳不能與其自身的上拉部件沖突。3、系統(tǒng)時鐘源、系統(tǒng)時鐘源 每個每個MCU 都有一個都有一個內部振蕩器內部振蕩器和一個和一個外部振蕩器外部振蕩器驅動驅動電路,每個驅動電路都能產生系統(tǒng)時鐘。電路,每個驅動電路都能產生系統(tǒng)時鐘。 MCU 在復位后從內部振蕩器啟動。在復位后從內部振蕩器啟動。 內部振蕩器可以被使能內部振蕩器可以被使能/禁止,其振蕩頻率可以用內部禁止,其振蕩頻率可以用內部振蕩器控制寄存器(振蕩器控制寄存器(OSCICN)設置。)設置。當當/RST 引腳為低電平時,兩個振蕩器都被禁止。引腳為低電平時,兩個振蕩器都被禁止。 MCU 可以從內部振蕩器或外部振蕩器運行,可使

43、用可以從內部振蕩器或外部振蕩器運行,可使用OSCICN 寄存器寄存器中的中的CLKSL 位位在兩個振蕩器之間隨意切在兩個振蕩器之間隨意切換。換。3.1 外部晶體舉例外部晶體舉例 如果使用晶體或陶瓷諧振器作為如果使用晶體或陶瓷諧振器作為MCU 的外部振蕩器源,的外部振蕩器源,則電路應為圖則電路應為圖14.1 中的選項中的選項1。 當外部晶體振蕩器穩(wěn)定運行時,晶體振蕩器有效標志當外部晶體振蕩器穩(wěn)定運行時,晶體振蕩器有效標志(OSCXCN 寄存器中的寄存器中的XTLVLD)被硬件置)被硬件置1。 XTLVLD 檢測電路要求在使能振蕩器工作和檢測檢測電路要求在使能振蕩器工作和檢測XTLVLD 之間至少

44、有之間至少有1 ms的啟動時間。的啟動時間。建議的過程為:建議的過程為:1 使能外部振蕩器使能外部振蕩器2 等待至少等待至少1ms3 查詢查詢XTLVLD = 14 將系統(tǒng)時鐘切換到外部振蕩器將系統(tǒng)時鐘切換到外部振蕩器4、系統(tǒng)復位、系統(tǒng)復位 復位電路允許很容易地將控制器置于一個預定的缺省復位電路允許很容易地將控制器置于一個預定的缺省狀態(tài)。在進入復位狀態(tài)時,將發(fā)生以下過程:狀態(tài)。在進入復位狀態(tài)時,將發(fā)生以下過程: CIP-51 停止程序執(zhí)行停止程序執(zhí)行 特殊功能寄存器(特殊功能寄存器(SFR)被初始化為所定義的復位)被初始化為所定義的復位值值 外部端口引腳被置于一個已知狀態(tài)外部端口引腳被置于一個

45、已知狀態(tài) 中斷和定時器被禁止。中斷和定時器被禁止。 所有的所有的SFR 都被初始化為預定值,都被初始化為預定值,SFR 中各位的復位值中各位的復位值在在SFR 的詳細說明中定義。的詳細說明中定義。 I/O 端口鎖存器的復位值為端口鎖存器的復位值為0 xFF(全部為邏輯(全部為邏輯1),),內部弱上拉有效,使外部內部弱上拉有效,使外部I/O 引腳處于高電平狀態(tài)。引腳處于高電平狀態(tài)。注注1:外部外部I/O 引腳并不立即進入高電平狀態(tài),而是在進入復位狀態(tài)后引腳并不立即進入高電平狀態(tài),而是在進入復位狀態(tài)后的四個系統(tǒng)時鐘之內。的四個系統(tǒng)時鐘之內。注注2:在復位期間弱上拉是被禁止的,在器件退出復位狀態(tài)時弱

46、上拉在復位期間弱上拉是被禁止的,在器件退出復位狀態(tài)時弱上拉被使能被使能 在退出復位狀態(tài)時,程序計數(shù)器(在退出復位狀態(tài)時,程序計數(shù)器(PC)被復位,)被復位,MCU 使用內部振蕩器使用內部振蕩器運行在運行在2MHz 作為默認的系統(tǒng)時鐘。作為默認的系統(tǒng)時鐘。 看門狗定時器被使能,使用其最長的超時時間。看門狗定時器被使能,使用其最長的超時時間。 有有7 個能使個能使MCU 進入復位狀態(tài)的復位源:進入復位狀態(tài)的復位源:上電上電/掉電掉電、外部外部/RST 引腳、引腳、外部外部CNVSTR 信號、信號、軟件命令軟件命令、比較器比較器0、時鐘丟失檢測器時鐘丟失檢測器及及看看門狗定時器門狗定時器。4.1 上

47、電復位上電復位 C8051F020有一個電源監(jiān)視器,在上電期間該監(jiān)視器使有一個電源監(jiān)視器,在上電期間該監(jiān)視器使MCU保持在復位狀態(tài),直到保持在復位狀態(tài),直到VDD 上升到超過上升到超過VRST 電平。電平。 /RST 引腳一直被置為低電平,直到引腳一直被置為低電平,直到100 毫秒的毫秒的VDD 監(jiān)監(jiān)視器超時時間結束,這視器超時時間結束,這100 毫秒的等待時間是為了使毫秒的等待時間是為了使VDD 電電源穩(wěn)定。源穩(wěn)定。 在退出上電復位狀態(tài)時,在退出上電復位狀態(tài)時,PORSF 標志(標志(RSTSRC.1)被被硬件置為邏輯硬件置為邏輯1,RSTSRC 寄存器中的其它復位標志是不寄存器中的其它復位

48、標志是不確定的。確定的。4.2 掉電復位掉電復位 通過將通過將MONEN 引腳直接連引腳直接連VDD 來使能來使能VDD 監(jiān)視器。監(jiān)視器。這是這是MONEN 引腳的推薦配置。引腳的推薦配置。 當發(fā)生掉電或因電源不穩(wěn)定而當發(fā)生掉電或因電源不穩(wěn)定而導致導致VDD 下降到低于下降到低于VRST 電平時,電平時,電源監(jiān)視器將電源監(jiān)視器將/RST 引腳置于低電平引腳置于低電平并使并使CIP-51 回到復位狀態(tài)。回到復位狀態(tài)。4.3 外部復位外部復位 外部外部/RST 引腳提供了使用外部電路強制引腳提供了使用外部電路強制MCU 進入復位進入復位狀態(tài)的手段。在狀態(tài)的手段。在/RST 引腳上加一個引腳上加一個

49、將導將導致致MCU 進入復位狀態(tài)。進入復位狀態(tài)。 最好能提供一個外部上拉和最好能提供一個外部上拉和/或對或對/RST 引腳去耦以防止引腳去耦以防止強噪聲引起復位。強噪聲引起復位。 在低有效的在低有效的/RST 信號撤出后,信號撤出后,MCU 將保持在復位狀態(tài)將保持在復位狀態(tài)至少至少12 個時鐘周期個時鐘周期。 從外部復位狀態(tài)退出后,從外部復位狀態(tài)退出后,PINRSF 標志標志(RSTSRC.0)被被置位置位。R110kR21kR31kC1104C21uFVDD/RST4.4 看門狗定時器復位看門狗定時器復位 MCU 內部有一個使用系統(tǒng)時鐘的可編程看門狗定時器內部有一個使用系統(tǒng)時鐘的可編程看門狗

50、定時器(WDT)。當看門狗定時器溢出時,)。當看門狗定時器溢出時,WDT 將強制將強制CPU 進入進入復位狀態(tài)。復位狀態(tài)。 為了防止復位,必須在溢出發(fā)生前由應用軟件重新觸發(fā)為了防止復位,必須在溢出發(fā)生前由應用軟件重新觸發(fā)WDT。 如果系統(tǒng)出現(xiàn)了軟件如果系統(tǒng)出現(xiàn)了軟件/硬件錯誤,使應用軟件不能重新觸硬件錯誤,使應用軟件不能重新觸發(fā)發(fā)WDT,則,則WDT 將溢出并產生一個復位,這可以防止系統(tǒng)將溢出并產生一個復位,這可以防止系統(tǒng)失控。失控。什么是看門狗(watchdog)看門狗,又叫 watchdog timer,是一個定時器電路, 一般有一個輸入,叫喂狗,一個輸出到MCU的RST端,MCU正常工作的時候,每隔一端時間輸出一個信號到喂狗端,給 WDT 清零,如果超過規(guī)定的時間不喂狗,(一般在程序跑飛時),WDT 定時超過,就回給出一個復位信號到MCU,是MCU復位. 防止MCU死機. 看門狗的作用就是防止程序發(fā)生死循環(huán),或者說程序跑飛。工作原理:在系統(tǒng)運行以后也就啟動了看門狗的計數(shù)器,看門狗就開始自動計數(shù),如果到了一定的時間還不去清看門狗,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論