當前位置:學問君>學習教育>畢業論文>

C8051F與80C51系列單片機的不同初始化

學問君 人氣:2.77W
摘要:C8051F系列單片機是Cygnal公司出品的高速單片機,它與80C51系列單片機指令集相容,但比後者增加了許多資源,從而爲嵌入式系統的開發提供了極大的方便。文中介紹了這兩者在結構上的差異以及編程時應注意的問題,並給出了它們較完整的初始化程序。

1 引言

C8051F與80C51系列單片機的不同初始化

近30年來,世界各主要電子元器件生產廠商紛紛推出自己各具特色的單片機產品。而在百花齊放的單片機家族中,80C5l系列一直扮演着重要的角色。該單片機在教學、科研等領域已經成爲入門單片機併成爲單片機應用的首選,該產品以其易讀性好、擴展能力強而著稱,從而成爲廣大從事單片機開發者最熟悉、最具代表的機型。但人們往往在熟悉80C51單片機之後又選擇別的系列單片機開發產品,這是因爲80C51具有運算速度慢、功耗大、內部資源少等不足,所以限制了其使用範圍。Cygnal公司推出的C805lF系列單片機既彌補了80C51系列的不足,又與MCS—5l指令集相容。C805lFxxx系列單片機是完全集成的混合信號系統級芯片,具有與8051指令集完全相容的CIP-51內核。它在單片內集成了構成一個單片機數據採集或控制系統所需要的幾乎所有模擬和數字外設及其它功能部件。這些外設或功能部件包括:ADC、可編程增益放大器、DAC、電壓比較器、電壓基準、溫度傳感器、SMBus/I2C、UART、SPI、定時器、可編程計數器/定時器陣列(PCA)、內部振盪器、看門狗定時器及電源監視器等。這些外設部件的高集成度爲設計小體積、低功耗、高可靠性、高性能的'單片機應用系統提供了很大的方便,同時也可以使整體系統的成本大大降低。

熟悉MCS—51系列單片機的工程技術人員可以很容易地掌握C8051Fxxx的應用技術並進行軟件移植。但不能將8051的程序直接應用於C8051F單片機中,因爲這兩種系列的單片機內部資源存在較大的差異,因此,完全照搬、移植是行不通的,必須經過“改良”(主要是初始化控制字的改寫)才能正確執行。本文以C8051Fxxx系列單片機中資源最豐富、功能最多、運算速度最快(達到100MIPS)的C8051F12X系列爲例,介紹其與80C51的主要不同之處以及開發時應注意的問題,同時給出了其完整的、且經過執行驗證的源程序。

圖1

2 結構差異

C8051F12X單片機與8051單片機在結構上的最大區別有四點:外引腳採用交叉開關配置;系統時鐘源多樣且控制靈活;內部特殊功能寄存器SFR種類數量增多;具有基於JTAG接口的在系統調試功能。下面主要介紹前三部分內容。

2.1 可編程數字I/O和交叉開關

可編程數字I/O和交叉開關是一個大的數字開關網絡,它允許將內部數字系統資源分配給端口I/O引腳。與具有標準複用數字I/O的微控制器不同,這種結構支援所有的功能組合。可透過設定交叉開關控制寄存器(XBR2、XBR1和XBR0)將片內的計數器/定時器、串行總線、硬件中斷、ADC轉換啓動輸入、比較器輸出以及微控制器內部的其它數字信號配置爲在端口I/O引腳出現,這就使用戶可以根據自己的特定應用選擇通用端口I/O和需數字資源的組合。而不同於8051單片機的引腳基本是固定分配的。C8051F系列透過優先權交叉開關譯碼器來控制數字開關網絡,優先權交叉開關譯碼器的值由交叉開關控制寄存器(XBR2、XBR1和XBR0)來配置,如圖1所示。優先權交叉開關譯碼器按優先權順序從P0.0開始,可以一直分配到P3.7,它爲數字外設所分配的端口引腳的優先順序是按系統默認的順序,即:串行通信UART0具有最高優先級,TX0和RX0分別被分配到P0.0和P0.1? 串行通信SPI具有次高優先級,詳細的端口引腳的優先分配順序表請參考有關資料。如果不選擇某個資源,則優先順序表中的下一個功能將填充這個位置。圖2所示是三個交叉開關控制寄存器(XBR2、XBR1和XBR0)中各位的含義,它們的復位值均爲00000000。