MCS-51系列單片機課程精講_第1頁
MCS-51系列單片機課程精講_第2頁
MCS-51系列單片機課程精講_第3頁
MCS-51系列單片機課程精講_第4頁
MCS-51系列單片機課程精講_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第一章MCS-51系列單片機的硬件結構一、主要功能:1、8位CPU,片內振蕩器(1.2~12MHz);2、4K字節(jié)ROM,128字節(jié)片內數據RAM;3、21個特殊功能寄存器;4、32根I/O線,即4個8位并行I/O口:P0~P3;5、可尋址的外部程序、數據存儲器各64KB;6、2個16位定時器/計數器;7、一個全雙工串行口;8、中斷結構:五個中斷源,兩個優(yōu)先級;9、有強的位尋址、位處理功能,適于位處理機。1-1總體概況二、內部結構三、外部引腳說明封裝形式見下圖:引腳分類:1、主電源引腳Vss、Vcc2、外接晶振引腳XTAL1、XTAL23、控制或復位引腳

RST/VPD:

當出現兩個機器周期高電平時,單

片機復位。復位后,P0~P3輸出高電平;SP寄存器為07H;其它寄存器全部清0;不影響RAM狀態(tài)。ALE/PROG:地址鎖存控制端提供1/6fosc振蕩頻率;為其內的EPROM輸入編程脈沖/PSEN:外部程序存儲器的讀選通信號端=0時,只訪問外部程序存儲器,即外ROM=1時,訪問內部程序存儲器,即內ROM

/Vpp:內\外ROM選擇端EAEAEA4、輸入/輸出引腳P0.0~P0.7;P1.0~P1.7;P2.0~P2.7;P3.0~P3.7四個I/O口,每口八條線;其中P0.0~P0.7:兼作地址/數據線。P2.0~P2.7:兼作地址高8位P3.0~P3.7的第二功能為:P3.0-RXD即串行數據輸入P3.1-TXD即串行數據輸出P3.2-INT0即外部中斷0輸入P3.3-INT1即外部中斷1輸出P3.4-T0即定時器0外部輸入P3.5-T1即定時器1外部輸入P3.6-WR即寫信號P3.7-RD即讀信號1-2微處理器一、運算器

由累加器A、寄存器B、暫存器、PSW等部件組成。功能:完成二進制數的算數運算和布爾代數的邏輯運算。PSW-程序狀態(tài)字功能介紹格式:二、控制器功能:根據不同的指令產生相應當操作時序和控制信號1、時鐘電路包括內部時鐘和外部時鐘1-3MCS-51存儲器及存儲空間MCS-51單片機存儲器的分類為:從物理上分為:5個空間,即片內ROM、片外ROM

片內RAM、SFR、片外RAM一、MCS-51存儲器分類及配置邏輯上分為:

3個空間,即:程序存儲器(片內、外)

片內數據存儲器

片外數據存儲器用不同的傳送指令訪問:--MOVC--MOV--MOVXMCS-51存儲空間分配如下:MCS-51存儲空間分布圖1、編址與與訪問尋址范圍圍:0000H~FFFFH容量64KB,即地址長度度:16位

,尋址內部ROM;當PC值超過片片內ROM容量時會會自動轉轉向外外部存儲儲器空間間。

,尋址外部ROM。

8031單片機接低電平。作用:存放程序序及程序序運行時時不變的的常數。。二、程序序存儲器器2、7個特殊單單元七個具有有特殊含含義的單單元是::0000H——系統復位,PC指向此處;0003H——外部中斷0入口;000BH——T0溢出中斷入口口0013H——外中斷1入口001BH——T1溢出中斷入口口0023H——串口中斷入口口002BH——T2溢出中斷入口口三、內部數據據存儲器物理上分為兩兩大區(qū)域:00H~7FH即128B內RAM區(qū)80H~FFH即SFR區(qū)。1、內部數據存存儲器RAM塊內部數據存儲儲器RAM區(qū)共128字節(jié)(256字節(jié))分為三

個區(qū)區(qū),即:工作作寄存器區(qū)、、位存儲區(qū)、、數據RAM區(qū)。結結構如下::R0、R1、R2、R3、R4、R5、R6、R7即可位尋址,又可字節(jié)尋址數據緩沖區(qū)、堆棧區(qū)、工作單元2、位尋址區(qū)位尋址區(qū)(20H—2FH)16個字節(jié)。即16*8=128位;

每一一位都有一個個位地址,范范圍為:00H—7FH;

