C8051F020與80C51單片機的異同點_第1頁
C8051F020與80C51單片機的異同點_第2頁
C8051F020與80C51單片機的異同點_第3頁
C8051F020與80C51單片機的異同點_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1 引言    80C51系列單片機及其衍生產(chǎn)品在我國乃至全世界范圍獲得了非常廣泛的應(yīng)用。單片機領(lǐng)域的大部分工作人員都熟悉80C51單片機,各大專院校都采用80C51系列單片機作為教學模型。隨著單片機的不斷發(fā)展,市場上出現(xiàn)了很多高速、高性能的新型單片機?;跇藴?051內(nèi)核的單片機正面臨著退出市場的境地。為此,一些半導體公司開始對傳統(tǒng)8051內(nèi)核進行大的構(gòu)造,主要是提高速度和增加片內(nèi)模擬和數(shù)字外設(shè),以期大幅度提高單片機的整體性能。其中美國Cygnal公司推出的C8051F系列單片機把80C51系列單片機從MCU時代推向SoC時代。使得以8051為內(nèi)核的單片機上了一

2、個新的臺階。    C8051F系列單片機是完全集成的混合信號系統(tǒng)級芯片,具有與8051兼容的CIP-51微控制器內(nèi)核,采用流水線結(jié)構(gòu),單周期指令運行速度是8051的12倍。全指令集運行速度是原來的9.5倍。熟悉MCS-51系列單片機的工程技術(shù)人員可以很容易地掌握C8051F的應(yīng)用技術(shù)并能進行軟件的移植。但是不能將8051的程序完全照搬的應(yīng)用于C8051F單片機中,這是因為兩者的內(nèi)部資源存在較大的差異,必須經(jīng)過加工才能予以使用。其中C8051F020以其功能較全面,應(yīng)用較廣泛的特點成為C8051F的代表性產(chǎn)品,其性能價格比在目前應(yīng)用領(lǐng)域也極具競爭力。C8051F0

3、20的內(nèi)部電路包括CIP-51微控制器內(nèi)核及RAM、ROM、I/O口、定時/計數(shù)器、ADC、DAC、PCA、SPI和SMBus等部件,即把計算機的基本組成單元以及模擬和數(shù)字外設(shè)集成在一個芯片上,構(gòu)成一個完整的片上系統(tǒng)(SoC)。本文將介紹C8051F020單片機與80C51的異同點(主要是不同之處)及初學者編程時應(yīng)該注意的問題,并給出經(jīng)過Cygnal開發(fā)工具IDE調(diào)試環(huán)境軟件驗證的源程序。2 相同點    C8051F020單片機與80C51系列單片機的指令系統(tǒng)完全一樣。掌握80C51單片機的人員可以很容易地接受C8051F020的應(yīng)用技術(shù)并能完成相應(yīng)軟件的移植。

4、3 主要硬件不同點3.1 運行速度    C8051F020的指令運行速度是一般80C51系列單片機的10倍以上。因為其CIP-51中采用了流水線處理結(jié)構(gòu),已經(jīng)沒有了機器周期時序,指令執(zhí)行的最小時序單位為系統(tǒng)時鐘,大部分指令只要12個系統(tǒng)周期即可完成。又由于其時鐘系統(tǒng)比80C51的更加完善,有多個時鐘源,且時鐘源可編程,時鐘頻率范圍為0.25 MHz,當CIP-51工作在最大系統(tǒng)時鐘頻率25 MHz時,它的峰值速度可以達到25 MI/s,C8051F020已進入了8位高速單片機行列。3.2 I/O端口的配置方式    C8051F02

5、0擁有8個8位的I/O端口,大量減少了外部連線和器件擴展,有利于提高可靠性和抗干擾能力。其中低4個I/O端口除可作為一般的通用I/O端口外,還可作為其他功能模塊的輸入或輸出引腳,它是通過交叉開關(guān)配置寄存器XBR0、XBR1、XBR2(各位名稱及格式如表1所示)選擇并控制的,它們控制優(yōu)先權(quán)譯碼選擇開關(guān)電路如圖1所示,可將片內(nèi)的計數(shù)器/定時器、串行總線、硬件中斷、比較器輸出及其它的數(shù)字信號配置為在端口I/O引腳出現(xiàn),這樣用戶可以根據(jù)自己的特定需要選擇所需的數(shù)字資源和通用I/O口。數(shù)字交叉開關(guān)是一個比較大的數(shù)字開關(guān)網(wǎng)路,這在所有80C51系列單片機上是一個空白。另外P1MDIN用于選擇P1的輸入方式

6、是模擬輸入還是數(shù)字輸入,復位值為11111111B,即默認為數(shù)字輸入方式。而80C51單片機的I/O引腳是固定分配的,即占用引腳多,配置又不夠靈活。       C8051F020通過優(yōu)先權(quán)交叉開關(guān)譯碼器(如圖2所示)控制數(shù)字開關(guān)網(wǎng)路,端口引腳的分配順序是從P0.0開始一直到P3.7。當交叉開關(guān)配置寄存器XBR0、XBR1和XBR2中外設(shè)的對應(yīng)使能位被設(shè)置為邏輯“1”時,交叉開關(guān)將端口引腳分配給外設(shè),例如,如果UART0EN位(XBR0.2)被設(shè)置為邏輯“1”, 則TX0和RX0引腳將分別被分配到P0.0和P0.1。因為UART0有最高優(yōu)先權(quán),

