C8051 F04X 系列單片機(jī)中文手冊_第1頁
C8051 F04X 系列單片機(jī)中文手冊_第2頁
C8051 F04X 系列單片機(jī)中文手冊_第3頁
C8051 F04X 系列單片機(jī)中文手冊_第4頁
C8051 F04X 系列單片機(jī)中文手冊_第5頁
已閱讀5頁,還剩444頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第449頁共449頁C8051F04X系列單片機(jī)中文手冊C8051F04X中文手冊1.系統(tǒng)概論C8051F04X系列單片機(jī)是集成在一塊芯片上的混合信號系統(tǒng)級單片機(jī),分64個I/O端口管腳(如C8051F040/2)或者32個I/O端口管腳(如C8051F041/3)兩類,同時有一個CAN2.0B集成控制器。其最突出的特征見下表,涉及的主要設(shè)備特征在1.1中詳解。.25MIPS高速流水線式CIP-51控制器內(nèi)核.CAN2.0B控制對應(yīng)的有32個信息對象,且每一個都有它自己的屏蔽位.在系統(tǒng),全速,非插入式調(diào)試接口.有12位的ADC(C8051F040/1)或10位的ADC(C8051F042/3),帶有PGA和模擬復(fù)用開關(guān).對于12位的ADC(峰峰值為60伏)的高壓差分放大輸入可通過編程得到.有8位的多通道DAC,帶有PGA和模擬復(fù)用開關(guān).有兩個12位DAC,通過編程更新時序.64KB的可編程FLASH存儲器.RAM可存儲4352(4096+256)字節(jié).外部內(nèi)存接口可尋址64K字節(jié).SPI,SMBus/I2C和(2)UART串行接口通過硬件實(shí)現(xiàn).5個16位通用定時器.可編程計數(shù)/定時陣列有6個捕捉/比較模塊.片內(nèi)有看門狗定時器,VDD監(jiān)視器,溫度傳感器由于有片內(nèi)VDD監(jiān)視器,看門狗定時器和時鐘震蕩器,C8051F04X系列單片機(jī)稱得上是真正獨(dú)立的片上系統(tǒng)。通過使用軟件可以用程序很好的管理模擬和數(shù)字外設(shè)FLASH存儲器甚至還有在系統(tǒng)重新編程能力,可提供非易失數(shù)據(jù)存儲,并允許現(xiàn)場更新8051程序。片內(nèi)JTAG調(diào)試支持功能允許對安裝在最終應(yīng)用系統(tǒng)上的單片機(jī)進(jìn)行非侵入失式(不占用片內(nèi)資源),全速在系統(tǒng)調(diào)試。該調(diào)試系統(tǒng)支持和修改存儲器和寄存器,支持?jǐn)帱c(diǎn),觀察點(diǎn),單步及運(yùn)行和停機(jī)命令。在使用JTAG調(diào)試時所有的模擬和數(shù)字外設(shè)都可全功能運(yùn)行。每個單片機(jī)都可在工業(yè)溫度范圍-45-+85℃內(nèi)采用2.7伏到3.6V的工作電壓,端口I/O,/RST和JTAM引腳允許5V的輸入信號電壓。C8051F040/2為100腳封裝,C8051F041/3為64腳TQFP封裝(原理框圖見圖1.1和圖1.2)。1.1CIP-51CPU1.1.1.8051完全兼容C8051F04X系列單片機(jī)使用CYGNAL的專利:CIP-51微控制器內(nèi)核CIP-51。CIP-51與MCS-51的指令完全兼容,可以使用標(biāo)準(zhǔn)803x/805x的匯編器和編譯器進(jìn)行軟件開發(fā)。它的內(nèi)核具有標(biāo)準(zhǔn)8052的所有外設(shè)部件,包括個16位的計數(shù)器/定時器,一個全雙工UART,256B內(nèi)部RAM空間,128B特殊功能寄存器SFR地址空間及8/4B寬I/O端口。1.1.2.全面改進(jìn)部分CIP-51采用流水線結(jié)構(gòu),與標(biāo)準(zhǔn)的8051結(jié)構(gòu)相比,指令執(zhí)行速度有很大的提高。在標(biāo)準(zhǔn)的8051中,出MUL和DIV以外,所有指令都需要12或24個系統(tǒng)時鐘周期,最大系統(tǒng)時鐘頻率為12-24MHz。而對于CIP-51內(nèi)核,70℅的指令執(zhí)行時間位1或2系統(tǒng)時鐘周期,只有4條指令的執(zhí)行時間大于4個系統(tǒng)時鐘周期。CIP-51共有109條指令,下表列出了指令條數(shù)和執(zhí)行時間時所需的系統(tǒng)時鐘周期數(shù)的關(guān)系執(zhí)行周期數(shù)122/333/444/558指令265051473121CIP-51工作在最大系統(tǒng)時鐘頻率25MHz時,它的峰值速度達(dá)到25MIPS。圖1-3給出的8位控制器內(nèi)核工作在最大系統(tǒng)時鐘時的峰值速度的比較關(guān)系。1.1.3.改進(jìn)特點(diǎn)C8051F04X系列單片機(jī)在CIP-52內(nèi)核的內(nèi)部和外部有幾項關(guān)鍵性改進(jìn),提高了整體性能,更易于在實(shí)際中使用。擴(kuò)展的中斷系統(tǒng)為CIP-51提供20個中斷源(標(biāo)準(zhǔn)的8051只有7個中斷源),CIP-51允許大量的模擬和數(shù)字外設(shè)中斷微控制器。由中斷驅(qū)動的系統(tǒng)需要較少的單片機(jī)干預(yù)。但有更高的執(zhí)行頻率。在設(shè)計多任務(wù)實(shí)時系統(tǒng)時,這些新增加的中斷源是非常有用的。單片機(jī)可有7個中斷源:1個片內(nèi)VDD監(jiān)視器,1個看門狗定時器(WDT),1個時鐘丟失檢測器,1個比較器0提供的電壓檢測器,1個強(qiáng)制軟件復(fù)位,CNVSTR0輸入引腳及/RST引腳。/RST引腳是雙向的,可接受外部復(fù)位或由內(nèi)部產(chǎn)生的上電復(fù)位信號輸出到/RST引腳。除了VDD監(jiān)視器和復(fù)位輸出引腳以外,每個復(fù)位源都可以由用戶軟件禁止。VDD監(jiān)視器可以控制MONEN引腳。在上電復(fù)位之后的單片機(jī)初始化期間,可以永久地使用WDT。單片機(jī)內(nèi)部有個能夠獨(dú)立工作的時鐘發(fā)生器,在復(fù)位后會默認(rèn)為系統(tǒng)時鐘。如有需要,時鐘源可以在運(yùn)行時切換到外部振蕩器,外部振蕩器可以使用晶體諧振器、RC振蕩器或外部時鐘源產(chǎn)生的系統(tǒng)時鐘。這種切換功能在低功耗系統(tǒng)中是非常有用的,它允許單片機(jī)在需要時,從低頻率(節(jié)電)的外部晶體振蕩器切換到高速(可達(dá)25MHz)的內(nèi)部振蕩器,或者由高速的振蕩器切換到低速振蕩器工作。片內(nèi)時鐘和復(fù)位電路如圖1.41.2.片內(nèi)存儲器CIP-51有標(biāo)準(zhǔn)的8051程序和數(shù)據(jù)地址配置。它包括256B的數(shù)據(jù)RAM,其中高128B為2個地址空間:用間接尋址訪問通用RAM的高128B;用直接尋址訪問128B的SFR地址。CIP-51SFR地址空間可尋址256個SFR頁,這樣,CIP-51就可以提供很多SFR的要求來控制和配置許多外圍設(shè)備特征??臻g數(shù)據(jù)RAM的低128B可用直接或間接尋址方式訪問。前32字節(jié)為4個通用工作寄存區(qū),接下來的16字節(jié)既可以字節(jié)尋址又可以位尋址。C8051F040/1/2/3中的CIP-51還另有位于外部數(shù)據(jù)存儲器地址空間的4kB的RAM塊和外部數(shù)據(jù)存儲器接口(EMF),可以只訪問片內(nèi)數(shù)據(jù)存儲器,也可以映射在外部存儲器地址空間。這個4kB的RAM塊在整個64KB外部數(shù)據(jù)存儲器地址空間被尋址(有4k邊界重疊)。外圍數(shù)據(jù)存儲器地址空間可以只映射在片外,也可以映射在片外,還可以同時映射(4KB以內(nèi)的在片內(nèi)存儲器空間,4KB以上的經(jīng)過EMIF)。EMIF可以設(shè)置為復(fù)用模式或非復(fù)用模式。單片機(jī)的程序存儲器包含64KB的FLASH。該存儲器以512B為一個扇區(qū),可以在系統(tǒng)編程,且不需要在片外提供編程電壓。從0xEE00-0xFFFF的512B被保留。還有一個位于地址0x10000-0x1007F的128B扇區(qū),該扇區(qū)可作為一個小的軟件常數(shù)表。圖1.5給出了單片機(jī)系統(tǒng)的存儲器結(jié)構(gòu)。1.3.JTAG調(diào)試和邊界掃描C8051F04x系列具有片內(nèi)JTAG調(diào)試電路。通過4腳JATG接口并使用安裝在應(yīng)用系統(tǒng)中的單片機(jī)就可以進(jìn)行非侵入式,全速的在系統(tǒng)調(diào)試。該JTAG接口完全符合IEEE1149.1標(biāo)準(zhǔn),為生產(chǎn)和測試提供完全的邊界掃描功能。.CYGNAL的的調(diào)試系統(tǒng)支持觀察和修改存儲器,寄存器,斷點(diǎn),觀察點(diǎn),堆棧指示器及單步執(zhí)行,不需要額外的目標(biāo)RAM程序存儲器,定時器或通信通道。在調(diào)試時所有的模擬和數(shù)字外設(shè)都正常工作。當(dāng)單片機(jī)單步執(zhí)行或遇到斷點(diǎn)而停止運(yùn)行時,所有的外設(shè)除ADC和SMBUS外都停止運(yùn)行以便保持同步。開發(fā)套件C8051F04DK具有開發(fā)應(yīng)用代碼所需要的全部硬件和軟件,并可包括對單片機(jī)進(jìn)行在系統(tǒng)調(diào)試。開發(fā)套件中包括開發(fā)者工作室軟件,調(diào)試器,1個集成的8051匯編以及1個被稱為EC的RD-232至JTAG協(xié)議轉(zhuǎn)換模塊。套件中還有1個目標(biāo)應(yīng)用板,上面有對應(yīng)的單片機(jī)和一大塊擴(kuò)展區(qū)域。套件中還包括RS-232和JTAG電纜及1個電源適配器。開發(fā)套件需要運(yùn)行窗口95/98/ME/NT/2000,并有1臺可用RS-232串口的計算機(jī)。如圖1.6所示,PC機(jī)通過RS-232與EC連接,一條6在的扁平電纜將EC與擁護(hù)的應(yīng)用板連接起來,扁平電纜中包括4個 JTAG引腳和VDD及GND。EC從應(yīng)用板取電源,在2.7到3.6伏時,其供電電流大約為20mA。如果不能從目標(biāo)板上提取足夠的電源,可以將套件中提供的電源直接連到EC上。對于開發(fā)和調(diào)試嵌入式應(yīng)用來說,該系統(tǒng)的調(diào)試功能比采用標(biāo)準(zhǔn)單片機(jī)仿真器要優(yōu)越的多。標(biāo)準(zhǔn)的單片機(jī)仿真器應(yīng)使用在板仿真芯片和目標(biāo)電纜上,還需要在應(yīng)用板上留有單片機(jī)的插座。CYGNAL的調(diào)試環(huán)境既便于使用又能保證精確模擬外設(shè)的性能。 1.4.可編程數(shù)字I/O和交叉開關(guān)F04x系列單片機(jī)具有標(biāo)準(zhǔn)8051的端口(P0,P1,P2,P3)。在F040/2中有4個額外的8位I/O口(4,5,6,7),因此總共有64個多功能的I/O端口。I/O端口的工作情況與標(biāo)準(zhǔn)8051相似,并有一些改進(jìn)。每個端口I/O引腳都可以被推挽或漏極開路輸出。在標(biāo)準(zhǔn)8051中固定的弱上拉可以被禁止,這為低功耗應(yīng)用提供了進(jìn)一步節(jié)電能力。最大的改進(jìn)是數(shù)字交叉開關(guān)。這是一個很大的數(shù)字開關(guān)網(wǎng)絡(luò),允許將內(nèi)部數(shù)字系統(tǒng)資源分配給P0,P1,P2,P3的端口。如圖1.7。與具有標(biāo)準(zhǔn)復(fù)用數(shù)字I/O的微控制器不同,這種結(jié)構(gòu)可支持所有的功能組合。可通過設(shè)置開關(guān)交叉控制寄存器,將片內(nèi)的計數(shù)器/定時器,串行總線,硬件中斷,ADC轉(zhuǎn)換啟動輸入,比較器輸出以及微控制器內(nèi)部的其他數(shù)字信號配置為在I/O引腳輸出。允許用戶根據(jù)自己特定的應(yīng)用選擇通用端口I/O和所需數(shù)字資源的組合。1.5.可編程計數(shù)器陣列除了5個16位的通用計數(shù)器/定時器外,C8051F04x系列單片機(jī)還有1個片內(nèi)可編程計數(shù)器/定時器陣列PCA。PCA包括1個專用的16位計數(shù)器/定時器時間基準(zhǔn)和6個捕捉/比較模塊。時間基準(zhǔn)的時鐘可以是下面6個時鐘源之一:系統(tǒng)時鐘/12,系統(tǒng)時鐘/4,定時器0溢出,外部時鐘輸入ECL,系統(tǒng)時鐘以及外部振蕩器/8.每個比較/捕捉模塊都有6種工作方式:邊緣觸發(fā),捕捉軟件定時器,高速輸出,頻率輸出,8位脈沖寬度調(diào)制器和16位脈沖寬度調(diào)制器。PCA捕捉/比較模塊的I/O及外部時鐘輸入ECI可以通過數(shù)字交叉開關(guān)連到單片機(jī)的I/O引腳。見圖1.81.6. 控制局域網(wǎng)C8051F04x系列單片機(jī)帶有CAN控制器,利用CAN協(xié)議可以執(zhí)行一系列的信息交換。CAN控制器很容易在CAN網(wǎng)絡(luò)實(shí)現(xiàn)信息交流并和basicCAN2.0A和2.0B兼容。CAN控制器包含有1個CAN內(nèi)核,RAM 信息塊(從C8051獨(dú)立出來),有一個信息處理狀態(tài)機(jī)和控制寄存器。CAN控制器的速率可以達(dá)到1MB/秒,CygnalCAN擁有32個信息對象,每一個都有自己的屏蔽位用于接受或過慮收到的信息。收到的數(shù)據(jù),信息體和屏蔽對象都儲存在CAN的信息RAM中。所有用于接收和發(fā)送數(shù)據(jù)的協(xié)議函數(shù)都是由CAN控制器自動完成,而不需要MCU的參與。因此,CAN通訊時占用cpu的帶寬是最小的。C8051配置CAN控制器,通過C8051中的特殊功能寄存器來接收和發(fā)送數(shù)據(jù)的。1.7.串行端口C8051FO4x系列單片機(jī)有2個增強(qiáng)的全雙工UART,一個增強(qiáng)SPI總線及I2C/SMBus。每種串行總線都完全用硬件實(shí)現(xiàn),都能向CIP-51產(chǎn)生中斷,因此很少需要CPU的干預(yù)。這些串行總線不共享定時器中斷或端口I/O,所以可以按需要使用任何一個或全部。1.8.12位模/數(shù)轉(zhuǎn)換器C8051F040/1有一個片內(nèi)12位SARADC(ADC0),一個9通道輸入多路選擇開關(guān)及可編程增益放大器。當(dāng)ADC工作在100ksps的最大采樣速率時可提供真正的12位精度,INL為±1LSB。C8051F042/3與C8051F040/1類似,但分辨率為10位。ADC0的電壓基準(zhǔn)介于DAC0輸出和外部VREF引腳之間。在C8051F040/2中,ADC0有它專門的VREF0輸入引腳;在C8051F041/3中,ADC0和8位ADC2共享VREFA輸入引腳。片內(nèi)還有一個15ppm/℃的電壓基準(zhǔn),可提供本身的ADC轉(zhuǎn)換基準(zhǔn),也可通過VREF引腳提供給其他的系統(tǒng)元件用。ADC完全由CIP-51通過特殊功能寄存器控制。有一個輸入通道被連到內(nèi)部溫度傳感器,其它8個通道接8個外部輸入。通道的每一對都可被配置為2個單端輸入或1個差分輸入。系統(tǒng)控制器可以關(guān)斷ADC以節(jié)省功耗。可編程增益放大器接在模擬多路選擇器之后,增益可用軟件設(shè)置(具體為0.5,1,2,4,8或16),對于不同的ADC通道輸入電壓,可以選擇不同的增益,或需要放大一個具體較大直流偏移的信號時,(在差分方式中,DAC可用于提供直流偏移),這個放大環(huán)節(jié)是非常有用的。A/D轉(zhuǎn)換可有4種啟動方式:軟件命令;定時器2溢出;定時器3溢出或外部信號輸入。允許用軟件,周期性的定時器溢出或外部輸入信號觸發(fā)進(jìn)行轉(zhuǎn)換。一次轉(zhuǎn)換完成可以產(chǎn)生一個中斷,或者用軟件查詢狀態(tài)位來判斷轉(zhuǎn)換結(jié)束。在轉(zhuǎn)換完成時,10位或12位轉(zhuǎn)換結(jié)果數(shù)據(jù)被鎖存到2個特殊寄存器SFR中,在軟件控制下這些數(shù)據(jù)字可以是左對齊或右對齊。當(dāng)ADC數(shù)據(jù)在或者不在某個特定的范圍之內(nèi),ADC的窗口比較器可以中斷控制器。ADC可以用后臺方式持續(xù)監(jiān)視一個關(guān)鍵電壓,當(dāng)轉(zhuǎn)換數(shù)據(jù)位于規(guī)定的窗口之間時才向控制器申請中斷。(見圖1.10ADC原理框圖)1.9.8位模/數(shù)轉(zhuǎn)換器C8051F040/1/2/3有一個片內(nèi)8位SARADC(ADC2),一個8通道輸入多路選擇開關(guān)及可編程增益放大器。當(dāng)ADC工作在500ksps的最大采樣速率時可提供真正的8位精度,INL為+/-1LSB。C8051FO41/3與C8051F040/2類似,但分辨率為10位。ADC0的電壓基準(zhǔn)介于DAC0輸出和外部VREF引腳之間。8個輸入引腳可用于測量有用并且可以編程為差分輸入或單端輸入方式。CIP內(nèi)核微控制器可以通過特殊寄存器完全控制ADC。ADC2電壓基準(zhǔn)可以在模擬供給源(AV+)和外部VREF引腳之間選擇任何一個。在C8051F040/2中,ADC2有它自己專門的VREF2輸入引腳;在C8051F041/3中,ADC2和12/10位ADC0共享VREFA輸入引腳。系統(tǒng)控制器可以關(guān)斷ADC2以節(jié)省功耗??删幊淘鲆娣糯笃鹘釉谀M多路選擇器之后。對于不同ADC輸入,可以選擇不同的增益,當(dāng)需要放大一個具體較大直流偏移的信號時,差分方式DAC可用于提供直流偏移,這個放大環(huán)節(jié)是非常有用的。增益可用軟件設(shè)置(具體為0.5,1,2或4)。允許用軟件,定時器溢出或外部輸入信號控制ADC2轉(zhuǎn)換。ADC2轉(zhuǎn)換甚至可以和ADC0軟件轉(zhuǎn)換命令同步。一次轉(zhuǎn)換完成可以產(chǎn)生一個中斷(允許中斷時),或者用軟件查詢狀態(tài)位來判斷轉(zhuǎn)換結(jié)束。在轉(zhuǎn)換完成時,8位轉(zhuǎn)換結(jié)果數(shù)據(jù)被鎖存到1個特殊寄存器SFR中。1.10. 比較器和DACC8051F040/1/2/3系列單片機(jī)內(nèi)部有2個12位DAC和3個比較器。單片機(jī)通過特殊功能寄存器來控制與每個比較器和DAC之間的數(shù)據(jù)和控制接口。單片機(jī)可以將任何一個DAC或比較器置于低功耗關(guān)斷方式。每個比較器都有軟件可編程的滯后和響應(yīng)時間,每個比較器都能在上升沿或下降沿產(chǎn)生中斷,或者兩個邊沿都產(chǎn)生中斷。比較器的輸出狀態(tài)可以用軟件查詢。這些中斷能將單片機(jī)從睡眠方式喚醒。可通過設(shè)置交叉開關(guān)將比較器的輸出接到I/O引腳。DAC為電壓輸出方式,有一個靈活的時序安排裝置。通過軟件改寫或者定時器2,3,4溢出,這個裝置可以隨著DAC輸出量的改變而修正自己的量。在C8051F040/2中,DAC基準(zhǔn)電壓由專門的VREFD輸入引腳來提供;在C8051F041/3中,DAC基準(zhǔn)電壓由內(nèi)在的電壓基準(zhǔn)提供。DAC在作為比較器的參考電壓或者為ADC差分輸入提供偏移電壓時非常有用。2.極限參數(shù)參數(shù)狀態(tài)最小值典型值最大值單位通電情況下環(huán)境溫度-55125℃儲存溫度-65150℃引腳相對DGND的電壓(VDD和端口I/O除外)-0.3VDD+0.3VV端口I/O引腳/RST相對DGND的電壓-0.35.8VVDD引腳相對DGND的電壓-0.34.2V通過VDD,AV+,DGND及AGND的最大總電流800mA端口引腳的最大輸出灌電流100mA其他I/O引腳的最大輸出灌電流50mA端口引腳的最大輸出拉電流100mA其他I/O引腳的最大輸出拉電流50mA*注意:超過這些極限參數(shù)將導(dǎo)致器件永久性損壞。這里只標(biāo)明主要的一些參數(shù),其他的一些在說明書上有的參數(shù)就不在此細(xì)表。在極限狀態(tài)下的擴(kuò)展周期可能會影響器件設(shè)備的可靠性3. 直流電氣特征參數(shù)條件最小值典型值最大值單位模擬電源電壓*2.73.03.6V模擬電源電流內(nèi)部REFADC,ADC比較器都工作1.7TBDmA模擬電源電流內(nèi)部REFADC,ADC比較器都0.2TBDuA(模擬子系統(tǒng)不工作)不工作,振蕩器被禁止模擬與數(shù)字電源之差0.5V(|VDD-AV+|)數(shù)字電源電壓2.73.03.6VVDD=2.7V,CLK=25MHz10 mA數(shù)字電源電壓(CPU工作)VDD=2.7V,CLK=1MHz0.5mAVDD=2.7V,CLK=32kHz20mA數(shù)字電源電壓(CPU不工作,VDD=2.7V,CLK=25MHz5mA不訪問FLASH)VDD=2.7V,CLK=1MHz0.2mAVDD=2.7V,CLK=32Kh10mA數(shù)字電源電流(停機(jī)方式)震蕩器不運(yùn)行0.2uA保持RAM數(shù)據(jù)時的1.5uA數(shù)字電源電壓額定工作溫度范圍-40+85℃*注:模擬電源AV+必須大于1V才能使VDD監(jiān)視器工作。4. 引腳和封裝定義引腳名稱引腳號類型說明F040/2F041/3VDD37,6424,41數(shù)字電源,范圍+2.7-3.6V9057DGND38,6325,40,數(shù)字地57AV+8,113,6模擬電源,范圍+2.7-3.6V14AGND9,10,4,5模擬地13TMS158數(shù)字輸入帶內(nèi)部上拉的JTAG測試模式選擇TCK259數(shù)字輸入帶內(nèi)部上拉的JTAG測試時鐘TDI360數(shù)字輸入帶內(nèi)部上拉的JTAG測試數(shù)據(jù)輸入。TDI在TCK上升沿被鎖存TD0461數(shù)字輸入帶內(nèi)部上拉的JTAG測試數(shù)據(jù)輸入。數(shù)據(jù)在TCK的下降沿從TD0引腳輸出,TD0輸出是1個三態(tài)驅(qū)動器/RST562數(shù)字I/O芯片復(fù)位引腳。內(nèi)部電壓監(jiān)視器的漏極開路輸出。當(dāng)VDD小于2.7伏時為低電平,外部驅(qū)動信號可以通過將該引腳置為低電平使系統(tǒng)復(fù)位。XTAL12617模擬輸入晶體輸入。該引腳為晶體或陶瓷諧振器的內(nèi)部振蕩器電路反饋輸入。為了得到精確的內(nèi)部時鐘,可以在XTAL1和XTAL2之間接上1個晶體或陶瓷諧振器。如果被外部CMOS時鐘驅(qū)動,則該引腳成為系統(tǒng)時鐘。XTAL22718模擬輸入晶體輸出。該引腳是晶體或陶瓷諧振器的激勵驅(qū)動器。MONEN2819數(shù)字輸入VDD監(jiān)視器。當(dāng)連接高電平時,使能內(nèi)部VDD監(jiān)視器,當(dāng)VDD小于2.7伏時,強(qiáng)制系統(tǒng)復(fù)位當(dāng)連接低時,內(nèi)部監(jiān)視器被禁止。VREF127模擬I/O參考電壓輸出;或者DAC參考電壓輸入(僅F021/3)VREFA8模擬輸入當(dāng)配置為輸入時作為ADC0和ADC1的電壓基準(zhǔn)VREF016模擬輸入當(dāng)配置為輸入時作為ADC0的電壓基準(zhǔn)VREF217模擬輸入當(dāng)配置為輸入時作為ADC1的電壓基準(zhǔn)VREFD15模擬輸入當(dāng)配置為輸入時作為DAC的電壓基準(zhǔn)AIN0.0189模擬輸入ADC0通道輸入0AIN0.11910模擬輸入ADC0通道輸入1AIN0.22011模擬輸入ADC0通道輸入2AIN0.32112模擬輸入ADC0通道輸入3HVCAP2213模擬I/O高差分電壓放大器HVREF2314模擬輸入高差分電壓放大器基準(zhǔn)HVAIN+2415模擬輸入高差分電壓放大器正極信號輸入HVAIN-2516模擬輸入高差分電壓放大器正極信號輸入CANTX72數(shù)據(jù)輸出CAN網(wǎng)絡(luò)控制發(fā)送的輸出引腳CANRX61數(shù)據(jù)輸入CAN網(wǎng)絡(luò)控制接收的接收引腳DAC010064模擬輸入數(shù)模轉(zhuǎn)換器輸出口0,DAC0端電壓輸出DAC19963模擬輸入數(shù)模轉(zhuǎn)換器輸出口1,DAC1端電壓輸出P0.06255數(shù)字I/O端口0位0P0.16154數(shù)字I/O端口0位1P0.26053數(shù)字I/O端口0位2……..P0.35952數(shù)字I/O端口0位3P0.45851數(shù)字I/O端口0位4ALE/P0.55750數(shù)字I/OALE信號。用于選通外部存儲器的地址總線/RD/P0.65649數(shù)字I/O/RD信號。外部存儲器讀選通信號,端口0位6/WD/P0.75548數(shù)字I/O/WD信號。外部存儲器寫選通信號,端口0位7AIN2.0/A8模擬輸入ADC1的0通道輸入;端口1位0;外部存儲器/P1.03629數(shù)字I/O地址總線位8AIN2.1/A9模擬輸入端口1位1;/P1.13528數(shù)字I/OAIN2.2/A10模擬輸入端口1位2;/P1.23427數(shù)字I/OAIN2.3/A11模擬輸入端口1位3;/P1.33326數(shù)字I/OAIN2.4/A12模擬輸入端口1位4;/P1.43223數(shù)字I/OAIN2.5/A13模擬輸入端口1位5;/P1.53122數(shù)字I/OAIN2.6/A14模擬輸入端口1位6;/P1.63021數(shù)字I/OAIN2.7/A15模擬輸入端口1位7;/P1.72920數(shù)字I/OA8m/A0/P2.04637數(shù)字I/O外部存儲器地址總線位8(多路器模式)外部存儲器地址總線位0(非多路器模式)端口2位0A9m/A1/P2.14536數(shù)字I/O端口2位1A10m/A2/P2.24435數(shù)字I/O端口2位2A11m/A3/P2.34334數(shù)字I/O端口2位3A12m/A4/P2.44233數(shù)字I/O端口2位4A13m/A5/P2.54132數(shù)字I/O端口2位5A14m/A6/P2.64031數(shù)字I/O端口2位6A15m/A7/P2.73930數(shù)字I/O端口2位7AIN0.?/5447模擬輸入外部存儲器的地址/數(shù)據(jù)總線位0(多路器模式)AD0/DO/P3.0數(shù)字I/O外部存儲器的數(shù)據(jù)總線位0(非多路器模式)端口3位0,ADC0輸入AIN0.?/5346模擬輸入端口3位1,ADC0輸入AD1/D1/P3.1數(shù)字I/OAIN0.?/5245模擬輸入端口3位2,ADC0輸入AD2/D2/P3.2數(shù)字I/OAIN0.?/5144模擬輸入端口3位3,ADC0輸入AD3/D3/P3.3數(shù)字I/OAIN0.?/5043模擬輸入端口3位4,ADC0輸入AD4/D4/P3.4數(shù)字I/OAIN0.?/4942模擬輸入端口3位5,ADC0輸入AD5/D5/P3.5數(shù)字I/OAIN0.?/4839模擬輸入端口3位6,ADC0輸入AD6/D6/P3.6數(shù)字I/OAIN0.?/4738模擬輸入端口3位7,ADC0輸入AD7/D7/P3.7數(shù)字I/OP4.098數(shù)字I/O端口4位0P4.197數(shù)字I/O端口4位1P4.296數(shù)字I/O端口4位2P4.395數(shù)字I/O端口4位3P4.494數(shù)字I/O端口4位4ALE/P4.593數(shù)字I/OALE信號。用于選通外部存儲器的地址總線端口4位5/RD/P4.692數(shù)字I/O/RD信號。外部存儲器讀選通信號,端口0位6/WD/P4.791數(shù)字I/O/WD信號。外部存儲器寫選通信號,端口0位7A8/P5.088數(shù)字I/O外部存儲器的地址總線位8(非多路器模式)端口5位0A8/P5.187數(shù)字I/O端口5位1A8/P5.286數(shù)字I/O端口5位2A8/P5.385數(shù)字I/O端口5位3A8/P5.484數(shù)字I/O端口5位4A8/P5.583數(shù)字I/O端口5位5A8/P5.682數(shù)字I/O端口5位6A8/P5.781數(shù)字I/O端口5位7A8m/A0/P6.080數(shù)字I/O外部存儲器地址總線位8(多路器模式)外部存儲器地址總線位0(非多路器模式)端口6位0A9m/A1/P6.179數(shù)字I/O端口6位1A10m/A2/P6.278數(shù)字I/O端口6位2A11m/A3/P6.377數(shù)字I/O端口6位3A12m/A4/P6.476數(shù)字I/O端口6位4A13m/A5/P6.575數(shù)字I/O端口6位5A14m/A6/P6.674數(shù)字I/O端口6位6A15m/A7/P2.773數(shù)字I/O端口6位7AD0/DO/P3.072數(shù)字I/O外部存儲器的地址/數(shù)據(jù)總線位0(多路器模式)數(shù)字I/O外部存儲器的數(shù)據(jù)總線位0(非多路器模式)端口7位0,AD1/D1/P7.171數(shù)字I/O端口7位1AD2/D2/P7.270數(shù)字I/O端口7位2AD3/D3/P7.369數(shù)字I/O端口7位3AD4/D4/P7.468數(shù)字I/O端口7位4AD5/D5/P7.567數(shù)字I/O端口7位5AD6/D6/P7.666數(shù)字I/O端口7位6AD7/D7/P7.765數(shù)字I/O端口7位75.12位模/數(shù)轉(zhuǎn)換器(ADC0,C8051F040/1only)C8051F040/1的ADC0子系統(tǒng)包括一個9通道的可配置模擬多路開關(guān)AMUX0,一個可編程增益放大器PGA0,一個100ksps12位分辨率的逐次逼近型ADC(ADC中集成了跟蹤保持電路和可編程窗口檢測器,如圖5.1.)。AMUX0,PGA0,數(shù)據(jù)轉(zhuǎn)換方式及窗口檢測器都可以用軟件通過特殊功能寄存器來配置(如圖5.1.)。ADC0電壓基準(zhǔn)控制詳見PAGE99的F040/2單片機(jī)或者PAGE101的F041/3單片機(jī)。只有當(dāng)ADC0控制寄存器ADC0CN中的AD0EN位置1時,ADC子系統(tǒng)使能。當(dāng)AD0EN位為0時,ADC0子系統(tǒng)處于低功耗關(guān)斷狀態(tài)。5.1.模擬多路開關(guān)和PGAAMUX可以通過4個外部模擬輸入引腳(.AIN0.0-0.3),端口3(可以優(yōu)化配置為模擬輸入引腳),高壓差分放大器,或者片內(nèi)溫度傳感器(溫度傳輸函數(shù)如圖5.11)將模擬信號輸入進(jìn)ADC中。可將AMUX輸入對編程為工作在差分或單端方式。并允許用戶對每個通道選擇最佳的測量方法,甚至可以在測量過程中改變方式。在系統(tǒng)復(fù)位后,AMUX的默認(rèn)方式為單端輸入。有3個與AMUX相關(guān)的寄存器:通道選擇寄存器AMXOSL(如圖5.4),配置寄存器AMXOCF(如圖5.12),端口管腳選擇寄存器AMX0PRT(如圖5.6)。在表5.4中給出了每種配置下各通道的功能。PGA對AMUX輸出信號的放大倍數(shù)由ADC配置寄存器ADC0CF中的AMPGN2-0確定。PGA增益可用軟件編程為0.5,2,4,8或16。復(fù)位時的默認(rèn)增益為1。?5.1.1. 模擬輸入配置模擬開關(guān)通過外部模擬輸入引腳(I/O的3端口,見page185的結(jié)構(gòu)圖)接收信號,有一個高壓差分放大器和一個片內(nèi)溫度傳感器。(見圖5.2.)模擬信號在差分或單端測量時可以從4個外部輸入引腳(AIN0.0-0.3)輸入。另外端口3的I/O口引腳被設(shè)置為模擬信號輸入。此設(shè)置由端口管腳配置寄存器(AMX0PRT)來選擇。端口3的任何引腳都可以被選擇同時作為AMUX的輸入。端口3的單和雙引腳能各自獨(dú)立的配置為AMUX輸入。(注意:單和雙端口引腳被作為“線或”同時選擇時將會導(dǎo)致短路)這樣,使用端口3時就可以進(jìn)行差分測量(差分放大的引腳在端口3的奇偶端口間選擇)。見圖5.2在差分測量中,高電壓差分放大器(HVDA)可以拒絕高于60V的共模電壓,此電壓高于ADC的參考電壓(0到VREF伏)。通過使用AMUX,HVDA輸出能選擇作為ADC的輸入。(見PAGE38的介紹。)AMX0CF:AMUX0配置寄存器(C8051F040/1/2/3RRRRR/WR/WR/WR/WPORT3ICHVDA2CAIN23ICAIN10IC位7位6位5位4位3位2位1位0復(fù)位值:00000000;SFR地址:0xBA位7-4:未使用。讀=0000B,寫=忽略。位3:PORT3IC:3端口奇偶輸入對配置位0:3端口奇偶引腳為獨(dú)立的單端輸入1:3端口奇偶引腳各自為+,-差分輸入位2:HVDA2C:HVDA2的補(bǔ)碼位0:HVDA輸出測量(作為獨(dú)立的單端輸入)1:HVDA的結(jié)果為2的補(bǔ)碼位1:AIN23IC:AIN0.2和AIN0.3輸入對配置位0:AIN0.2和AIN0.3為獨(dú)立的單端輸入1:AIN0.2,AIN0.3為+,-差分輸入位0:AIN10IC:AIN0.0和AIN0.1輸入對配置位0:AIN0.0和AIN0.1為獨(dú)立的單端輸入1:AIN0.0,AIN0.1為+,-差分輸入注意:對于被配置成差分輸入的通道,ADC0數(shù)據(jù)字格式為2的補(bǔ)碼AMX0SL:AMUX0通道選擇寄存器RRRRR/WR/WR/WR/WAMX0AD3AMX0AD2AMX0AD1AMX0AD0位7位6位5位4位3位2位1位0復(fù)位值:00000000;SFR地址:0XBB位7-4:未使用。讀=0000B,寫=忽略。位3-0:AMX0AD3-0:AMX0地址位0000-1111b:根據(jù)下表5.5選擇ADC輸入AMX0PRT:3端口選擇寄存器RRRRR/WR/WR/WR/WPAIN7ENPAIN6ENPAIN5ENPAIN4ENPAIN3ENPAIN2ENPAIN1ENPAIN0EN位7位6位5位4位3位2位1位0復(fù)位值:00000000;SFR地址:0xBD 位7:PAIN7EN:引腳7作為模擬輸入位0:P3.7不選為AMUX的模擬輸入1:P3.7選為AMUX的模擬輸入位6:PAIN7EN:引腳6作為模擬輸入位0:P3.6不選為AMUX的模擬輸入1:P3.6選為AMUX的模擬輸入位5:PAIN7EN:引腳5作為模擬輸入位0:P3.5不選為AMUX的模擬輸入1:P3.5選為AMUX的模擬輸入位4:PAIN7EN:引腳4作為模擬輸入位0:P3.4不選為AMUX的模擬輸入1:P3.4選為AMUX的模擬輸入位3:PAIN7EN:引腳7作為模擬輸入位0:P3.3不選為AMUX的模擬輸入1:P3.3選為AMUX的模擬輸入位2:PAIN7EN:引腳2作為模擬輸入位0:P3.2不選為AMUX的模擬輸入1:P3.2選為AMUX的模擬輸入位1:PAIN7EN:引腳1作為模擬輸入位0:P3.1不選為AMUX的模擬輸入1:P3.1選為AMUX的模擬輸入位0:PAIN7EN:引腳0作為模擬輸入位0:P3.0不選為AMUX的模擬輸入1:P3.0選為AMUX的模擬輸入注意:3端口任何引腳都可以同時被選擇作為AMUX的輸入,單數(shù)和雙數(shù)端口引腳被作為“線或”同時選擇時將會導(dǎo)致短路5.2.高電壓差分放大器高電壓差分放大器(HVDA)HVA0CN:高電壓差分放大器控制寄存器R/WRRRR/WR/WR/WR/WHVDAENHVGAIN3HVGAIN2HVGAIN1HVGAIN0位7位6位5位4位3位2位1位0復(fù)位值:00000000;SFR地址:0XD6位7:HVDAEN:高電壓差分放大器允許位0:HVDA禁止1:HVDA允許位6-3:保留位位2-0:HVGAIN3-HVGAIN0:HVDA增益控制位。HVGAIN3:HVGAIN0HVGAGain00000.0500010.100100.12500110.201000.2501010.401100.501110.810001.010011.610102.010113.211004.011016.211107.61111145.3.ADC的工作方式ADC0的最高轉(zhuǎn)換速度為100ksps。轉(zhuǎn)換時鐘來源于系統(tǒng)時鐘,通過ADC0CF寄存器的ADC0SC位來控制。5.3.1.轉(zhuǎn)換啟動轉(zhuǎn)換啟動有4種方式,由ADC0CN的ADC0啟動轉(zhuǎn)換方式位AD0CM1H和AD0CM0DE的狀態(tài)決定的轉(zhuǎn)換觸發(fā)源有:1.寫1到ADC0CN的AD0BUSY位;2.定時器3溢出,即定時的連續(xù)轉(zhuǎn)換;3.外部ADC轉(zhuǎn)換啟動信號的上升沿CNVSTR;4.定時器2溢出,即定時的連續(xù)轉(zhuǎn)換。AD0BUSY位在轉(zhuǎn)換期間被置1,轉(zhuǎn)換結(jié)束后清0。AD0BUSY位的下降沿觸發(fā)一個中斷(當(dāng)被允許時),置位AD0INT中的中斷標(biāo)志。轉(zhuǎn)換結(jié)果保存在ADC數(shù)據(jù)字的MSB和LSB寄存器ADC0H和ADC0L中。轉(zhuǎn)換數(shù)據(jù)在寄存器對ADC0H:ADC0L中的存儲方式可以是左對齊或右對齊,由ADC0CN寄存器中ADLJST位的編程狀態(tài)決定。當(dāng)向AD0BUSY寫1開始轉(zhuǎn)換啟動時,ADCOINT位將被查詢并決定轉(zhuǎn)換什么時候結(jié)束(ADC0中斷也可以被使用)。推薦查詢程序如下:步驟1:向AD0INT寫0;步驟2:向AD0BUSY寫1;步驟3:不斷檢測AD0INT直到為1;步驟4:ADC0數(shù)據(jù)處理5.3.2. 跟蹤模式ADC0CN中的AD0TM位控制ADC0的跟蹤/保持方式。在缺省狀態(tài)下,ADC0輸入連續(xù)跟蹤在沒有進(jìn)行轉(zhuǎn)換時。當(dāng)AD0TM位設(shè)置位1,ADC0工作在低功耗方式下。在這種方式下,在轉(zhuǎn)換啟動信號之后,持續(xù)3個SAR時鐘;或只在CNVSTR信號為低時才開始跟蹤;當(dāng)整個芯片處于低功耗或睡眠方式時,可以禁止跟蹤。在AMUX或PGA的設(shè)置經(jīng)常改變時,低功耗跟蹤模式是非常有用的,因?yàn)樗WC了合適的建立時間。 圖5.9.12位跟蹤和轉(zhuǎn)換時序舉例5.3.3.需要的建立時間當(dāng)ADCO輸入配置被改變(i.e.,一種不同于MUX和PGE的選擇),一個正確的轉(zhuǎn)換被執(zhí)行完成之前需要一個最小的跟蹤時間。ADC0MUX電阻,ADC0取樣電容,所有外部電阻源決定這個跟蹤時間,轉(zhuǎn)換要求相應(yīng)的精確度。圖5.11.溫度傳感器傳輸函數(shù)ADC0CF:ADC0配置寄存器R/WR/WR/WR/WR/WR/WR/WR/WAD0SC4AD0SC3AD0SC2AD0SC1AD0SC0AMP0GN2AMP0GN1AMP0GN0位7位6位5位4位3位2位1位0復(fù)位值:00000000;SFR地址:0xBC位7-3:AD0SC4-0:ADC0SAR轉(zhuǎn)換時鐘周期位SAR轉(zhuǎn)換時鐘來源于系統(tǒng)時鐘,具體見下面的等式。ADC0SC提供5位控制(AD0SC4-0)CLKSARD提供ADC0SAR時鐘源,見下表:AD0SC=SYSCLK/CLKSAR0-1位2-0:AMP0GN2-0:ADC0內(nèi)部放大器增益(PGA)000:增益=1001:增益=2010:增益=4011:增益=810x:增益=1611x:增益=0.5ADC0CN:ADC0控制寄存器R/WR/WR/WR/WR/WR/WR/WR/WAD0ENAD0TMAD0INTAD0SC1AD0BUSYADOCM0AD0WINTAD0LJST位7位6位5位4位3位2位1位0復(fù)位值:00000000;SFR地址:0xE8位7:AD0EN:ADC0允許位。

