版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國輪椅手輪行業(yè)投資前景及策略咨詢研究報(bào)告
- 2024至2030年魚尾栓項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2031年中國合成油氧化管行業(yè)投資前景及策略咨詢研究報(bào)告
- 2024至2030年門控五金項(xiàng)目投資價(jià)值分析報(bào)告
- 2024至2030年鐵制燈飾項(xiàng)目投資價(jià)值分析報(bào)告
- 2024至2030年中國黑白小電視機(jī)數(shù)據(jù)監(jiān)測研究報(bào)告
- 2024至2030年中國衰減片數(shù)據(jù)監(jiān)測研究報(bào)告
- 2024至2030年中國工程電動(dòng)系統(tǒng)數(shù)據(jù)監(jiān)測研究報(bào)告
- 2024年08月廣東2024屆廣發(fā)銀行信用卡中心管理培訓(xùn)生(市場類)秋季校園招考筆試歷年參考題庫附帶答案詳解
- 2025年江蘇眾安建設(shè)投資集團(tuán)招聘筆試參考題庫含答案解析
- DB44∕T 1784-2015 木本園林植物修剪技術(shù)規(guī)程
- 青年心理學(xué)第六講(人際關(guān)系與溝通)
- 核醫(yī)學(xué)科PDCA案例
- ABB斷路器參數(shù)調(diào)試講義
- 管廊維護(hù)與運(yùn)營績效考核評(píng)分表
- 陽宅形法及巒頭
- 尾礦庫施工組織設(shè)計(jì)
- 投標(biāo)文件封標(biāo)用封面、密封條11
- 300MW火電廠水汽氫電導(dǎo)率超標(biāo)的原因及處理方法
- 國際文憑組織IBO簡介
- 星巴克營銷策劃方案(共24頁)
評(píng)論
0/150
提交評(píng)論