1、單片機(jī)原理及接口技術(shù)實(shí)驗(yàn)報(bào)告任課教師 班級(jí) 姓名 日期 實(shí)驗(yàn)一 構(gòu)建單片機(jī)最小系統(tǒng)和實(shí)驗(yàn)環(huán)境熟悉一、單片機(jī)最小系統(tǒng)的組成原理圖二、單片機(jī)的工作原理:1. 運(yùn)算器運(yùn)算器包括算術(shù)邏輯運(yùn)算單元ALU、累加器ACC、寄存器B、暫存器TMP、程序狀態(tài)字寄存器PSW、十進(jìn)制調(diào)整電路等。它能實(shí)現(xiàn)數(shù)據(jù)的算術(shù)邏輯運(yùn)算、位變量處理和數(shù)據(jù)傳送操作。(1) 算術(shù)邏輯單元ALU ALU在控制器根據(jù)指令發(fā)出的內(nèi)部信號(hào)控制下,對(duì)8位二進(jìn)制數(shù)據(jù)進(jìn)行加、減、乘、除運(yùn)算和邏輯與、或、非、異或、清零等運(yùn)算。它具有很強(qiáng)的判跳、轉(zhuǎn)移、豐富的數(shù)據(jù)傳送、提供存放中間結(jié)果以及常用數(shù)據(jù)寄存器的功能。MCS-51中位處理具有位處理功能,特別適用
2、于實(shí)時(shí)邏輯控制。(2)累加器ACC累加器ACC是8位寄存器,是最常用的專(zhuān)用寄存器,它既可存放操作數(shù),又可存放運(yùn)算的中間結(jié)果。MCS51系列單片機(jī)中許多指令的操作數(shù)來(lái)自累加器ACC。累加器非常繁忙,在與外部存儲(chǔ)器或I/O接口進(jìn)行數(shù)據(jù)傳送時(shí),都要經(jīng)過(guò)A來(lái)完成。(3)寄存器B寄存器B是8位寄存器,主要用于乘、除運(yùn)算。乘法運(yùn)算時(shí),B中存放乘數(shù),乘法操作后,高8位結(jié)果存于B寄存器中。除法運(yùn)算時(shí),B中存放除數(shù),除法操作后,余數(shù)存于寄存器B中。寄存器B也可作為一般的寄存器用。(4)程序狀態(tài)字PSW程序狀態(tài)字是8位寄存器,用于指示程序運(yùn)行狀態(tài)信息。其中有些位是根據(jù)程序執(zhí)行結(jié)果由硬件自動(dòng)設(shè)置的,而有些位可由用戶(hù)
3、通過(guò)指令方法設(shè)定。PSW中各標(biāo)志位名稱(chēng)及定義如下:位序D7D6D5D4D3D2D1D0位標(biāo)志CYACF0RS1RS0OVPCY(PSW.7):進(jìn)(借)位標(biāo)志位,也是位處理器的位累加器C。在加減運(yùn)算中,若操作結(jié)果的最高位有進(jìn)位或有借位時(shí),CY由硬件自動(dòng)置1,否則清“0”。在位操作中,CY作為位累加器C使用,參于進(jìn)行位傳送、位與、位或等位操作。另外某些控制轉(zhuǎn)移類(lèi)指令也會(huì)影響CY位狀態(tài)(第三章討論)。AC(PSW.6):輔助進(jìn)(借)位標(biāo)志位。在加減運(yùn)算中,當(dāng)操作結(jié)果的低四位向高四位進(jìn)位或借位時(shí)此標(biāo)志位由硬件自動(dòng)置1,否則清“0”。F0(PSW.5):用戶(hù)標(biāo)志位,由用戶(hù)通過(guò)軟件設(shè)定,決定程序的執(zhí)行方式
4、。RS1(PSW.4),RS0(PSW.3):寄存器組選擇位。用于設(shè)定當(dāng)前通用寄存器組的組,其對(duì)應(yīng)關(guān)系如下:RS1RS0寄存器組R0R7地址00組00007H01組1080FH10組21017H11組3181FHOV(PSW.2):溢出標(biāo)志位。它反映運(yùn)算結(jié)果是否溢出,溢出時(shí)OV=1;否則OV=0。OV可作為條件轉(zhuǎn)移指令中的條件。PSW.1:未定義位。P(PSW.1):奇偶標(biāo)志位。P=1,表示ACC中1的個(gè)數(shù)為奇數(shù);否則P=0。P也可以作為條件轉(zhuǎn)移指令中的條件。二 、控制器控制器包括定時(shí)控制邏輯(時(shí)鐘電路、復(fù)位電路),指令寄存器,指令譯碼器程序計(jì)數(shù)器PC,堆棧指針SP,數(shù)據(jù)指針寄存器DPTR以及
5、信息傳送控制部件等。1. 時(shí)鐘電路MCS51系列單片機(jī)芯片內(nèi)部有一個(gè)高增益反相放大器,輸入端為XTAL1,輸出端為XTAL2,一般在XTAL1與XTAL2之間接石英晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器,就是單片機(jī)的內(nèi)部時(shí)鐘電路,如圖(A)所示。時(shí)鐘電路產(chǎn)生的振蕩脈沖經(jīng)過(guò)二分頻以后,才成為單片機(jī)的時(shí)鐘信號(hào)。電容C1和C2為微調(diào)電容,可起頻率穩(wěn)定、微調(diào)作用,一般取值在530pf之間,常取30pf。晶振的頻率范圍是1.2MHz12MHz ,典型值取6 MHz。XTAL1接地,XTAL2接外部震蕩器,外接信號(hào)應(yīng)是高電平持續(xù)時(shí)間大于20ns的方波,且脈沖頻率應(yīng)低于12 MHZ。如圖(B)所
6、示。 (A)內(nèi)部時(shí)鐘電路 (B)外部振蕩源2.復(fù)位電路對(duì)于使用6MHZ的晶振的單片機(jī),復(fù)位信號(hào)持續(xù)時(shí)間應(yīng)超過(guò)4s才能完成復(fù)位操作。產(chǎn)生復(fù)位信號(hào)的電路有上電自動(dòng)復(fù)位電路和按鍵手動(dòng)復(fù)位電路兩種方式。上電自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的電容充電來(lái)實(shí)現(xiàn)的,該電路通過(guò)電容充電在RST引腳上加了一個(gè)高電平完成復(fù)位操作。上電自動(dòng)復(fù)位電路如圖(a)所示。按鍵手動(dòng)復(fù)位電路。按鍵手動(dòng)復(fù)位是通過(guò)按鍵實(shí)現(xiàn)人為的復(fù)位操作,按鍵手動(dòng)復(fù)位電路如圖(b)所示。復(fù)位后內(nèi)部暫存器的狀態(tài)如下:PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0P3FFHS
7、CON00HIP××000000BSBUF不定IE0×000000BPCON0×××0000BTMOD00H3.指令寄存器和指令譯碼器指令寄存器中存放指令代碼,CPU執(zhí)行指令時(shí),由程序存儲(chǔ)器中讀取的指令代碼送入指令存儲(chǔ)器,經(jīng)譯碼器后由定時(shí)與控制電路發(fā)出相應(yīng)的控制信號(hào),完成指令所指定的操作。4.程序計(jì)數(shù)器PCPC是一個(gè)16位計(jì)數(shù)器,其內(nèi)容為單片機(jī)將要執(zhí)行的指令機(jī)器碼所在存儲(chǔ)單元的地址。PC具有自動(dòng)加1的功能,從而實(shí)現(xiàn)程序的順序執(zhí)行。由于PC不可尋址的,因此用戶(hù)無(wú)法對(duì)它直接進(jìn)行讀寫(xiě)操作,但可以通過(guò)轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,以實(shí)現(xiàn)程
8、序的轉(zhuǎn)移。PC的尋址范圍為64KB,即地址空間為00000FFFFH。5堆棧指針SPSP為8位寄存器,用于指示棧頂單元地址。所謂堆棧是一種數(shù)據(jù)結(jié)構(gòu),它只允許在其一端進(jìn)行數(shù)據(jù)刪除和數(shù)據(jù)插入操作的線性表。數(shù)據(jù)寫(xiě)入堆棧叫入棧(PUSH),數(shù)據(jù)讀出堆棧叫出棧(POP)。堆棧的最大特點(diǎn)是“后進(jìn)先出”的數(shù)據(jù)操作原則。MCS-51系統(tǒng)復(fù)位后,SP初始化為07H。6. 數(shù)據(jù)指針DPTR數(shù)據(jù)指針DPTR為16位寄存器,它是MCS51中唯一的一個(gè)16位寄存器。編程時(shí),既可按16位寄存器使用,也可作為兩個(gè)8位寄存器分開(kāi)使用。DPH 為DPTR的高八位寄存器,DPL 為DPTR的低八位寄存器。DPTR通常在訪問(wèn)外部數(shù)
9、據(jù)存儲(chǔ)器時(shí)作為地址指針使用,尋址范圍為64KB。三、存儲(chǔ)單元數(shù)據(jù)傳輸ORG 0000H JMP MAIN ORG 1000H MAIN:MOV R0,#40H MOV R1,#41H MOV R0,#30H MOV R1,#31H MOV 50H,R0 MOV 51H,R1 END由以上觀察結(jié)果容易看出,程序運(yùn)行正確。四、思考題在單片機(jī)最小系統(tǒng)的構(gòu)建中,應(yīng)注意哪些因素?答:EA引腳要接高電平,晶振要離和引腳很近,同時(shí)焊接晶振時(shí)必須快,否則會(huì)燒壞晶振。五、實(shí)驗(yàn)總結(jié) 本實(shí)驗(yàn)我熟悉了單片機(jī)的最小系統(tǒng)板的組成部分,了解了各構(gòu)成單元的工作原理,熟悉Keil C51集成環(huán)境軟件的安裝和使用方法。通過(guò)自己對(duì)
10、單片機(jī)最小系統(tǒng)板的焊接過(guò)程,清楚了在焊接過(guò)程中需要注意的問(wèn)題,在存儲(chǔ)單元數(shù)據(jù)傳輸實(shí)驗(yàn)中,我熟悉MCS51匯編指令,匯編非常方便簡(jiǎn)潔,編程很簡(jiǎn)單。實(shí)驗(yàn)二 跑馬燈實(shí)驗(yàn)及74HC138譯碼器一、實(shí)驗(yàn)原理 參考實(shí)驗(yàn)原理圖如下: (跑馬燈原理圖) 二、流程圖二、 實(shí)驗(yàn)仿真圖三、實(shí)驗(yàn)程序ORG 0000H 程序開(kāi)始 LJMP MAIN 轉(zhuǎn)移到主函數(shù) ORG 0100H MAIN: MOV A,#0feH 主函數(shù)MAIN LOOP:MOV P1,A LCALL DELAY 調(diào)用子函數(shù)DELAY RL A A的內(nèi)容向左環(huán)移1位 MOV P1,A LCALL DELAY JMP LOOP DELAY:MOV R
11、5,#0FFH DELAY子函數(shù) D1:MOV R6,#0FFH D2: DJNZ R6,D2 DJNZ R5,D1 RET END 四、思考題1、在單片機(jī)系統(tǒng)中,74HC138通常用來(lái)產(chǎn)生片選信號(hào),請(qǐng)讀者考慮一下,應(yīng)如何處理?答:74HC138是3-8線譯碼器,有3個(gè)管腳, 2個(gè)接地,一個(gè)高則選中,直接用單片機(jī)的I/O即可。 五、實(shí)驗(yàn)總結(jié)通過(guò)本實(shí)驗(yàn)進(jìn)一步熟悉了集成環(huán)境軟件和熟悉Keil C51集成環(huán)境軟件的使用方法,本實(shí)驗(yàn)中8個(gè)指示燈,循環(huán)點(diǎn)亮,瞬間只有一個(gè)燈亮,跑馬燈具有廣泛的應(yīng)用,例如老虎機(jī)和彩燈都是這個(gè)原理的應(yīng)用,可見(jiàn)本實(shí)驗(yàn)非常實(shí)用。實(shí)驗(yàn)三 8255控制交通燈實(shí)驗(yàn)一、實(shí)驗(yàn)原理二、流程圖
12、三、 實(shí)驗(yàn)仿真圖三、實(shí)驗(yàn)程序WORK_ADR EQU 0003HPA_ADR EQU 0000HORG 0000HLJMP MAINORG 1000HMAIN: MOV SP,#30H MOV DPTR,#WORK_ADR MOV A,#80H ;PA口工作在方式零,且為輸出狀態(tài) MOVX DPTR,A MOV A,#09H MOV DPTR,#PA_ADR MOVX DPTR,A ;東西南北初始化均為紅燈LCALL DELAY1LOOP: CLR A MOV DPTR,#PA_ADR ;南北紅燈,東西綠燈 MOV A,#21H MOVX DPTR,A LCALL DELAY1 MOV R3,
13、#3 ;南北紅燈,東西黃燈閃爍三次LOOP1: MOV A,#11H MOVX DPTR,A CALL DELAY2 MOV A,#01H MOVX DPTR,A CALL DELAY2 DJNZ R3,LOOP1 ;LCALL DELAY1 MOV A,#0CH ;東西紅燈,南北綠燈 MOVX DPTR,A LCALL DELAY1 MOV R3,#3 ;東西紅燈,南北黃燈閃爍三次LOOP2: MOV A,#08H MOVX DPTR,A CALL DELAY2 MOV A,#0AH MOVX DPTR,A CALL DELAY2 DJNZ R3,LOOP2 LJMP LOOPDELAY1:
14、 MOV R5,#100 ;延時(shí)10秒 D0: MOV R6,#100 D1: MOV R7,#248 D2: DJNZ R7,D2 DJNZ R6,D1 DJNZ R5,D0 RETDELAY2: MOV R0,#0FFH D11:MOV R1,#0AAH D22:DJNZ R1,D22 DJNZ R0,D11 RETEND 四、實(shí)驗(yàn)總結(jié)通過(guò)本實(shí)驗(yàn)我了解了8255芯片的工作原理,熟悉了其初始化編程方法以及輸入、輸出程序設(shè)計(jì)技巧,學(xué)會(huì)使用8255并行接口芯片實(shí)現(xiàn)各種控制功能,另外熟悉了8255內(nèi)部結(jié)構(gòu)和與單片機(jī)的接口邏輯并熟悉8255芯片的3種工作方式以及控制字格式。交通燈在日常生活中是非常重
15、要的,可以說(shuō)在城市中交通燈是必不可少的,它對(duì)我們的人身安全很重要,沒(méi)有交通燈城市會(huì)混亂不堪。實(shí)驗(yàn)四 8253方波實(shí)驗(yàn)一、實(shí)驗(yàn)原理參考電路原理圖如下:二、流程圖三、 實(shí)驗(yàn)仿真圖四、實(shí)驗(yàn)程序 ORG 0000H JMP START ORG 000BH LJMP T0INT ORG 0100H ;-; START: ;使用定時(shí)器0產(chǎn)生10000方波 MOV TMOD,#02H MOV TL0,#63H MOV TH0,#00H SETB EA SETB ET0 SETB TR0 ;-; MOV DPTR,#0F3FFH; P2.0,P2.1分別接A0A1 MOV A,#34H; 通道0控制字,先讀寫(xiě)
16、低字節(jié),后高字節(jié),方式2,二進(jìn)制計(jì)數(shù) MOVX DPTR,A MOV DPTR,#0F0FFH ; 對(duì)10KHZ的方波進(jìn)行50分頻10000/50=200 此時(shí)T=0.005S,計(jì)數(shù)初值,N0=50 MOV A,#32H MOVX DPTR,A MOV A,#00H MOVX DPTR,A ;-; MOV DPTR,#0F3FFH; P2.0,P2.1分別接A0A1 MOV A,#76H;通道1控制字,先讀寫(xiě)低字節(jié),后高字節(jié),方式3,二進(jìn)制計(jì)數(shù) MOVX DPTR,A MOV DPTR,#0F1FFH ;對(duì)200HZ的方波進(jìn)行200分頻,此時(shí)T=1S,計(jì)數(shù)初值,N1=200 MOV A,#0C
17、8H MOVX DPTR,A MOV A,#00H MOVX DPTR,A ;-;LED: MOV A,#0feH MOV R5,#2 MOV R2,#8LOOP3:MOV P1,A LCALL DELAY1 RL A MOV P1,A LCALL DELAY1 JMP LOOP3 ; DJNZ R2 ,LOOP3DELAY1: ;通過(guò)R5進(jìn)行參數(shù)傳遞 D0: MOV R6,#2 D1: MOV R7,#200 D2: DJNZ R7,D2 DJNZ R6,D1 DJNZ R5,D0 RET ;-; T0INT: CPL P3.0RETIEND;-;五、實(shí)驗(yàn)總結(jié)通過(guò)本實(shí)驗(yàn)我們了解了8253的內(nèi)
18、部結(jié)構(gòu)、工作原理,了解了8253與單片機(jī)的接口邏輯,熟悉,8253的控制寄存器和初始化編程方法和8253的6種工作模式。本實(shí)驗(yàn)使用8253的計(jì)數(shù)器0和計(jì)數(shù)器1實(shí)現(xiàn)對(duì)輸入時(shí)鐘頻率的兩級(jí)分頻,得到一個(gè)周期為1秒的方波,用此方波控制蜂鳴器,發(fā)出報(bào)警信號(hào),也可以將輸入腳接到邏輯筆上來(lái)檢驗(yàn)程序是否正確。實(shí)驗(yàn)五 繼電器控制/光偶控制實(shí)驗(yàn)一、實(shí)驗(yàn)原理參考電路原理圖如下: (繼電器控制原理圖)二、流程圖三、實(shí)驗(yàn)總結(jié)通過(guò)本實(shí)驗(yàn)了解繼電器的工作原理及應(yīng)用,繼電器在生產(chǎn)及生活中具有重要的作用,自動(dòng)化控制設(shè)備中,存在一個(gè)電子與電氣電路的互連問(wèn)題,一方面,電子電路需要控制電氣電路的執(zhí)行元件,如:電動(dòng)機(jī)、電磁鐵、電燈等;
19、一方面又要為電子電路提供良好的電隔離,以保護(hù)電子電路和人身安全,減少干擾源。繼電器就起這個(gè)橋梁作用。附錄1:SEL1 EQU P3.2SEL2 EQU P3.1WORK_ADR EQU 0300HPA_ADR EQU 0000H ORG 0000H JMP MAIN ORG 000BH LJMP T0INT ORG 0100HMAIN: JNB SEL2,SQUAR;方波程序,流水燈,電機(jī)JNB SEL1,TRAFFIC;交通燈程序JMP MAINTRAFFIC:LCALL MAIN1JMP MAINSQUAR :LCALL MAIN2JMP MAIN ;-8255初始化-;MAIN1: MO
20、V SP,#070H MOV DPTR,#WORK_ADR MOV A,#80H ;PA口工作在方式零,且為輸出狀態(tài) MOVX DPTR,A;-; MOV A,#36H MOV DPTR,#PA_ADR MOVX DPTR,A ;東西南北初始化均為紅燈 MOV R5,#50 LCALL DELAY1LOOP: CLR A MOV DPTR,#PA_ADR ;南北紅燈,東西綠燈 MOV A,#2EH MOVX DPTR,A MOV R5,#50 LCALL DELAY1;-; MOV R3,#3 ;南北紅燈,東西黃燈閃爍三次LOOP1: MOV A,#1EH MOVX DPTR,A CALL D
21、ELAY2 MOV A,#3EH MOVX DPTR,A CALL DELAY2 DJNZ R3,LOOP1 ;-; MOV A,#35H ;東西紅燈,南北綠燈 MOVX DPTR,A MOV R5,#50 LCALL DELAY1 MOV R3,#3 ;東西紅燈,南北黃燈閃爍三次LOOP2: MOV A,#33H MOVX DPTR,A CALL DELAY2 MOV A,#37H MOVX DPTR,A CALL DELAY2 DJNZ R3,LOOP2 RET ;-8253方波、流水燈、繼電器-; MAIN2: NOP NOP NOP MOV TMOD,#02H MOV TL0,#63H MOV TH0,#00H SETB EA SETB ET0 SETB TR0 ;使用定時(shí)器0產(chǎn)生10k方波 ;-; MOV DP
評(píng)論
0/150
提交評(píng)論