AT89C系列單片機(jī)簡介課件_第1頁
AT89C系列單片機(jī)簡介課件_第2頁
AT89C系列單片機(jī)簡介課件_第3頁
AT89C系列單片機(jī)簡介課件_第4頁
AT89C系列單片機(jī)簡介課件_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

AT89C系列單片機(jī)簡介AT89C1051單片機(jī)簡介

AT89C2051單片機(jī)簡介

AT89C51單片機(jī)簡介

89系列單片機(jī)的優(yōu)點(diǎn)89系列單片機(jī)對于一般用戶來說,存在下列很明顯的優(yōu)點(diǎn):1)內(nèi)部含F(xiàn)lash存儲器因此在系統(tǒng)的開發(fā)過程中可以十分容易進(jìn)行程序的修改,這就大大縮短了系統(tǒng)的開發(fā)周期。同時,在系統(tǒng)工作過程中,能有效地保存一些數(shù)據(jù)信息,即使外界電源損壞也不影響到信息的保存。2)和8051插座兼容89系列單片機(jī)的引腳是和8051一樣的,所以,當(dāng)用89系列單片機(jī)取代8051時,可以直接進(jìn)行代換。這時,不管采用40引腳亦或44引腳的產(chǎn)品,只要用相同引腳的89系列單片機(jī)取代8051的單片機(jī)即可。3)靜態(tài)時鐘方式89系列單片機(jī)采用靜態(tài)時鐘方式,所以可以節(jié)省電能,這對于降低便攜式產(chǎn)品的功耗十分有用。4)錯誤編程亦無廢品產(chǎn)生一股的OTP(one-time-programmable)產(chǎn)品,一旦錯誤編程就成了廢品。而89系列單片機(jī)內(nèi)部采用了Flash存儲器,所以,錯誤編程之后仍可以重新編程,直到正確為止,故不存在廢品。5)可進(jìn)行反復(fù)系統(tǒng)試驗用89系列單片機(jī)設(shè)計的系統(tǒng),可以反復(fù)進(jìn)行系統(tǒng)試驗,每次試驗可以編人不同的程序。這樣可以保證用戶的系統(tǒng)設(shè)計達(dá)到最優(yōu)。而且隨用戶的需要和發(fā)展,還可以進(jìn)行修改,使系統(tǒng)不斷能追隨用戶的最新要求。

89系列單片機(jī)的內(nèi)部結(jié)構(gòu)

89系列單片機(jī)的內(nèi)部結(jié)構(gòu)和8051相近。內(nèi)部含有如下部件:·8031CPU·振蕩電路·總線控制部件·中斷控制部件·片內(nèi)Flash存儲器·片內(nèi)RAM·并行I/O接口·定時器·串行I/O接口

89系列單片機(jī)的型號編碼

89系列單片機(jī)的型號編碼由三個前綴、型號、后綴。它們的格式如下:AT89C××××××××其中:AT是前綴;89C××××是型號;××××是后綴。1.前綴前綴由字母“AT”組成,它表示該器件是ATMEL公司的產(chǎn)品。2.型號型號由“89CX×××”或“89LV××××”或“89S××××。等表示。“89C××××”中,9是表示內(nèi)部含F(xiàn)lash存儲器C表示是CMOS產(chǎn)品。“89LV××××”中,LV表示低壓產(chǎn)品?!?9S××××”中,S表示含可下載Flash存儲器。在這個部分的××××表示器件型號數(shù),例如:51、1051、8252等。3.后綴后緩由“××××”這4個參數(shù)組成。每個參數(shù)的表示和意義不同,在型號和后綴部分用“-”隔開。后綴中的第一個參數(shù)×用于表示速度,它的意義如下:×=12,表示速度為12MHz×=16,表示速度為16MHz×=20,表示速度為20MHz×=24,表示速度為24MHz后綴中的第二個參數(shù)×用于表示封裝,它的意義如下:×=D,陶瓷雙列直插×=J,塑料J引線芯片載體×=L,無引線芯片載體×=F,表示塑料雙列直插DIP封裝×=S,表示SOIC封裝×=Q,表示FQFP封裝×=A,表示TQFP封裝×=W,表示裸芯片后綴中第三個參數(shù)×用于表示溫度范圍,它的意義如下:×=C,表示商業(yè)產(chǎn)品,溫度范圍為0~+70℃×=I,表示工業(yè)產(chǎn)品,溫度范圍為-40~+85℃×=A,表示汽車用產(chǎn)品,溫度范圍為-40~+125℃×=M,表示軍用產(chǎn)品,溫度范圍為-55~+150℃后綴中的第四個參數(shù)×用于說明產(chǎn)品的處理情況。它的意義如下:×為空,則表示處理工藝是標(biāo)準(zhǔn)工藝×=/883,則表示處理工藝采用MIL—STD—883標(biāo)準(zhǔn)AT89C1051的結(jié)構(gòu)框圖

RAM地址寄存器RAMFlashRAMB寄存器ACC堆棧指針程序地址寄存器TMP1TMP2ALUPSW緩沖器PC自加PCDPTR中斷、串口、定時器P1鎖存器P3鎖存器定時和控制指令寄存器OSCP1口驅(qū)動電路P3口驅(qū)動電路模擬比較器+-RSTP1.0~P1.7P3.0~P3.5P3.7GNDVcc圖7-1AT89C1051結(jié)構(gòu)框圖AT89C1051的引腳說明

1.Vcc電源電壓2.GND:地。3.P1口:P1口是一個8位雙向I/O口,端口引腳P1.2至P1.7提供內(nèi)部上拉電阻,P1.0和P1.1要求外部上拉電阻。P1.0和P1.1還分別作為片內(nèi)精密模擬比較器的同相輸入(AIN0)和反相輸入(AIN1)。P1口輸出緩沖器可吸收20mA電流并能直接驅(qū)動IED顯示。當(dāng)P1口引腳寫入“1”時,其可用作輸入端。當(dāng)引腳P1.2至P1.7用作輸入并被外部拉低時,它們將因內(nèi)部的上拉電阻而流出電流(IIL)。P1口還在閃速編程和程序校驗期間接收代碼數(shù)據(jù)。

4.P3口:P3口的P3.0至P3.5、P3.7是帶有內(nèi)部上拉電阻的七個雙向I/O引腳。P3.6用于固定輸入片內(nèi)比較器的輸出信號,并且它作為一通用I/O引腳而不可訪問。P3口緩沖器可吸收20mA電流。當(dāng)P3口引腳寫入“l(fā)”時,它們被內(nèi)部上拉電阻拉高并可用作輸入端。用作輸入時,被外部拉低的P3門口引腳將因上拉電阻而流出電流(IIL)。P3口還用于實(shí)現(xiàn)A189C1051的各種特殊功能,如下表7—1所列:P3口還接收一些用于閃速存儲器編程和程序校驗的控制信號。

5.RST:復(fù)位輸入。RST一旦變成高電平,所有的I/O引腳就復(fù)位到1,當(dāng)振蕩器正在行時,持續(xù)給出RST引腳兩個機(jī)器周期的高電平便可完成復(fù)位。每一個機(jī)器周期需12個振蕩器或時鐘周期。6.XTAL1:作為振蕩器反相放大器的輸入和內(nèi)部時鐘發(fā)生器的輸入。7.XTAL2:作為振蕩器反相放大器的輸出。

振蕩器和專有寄存器功能

振蕩器

振蕩器和專有寄存器功能專用功能寄存器

指令約束條件AT89C1051是ATMEL微控制器家族中廉價的成員。它含有1K字節(jié)的閃速程序存儲器,完全和MCS-51結(jié)構(gòu)兼容并可用MCS-51指令集進(jìn)行編程,但是在使用有關(guān)指令進(jìn)行編程時,程序員必須記住一些注意事項。和跳轉(zhuǎn)或分支相關(guān)的全部指令必須進(jìn)行空間約束。這樣,目的地址就會落在AT89C1051的1K字節(jié)物理程序存儲器空間內(nèi)。這一點(diǎn)編程人員必須注意。例如,對于1K字節(jié)存儲器的AT89C1051來說,LJMP3FEH是一有效的指令而LJMP410H則是無效的。

1)分支指令對于LCALL、LJMP、ACALL、AJMP、SJMP、JMP@A+DPTR等指令,只要編程人員記住這些分支指令的目的地址落在程序存儲器大小的物理范圍內(nèi)(89C1051的00H至3FFH單元),這些無條件分支指令就會正確執(zhí)行。違背物理空間的限制會引起不可知的程序出錯。CJNE[...]、DJNZ[...]、JB、JNB、JC、JNC、JBC、JZ、JNZ這些條件分支指令適用以上相同的規(guī)則。同樣,違背存儲器范圍限制也會引起不定的程序出錯。至于包含中斷的應(yīng)用,8051硬件結(jié)構(gòu)中已保留標(biāo)準(zhǔn)中斷服務(wù)子程序的地址。2)和MOVX指令相關(guān)的數(shù)據(jù)存儲器AT89C1051包含64字節(jié)內(nèi)部數(shù)據(jù)存儲器。這樣,AT89C1051中的堆棧深度局限于內(nèi)部RAM的64字節(jié)范圍內(nèi)。它既不支持外部數(shù)據(jù)存儲器的訪問,也不支持外部程序存儲器的執(zhí)行。因此,程序中不應(yīng)包括MOVX[...]指令。一般的8051匯編程序即使在違背上述限制寫指令時仍對指令進(jìn)行匯編。用戶應(yīng)了解正在使用的微控制器89C1051的物理功能和受限范圍,并相應(yīng)地調(diào)整所用指令的尋址范圍,以適合于89C1051。

程序存儲器加密位可對芯片上的兩個加密位不進(jìn)行編程(U)或進(jìn)行編程(P)來獲得表7—3所列的功能:要注意:加密位只能通過片擦除操作進(jìn)行擦除CPU工作方式

1)空閑方式在空閑方式下,CPU保持睡眠狀態(tài)而所有片內(nèi)的外設(shè)保持激活狀態(tài)。這種方式由軟件產(chǎn)生。片內(nèi)RAM和所有專用功能寄存器的內(nèi)容在此方式期間保持不變??臻e方式可由任何允許的中斷請求或硬件復(fù)位中止。P1.0和P1.1在不使用外部上拉電阻的情形下應(yīng)設(shè)置為“0”,或者在使用外部上拉電阻的情形下設(shè)置為“1”。應(yīng)注意:用硬件復(fù)位終止空閑方式時,AT89C1051通常從程序停止一直到內(nèi)部復(fù)位算法獲得控制之前的兩個機(jī)器周期的地方恢復(fù)程序的執(zhí)行。在這種情況下片內(nèi)硬件禁止對內(nèi)部RAM的訪問但允許對端口引腳的訪問。要消除硬件復(fù)位終止空載方式時對端口引腳意外寫入的可能性,則進(jìn)入空閑方式指令的下一條指令不應(yīng)是寫瑞口引腳或?qū)懲獠看鎯ζ髦噶睢?)掉電方式在掉電方式下,振蕩器停止工作。進(jìn)入掉電方式的指令是最后一條被執(zhí)行的指令。片內(nèi)RAM和專用功能寄存器的內(nèi)容在終止掉電方式前保持不變。退出掉電方式的唯一方法是硬件復(fù)位。復(fù)位重新定義全部專用功能寄存器但不改變片內(nèi)RAM。在Vcc恢復(fù)到正常工作電平前,復(fù)位應(yīng)不起作用,且必須保持一段時間以使振蕩器再啟動并穩(wěn)定。P1.0和P1.1在不使用外部上拉電阻的情形下應(yīng)設(shè)置為“0”,或者在使用外部上拉電阻的情形下應(yīng)設(shè)置為“1”。

AT89C2051的結(jié)構(gòu)框圖

RAM地址寄存器RAMFlashRAMB寄存器ACC堆棧指針程序地址寄存器TMP1TMP2ALUPSW緩沖器PC自加PCDPTR中斷、串口、定時器P1鎖存器P3鎖存器定時和控制指令寄存器OSCP1口驅(qū)動電路P3口驅(qū)動電路模擬比較器+-RSTP1.0~P1.7P3.0~P3.5P3.7GNDVcc圖7-5AT89C2051結(jié)構(gòu)框圖AT89C2051的引腳說明

1.Vcc電源電壓2.GND:地。3.P1口:P1口N是一個8位雙向I/O口,口引腳P1.2至P1.7提供內(nèi)部上拉電阻,P1.0和P1.1要求外部上拉電阻。P1.0和P1.1還分別作為片內(nèi)精密模擬比較器的同相輸入和反相輸入。P1口輸出緩沖器可吸收20mA電流并能直接驅(qū)動IED顯示。當(dāng)P1口引腳寫入“1”時,其可用作輸入端。當(dāng)引腳P1.2至P1.7用作輸入并被外部拉低時,它們將因內(nèi)部的上拉電阻而流出電流(IIL)。P1口還在閃速編程和程序校驗期間接收代碼數(shù)據(jù)。

