Philips公司生產的與MCS 51單片機兼容的CMOS型單片機中,8XC552的功能最強,最具有代表性。它除了具有8051單片機的全部功能之外,又增加了大量的硬件:高速I/O、PWM、A/D、WDT、計數器的捕獲/比較邏輯、串行總線I2CBUS等都集成在片內。
8XC552在指令系統(tǒng)上與MCS 51單片機完全兼容,它有三種不同的型號:
(1)80C552:片內無ROM;
(2)83C552:片內帶8KB編程ROM;
(3)87C552:片內帶8KB用戶可編程EPROM。
8XC552的主要性能
8XC552是增加了許多功能模塊的8051單片機,它具有如下特性:
(1)8KB的內部ROM(83C552)或EPROM(87C552),可外擴64KBEPROM;片內有256BRAM,還可外擴64KBRAM或I/O口;
(2)2個標準的16位定時/計數器;1個附加的16位定時/計數器,并配有4個捕捉寄存器和3個比較寄存器;
(3)1個8路10位片內A/D轉換器;
(4)2路8位分辨率的脈沖寬度調制解調器輸出PWM;
(5)5個8位并行I/O口,1個與A/D合用的輸入口;
(6)1個全雙工異步串行口UART;
(7)I2 C串行總線口;
(8)內部監(jiān)視定時器WDT;
(9)2個中斷優(yōu)先級,15個中斷源;
(10)有56個特殊功能寄存器SFR;
(11)采用68引腳或80引腳PLCC封裝;
(12)工作時鐘頻率可選擇1.2~16 MHz。
8XC552內部結構及引腳描述
8XC552的片內結構框圖如圖10.14所示。采用PLCC68腳封裝形式的引腳功能分配圖如圖10.15所示。
各引腳的功能如下:
VDD:+5V電源。
EA:存儲器訪問選擇輸入端,為“0”時訪問外部ROM,為“1”時訪問內部ROM。
圖10.14 8XC552的內部結構框圖
圖10.15 8XC552引腳功能
8XC552特殊功能寄存器SFR
8XC552具有地址部分重疊的256個字節(jié)的內部數據存儲器RAM和128個字節(jié)的特殊功能寄存器區(qū)SFR,其地址空間為80H~FFH,與高128字節(jié)地址RAM重疊。8XC552在8051單片機的21個SFR的基礎上增加了35個,總共達56個SFR,新增加的35個SFR是用來控制片內新增加的硬件接口功能的。
8XC552并行I/O端口及復用功能
8XC552具有6個8位I/O口P0~P5,每個口由1個鎖存器、1個輸入緩沖器和輸出驅動器組成。除了P1口新增加了功能,P0~P3與8051完全一樣,P4口的功能與P1~P3相同,P5口只能作為輸入口。各I/O端口復用功能見表10.13。
脈沖寬度調制器PWM
8XC552有2路PWM輸出通道,其輸出脈沖的占空比可編程調節(jié)。脈沖寬度調制器的工作原理如圖10.16所示。
圖10.16 PWM輸出功能原理圖
A/D轉換器
8XC552片內有8路10位逐次比較型A/D轉換器,基準電壓和模擬電源分別由相應的引腳輸入,完成一次A/D轉換需要50個機器周期,即當振蕩器頻率為12 MHz時,A/D轉換時間為50μs,輸入電壓范圍為0~+5V。其結構如圖10.19所示。
圖10.19 8XC552A/D轉換器電路框圖
A/D轉換器的操作是通過訪問特殊功能寄存器ADCON來實現的,并且ADCON寄存器只能通過字節(jié)尋址方法訪問。ADCON寄存器的地址為0C5H,其格式如圖10.20所示。
ADCON各位的功能說明如下:
ADC.1、ADC.0:A/D轉換結果位1、0。
ADES:啟動A/D轉換方式。若ADES=0,由軟件啟動A/D轉換(置ADCS位);若ADES=1,可由軟件或外部引腳STADC上升沿啟動A/D轉換。
ADCI:ADC中斷標志。A/D轉換結束,該標志置“1”,并向CPU申請中斷,在讀A/D轉換值中斷程序中必須由軟件清“0”。
ADCS:ADC啟動和狀態(tài)標志。它由軟件或外部引腳STADC設置。當ADC忙時為1,A/D轉換結束后,硬件自動復位ADCS,同時置位ADCI,當ADCS或ADCI之一為高電平時,禁止啟動A/D轉換。
ADCS、ADCI有4種組合,其功能如下:
AADR2~AADR0:模擬通路選擇。三位二進制編碼,共有8種組合狀態(tài),分別選擇8路模擬輸入信號中的1路輸入到A/D轉換器,只有在ADCS和ADCI都為低電平時才能變化。
在進行A/D轉換的過程中,不理睬外部或軟件的啟動信號,轉換結束后,置位ADCI,并將轉換結果的高8位存放在特殊功能寄存器ADCH中,低2位存放在特殊功能寄存器ADCON的最高兩位ADC.1和ADC.0中。圖10.21所示為A/D轉換的實現原理。A/D轉換器具有自己獨立的電源引腳(AV DD和AV SS)以及連到T型電阻網絡的引腳(VREF+和VREF-),AV REF+和AV REF-可以在AV DD+0.2V和AV SS-0.2V之間。轉換結果可由下式計算: