《單片機(jī)系統(tǒng)設(shè)計(jì)仿真與應(yīng)用》課件第1章_第1頁
《單片機(jī)系統(tǒng)設(shè)計(jì)仿真與應(yīng)用》課件第1章_第2頁
《單片機(jī)系統(tǒng)設(shè)計(jì)仿真與應(yīng)用》課件第1章_第3頁
《單片機(jī)系統(tǒng)設(shè)計(jì)仿真與應(yīng)用》課件第1章_第4頁
《單片機(jī)系統(tǒng)設(shè)計(jì)仿真與應(yīng)用》課件第1章_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1.1MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)1.2構(gòu)建單片機(jī)最小系統(tǒng)

1.3單片機(jī)指令系統(tǒng)

1.4單片機(jī)匯編程序設(shè)計(jì)應(yīng)用舉例1.5小結(jié)

習(xí)題

MCS-51單片機(jī)在一塊芯片中集成了CPU、RAM、ROM、定時(shí)器/計(jì)數(shù)器和多功能的I/O線等基本功能部件。8051單片機(jī)框圖如圖1-1所示。1.1MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)圖1-18051單片機(jī)框圖1.1.1中央處理器CPU

CPU是單片機(jī)的核心部件,它由運(yùn)算器和控制邏輯構(gòu)成,其中包括若干特殊功能寄存器。

1.運(yùn)算器

2.控制邏輯

1)指令部件

2)時(shí)鐘電路

3)基本時(shí)序周期

4)指令時(shí)序圖1-2內(nèi)部方式時(shí)鐘電路圖1-3給出了8051單片機(jī)的取指和執(zhí)行指令的定時(shí)關(guān)系。

圖1-3是單周期和雙周期取指時(shí)序,圖中的ALE脈沖是用于鎖存地址的選通信號(hào),顯然,每出現(xiàn)一次該信號(hào),單片機(jī)即進(jìn)行一次讀指令操作。從時(shí)序圖中可看出,該信號(hào)是時(shí)鐘頻率6分頻后得到的,在一個(gè)機(jī)器周期中,ALE信號(hào)兩次有效,第一次在S1P2和S2P1期間,第二次在S4P2和S5P1期間。圖1-3MCS-51取指時(shí)序1.1.2存儲(chǔ)器組織

MCS-51存儲(chǔ)器結(jié)構(gòu)中程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是相互獨(dú)立的,各有自己的尋址系統(tǒng)、控制信號(hào)和功能。

8051片內(nèi)有256B的數(shù)據(jù)存儲(chǔ)器RAM和4?KB的程序存儲(chǔ)器ROM。除此之外,還可以在片外擴(kuò)展RAM和ROM,并且各有64?KB的尋址范圍。8051的存儲(chǔ)器組織結(jié)構(gòu)如圖1-4所示。圖1-48051存儲(chǔ)器組織結(jié)構(gòu)

1.程序存儲(chǔ)器

程序存儲(chǔ)器用來存放程序和表格常數(shù)。

2.外部數(shù)據(jù)存儲(chǔ)器

MCS-51單片機(jī)的數(shù)據(jù)存儲(chǔ)器無論在物理上或邏輯上都分為兩個(gè)地址空間,一個(gè)為內(nèi)部數(shù)據(jù)存儲(chǔ)器,訪問內(nèi)部數(shù)據(jù)存儲(chǔ)器用MOV指令;另一個(gè)為外部數(shù)據(jù)存儲(chǔ)器,訪問外部數(shù)據(jù)存儲(chǔ)器用MOVX指令。

3.內(nèi)部數(shù)據(jù)存儲(chǔ)器

MCS-51系列單片機(jī)各芯片內(nèi)部都有數(shù)據(jù)存儲(chǔ)器,是最靈活的地址空間,它分成物理上獨(dú)立的且性質(zhì)不同的幾個(gè)區(qū):00H~7FH單元組成的128字節(jié)地址空間的RAM區(qū);80H~FFH單元組成的高128字節(jié)地址空間,該區(qū)間又稱特殊功能寄存器(SFR)區(qū)。

1)內(nèi)部RAM區(qū)低128B

內(nèi)部RAM區(qū)低128B中不同的地址區(qū)域功能結(jié)構(gòu)如表1-1所示。

其中00H~1FH共32個(gè)單元是四個(gè)通用工作寄存器區(qū),每一個(gè)區(qū)有八個(gè)工作寄存器,編號(hào)為R0~R7,每一個(gè)區(qū)中R0~R7的地址見表1-2。

當(dāng)前程序使用的工作寄存器區(qū)是由程序狀態(tài)字PSW(特殊功能寄存器,字節(jié)地址為0D0H)中的D4、D3位(RS1和RS0)來指示的,PSW的狀態(tài)和工作寄存器區(qū)對(duì)應(yīng)關(guān)系見表1-3。表1-1MCS-51內(nèi)部RAM存儲(chǔ)器結(jié)構(gòu)表1-2寄存器和RAM地址對(duì)照表表1-3工作寄存器區(qū)選擇

CPU通過對(duì)PSW中D4、D3位內(nèi)容的修改,就能任選一個(gè)工作寄存器區(qū),若不設(shè)定為則默認(rèn)為第0區(qū),這個(gè)特點(diǎn)使MCS-51具有快速現(xiàn)場保護(hù)的功能。

如果用戶程序不需要四個(gè)工作寄存器區(qū),則不用的工作寄存器單元可以作為一般的RAM來使用。

內(nèi)部RAM的20H~2FH為位尋址區(qū)(見表1-4)。

表1-5列出了這些特殊功能存儲(chǔ)器的助記標(biāo)識(shí)符、名稱及地址,對(duì)于可位尋址的特殊功能寄存器,也給出了相應(yīng)的位地址。表1-4RAM尋址區(qū)位地址映像表1-5特殊功能寄存器地址表

(1)程序狀態(tài)字PSW。程序狀態(tài)字是一個(gè)8位寄存器,它包含了程序狀態(tài)信息。此寄存器各位的含義如下所示,其中PSW.1未用,其他各位說明如下:

CY(PSW.7):進(jìn)位標(biāo)志。

AC(PSW.6):輔助進(jìn)位標(biāo)志。

F0(PSW.5):用戶標(biāo)志位,F(xiàn)0是用戶定義的一個(gè)狀態(tài)標(biāo)記,用軟件來使它置位或清零。

OV(PSW.2):溢出標(biāo)志。

除法指令DIV也會(huì)影響溢出標(biāo)志。當(dāng)除數(shù)為0時(shí),OV=1,否則OV=0。

P(PSW.0):奇偶標(biāo)志,每個(gè)指令周期都由硬件來置位或清“0”,以表示累加器A中1的位數(shù)的奇偶數(shù)。

(2)棧指針。

(3)數(shù)據(jù)指針DPTR。

(4)程序計(jì)數(shù)器PC。

PC沒有地址,用戶無法對(duì)其進(jìn)行讀/寫,但可以通過轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,以實(shí)現(xiàn)程序的轉(zhuǎn)換。1.1.3并行I/O端口

I/O端口又稱為I/O接口,I/O端口是MCS-51單片機(jī)對(duì)外部實(shí)現(xiàn)控制和信息交換的必經(jīng)之路,I/O端口有串行和并行之分,串行I/O端口一次只能傳送一位二進(jìn)制信息,并行I/O端口一次只能傳送一組二進(jìn)制信息。

并行I/O端口內(nèi)部結(jié)構(gòu)圖如圖1-5所示。圖1-5并行I/O端口內(nèi)部結(jié)構(gòu)圖

1.P0端口功能(P0.0~P0.7、32~39腳)

1)?P0端口作地址/數(shù)據(jù)復(fù)用總線使用

2)?P0端口作通用I/O端口使用

3)?P0端口線上的“讀—修改—寫”功能

2.P1端口(P1.0~P1.7、1~8腳)準(zhǔn)雙向口

3.P2端口(P2.0~P2.7,21~28腳)準(zhǔn)雙向口

1)?P2端口作通用I/O端口使用

2)?P2端口作地址總線口使用

4.P3端口(P3.0~P3.7、10~17腳)雙功能口

當(dāng)作第二功能使用時(shí),每一位功能定義如表1-6所示。P3端口的第二功能實(shí)際上就是系統(tǒng)具有控制功能的控制線。此時(shí)相應(yīng)的口線鎖存器必須為“1”狀態(tài),與非門的輸出由第二功能輸出線的狀態(tài)確定,從而P3端口線的狀態(tài)取決于第二功能輸出線的電平。表1-6P3端口的第二功能1.1.4內(nèi)部資源

1.串行I/O端口

8051有一個(gè)全雙工的可編程串行I/O端口。

2.定時(shí)器/計(jì)數(shù)器

8051單片機(jī)內(nèi)部有兩個(gè)16位可編程定時(shí)器/計(jì)數(shù)器,即定時(shí)器T0和定時(shí)器T1。

3.中斷系統(tǒng)

8051單片機(jī)中有五個(gè)中斷源,分別為兩個(gè)外部中斷、兩個(gè)定時(shí)器/計(jì)數(shù)器中斷以及一個(gè)串行口中斷。1.1.5引腳定義及功能