4.P3口:P3口的P3.0至P3.5、P3.7是帶有內(nèi)部上拉電阻的七個雙向I/O引腳。P3.6用于固定輸入片內(nèi)比較器的輸出信號,并且它作為一通用I/O引腳而不可訪問。P3口緩沖器可吸收20mA電流。當(dāng)P3口引腳寫入“l(fā),,時,它們被內(nèi)部上拉電阻拉高并可用作輸入端。用作輸入時,被外部拉低的P3門口引腳將因上拉電阻而流出電流(IIL)。P3口還用于實(shí)現(xiàn)AT89C2051的各種特殊功能,如下表7—4所列:P3口還接收一些用于閃速存儲器編程和程序校驗的控制信號。

5.RST:復(fù)位輸入。RST一旦變成高電平,所有的I/O引腳就復(fù)位到1,當(dāng)振蕩器正在行時,持續(xù)給出RST引腳兩個機(jī)器周期的高電平便可完成復(fù)位。每一個機(jī)器周期需12個振蕩器或時鐘周期。6.XTAL1:作為振蕩器反相放大器的輸入和內(nèi)部時鐘發(fā)生器的輸入。7.XTAL2:作為振蕩器反相放大器的輸出。

振蕩器

專用功能寄存器

指令約束條件

AT89C2051是ATMEL微控制器家族中廉價的成員。它含有2K字節(jié)的閃速程序存儲器,完全和MCS-51結(jié)構(gòu)兼容并可用MCS-51指令集進(jìn)行編程,但是在使用有關(guān)指令進(jìn)行編程時,程序員必須記住一些注意事項。和跳轉(zhuǎn)或分支相關(guān)的全部指令必須進(jìn)行空間約束。這樣,目的地址就會落在AT89C2051的2K字節(jié)物理程序存儲器空間內(nèi)。這一點(diǎn)編程人員必須注意。例如,對于2K字節(jié)存儲器的AT89C2051來說,LJMP7E0H是一有效的指令而LJMP900H則是無效的。

1)分支指令對于LCALL、LJMP、ACALL、AJMP、SJMP、JMP@A+DPTR等指令,只要編程人員記住這些分支指令的目的地址落在程序存儲器大小的物理范圍內(nèi)(89C2051的00H至7FFH單元),這些無條件分支指令就會正確執(zhí)行。違背物理空間的限制會引起不可知的程序出錯。CJNE[...]、DJNZ[...]、JB、JNB、JC、JNC、JBC、JZ、JNZ這些條件分支指令適用以上相同的規(guī)則。同樣,違背存儲器范圍限制也會引起不定的程序出錯。至于包含中斷的應(yīng)用,8051硬件結(jié)構(gòu)中已保留標(biāo)準(zhǔn)中斷服務(wù)子程序的地址。2)和MOVX指令相關(guān)的數(shù)據(jù)存儲器AT89C2051包含64字節(jié)內(nèi)部數(shù)據(jù)存儲器。這樣,AT89C2051中的堆棧深度局限于內(nèi)部RAM的64字節(jié)范圍內(nèi)。它既不支持外部數(shù)據(jù)存儲器的訪問,也不支持外部程序存儲器的執(zhí)行。因此,程序中不應(yīng)包括MOVX[...]指令。一般的8051匯編程序即使在違背上述限制寫指令時仍對指令進(jìn)行匯編。用戶應(yīng)了解正在使用的微控制器89C2051的物理功能和受限范圍,并相應(yīng)地調(diào)整所用指令的尋址范圍,以適合于89C2051。

CPU工作方式

1)空閑方式在空閑方式下,CPU保持睡眠狀態(tài)而所有片內(nèi)的外設(shè)保持激活狀態(tài)。這種方式由軟件產(chǎn)生。片內(nèi)RAM和所有專用功能寄存器的內(nèi)容在此方式期間保持不變??臻e方式可由任何允許的中斷請求或硬件復(fù)位中止。P1.0和P1.1在不使用外部上拉電阻的情形下應(yīng)設(shè)置為“0”,或者在使用外部上拉電阻的情形下設(shè)置為“1”。應(yīng)注意:用硬件復(fù)位終止空閑方式時,AT89C1051通常從程序停止一直到內(nèi)部復(fù)位算法獲得控制之前的兩個機(jī)器周期的地方恢復(fù)程序的執(zhí)行。在這種情況下片內(nèi)硬件禁止對內(nèi)部RAM的訪問但允許對端口引腳的訪問。要消除硬件復(fù)位終止空載方式時對端口引腳意外寫入的可能性,則進(jìn)入空閑方式指令的下一條指令不應(yīng)是寫瑞口引腳或?qū)懲獠看鎯ζ髦噶睢?)掉電方式在掉電方式下,振蕩器停止工作。進(jìn)入掉電方式的指令是最后一條被執(zhí)行的指令。片內(nèi)RAM和專用功能寄存器的內(nèi)容在終止掉電方式前保持不變。退出掉電方式的唯一方法是硬件復(fù)位。復(fù)位重新定義全部專用功能寄存器但不改變片內(nèi)RAM。在Vcc恢復(fù)到正常工作電平前,復(fù)位應(yīng)不起作用,且必須保持一段時間以使振蕩器再啟動并穩(wěn)定。P1.0和P1.1在不使用外部上拉電阻的情形下應(yīng)設(shè)置為“0”,或者在使用外部上拉電阻的情形下應(yīng)設(shè)置為“1”。