位地址址區(qū)也可作為為一般RAM使用。具體結構為::3、特殊功能寄寄存器MCS-51單片機內共有有22個特殊功能寄寄存器,包括括PC及SFR。PC為程序計數器器。它是一個個雙字節(jié)寄存存器尋址范圍為:0000H~FFFFH,即0~64KB。SFR為特殊功能寄寄存器。其尋址空間::80H~FFH其中,51子系列有18個寄存器,占占有21個字節(jié);52子系列有21個寄存器,占占有26個字節(jié)。51子系列SFR的地址分配及及位地址見下下頁表:

寄存器

位地址/位定義

地址

F7

F6

F5

F4

F3

F2

F1

F0

B

F0H

E7

E6

E5

E4

E3

E2

E1

E0

ACC

E0

D7

D6

D5

D4

D3

D2

D1

D0

PSW

CY

AC

F0

RS1

RS0

OV

/

P

D0H

BF

BE

BD

BC

BB

BA

B9

B8

IP

B8H

B7

B6

B5

B4

B3

B2

B1

B0

P3

P3.7

P3.6

P3.5

P3.4

P3.3

P3.2

P3.1

P3.0

B0H

IE

A8H

A7

A6

A5

A4

A3

A2

A1

A0

P2

P2.7

P2.6

P2.5

P2.4

P2.3

P2.2

P2.1

P2.0

A0H

SBUF

99H

1-4并行輸入/輸出接口MCS-51有32根I/O線,組成4個8位的并行輸入入/輸出接口,分分別稱為P0~P3口。其中P0、P2的第二功能組組成地址/數據復用總線線,P3口第二功能組組成各種控制制信號,這四四個口可并行行地輸入/輸出8位數據,也可可按位使用。。作I/O口使用時,該該四個口稱為為準雙向口。。其中P0口的負載能力力為8個TTL負載,其余為為4個。一、P0口它包括一個輸輸出鎖存器,,兩個三態(tài)緩緩沖器,一個個輸出驅動電電路和一個輸輸出控制電路路。其中輸出出驅動電路由由一對FET(場效應管)組組成,其工作作狀態(tài)受輸出出控制電路的的控制。具體結構圖如如下:二、P1口P1口只有一種功功能--通用用輸入/輸出接口。通通用I/O接口有輸出出、輸入、端端口操作三種種工作方式見教材P-61三、P2口四、P3口第二章MCS-51系列單片機的的指令系統和匯編語言程程序示例2-1單片機的指令令格式和尋址址方式一、MCS-51的指令格式二、尋址方式式MCS-51單片機有7種尋址方式,,主要的有6種:1、立即方式例:MOVA,#07MOVDPTR,#2000H2、直接方式例:MOVR0,30HANL40H,#0FH說明:立即數數必須用‘##’說明,以以便與內部RAM區(qū)分。說明:直接接尋址可以以訪問以下下三種存儲儲空間:?內部RAM128字節(jié)(8052內部RAM高128字節(jié)(80H~FFH)只能用間址址訪問);?特殊功能寄寄存器(唯一的尋尋址方式));?221個位地址。。3、寄存器尋尋址例:DECR2ANLA,R14、寄存器間間址例:MOVA,@R0MOVX@DPTR,A說明:?寄存器間址址規(guī)定用R0、R1尋址內部RAM00~FFH單元,用R0、R1、DPTR尋址外部數據RAM;?寄存器間址址用符號‘@’表示;5、基址加變變址間接尋尋址--用用于查表例:MOVCA,@A+PCMOVCA,@A+DPTR6、相對尋址址(7)位尋址2-2MCS-51單片機指令令系統重點掌握指指令格式和和合法的尋尋址方式,,程序設計方法同同8086。MCS-51的操作數形形式可為::A--累加器#Data--立即數Ri--寄存器Direct--直接尋址@Rj、@DPTR--間接尋址一、數據傳傳送指令((29條)包括:以累累加器為一一方的傳送送指令(6條)、不以累加加器為一方方的傳送指指令(5條)、用立即數數置數(5條)、訪問外部部RAM(4條)、訪問程序序ROM(2條)、交換指令令(5條)、棧操作(條)。以累加器為為一方的傳傳送指令((6條)不以累加器器為一方的的傳送指令令(5條)用立即數置置數(5條)例1:設內部RAM(30H)=40H(40H)=10HP1作輸入口,,輸入的數數據為0CAH執(zhí)行下列指指令序列,,結果=??MOVR0,#30HMOVA,@R0MOVR1,AMOVB,@R1MOV@R1,P1MOVP2,P1;R0=30H;A=40H;R1=40H;B=10H;(40H)=CAH;P2=CAH訪問外部RAM(4條)訪問程序ROM(2條)例2:設系統配有有2KB外部RAM,設計一程程序,將外外部RAM250單元內容送送到650H單元。例3:累加器A的內容為0~9的BCD數,用查表表法獲得相相應的七段段字形碼送送P1口。設七段段碼表存于于程序存儲儲器2400H開始的區(qū)域域。交換指令((5條)棧操操作作((2條))說明明::1*目的的地地址址為為A的指指令令均均影影響響P標志志;;2*棧操操作作為為字字節(jié)節(jié)操操作作(棧向向上上生生成成)。二、、算算術術運運算算指指令令((24條))說明明::對對標標志志位位的的影影響響見見教教材材P96表3-3例4:試將將兩兩個個雙雙字字節(jié)節(jié)數數5E3AH和36DBH相加加后后,,存存于于外外部部RAM2030H和2031H單元元((低低位位在在前前,,高高位位在在后后))。。例5:將累累加加器器A中的的二二進進制制數數轉轉換換為為3位BCD數存存于于30H、31H、32H(百百、、十十、、個個位位))。。例6:雙字字節(jié)節(jié)BCD數相相加加。。設設被被加加數數存存于于內內部部RAM40H和41H單元元,,加加數數存存于于50H和51H單元元(低位位在在前前),求求其其十十進進制制和和存存于于40H和41H單元元。。三、、邏邏輯輯運運算算指指令令((24條))1、雙雙操操作作數數邏邏輯輯指指令令((18條))2、單單操操作作數數邏邏輯輯指指令令((6條))例7:拆字字。。將將外外部部RAM2300H單元元的的BCD碼的十十位和個位拆拆開后,由高高到低分別存存于2300H和2301H單元。例8:拼字。設2位用ASCII表示的十進制制數分別存存于內部部40H和41H單元中,將它它們轉換成2位BCD碼并以壓縮形形式存于41H單元。例9:判斷累加器A中的值是否為為0DH.四、控制轉移移類指令1、無條件轉移移指令(4條)說明:1、LJMP指令中,由于于地址碼為16位,故轉移范圍為為216=64KB;2、AJMP指令中,由于于地址碼為11位,故轉移范圍為為211=2KB;3、SJMP指令中的rel為相對偏移量量,是一個8位帶符號數,位移量為-128~+127(針對當前PC)。2、條件轉移指指令(8條)3、調用和返回回(5條)例10:當P1口輸入為43H時,程序往下下執(zhí)行,否則則等待。例11:設有100個有符號數,,連續(xù)存放在在以2000H為首址的外部部RAM區(qū),試編程統統計其中正數數、