MCS-51單片機(jī)采用40引腳的雙列直插封裝,如圖1-6所示。

40條引腳說明如下:

1.主電源引腳VSS和VCC(2個(gè))

2.外接晶振引腳XTAL1和XTAL2(2個(gè))

3.控制引腳(4個(gè))

4.輸入/輸出引腳(32個(gè))

圖1-68051引腳排列圖圖1-7MCS-51片外總線結(jié)構(gòu)示意圖1.2.1復(fù)位和復(fù)位電路

復(fù)位是單片機(jī)的初始化操作,其目的是使CPU及各專用寄存器處于一個(gè)確定的初始狀態(tài)。1.2構(gòu)建單片機(jī)最小系統(tǒng)圖1-8復(fù)位電路單片機(jī)的復(fù)位操作使單片機(jī)進(jìn)入初始化狀態(tài),其中包括使程序計(jì)數(shù)器PC?=?0000H,這表明程序從0000H地址單元開始執(zhí)行。單片機(jī)冷啟動(dòng)后,片內(nèi)RAM為隨機(jī)值,運(yùn)行中的復(fù)位操作不改變片內(nèi)RAM區(qū)中的內(nèi)容,21個(gè)特殊功能寄存器復(fù)位后的狀態(tài)為確定值,表1-7列出了部分特殊功能寄存器在復(fù)位后的值。值得指出的是,記住一些特殊功能寄存器復(fù)位后的主要狀態(tài),對(duì)于了解單片機(jī)的初態(tài),減少應(yīng)用程序中的初始化部分是十分必要的。表1-7復(fù)位后特殊寄存器的狀態(tài)注:表中*為隨機(jī)狀態(tài)。1.2.2構(gòu)建單片機(jī)最小系統(tǒng)

MCS-51單片機(jī)是一種功能較強(qiáng)的微型計(jì)算機(jī),它集CPU、EPROM、RAM、I/O接口及中斷系統(tǒng)于一體,利用單片機(jī)本身的資源,外加電源和晶振就可構(gòu)建一個(gè)簡單的控制系統(tǒng),實(shí)現(xiàn)對(duì)數(shù)字信號(hào)的處理和控制。圖1-9AT89C51最小系統(tǒng)1.3.1指令系統(tǒng)

按指令功能,MCS-51指令系統(tǒng)分為數(shù)據(jù)傳送與交換、算術(shù)運(yùn)算、邏輯運(yùn)算、程序轉(zhuǎn)移、布爾操作(又稱位操作)、堆棧操作等6類,共111條指令,各指令助記符及功能見表1-8

所示。1.3單片機(jī)指令系統(tǒng)表1-8MCS-51指令集(111條指令)續(xù)表(一)續(xù)表(二)續(xù)表(三)

(3)數(shù)據(jù)傳送類指令共29條,是將源操作數(shù)送到目的操作數(shù)。指令執(zhí)行后,源操作數(shù)不變,目的操作數(shù)被源操作數(shù)取代。源操作數(shù)可采用寄存器、寄存器間接、直接、立即、變址5種尋址方式尋址,目的操作數(shù)可以采用寄存器、寄存器間接、直接尋址3種尋址方式。MCS-51單片機(jī)片內(nèi)數(shù)據(jù)傳送途徑如圖1-10所示。圖1-10MCS-51單片機(jī)片內(nèi)數(shù)據(jù)傳送圖

(4)堆棧操作相對(duì)來說比較特殊。所謂堆棧是在片內(nèi)RAM中按“先進(jìn)后出,后進(jìn)先出”原則設(shè)置的專用存儲(chǔ)區(qū)。數(shù)據(jù)的進(jìn)棧出棧由指針SP統(tǒng)一管理。堆棧的操作有如下兩條專用指令:

PUSHdirect ;SP←(SP+1),(SP)←(direct)

POPdirect ;(direct)←(SP),SP←SP-1

PUSH是進(jìn)棧(或稱為壓入操作)指令。指令執(zhí)行過程如圖1-11所示。圖1-11指令PUSH40H和指令POP30H操作示意圖1.3.2尋址方式

尋址方式就是根據(jù)指令中給出的地址碼尋找真實(shí)操作數(shù)地址的方式。

1.立即尋址

2.直接尋址

3.寄存器尋址

4.寄存器間接尋址

(1)訪問片內(nèi)RAM:用R0、R1作為間接寄存器,堆棧用SP作為間接寄存器。例如:

MOV @Ri,A(i=0或1)