0:ADC0禁止。ADC處于低功耗關(guān)斷狀態(tài)。1:ADC0允許。ADC0處于使能狀態(tài)并準(zhǔn)備轉(zhuǎn)換數(shù)據(jù)。位6:ADCTM:ADC0跟蹤方式位。0:當(dāng)ADC0被允許時,除了轉(zhuǎn)換期間外一直處于跟蹤方式。1:由ADSTM1-0定義跟蹤方式。位5:AD0INT:ADC0轉(zhuǎn)換結(jié)束中斷方式這種標(biāo)志必須要用軟件清0 0:從最后一次將該位清0后,ADC0還沒有完成一次數(shù)據(jù)轉(zhuǎn)換。1:ADC0完成一次數(shù)據(jù)轉(zhuǎn)換。位4:AD0BUSY:ADC0忙標(biāo)志位。讀0:ADC0轉(zhuǎn)換結(jié)束或當(dāng)前沒有進(jìn)行數(shù)據(jù)轉(zhuǎn)換。當(dāng)被允許時,AD0BUSY的下降沿觸發(fā)中斷。1:ADC0正在轉(zhuǎn)換。寫0:禁止。1:若AD0STM1-0=00Vb,則啟動ADC0轉(zhuǎn)換。位3-2:AD0CM1-0:ADC0轉(zhuǎn)換啟動方式位。AD0TM=0:00:向AD0BUSY寫1啟動ADC0轉(zhuǎn)換01:定時器3溢出啟動ADC0轉(zhuǎn)換。10:CNVSTR上升沿啟動ADC0轉(zhuǎn)換。11:定時器2溢出啟動ADC0轉(zhuǎn)換。AD0TM=1:00:向AD0BUSY寫1啟動跟蹤持續(xù)3個SAR時鐘。01:定時器3溢出啟動跟蹤持續(xù)3個SAR時鐘。10:只有當(dāng)CNVSTR輸入為邏輯低電平時啟動ADC0跟蹤。11:定時器2溢出啟動跟蹤持續(xù)3個SAR時鐘。位1:AD0WINT:ADC0窗口比較中斷標(biāo)志。(必須被軟件清0)0:未發(fā)生ADC0比較匹配自從上一次標(biāo)志被清除。1:發(fā)生ADC0比較匹配。位0:AD0LJST:ADC0數(shù)據(jù)左對齊控制位0:ADC0H與ADC0L寄存器數(shù)據(jù)右對齊。1:ADC0H與ADC0L寄存器數(shù)據(jù)左對齊。數(shù)據(jù)字MSB寄存器ADC0HR/WR/WR/WR/WR/WR/WR/WR/W位7位6位5位4位3位2位1位0復(fù)位值:00000000;SFR地址:0XBF位7-0:ADC0數(shù)據(jù)位。當(dāng)AD0LJST=0,位7-4為位3的符號擴(kuò)展位,位3-0是12位ADC0數(shù)據(jù)字的高4位當(dāng)AD0LJST=1,12位ADC0數(shù)據(jù)字的高8位。ADCOL:R/WR/WR/WR/WR/WR/WR/WR/W位7位6位5位4位3位2位1位0復(fù)位值:00000000;SFR地址:0xBE位7-0:ADC0數(shù)據(jù)位。當(dāng)AD0LJST=1,位3-0總是0,位7-4是12位ADC0數(shù)據(jù)字的低4位當(dāng)AD0LJST=0,12位ADC0數(shù)據(jù)字的低8位12位ADC0結(jié)果數(shù)據(jù)字在ADC0數(shù)據(jù)字寄存器中存放方式如下:如果AD0LJST=0:格式為ADC0H[3-0]-ADC0L[7-0](如果是差分輸入ADC0H[7-4]為ADC0H.3的符號擴(kuò)展位,否則=0000b)。如果AD0LJST=1:格式為ADC0H[7-0]-ADC0L[7-4],(ADC0L[3-0]=0000b)例1AIN0為單端輸入方式(AMX0CF=0x00,AMX0SL=0x00)如表所示例2AIN0-AIN1為差分輸入對方式(AMX0CF=0X01,AMX0SL=0X00),如表所示ADC0可編程窗口檢測器可有很多應(yīng)用。它不停地將ADC0輸出與用戶編程的極限值進(jìn)行比較,并在檢測到越限條件時通知系統(tǒng)控制器。這在一個中斷驅(qū)動的系統(tǒng)中尤其有效,既可以節(jié)省代碼空間和CPU帶寬,又能提供快速響應(yīng)時間。窗口檢測器中斷標(biāo)志(ADC0CN)中的AD0WINT位也可以用于查詢方式。參考字的高字節(jié)和低字節(jié)裝入到ADC0下限(大于)和ADC0上限(小于)寄存器(ADCOGTH,ADC0GTL,ADC0LTH,ADC0LTL)。比較示例在PAGE49。注意:窗口檢測器標(biāo)志既可以在測量數(shù)據(jù)位于用戶編程的極限值以內(nèi)時有效,也可以在測量數(shù)據(jù)位于用戶編程的極限值以外時有效,這取決于ADC0GTx和ADC0LTx的編程值。圖5.21.12位ADC中斷實(shí)例:數(shù)據(jù)右對齊給定給定AMX0SL=0x00,AMX0CF=0x00AMX0SL=0x00,AMX0CF=0x00AD0LJST=“0”,AD0LJST=“0ADC0LTH:ADC0LTL=0x0200,ADC0LTH:ADC0LTL=0x0100,ADC0GTH:ADC0GTL=0x0100。ADC0GTH:ADC0GTL=0x0200。如果0x0100<ADC0結(jié)果數(shù)據(jù)字<0x0200,則如果ADC0結(jié)果數(shù)據(jù)字<0x0100或>0x0200,則ADC0轉(zhuǎn)換結(jié)束會觸發(fā)ADC0窗口比較中斷ADC0轉(zhuǎn)換結(jié)束會觸發(fā)ADC0窗口比較中斷(AD0WINT=1)(AD0WINT=1)圖5.22.12位ADC中斷實(shí)例:數(shù)據(jù)右對齊給定給定AMX0SL=0x00,AMX0CF=0x01,AMX0SL=0x00,AMX0CF=0x01,AD0LJST=“0”,AD0LJST=“0ADC0LTH:ADC0LTL=0x0100,ADC0LTH:ADC0LTL=0xFFFF,ADC0GTH:ADC0GTL=0xFFFF。ADC0GTH:ADC0GTL=0x0100。如果ADC0結(jié)果數(shù)據(jù)字<0x0100或>0xFFFF,則如果0x0100<ADC0結(jié)果數(shù)據(jù)字<0xFFFF,則ADC0轉(zhuǎn)換結(jié)束會觸發(fā)ADC0窗口比較中斷ADC0轉(zhuǎn)換結(jié)束會觸發(fā)ADC0窗口比較中斷(AD0WINT=1)(AD0WINT=1)圖5.23.12位ADC中斷實(shí)例:數(shù)據(jù)左對齊給定給定AMX0SL=0x00,AMX0CF=0x00,AMX0SL=0x00,AMX0CF=0x00,AD0LJST=“1”,AD0LJST=“1ADC0LTH:ADC0LTL=0x2000,ADC0LTH:ADC0LTL=0x1000,ADC0GTH:ADC0GTL=0x1000。ADC0GTH:ADC0GTL=0x2000。如果0x0100<ADC0結(jié)果數(shù)據(jù)字<0x0200,則如果ADC0結(jié)果數(shù)據(jù)字<0x0100或>0x0200,則ADC0轉(zhuǎn)換結(jié)束會觸發(fā)ADC0窗口比較中斷ADC0轉(zhuǎn)換結(jié)束會觸發(fā)ADC0窗口比較中斷(AD0WINT=1)(AD0WINT=1)圖5.24.12位ADC中斷實(shí)例:數(shù)據(jù)左對齊給定給定AMX0SL=0x00,AMX0CF=0x01,AMX0SL=0x00,AMX0CF=0x01,AD0LJST=“1”,AD0LJST=“1ADC0LTH:ADC0LTL=0x1000,ADC0LTH:ADC0LTL=0xFFF0,ADC0GTH:ADC0GTL=0xFFF0。ADC0GTH:ADC0GTL=0x1000。如果0x1000<ADC0結(jié)果數(shù)據(jù)字<0xFFF0,則如果ADC0結(jié)果數(shù)據(jù)字<0x0100或>0xFFF0,則ADC0轉(zhuǎn)換結(jié)束會觸發(fā)ADC0窗口比較中斷ADC0轉(zhuǎn)換結(jié)束會觸發(fā)ADC0窗口比較中斷(AD0WINT=1)(AD0WINT=1表5.1.12位ADC0電氣特性(C8051F040/1/2//3)表5.2.高電壓差分放大器電器特征6.10位模/數(shù)轉(zhuǎn)換器(ADC0,C8051F042/3only)C8051F042/3的ADC0子系統(tǒng)包括一個9通道的可配置模擬多路開關(guān)(AMUX0),一個可編程增益放大器(PGA0),一個100ksps10位分辯率的逐次逼近型ADC(ADC中集成了跟蹤保持電路和可編程窗口檢測器,如圖6.1.)。AMUX0,PGA0,數(shù)據(jù)轉(zhuǎn)換方式及窗口檢測器都可以用軟件通過特殊功能寄存器來配置(如圖6.1.)。ADC0電壓基準(zhǔn)控制詳見PAGE99的F040/2單片機(jī)或者PAGE101的F041/3單片機(jī)。只有當(dāng)ADC控制寄存器ADC0CN中的AD0EN位置1時,ADC子系統(tǒng),ADC跟蹤保持器及PGA才允許工作。當(dāng)AD0EN位為0時,ADC0子系統(tǒng)處于低功耗關(guān)斷狀態(tài)。6.1.模擬多路開關(guān)和PGAAMUX可以通過4個外部模擬輸入引腳(.AIN0.0-0.3),端口3(作為模擬輸入引腳隨意設(shè)置),高電壓差分放大器,或者片內(nèi)溫度傳感器(溫度傳輸函數(shù)如圖6.11)將模擬信號輸入進(jìn)ADC中??蓪MUX輸入對編程為工作在差分或單端方式。并允許用戶對每個通道選擇最佳的測量技術(shù),甚至可以在測量過程中改變方式。在系統(tǒng)復(fù)位后,AMUX的默認(rèn)方式為單端輸入。有3個與AMUX相關(guān)的寄存器:通道選擇寄存器(如圖6.4),配置寄存器(如圖6.12),端口選擇寄存器(如圖6.6)。在表6.4中給出了每種配置下各通道的功能。PGA對AMUX輸出信號的放大倍數(shù)由ADC配置寄存器ADC0CF中的AMPGN2-0確定。PGA增益可用軟件編程為0.5,2,4,8或16。復(fù)位時的默認(rèn)增益為1。?6.1.1. 模擬輸入結(jié)構(gòu)C8051F04x系列彈片機(jī)的可選擇的高電壓差分放大器(HVDA)有其重要作用。它能描述模擬輸入配置。?模擬開關(guān)通過外部模擬輸入引腳(I/O的3端口,見page185的結(jié)構(gòu)圖)發(fā)送信號,有一個高電壓差分放大器和一個片內(nèi)溫度傳感器。(見圖6.2.)模擬信號在差分或單端測量時可以從4個外部輸入引腳(AIN0.0-0.3)輸入。另外I/O3端口引腳被設(shè)置為模擬信號輸入。此設(shè)置由端口管腳配置寄存器(AMX0PRT)來選擇。3端口任何引腳都可以被選擇同時作為AMUX的輸入。單數(shù)和雙數(shù)端口3引腳都能發(fā)送各自獨(dú)立的AMUX輸入。(注意:單數(shù)和雙數(shù)端口引腳被作為“WIRED-OR”同時選擇時將會導(dǎo)致??)這樣,使用端口3時就可以進(jìn)行差分測量(電壓差在單數(shù)和雙數(shù)端口3引腳之間選擇)。見圖6.2在差分測量中,高電壓差分放大器(HVDA)可以拒絕高于60V的共模電壓,此電壓高于ADC的參考電壓(0到VREF伏)。通過使用AMUX,HVDA輸出被選擇作為ADC的輸入。(見60頁的介紹。)AMX0CF:AMUX0配置寄存器RRRRR/WR/WR/WR/WPORT3ICHVDA2CAIN23ICAIN10IC位7位6位5位4位3位2位1位0復(fù)位值:00000000;SFR地址:0XBA位7-4:未使用。讀=0000B,寫=忽略。位3:PORT3IC:3端口奇偶輸入對配置位0:3端口奇偶引腳為獨(dú)立的單端輸入1:3端口奇偶引腳各自為+,-差分輸入位2:HVDA2C:HVDA2的補(bǔ)碼位0:HVDA輸出1:位1:AIN23IC:AIN0.2和AIN0.3輸入對配置位0:AIN0.2和AIN0.3為獨(dú)立的單端輸入1:AIN0.2,AIN0.3為+,-差分輸入位0:AIN10IC:AIN0.0和AIN0.1輸入對配置位0:AIN0.0和AIN0.1為獨(dú)立的單端輸入1:AIN0.0,AIN0.1為+,-差分輸入注意:對于被配置成差分輸入的通道,ADC0數(shù)據(jù)字格式為2的補(bǔ)碼AMX0SL:AMUX0通道選擇放大器RRRRR/WR/WR/WR/WAMX0AD3AMX0AD2AMX0AD1AMX0AD0位7位6位5位4位3位2位1位0復(fù)位值:00000000;SFR地址:0XBB位7-4:未使用。讀=0000B,寫=忽略。位3-0:AMX0AD3-0:AMX0地址位0000-1111b:根據(jù)下表6.5選擇ADC輸入表6.5AMUX選擇圖表AMX0PRT:3端口選擇寄存器RRRRR/WR/WR/WR/WPAIN7ENPAIN6ENPAIN5ENPAIN4ENPAIN3ENPAIN2ENPAIN1ENPAIN0EN位7位6位5位4位3位2位1位0復(fù)位值:00000000;SFR地址:0XBD 位7:PAIN7EN:引腳7作為模擬輸入位0:P3.7當(dāng)作為模擬輸入到AMUX時不被選擇1:P3.7當(dāng)作為模擬輸入到AMUX時被選擇位6:PAIN7EN:引腳6作為模擬輸入位0:P3.6當(dāng)作為模擬輸入到AMUX時不被選擇1:P3.6當(dāng)作為模擬輸入到AMUX時被選擇位5:PAIN7EN:引腳5作為模擬輸入位0:P3.5當(dāng)作為模擬輸入到AMUX時不被選擇1:P3.5當(dāng)作為模擬輸入到AMUX時被選擇位4:PAIN7EN:引腳4作為模擬輸入位0:P3.4當(dāng)作為模擬輸入到AMUX時不被選擇1:P3.4當(dāng)作為模擬輸入到AMUX時被選擇位3:PAIN7EN:引腳7作為模擬輸入位0:P3.3當(dāng)作為模擬輸入到AMUX時不被選擇1:P3.3當(dāng)作為模擬輸入到AMUX時被選擇位2:PAIN7EN:引腳2作為模擬輸入位0:P3.2當(dāng)作為模擬輸入到AMUX時不被選擇1:P3.2當(dāng)作為模擬輸入到AMUX時被選擇位1:PAIN7EN:引腳1作為模擬輸入位0:P3.1當(dāng)作為模擬輸入到AMUX時不被選擇1:P3.1當(dāng)作為模擬輸入到AMUX時被選擇位0:PAIN7EN:引腳0作為模擬輸入位0:P3.0當(dāng)作為模擬輸入到AMUX時不被選擇1:P3.0當(dāng)作為模擬輸入到AMUX時被選擇注意:3端口任何引腳都可以被選擇同時作為AMUX的輸入。。。。。?6.2.高電壓差分放大器高電壓差分放大器(HVDA)??HVA0CN:高電壓差分放大器控制寄存器R/WRRRR/WR/WR/WR/WHVDAENHVGAIN3HVGAIN2HVGAIN1HVGAIN0位7位6位5位4位3位2位1位0復(fù)位值:00000000;SFR地址:0XD6位7:HVDAEN:高電壓差分放大器允許位0:HVDA禁止1:HVDA允許位6-3:保留位位2-0:HVGAIN3-HVGAIN0:HVDA增益控制位。HVGAIN3:HVGAIN0HVGAGain00000.0500010.100100.12500110.201000.2501010.401100.501110.810001.010011.610102.010113.211004.011016.211107.61111146.3.ADC的工作方式ADC0的最高轉(zhuǎn)換速度為100ksps。轉(zhuǎn)換時鐘來源于系統(tǒng)時鐘,通過ADC0CF寄存器的ADC0SC位來控制。6.3.1.轉(zhuǎn)換啟動轉(zhuǎn)換啟動有4種方式,由ADC0CN的ADC0啟動轉(zhuǎn)換方式位AD0CM1H和AD0CM0DE的狀態(tài)決定的轉(zhuǎn)換觸發(fā)源有:1.寫1到ADC0CN的AD0BUSY位;2.定時器3溢出,即定時的連續(xù)轉(zhuǎn)換;3.外部ADC轉(zhuǎn)換啟動信號的上升沿CNVSTR;4.定時器2溢出,即定時的連續(xù)轉(zhuǎn)換。AD0BUSY位在轉(zhuǎn)換期間被置1,轉(zhuǎn)換結(jié)束后清除。AD0BUSY位的下降沿觸發(fā)一個中斷。當(dāng)被允許時,置位ADC0CN中的中斷標(biāo)志。轉(zhuǎn)換結(jié)果保存在ADC數(shù)據(jù)字的MSB和LSB寄存器ADC0H和ADC0L中。轉(zhuǎn)換數(shù)據(jù)在寄存器對ADC0H:ADC0L中的存儲方式可以是左對齊或右對齊,由ADC0CN寄存器中ADLJST位的編程狀態(tài)決定。當(dāng)向ADBUS寫1開始轉(zhuǎn)換啟動時,ADCOINT位將被查詢并決定轉(zhuǎn)換什么時候結(jié)束(ADC0中斷也可以被使用)。推薦查詢程序如下:步驟1:向AD0INT寫0;步驟2:向AD0BUSY寫1;步驟3:AD0INT置1;步驟4:處理ADC0時間設(shè)置6.3.2. 跟蹤模式ADC0CN中的ADCTM位控制ADC0的跟蹤/保持方式。在缺省狀態(tài)下,ADC0輸入被連續(xù)跟蹤,切換期間除外。將AD0TM位設(shè)置位1,ADC0工作在低功耗方式下。在這種方式下,??用于需要使用外部硬件觸發(fā)轉(zhuǎn)換的場合。在方式3,當(dāng)CNVSTR輸入信號為高電平時,跟蹤/保持電路處于低功耗狀態(tài);當(dāng)整個芯片處于低功耗停機(jī)或休眠方式時,可以禁止跟蹤 圖6.9.10位跟蹤和轉(zhuǎn)換時序舉例6.3.3.時間設(shè)置當(dāng)ADCO輸入配置被改變(i.e.,一種不同于MUX和PGE的選擇)圖6.11.溫度傳感器傳輸函數(shù)圖6.12ADC0CF:ADC0配置寄存器R/WR/WR/WR/WR/WR/WR/WR/WAD0SC4AD0SC3AD0SC2AD0SC1AD0SC0AMP0GN2AMP0GN1AMP0GN0位7位6位5位4位3位2位1位0復(fù)位值:00000000;SFR地址:0XBC位7-3:AD0SC4-0:ADC0SAR轉(zhuǎn)換時鐘周期位SAR轉(zhuǎn)換時鐘來源于系統(tǒng)時鐘,具體見下面的等式。ADC0SC提供5位控制(

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論