負數、、零的個數存存于內部RAM30H~32H單元中。例12:初始SP=30H,子程序SUB1入口為2500H,PC=3000H。

執(zhí)行指令令3000H:LCALLSUB1后,SP=?(SP)=?PC=?若將LCALL改為ACALL,結果如何?五、位操作指指令說明:位地址表示方式可為為:?直接位地址如:SETB7FH;?字節(jié)地址加位位號如:SETB2F.7H?位寄存器名如如::SETBTR0?位尋址寄存器器加位號如如:CLRTCON.5例13:在P1.7引腳上輸出一一個正脈沖,,要求脈寬為為200US。(設fosc=6MHz)第三章輸輸入輸出、中中斷、定時與與串行通信3.1MCS-51中斷系統MCS-51不同型號的單單片機的中斷斷源的數量是是不同的。但但最典型的8051子系統提供5個中斷源、兩兩個優(yōu)先級。。中斷處理程程序可實現兩兩級嵌套,因而具有較強強的中斷處理理能力。MCS-51中斷系統結構構示意圖如下下頁所示:一、MSC-51中斷源中斷源外部中斷0:INT0定時器0:T0外部中斷1:INT1定時器1:T1串口中斷:優(yōu)先級(同級)高低入口0003H000BH0013H001BH023H與中斷有關的的特殊功能寄寄存器控制TCON--定時器控制寄寄存器(88H)格式:D7D6D5D4D3D2D1D0TF1TF0

IE1IT1IE0IT0其中IT0、IT1:外部中斷的觸觸發(fā)方式0:電平1:邊沿IE0、IE1:外部中斷的0、1的中斷標志TF0、TF1:定時器0、1的溢出標志二、中斷控制制1、中斷的開放放與禁止---IE(A8H)格式:D7D6D5D4D3D2D1D0EAET2ESET1EX1ET0EX02、中斷優(yōu)先級級控制--IP(B8H)格式:D7D6D5D4D3D2D1D0PT2PSPT1PX1PT0PX01:高優(yōu)先先級0:低優(yōu)優(yōu)先級級1:允許0:禁止止SCON--串串口控控制寄寄存器器(98H)格式::D7D6D5D4D3D2D1D0TIRI三、中中斷響響應下列三三種情情況都都不存存在,,則則響應應中斷斷。三種情情況為為:1、CPU正在處處理同同級或或更高高級別別的中中斷;;2、現行的的周期期不是是指令令的最最后一一個機機器周周期;;3、正在執(zhí)執(zhí)行的的指令令是RETI或是訪訪問IP、IE指令。。CPU響應中中斷后后,轉轉入相相應的的中斷斷入口口。四、中中斷請請求的的撤除除CPU響應中中斷后后,在在中斷斷返回回前,,必須須撤除除請求,,否則則會錯錯誤地地再次次引起起中斷斷五、中中斷程程序舉舉例例1:若規(guī)定定外部部中斷斷0為電平平觸發(fā)發(fā),高高優(yōu)先先級,,編寫寫初始始化程程序。。例2:若規(guī)定定外部部中斷斷1為邊沿沿觸發(fā)發(fā)方式式,低低優(yōu)先先級,,在中中斷服服務程序中中將寄寄存器器B中的內內容左左移一一位。。B的內容容初始始為01,編寫寫初始化化及中中斷服服務程程序程程序。。3.2定時器器/計數器器一、主主要特特征1、有兩個十十六位位的可編編程的的定時時器/計數器器(0、1),可可由程程序選選擇作作為定定時器器或計計數器器,定定時時時間或或計數數值也也可由由程序序設定定;2、每個個定時時器/計數器器都有有四種工作方方式,,可由由程序序選擇擇;3、任一一定時時器/計數器器在定定時時時間到到或計計數到到時,,可由程程序安安排產生中中斷或或不產產生中中斷信信號;;4、52子系列列有3個可編程程定時時器/計數器器,增加了了定時時器/計數器器2,定時時器/計數器器2有3種工作方方式,,可用用程序序選擇擇。3.2定時器器/計數器器一、主主要特特征1、有兩個十十六位位的可編編程的的定時時器/計數器器(0、1),可可由程程序選選擇作作為定定時器器或計計數器器,定定時時時間或或計數數值也也可由由程序序設定定;2、每個個定時時器/計數器器都有有四種工作方方式,,可由由程序序選擇擇;3、任一一定時時器/計數器器在定定時時時間到到或計計數到到時,,可由程程序安安排產生中中斷或或不產產生中中斷信信號;;4、52子系列列有3個可編程程定時時器/計數器器,增加了了定時時器/計數器器2,定時時器/計數器器2有3種工作方方式,,可由由程序序選擇擇。二、定定時器器/計數器器(0、1)的結結構1、內部部結構構2、工作作原理理3、定時時器/計數器器的方方式和和控制制寄存存器1)、方方式寄寄存器器---TMOD格式::其中M1M0:工作作方式式選擇擇00:方式式0,十三三位定定時器器/計數器器01:方式1,十六六位定定時器器/計數器器10:方式式2,自動動再裝裝入的的8位定時時器/計數器器11:方式式3,T0分為兩兩個8位定時時器/計數器器C/T:計計數/定時選選擇GATR:門控信信號2)、控控制寄寄存器器---TCON格式::其中IT1IT0:外部中中斷1、0的觸發(fā)發(fā)方式式IE1IE0:外部部中斷斷1、0的觸發(fā)發(fā)方式式TF1TF0:定時時器1、0的溢出出標志志上述幾幾位用用于中中斷控控制TR1:定時時器T1的運行行控制制位TR0:定時時器T0的運行行控制制位三、定定時器器/計數器器(0、1)的工工作方方式1、方式式0----13位定時時器/計數器器當M1M0兩位為為00時,定定時/計數器器被選選為工工作方方式0,其邏輯輯結構如如下圖所所示:方式0計數初值值計算的的公式為為:X=213-a例1:計數器1方式0計數2000個數。X的值為0~8191,計數范范圍為1~81922、方式1----16位定時器器/計數器當M1M0兩位為01時,定時時/計數器被被選為工工作方式式1,其邏輯輯結構如如下圖所所示:方式1計數初值值計算的的公式為為:X=216-a例2:計數器0方式1定時20ms,允許中斷斷(設fosc=6MHz)。X的值為0~65535,計數范范圍為1~655362、方式2----8位自動再再裝入定定時器/計數器當M1M0兩位為10時,定時時/計數器被被選為工工作方式式2,其邏輯輯結構如如下圖所所示:方式2計數初值值計算的的公式為為:X=28-a例3:計數器0方式2計數100。X的值為0~255,計數范范圍為1~2562、方式3----T0分為2個8位定時器器/計數器當M1M0兩位為11時,定時時/計數器0被選為工工作方式式2,其邏輯輯結構如如下圖所所示:四、定時時器/計數器((0、1)的應用用例4:選擇T1方式1用于定時時,在P1.1輸出周期期為1ms的方波,,晶振fosc=6MHZ。根據題意意,只要要使P1.1每隔500μμs取反一次次即可得得到1ms方波,因因而T1的定時時時間為500μμs。初值為a:((216-a)×2×10-6s=500××10-6sa=216-(500×10-6÷2×10-6)=65285=FF50H例5:選擇T0方式1用于定時時,每隔隔1秒鐘使累累加器A的內容左左移一位位,從P1口輸出,,晶振fosc=6MHZ。3.3串行輸入入/輸出接口口計算機與與外界的的信息交交換稱為為通信,,基本的的通信方方式有兩兩種:并并行通信信和串行行通信一、串行行通信的的一般概概念1、數據傳傳送方向向2、通信格格式二、MCS-51串行接口口的功能能與結構構1、功能(見教材材P-65)2、結構與與組成MSC-51的串口由由發(fā)送器器、發(fā)送送控制電電路、接接收器、、接收控制制電路及及特殊功功能寄存存器SCON、PCON組成方便地實實現單機機、多機機通信;;具有4種工作方方式---即移位位寄存器器(方式式0)和通信(方方式1、2、3)MCS-51串行口的的原理結結構如下下所示::3、串行接口口的特殊殊功能寄寄存器--SCON、PCON串口控制制寄存器器-SCON格式(地址為98H):SM0SM1SM2RENTB8RB8TIRID7D6D5D4D3D2D1D0復位時(SCON)=0,可用MOVSCON,#XX進行初始始化其中SM0SM1:工作方方式選擇擇00:方式0,移位寄寄存器方方式01:方式1,8位UART10:方式2,9位UART01:方式3,9位UARTSM2:多機通通信控制制位REN:接受允允許TB8、RB8:發(fā)送、、接收的的第九位位數據TI、RI:發(fā)送、、接收中中斷標志志電源控制制寄存器器-PCON格式(地址為97H):SMODD7D6D5D4D3D2D1D0SMOD:波特率系系數控制制位SMOD=1波特率加加倍三、MCS-51串口的工工作方式式1、方式0--移位寄存存器方式式作I/O擴展口,,波特率率為fosc/12方式0輸出:與CD4094連接的電路為::方式0輸入:與CD4014連接的電路為::2、方式1--8位異步通通信接口口波特率為為(2SMOD/32)×T1溢出率3、方式2、3--9位異步通通信口方式2波特率固固定為為:(2SMOD/64)×fosc方式3波特率可可變?yōu)闉?(2SMOD/32)×T1溢出率舉例:方式2發(fā)送中斷斷服務程程序如下下:SEND:PUSHPSWPUSH ACLRTIMOVA,@R0MOVC,PMOVTB8,CMOVSBUF,AINCR0POPAPOPPSWRETI;保護現場場;清除發(fā)送送中斷標標志;A取一個數數;TB8P;數據發(fā)送送;修改指針針;恢復現場場;中斷返回回例:方式2接收服務務程序如如下:REVE:PUSHPSWPUSHACLRRIMOVA,SBUFMOVC,PJNCL1JNBRB8,ERRSJMP L2L1:JBRB8,ERRL2:MOV@R0,AINCR0POPAPOPPSWRETI;保護現場;清除接收中中斷標志;A接收一個數數;P=0?是,轉L1;P=1,RB8=0,出錯;P=0,RB8=1,出錯;正確,將數據存入入內存;修改指針;恢復現場;中斷返回四、波特率率設定

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論