指令執(zhí)行示意圖如圖1-12所示。圖1-12MOV@Ri,A指令執(zhí)行示意圖

(2)訪問片外RAM:訪問片外RAM只能用MOVX指令,下面分3種情況說明。

訪問低256字節(jié),可用R0或R1作為間址寄存器。

訪問整個(gè)64?KB空間,可用R0或R1作為間接寄存器,用P2指出高8位地址。

訪問整個(gè)64?KB空間,可用DPTR作為間接寄存器。

寄存器間接尋址是唯一能訪問片外RAM的尋址方式,如圖1-13所示。圖1-13訪問片外RAM示意圖

5.變址尋址

變址尋址只能對(duì)程序存儲(chǔ)器中的數(shù)據(jù)進(jìn)行讀取訪問。在指令符號(hào)上采用MOVC的形式,用基址寄存器DPTR或PC的內(nèi)容與變址寄存器A中的內(nèi)容相加形成要訪問數(shù)據(jù)的地址如圖1-14所示。圖1-14變址尋址示意圖

6.相對(duì)尋址

相對(duì)尋址是為實(shí)現(xiàn)程序的相對(duì)轉(zhuǎn)移而設(shè)計(jì)的。在相對(duì)轉(zhuǎn)移指令中,給出地址偏移量rel,它是8位帶符號(hào)數(shù)的補(bǔ)碼,通常在08H~7FH范圍內(nèi)選取。以PC的當(dāng)前值加上指令中給出的偏移量就形成新的PC值,即程序轉(zhuǎn)移地址,其尋址示意圖如圖1-15所示。圖1-15相對(duì)尋址示意圖

7.位尋址

位尋址只能對(duì)有位地址的單元作位尋址操作。位尋址其實(shí)是一種直接尋址方式,不過其地址是位地址。1.3.3偽指令

所謂偽指令,就是通知匯編程序如何完成匯編操作的指示性命令。偽指令只用于匯編語言源程序中,對(duì)匯編過程起控制和指導(dǎo)的作用,不生成目標(biāo)代碼。因此偽指令只存在于源程序中,匯編完成后,在目標(biāo)程序中就看不到偽指令了。

MCS-51單片機(jī)主要有8條偽指令,如表1-9所示。表1-9常用的偽指令及其功能1.4.1彩燈控制器硬件設(shè)計(jì)

對(duì)于彩燈控制器來說,只需要在單片機(jī)最小系統(tǒng)的基礎(chǔ)上再在P1端口上增加8個(gè)LED燈即可實(shí)現(xiàn)設(shè)計(jì)目標(biāo)。

硬件電路圖如圖1-16所示。1.4單片機(jī)匯編程序設(shè)計(jì)應(yīng)用舉例圖1-16AT89C51彩燈控制器電路圖1.4.2彩燈控制器軟件設(shè)計(jì)

1.延時(shí)程序

設(shè)計(jì)軟件之前要考慮數(shù)據(jù)的編碼和硬件的反應(yīng)時(shí)間與人眼的視覺暫留時(shí)間。

編程時(shí),先后點(diǎn)亮LED之間要有延時(shí),延時(shí)程序一般用循環(huán)程序編寫(也可用定時(shí)器)。延時(shí)程序如例1-1所示?!纠?-1】

延時(shí)程序DELAY,延時(shí)約1?s。

DELAY:MOV R7,#08H ;單周期指令

DEL1: MOV R6,#0FAH ;單周期指令

DEL2: MOV R5,#0F8H

DEL3: DJNZ R5,DEL3 ;雙周期指令

DJNZ R6,DEL2

DJNZ R7,DEL1

RET

END2.?dāng)?shù)據(jù)編碼

3.編程實(shí)現(xiàn)

【例1-2】彩燈控制器匯編源碼。

ORG0000H ;程序入口

AJMPSTART

ORG0100H

START:MOVA,#0FEH ;程序開始運(yùn)行

SETBC

;進(jìn)位位置位,為帶進(jìn)位循環(huán)左移做準(zhǔn)備

LOP: MOVP1,A ;依次點(diǎn)亮指示燈

ACALLDELAY;調(diào)用延時(shí)子程序,延時(shí)約130?ms

RLCA ;循環(huán)左移

AJMPLOP將此程序匯編后生成二進(jìn)制可下載文件,并固化到AT89C51中。彩燈的運(yùn)行效果如圖1-17所示。圖1-17AT89C51彩燈控制器仿真結(jié)果在本章中,我們?cè)敿?xì)討論了以下幾個(gè)知識(shí)點(diǎn):

MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)。MC

溫馨提示

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

評(píng)論

0/150

提交評(píng)論