




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
單片機(jī)原理與應(yīng)用主要內(nèi)容:
典型單片機(jī)(MCS-51,AT89S51,PIC,Motorola,AVR)的性能,MCS-51內(nèi)部結(jié)構(gòu)、特點(diǎn)、工作方式、時(shí)序和最小應(yīng)用系統(tǒng)。為學(xué)生后續(xù)學(xué)習(xí)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)、利用單片機(jī)解決工程實(shí)際問題打下堅(jiān)實(shí)的基礎(chǔ)。重點(diǎn)在于基本概念、組成原理、特點(diǎn)及MCS-51的最小應(yīng)用系統(tǒng),難點(diǎn)在于時(shí)序、ISP下載技術(shù)。預(yù)備知識:元器件實(shí)物圖單片機(jī)芯片AT89C51AT89S51AT89S52AT89C2051通信芯片MAX232CPE時(shí)鐘芯片DS1302EEPROM24C02溫度傳感器18B20AD變換器0832穩(wěn)壓片78L05晶振電阻和排電阻瓷片小電容零壓力插座萬用焊接板儀器盒步進(jìn)電機(jī)液晶字符顯示屏液晶圖形點(diǎn)陣顯示屏撥動開關(guān)紅外遙控用發(fā)射接受一體管繼電器各類接插件遙控組件超聲波發(fā)射接受頭雙路遙控組件長距離遙控器3000-4000M8×8二極管點(diǎn)陣八段數(shù)碼管超聲波發(fā)射和接收一體化機(jī)能漢字顯示的顯示屏和實(shí)時(shí)時(shí)鐘板電子萬年歷學(xué)生實(shí)訓(xùn)成果展示
說明:
典型單片機(jī)有MCS-51、MSP430、EM78、PIC、Motorola、AVR等。MCS-51為主流產(chǎn)品,性能如表1.1.1。MSP430為低功耗產(chǎn)品,功能較強(qiáng),性能如表1.1.2。EM78為低功耗產(chǎn)品,價(jià)格較低,性能如表1.1.3。PIC為低電壓、低功耗、大電流LCD驅(qū)動、低價(jià)格產(chǎn)品,性能如表1.1.4。Motorola是世界上最大的單片機(jī)生產(chǎn)廠家之一,品種全、選擇余地大、新產(chǎn)品多。其特點(diǎn)是噪聲低,抗干擾能力強(qiáng),比較適合于工控領(lǐng)域及惡劣的環(huán)境。性能如表1.1.5。AVR為高速、低功耗產(chǎn)品,支持ISP、IAP,I/O口驅(qū)動能力較強(qiáng)。性能如表1.1.6。1.1典型單片機(jī)性能概覽
1.2MCS-51單片機(jī)硬件結(jié)構(gòu)及引腳
MCS-51系列單片機(jī)都是以Intel公司最早的典型產(chǎn)品8051為核心,增加了一定的功能部件后構(gòu)成的,因此,本章以8051為主介紹MCS-51系列單片機(jī)。
1.2.1MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)
MCS-51單片機(jī)的組成:
CPU(進(jìn)行運(yùn)算、控制)、RAM(數(shù)據(jù)存儲器)、ROM(程序存儲器)、I/O口(串口、并口)、內(nèi)部總線和中斷系統(tǒng)等。組成框圖如下:內(nèi)部結(jié)構(gòu)如下:
組成:運(yùn)算器、控制器。8051的CPU包含以下功能部件:
(1)8位CPU。(2)布爾代數(shù)處理器,具有位尋址能力。(3)128B內(nèi)部RAM數(shù)據(jù)存儲器,21個(gè)專用寄存器。(4)4KB內(nèi)部掩膜ROM程序存儲器。(5)2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器。(6)32個(gè)(4×8位)雙向可獨(dú)立尋址的I/O口。(7)1個(gè)全雙工UART(異步串行通信口)。(8)5個(gè)中斷源、兩級中斷優(yōu)先級的中斷控制器。(9)時(shí)鐘電路,外接晶振和電容可產(chǎn)生1.2MHz~12MHz的時(shí)鐘頻率。(10)外部程序/數(shù)據(jù)存儲器尋址空間均為64KB。(11)111條指令,大部分為單字節(jié)指令。(12)單一+5V電源供電,雙列直插40引腳DIP封裝。
1.中央處理器(CPU)(1)運(yùn)算器組成:8位算術(shù)邏輯運(yùn)算單元ALU(ArithmeticLogicUnit)、8位累加器A(Accumulator)、8位寄存器B、程序狀態(tài)字寄存器PSW(ProgramStatusWord)、8位暫存寄存器TMP1和TMP2等。功能:完成算術(shù)運(yùn)算和邏輯運(yùn)算。(2)控制器組成:程序計(jì)數(shù)器PC(ProgramCounter)、指令寄存器IR(InstructionRegister)、指令譯碼器ID(InstructionDecoder)、堆棧指針SP、數(shù)據(jù)指針DPTR、定時(shí)控制邏輯和振蕩器OSC等電路。功能:CPU根據(jù)PC中的地址將欲執(zhí)行指令的指令碼從存儲器中取出,存放在IR中,ID對IR中的指令碼進(jìn)行譯碼,定時(shí)控制邏輯在OSC配合下對ID譯碼后的信號進(jìn)行分時(shí),以產(chǎn)生執(zhí)行本條指令所需的全部信號。MCS-51系列單片機(jī)配置一覽表系列片內(nèi)存儲器(字節(jié))定時(shí)器計(jì)數(shù)器并行I/O串行I/O中斷源片內(nèi)ROM片內(nèi)RAM無有ROM有EPROMIntel51子系列803180C31805180C51(4K字節(jié))875187C51(4K字節(jié))128字節(jié)2x164x8位15Intel52子系列803280C32805280C52(8K字節(jié))875287C52(8K字節(jié))256字節(jié)3x164x8位16ATEML89C系列(常用型)1051(1K)/2051(2K)/4051(4K)(20條引腳DIP封裝)1282151589C51(4K)/89C52(8K)(40條引腳DIP封裝)128/2562/33215/62.存儲器
MCS-51的存儲器可分為程序存儲器和數(shù)據(jù)存儲器,又有片內(nèi)和片外之分。(1)程序存儲器
一般將只讀存儲器(ROM)用做程序存儲器??蓪ぶ房臻g為64KB,用于存放用戶程序、數(shù)據(jù)和表格等信息。
MCS-51單片機(jī)按程序存儲器可分為內(nèi)部無ROM型(如8031)和內(nèi)部有ROM型(如8051)兩種,連接時(shí)引腳有區(qū)別。程序存儲器結(jié)構(gòu)如右圖所示:(2)數(shù)據(jù)存儲器
一般將隨機(jī)存儲器(RAM)用做數(shù)據(jù)存儲器??蓪ぶ房臻g為64KB。MCS-51數(shù)據(jù)存儲器可分為片內(nèi)和片外兩部分。片外RAM:
最大范圍:0000H~FFFFH,64KB;用指令MOVX訪問。片內(nèi)RAM:
最大范圍:00H~FFH,256B;用指令MOV訪問。又分為兩部分:低128B(00~7FH)為真正的RAM區(qū),高128B(80~FFH)為特殊功能寄存器(SFR)區(qū)。如右圖所示。
內(nèi)部RAM的20H~2FH單元為位尋址區(qū),既可作為一般單元用字節(jié)尋址,也可對它們的位進(jìn)行尋址。位地址為00H~7FH。CPU能直接尋址這些位(稱MCS-51具有布爾處理功能),位地址分配如右表所示。3.特殊功能寄存器
(SFR)
MCS-51有21個(gè)特殊功能寄存器(也稱為專用寄存器),包括算術(shù)運(yùn)算寄存器、指針寄存器、I/O口鎖存器、定時(shí)器/計(jì)數(shù)器、串行口、中斷、狀態(tài)、控制寄存器等,它們被離散地分布在內(nèi)部RAM的80H~FFH地址單元中(不包括PC),共占據(jù)了128個(gè)存儲單元,構(gòu)成了SFR存儲塊。其字節(jié)地址可被8整除的SFR可位尋址。SFR反映了MCS-51單片機(jī)的運(yùn)行狀態(tài)。特殊功能寄存器分布如右表所示。(2)累加器A(Accumulator)
累加器A是8位寄存器,又記做ACC,是一個(gè)最常用的專用寄存器。在算術(shù)/邏輯運(yùn)算中用于存放操作數(shù)或結(jié)果。(3)寄存器B
寄存器B是8位寄存器,是專門為乘除法指令設(shè)計(jì)的,也作通用寄存器用。(1)程序計(jì)數(shù)器PC(ProgramCounter)
程序計(jì)數(shù)器PC在物理上是獨(dú)立的,它不屬于SFR存儲器塊。PC是一個(gè)16位的計(jì)數(shù)器,專門用于存放CPU將要執(zhí)行的指令地址(即下一條指令的地址),尋址范圍為64KB,PC有自動加1功能,不可尋址,用戶無法對它進(jìn)行讀寫,但是可以通過轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,以控制程序執(zhí)行的順序。表2-5工作寄存器組選擇控制表(4)工作寄存器
內(nèi)部RAM的工作寄存器區(qū)00H~1FH共32個(gè)字節(jié)被均勻地分成四個(gè)組(區(qū)),每個(gè)組(區(qū))有8個(gè)寄存器,分別用R0~R7表示,稱為工作寄存器或通用寄存器,其中,R0、R1還經(jīng)常用于間接尋址的地址指針。在程序中通過程序狀態(tài)字寄存器(PSW)第3、4位設(shè)置工作寄存器區(qū)。(5)程序狀態(tài)字PSW(ProgramStatusWord)
程序狀態(tài)字PSW是8位寄存器,用于存放程序運(yùn)行的狀態(tài)信息,PSW中各位狀態(tài)通常是在指令執(zhí)行的過程中自動形成的,但也可以由用戶根據(jù)需要采用傳送指令加以改變。其定義格式如下頁表所示。其中:Cy:進(jìn)借位標(biāo)志;AC:輔助進(jìn)借位標(biāo)志;
F0:用戶標(biāo)志;
RS1、RS0:工作寄存器組(區(qū))選擇(如下表所示);
OV:溢出標(biāo)志位,有溢出時(shí)置1;
P:奇偶標(biāo)志位。A中有奇數(shù)個(gè)1時(shí)置1。(6)數(shù)據(jù)指針DPTR(DataPointer)
數(shù)據(jù)指針DPTR是16位的專用寄存器,即可作為16位寄存器使用,也可作為兩個(gè)獨(dú)立的8位寄存器DPH(高8位)、DPL(低8位)使用。DPTR主要用作16位間址寄存器,訪問程序存儲器和片外數(shù)據(jù)寄存器。(7)堆棧指針SP(StackPointer)
堆棧是一種數(shù)據(jù)結(jié)構(gòu),是內(nèi)部RAM的一段區(qū)域。堆棧存取數(shù)據(jù)的原則是“后進(jìn)先出”。堆棧指針SP是一個(gè)8位寄存器,用于指示堆棧的棧頂,它決定了堆棧在內(nèi)部RAM中的物理位置。MCS-51單片機(jī)的堆棧地址向大的方向變化(與微機(jī)堆棧地址向小的方向變化相反)。系統(tǒng)復(fù)位后,SP初值為07H,實(shí)際應(yīng)用中通常根據(jù)需要在主程序開始處對堆棧指針SP進(jìn)行初始化,一般設(shè)置SP為60H。設(shè)立堆棧的目的是用于數(shù)據(jù)的暫存,中斷、子程序調(diào)用時(shí)斷點(diǎn)和現(xiàn)場的保護(hù)與恢復(fù)。(8)I/O口專用寄存器(P0,P1,P2,P3)
8051片內(nèi)有4個(gè)8位并行I/O接口P0,P1,P2和P3,在SFR中相應(yīng)有4個(gè)I/O口寄存器P0,P1,P2和P3。(9)定時(shí)器/計(jì)數(shù)器(TL0,TH0,TL1和TH1)
MCS-51單片機(jī)中有兩個(gè)16位的定時(shí)器/計(jì)數(shù)器T0和T1,它們由4個(gè)8位寄存器(TL0,TH0,TL1和TH1)組成,2個(gè)16位定時(shí)器/計(jì)數(shù)器是完全獨(dú)立的。可以單獨(dú)對這4個(gè)寄存器進(jìn)行尋址,但不能把T0和T1當(dāng)做16位寄存器來使用。(10)串行數(shù)據(jù)緩沖器(SBUF)
串行數(shù)據(jù)緩沖器SBUF用于存放需要發(fā)送和接收的數(shù)據(jù),它由兩個(gè)獨(dú)立的寄存器組成(發(fā)送緩沖器和接收緩沖器),要發(fā)送和接收的操作其實(shí)都是對串行數(shù)據(jù)緩沖器SBUF進(jìn)行的。(11)其他控制寄存器
除上述外,還有IP,IE,TCON,SCON和PCON等幾個(gè)寄存器,主要用于中斷、定時(shí)和串行口的控制,
I/O接口是MCS-51單片機(jī)對外部實(shí)現(xiàn)控制和信息交換的必經(jīng)之路,用于信息傳送過程中的速度匹配和增加它的負(fù)載能力。8051內(nèi)部有4個(gè)8位并行接口P0,P1,P2,P3,有1個(gè)全雙工的可編程串行I/O接口。
5.定時(shí)器/計(jì)數(shù)器
8051內(nèi)部有兩個(gè)16位可編程序的定時(shí)器/計(jì)數(shù)器,均為二進(jìn)制加1計(jì)數(shù)器,分別命名為T0和T1。T0和T1均有定時(shí)器和計(jì)數(shù)器兩種工作模式。在定時(shí)器模式下,T0和T1的計(jì)數(shù)脈沖可以由單片機(jī)時(shí)鐘脈沖經(jīng)12分頻后提供。在計(jì)數(shù)器模式下,T0和T1的計(jì)數(shù)脈沖可以從P3.4和P3.5引腳上輸入。對T0和T1的控制由定時(shí)器方式選擇寄存器TMOD和定時(shí)器控制寄存器TCON完成。
4.I/O接口6.中斷系統(tǒng)
中斷:指CPU暫停原程序執(zhí)行,轉(zhuǎn)而為外部設(shè)備服務(wù)(執(zhí)行中斷服務(wù)程序),并在服務(wù)完后返回到原程序執(zhí)行的過程。中斷系統(tǒng):指能夠處理上述中斷過程所需要的硬件電路。
中斷源:指能產(chǎn)生中斷請求信號的源泉。8051可處理5個(gè)中斷源(2個(gè)外部,3個(gè)內(nèi)部)發(fā)出的中斷請求,并可對其進(jìn)行優(yōu)先權(quán)處理。外部中斷的請求信號可以從P3.2,P3.3(即和)引腳上輸入,有電平或邊沿兩種觸發(fā)方式;內(nèi)部中斷源有3個(gè),2個(gè)定時(shí)器/計(jì)數(shù)器中斷源和1個(gè)串行口中斷源。8051的中斷系統(tǒng)主要由中斷允許控制器IE和中斷優(yōu)先級控制器IP等電路組成。1.2.2MCS-51單片機(jī)外部引腳
1.電源線
GND:接地引腳。
VCC:正電源引腳。接+5V電源。
MCS-51系列單片機(jī)中,各類單片機(jī)都是相互兼容的,只是引腳功能略有差異。8051單片機(jī)有40個(gè)引腳,分為端口線、電源線和控制線三類。2.端口線
P0~P3口:4×8=32條。(1)P0口(P0.0~P0.7)8位雙向三態(tài)I/O口,可作為外部擴(kuò)展時(shí)的數(shù)據(jù)總線/低8位地址總線的分時(shí)復(fù)用口。又可作為通用I/O口,每個(gè)引腳可驅(qū)動8個(gè)TTL負(fù)載。對EPROM型芯片(如8751)進(jìn)行編程和校驗(yàn)時(shí),P0口用于輸入/輸出數(shù)據(jù)。(2)P1口(P1.0~P1.7)
8位準(zhǔn)雙向I/O口,內(nèi)部具有上拉電阻,可作為通用I/O口。每個(gè)引腳可驅(qū)動4個(gè)TTL負(fù)載。(3)P2口(P2.0~P2.7)
8位準(zhǔn)雙向I/O口,內(nèi)部具有上拉電阻,可作為外部擴(kuò)展時(shí)的高8位地址總線。又可作為通用I/O口,每個(gè)引腳可驅(qū)動4個(gè)TTL負(fù)載。對EPROM型芯片(如8751)進(jìn)行編程和校驗(yàn)時(shí),用來接收高8位地址。(4)P3口(P3.0~P3.7)
8位準(zhǔn)雙向I/O口,內(nèi)部具有上拉電阻。它是雙功能復(fù)用口,作為通用I/O口時(shí),功能與P1口相同,常用第二功能。每個(gè)引腳可驅(qū)動4個(gè)TTL負(fù)載。作為第二功能使用時(shí),各位的作用如下頁表所示。3.控制線
(1)RST/VPD
RST/VPD引腳是復(fù)位信號/備用電源線引腳。當(dāng)8051通電時(shí),在RST引腳上出現(xiàn)24個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。(2)ALE/
地址鎖存允許/編程引腳。當(dāng)訪問外部程序存儲器時(shí),ALE的輸出用于鎖存地址的低位字節(jié),以便P0口實(shí)現(xiàn)地址/數(shù)據(jù)復(fù)用。當(dāng)不訪問外部程序存儲器時(shí),ALE端將輸出一個(gè)1/6時(shí)鐘頻率的正脈沖信號。ALE/是復(fù)用引腳,其第二功能是對EPROM型芯片(如8751)進(jìn)行編程和校驗(yàn)時(shí),此引腳傳送52ms寬的負(fù)脈沖選通信號,程序計(jì)數(shù)器PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令碼放到P0口上,由CPU讀入并執(zhí)行。
(3)/VPP
允許訪問片外程序存儲器/編程電源引腳。對于片內(nèi)無程序存儲器的MCS-51單片機(jī)(如8031),必須接地。片內(nèi)有程序存儲器的MCS-51單片機(jī)(如8051),必須接高電平。
/VPP是復(fù)用引腳,其第二功能是片內(nèi)EPROM編程/校驗(yàn)時(shí)的電源線,在編程時(shí),VPP腳需加上21V的編程電壓。
(4)XTAL1和XTAL2
XTAL1腳為片內(nèi)振蕩電路的輸入端,XTAL2腳為片內(nèi)振蕩電路的輸出端。8051的時(shí)鐘有兩種方式,一種是片內(nèi)時(shí)鐘振蕩方式,但需在XTAL1和XTAL2腳外接石英晶體(頻率為1.2~12MHz)和振蕩電容,振蕩電容的值一般取10~30pF,典型值為30pF;另外一種是外部時(shí)鐘方式,即將XTAL1接地,外部時(shí)鐘信號從XTAL2腳輸入,如下圖所示。
(5)
片外ROM選通線。在執(zhí)行訪問片外ROM的指令MOVC時(shí),8051自動在引腳產(chǎn)生一個(gè)負(fù)脈沖,用于對片外ROM的選通。其他情況下,該引腳均為高電平封鎖狀態(tài)。1.2.3當(dāng)前主流的AT89S51單片機(jī)簡介
AT89S51是什么?
書上和網(wǎng)絡(luò)教程上可都是8031、8051,89C51等!沒聽說過有89S51啊
?
這里,初學(xué)者要澄清單片機(jī)實(shí)際使用方面的一個(gè)產(chǎn)品概念,MCS-51單片機(jī)是美國INTE公司于1980年推出的產(chǎn)品,典型產(chǎn)品有8031(內(nèi)部沒有程序存儲器,實(shí)際使用方面已經(jīng)被市場淘汰)、8051(芯片采用HMOS,功耗是630mW,是89C51的5倍,實(shí)際使用方面已經(jīng)被市場淘汰)和8751等通用產(chǎn)品,一直到現(xiàn)在,MCS-51內(nèi)核系列兼容的單片機(jī)仍是應(yīng)用的主流產(chǎn)品(比如目前流行的89S51、已經(jīng)停產(chǎn)的89C51等),各高校及專業(yè)學(xué)校的培訓(xùn)教材仍與MCS-51單片機(jī)作為代表進(jìn)行理論基礎(chǔ)學(xué)習(xí)。
89S51相對于89C51增加的新功能包括:
--新增加很多功能,性能有了較大提升,價(jià)格卻基本不變,甚至比89C51更低!
--ISP在線編程功能,這個(gè)功能的優(yōu)勢在于改寫單片機(jī)存儲器內(nèi)的程序不需要把芯片從工作環(huán)境中剝離。是一個(gè)強(qiáng)大易用的功能。
--工作頻率為33MHz,大家都知道89C51的極限工作頻率只有24M,就是說S51具有更高工作頻率,從而具有了更快的計(jì)算速度。
--具有雙工UART串行通道。
--內(nèi)部集成看門狗計(jì)時(shí)器,不再需要像89C51那樣外接看門狗計(jì)時(shí)器單元電路。
--全新的加密算法,這使得對于89S51的解密變?yōu)椴豢赡?,程序的保密性大大加?qiáng),這樣就可以有
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉庫現(xiàn)貨配送合同范例
- 出國留學(xué)合同范例
- 產(chǎn)品銷售代理合同范例
- 中式風(fēng)格房屋轉(zhuǎn)讓合同范例
- 甘肅藥廠凈化施工方案
- 2025年工業(yè)自動化系統(tǒng)項(xiàng)目發(fā)展計(jì)劃
- 制作簽約合同范例
- 保險(xiǎn)理財(cái)電子合同范例
- 代加工白酒合同范例
- 公司用員工合同范例
- 特殊工種操作人員體檢表
- 2022年上海市學(xué)業(yè)水平考試生命科學(xué)試卷含答案
- 2022浙江農(nóng)林大學(xué)博士入學(xué)考試英語
- 廣發(fā)銀行防范詐騙安全提示
- 雙碳視角看歐盟綠色新政政策篇
- 備電綜合解決方案服務(wù)合同
- 煤礦礦安全監(jiān)測監(jiān)控系統(tǒng)的選型設(shè)計(jì)
- 樣板引路專項(xiàng)方案計(jì)劃
- 往復(fù)式壓縮機(jī)組單機(jī)試運(yùn)方案
- 車輛清障救援合作協(xié)議
- BM 帶小葉片的高壓比壓氣機(jī)葉輪設(shè)計(jì)BladeGen實(shí)例
評論
0/150
提交評論