AT89C51的結(jié)構(gòu)框圖

RAM地址寄存器RAMFlashRAMB寄存器ACC堆棧指針程序地址寄存器TMP1TMP2ALUPSW緩沖器PC自加PCDPTR中斷、串口、定時器P1鎖存器P3鎖存器定時和控制指令寄存器OSCP1口驅(qū)動電路P3口驅(qū)動電路RSTP1.0~P1.7P3.0~P3.7GNDVcc圖7-9AT89C51結(jié)構(gòu)框圖P0鎖存器P2鎖存器P0口驅(qū)動電路P2口驅(qū)動電路P0.0~P0.7P2.0~P2.7AT89C51的引腳功能1)主電源引腳(1)Vcc電源端(2)GND接地端2)外接晶體引腳XTAL1和XTAL2(1)XTALl接外部晶體的一個引腳。在單片機(jī)內(nèi)部,它是構(gòu)成片內(nèi)振蕩器的反相放大器的輸入端。當(dāng)采用外部振蕩器時,該引腳接收振蕩器的信號,即把此信號直接接到內(nèi)部時鐘發(fā)生器的輸入端。(2)XTAL2接外部晶體的另一個引腳。在單片機(jī)內(nèi)部,它是上述振蕩器的反相放大器的輸出端。采用外部振蕩器時,此引腳應(yīng)懸浮不連接。3)控制或與其它電源復(fù)用引腳RST、ALE/PROG、PSEN和EA/Vppp(1)RST復(fù)位輸入端。當(dāng)振蕩器運(yùn)行時,在該引腳上出現(xiàn)兩個機(jī)器周期的高電平將使單片機(jī)復(fù)位。(2)ALE/PROG當(dāng)訪問外部存儲器時,ALE(地址鎖存允許)的輸出用于鎖存地址的低位字節(jié)。即使不訪問外部存儲器,AIE端仍以不變的頻率(此頻率為振蕩器頻率的1/6)周期性地出現(xiàn)正脈沖信號。因此,它可用作對外輸出的時鐘,或用于定時目的。然而要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。

在對Flash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如果需要的話,通過對專用寄存器(SFR)區(qū)中8EH單元的D0位置位,可禁止A比操作。該位置位后。只有在執(zhí)行一條MOVX或MOVC指令期間,AIE才會被激活。另外,該引腳會被微弱拉高,單片機(jī)執(zhí)行外部程序時.該設(shè)定禁止ALE位無效。(3)PSEN程序存貯允許(PSEN)輸出是外部程序存儲器的讀選通信號。當(dāng)AT89C51由外部程序存儲器取指令(或常數(shù))時.每個機(jī)器周期兩次有效(即輸出2個脈沖)。但在此期間內(nèi),每當(dāng)訪問外部數(shù)據(jù)存儲器時,這兩次有效的信號將不出現(xiàn)。(4)EA/Vpp外部訪問允許端。要使CPU只訪問外部程序存儲器(地址為0000H~FFFFH),則EA端必須保持低電乎(接到GND端)。然而要注意的是,如果保密位LB1被編程,復(fù)位時在內(nèi)部會鎖存EA端的狀態(tài)。當(dāng)EA端保持高電平(接vcc端)時,CPU則執(zhí)行內(nèi)部程序存儲器中的程序。在Flash存儲器編程期間,該引腳也用于施加12v的編程允許電源Vpp(如果選用12V編程)。

4)輸入/輸出引腳P0.0~P0.7、P1.0~P1.7、P2.0~P2.7和P3.0~P3.7(1)P0端口(P0.0~P0.7)P0是一個8位漏極開路型雙向I/O端口。作為輸出口用時,每位能以吸收電流的方式驅(qū)動8個TTL輸入,對端口寫1時,又可作高阻抗輸人端用。在訪問外部程序和數(shù)據(jù)存儲器時,它

溫馨提示

  • 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

提交評論