7、所以當UART0EN位被設(shè)置為邏輯“1”時其引腳將總是被分配到P0.0和P0.1。未被設(shè)置的交叉開關(guān)分配端口可作為通用I/O口。注意:當選擇了串行通信外設(shè)(即SMBus、SPI或UART)時,交叉開關(guān)將為所有相關(guān)功能分配引腳。例如,不能為UART0功能只分配TX0引腳而不分配RX0引腳。交叉開關(guān)寄存器被正確配置后,通過將XBARE(XBR2,6)設(shè)置為邏輯“1”來使能交叉開關(guān)。 3.3 內(nèi)部功能     C8051F020內(nèi)部帶有數(shù)據(jù)采集所需的ADC和DAC,其中ADC有兩個。一個是8路12位逐次逼近型ADC,可編程轉(zhuǎn)換速率,最大為100 kS/s??赏ㄟ^多通道選

8、擇器配置為單端輸入或差分輸入。內(nèi)有可編程增益放大器PGA用于將輸入的信號放大。提高A/D的轉(zhuǎn)換精度??删幊淘鲆鏋椋?.5、1、2、4、8或16,復位時默認值為1。另一個是8路8位ADC。可編程轉(zhuǎn)換速率最大為500 kS/s。其可編程放大增益為0.5、1、2、4,復位時默認值為0.5。有2個12位的DAC,用于將12位的數(shù)字量轉(zhuǎn)換為電壓量??僧a(chǎn)生連續(xù)變化的波形,兩路信號可同步輸出。3.4 外部接口    C8051F020外設(shè)還增添了三個串行口??赏瑫r與外界進行串行數(shù)據(jù)通信。SMBus兼容于FC串行擴展總線;SPI串行擴展接口;兩個增強型UART串口。C8051F0

9、20具有基于JTAG接口的在系統(tǒng)調(diào)試功能,片內(nèi)的調(diào)試電路通過JTAG接口可提供高速、方便的在系統(tǒng)調(diào)試。4 軟件編程舉例    鑒于C8051F020在硬件方面與80C51的不同之處,故它們在軟件編程時也會有所區(qū)別。這種區(qū)別主要體現(xiàn)在初始化程序上。該程序是在Cygnal的開發(fā)工具即IDE調(diào)試環(huán)境中予以驗證的。    例:利用定時器T0定時。在P1.2端輸出一方波,方波周期為20 ms,已知晶振頻率為12 MHz。采用中斷的方式實現(xiàn)。    采用C8051F020單片機實現(xiàn)的程序如下:$include(C80

10、51F020.inc);頭文件(在80C51中無)ORG 0000HLJMP MAIN ;程序入口ORG 000BHLJMP QUFAN ;定時器0中斷入口ORG B3HMAIN:MOV WDTCN,#0DEHMOV WDTCN,#0ADH ; 禁止看門狗定時器 (在80C51中無) MOV OSCICN,#04H ;選擇內(nèi)部時鐘(在80C51中無) MOV CKCON,#00H ;選擇采用系統(tǒng)時鐘的12分頻(在80C51中無) MOV XBR2,#40H ;允許功能選擇開關(guān)(在80C51中無) MOV P1MDOUT,#04H ;選擇P1.2為推拉方式 (在80C51中無) MOV TMOD

11、,#01H MOV TL0,#0F0H ;置10 ms定時初值 MOV TH0,#0D8H MOV IE,#82H ;CPU開中斷,T0開中斷 SETB TR0 ;啟動定時器T0 SJMP $ ;循環(huán)等待QUFAN: MOV TL0,#0F0H ;重新賦初值 MOV TH0,#0D8H CPL P1,2 ;輸出取反 RETI     從上面的程序中可以看出:在C8051F020軟件編程中須首先設(shè)置看門狗定時器的工作狀態(tài),其次,要由內(nèi)部振蕩器控制寄存器OSCICN設(shè)置采用內(nèi)部時鐘還是外部時鐘工作,若選擇外部時鐘可通過外部振蕩器控制寄存器OSCXCN來選擇適當?shù)念l率,

12、本題目采用內(nèi)部時鐘,并通過時鐘控制寄存器CKCON選擇使用系統(tǒng)時鐘的12分頻。再次,若選擇的YO口是低四個端口P0-P3作為工作口,需要設(shè)定寄存器XBR0、XBR1、XBR2(復位值為0),在本設(shè)計中未用到數(shù)字資源,故XBR0、XBR1的值為復位值,只需設(shè)定XBR2的值為40H允許功能選擇開關(guān)即可,若本設(shè)計中的P1.2換為P4.2,則無需設(shè)定寄存器XBR0、XBR1、XBR2,因為高端口P4-P7與交叉開關(guān)無關(guān)。最后還要選擇所用I/O口的輸出方式,P0、P1、P2、P3口分別由POMDOUT、P1MDOUT、P2MDOUT、P3MDOUT端口輸出方式寄存器來選擇,寄存器中的某位置0為漏極開路輸出方式,置1則為推拉輸出方式。另外,由于C8051F020的專用寄存器比一般51單片機多,而8051指令不能識別它增加的專用寄存器,公司提供了所有的專用寄存器及相應(yīng)位的地址定義文件。用戶只需加一條$include(C8051F020.inc)指令即可。    該程序只需將與上面提到的幾點相關(guā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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論