單片機(jī)原理實(shí)驗(yàn)指導(dǎo)書(shū)(張自友.08.3)_第1頁(yè)
單片機(jī)原理實(shí)驗(yàn)指導(dǎo)書(shū)(張自友.08.3)_第2頁(yè)
單片機(jī)原理實(shí)驗(yàn)指導(dǎo)書(shū)(張自友.08.3)_第3頁(yè)
單片機(jī)原理實(shí)驗(yàn)指導(dǎo)書(shū)(張自友.08.3)_第4頁(yè)
單片機(jī)原理實(shí)驗(yàn)指導(dǎo)書(shū)(張自友.08.3)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、51系列單片機(jī)實(shí)驗(yàn)指導(dǎo)書(shū) 自友師院物電系實(shí)驗(yàn)室編印2008年3月第一章 實(shí)驗(yàn)系統(tǒng)介紹1.1. 系統(tǒng)組成AEDK5196ET單片機(jī)實(shí)驗(yàn)系統(tǒng)包括:1. AEDK5196ET實(shí)驗(yàn)系統(tǒng)主板(已插上8032CPU芯片);2. U5196ETF測(cè)試板(已聯(lián)接60芯短接電纜);3. 9芯標(biāo)準(zhǔn)串行通訊電纜:1根;4. 4芯電源聯(lián)接電纜:1根;5. 40芯仿真聯(lián)接電纜:1根;6. 實(shí)驗(yàn)用線束:20根;7. 外部電源:選配件;8. AEDK機(jī)電實(shí)驗(yàn)平臺(tái):選配件;9. 系統(tǒng)軟件安裝盤(pán):5;實(shí)驗(yàn)系統(tǒng)連接如右圖所示:1.2 基本實(shí)驗(yàn)項(xiàng)目1. 軟件編程實(shí)驗(yàn),提供MCS-51、MCS-96算術(shù)子程序庫(kù);2. 單片機(jī)本身并行

2、口、串行口、定時(shí)/計(jì)數(shù)器、A/D轉(zhuǎn)換、中斷系統(tǒng)等實(shí)驗(yàn);3. 擴(kuò)展8位存儲(chǔ)器實(shí)驗(yàn);4. 擴(kuò)展簡(jiǎn)單輸入、輸出口實(shí)驗(yàn);5. 擴(kuò)展可編程并行口(8155/8255)實(shí)驗(yàn);6. 擴(kuò)展可編程串行口(8251)實(shí)驗(yàn);7. 擴(kuò)展可編程鍵盤(pán)顯示控制器(8279)實(shí)驗(yàn);8. 擴(kuò)展A/D(0809),D/A(0832)轉(zhuǎn)換實(shí)驗(yàn);9. 雙色燈顯示實(shí)驗(yàn)(交通燈);10. 掃描鍵盤(pán),LED數(shù)碼管顯示實(shí)驗(yàn);11. 計(jì)算機(jī)音響實(shí)驗(yàn);12. 繼電器控制實(shí)驗(yàn);13. 步進(jìn)電機(jī),直流電機(jī)控制實(shí)驗(yàn);14. 標(biāo)準(zhǔn)(CENTRONIC)并行打印機(jī)實(shí)驗(yàn);1.3 系統(tǒng)快速入門(mén)用戶(hù)使用本系統(tǒng)進(jìn)行實(shí)驗(yàn)時(shí)一般包括以下步驟:啟動(dòng)運(yùn)行環(huán)境->編

3、寫(xiě)實(shí)驗(yàn)程序->調(diào)試實(shí)驗(yàn)程序->進(jìn)行實(shí)驗(yàn)1啟動(dòng)運(yùn)行環(huán)境 正確連接實(shí)驗(yàn)系統(tǒng),確認(rèn)各個(gè)開(kāi)關(guān)處于正確位置,打開(kāi)實(shí)驗(yàn)機(jī)電源。運(yùn)行LCAET軟件,進(jìn)入調(diào)試環(huán)境。選取主菜單的Options菜單進(jìn)行通訊設(shè)置(串行口、波特率的設(shè)置)和模式設(shè)置(CPU類(lèi)型、實(shí)驗(yàn)機(jī)狀態(tài)),與實(shí)驗(yàn)機(jī)建立通信聯(lián)系。2.編寫(xiě)實(shí)驗(yàn)程序 新建文件,保存成.asm(匯編)或者.c(c51)即可。3.調(diào)試 打開(kāi)源語(yǔ)句調(diào)試窗口并將目標(biāo)碼加載到實(shí)驗(yàn)機(jī)。然后用戶(hù)就可以運(yùn)用本系統(tǒng)提供的各種工具和方法進(jìn)行調(diào)試。主要是觀察程序的運(yùn)行是否正常、有無(wú)走飛、各主要參數(shù)中間值是否與設(shè)計(jì)吻合。4.進(jìn)行實(shí)驗(yàn)根據(jù)實(shí)驗(yàn)有關(guān)說(shuō)明和用戶(hù)編制的程序,完成連線(最好先

4、關(guān)閉實(shí)驗(yàn)機(jī)電源,再進(jìn)行)。通過(guò)調(diào)試軟件加載、運(yùn)行程序,觀察實(shí)驗(yàn)有關(guān)現(xiàn)象。若現(xiàn)象與設(shè)計(jì)不符,則返回第三步,重新進(jìn)行。14 其它 未盡事宜,請(qǐng)查看系統(tǒng)軟件幫助文擋。第二章 MCS51系列單片機(jī)實(shí)驗(yàn)實(shí)驗(yàn)一 I/O口輸入輸出實(shí)驗(yàn)任務(wù):1,實(shí)現(xiàn)用p1口輸出控制發(fā)光二極管亮滅和延時(shí)閃爍、左右移動(dòng)等。 2,實(shí)現(xiàn)用撥動(dòng)開(kāi)關(guān)K0K7控制控制發(fā)光二極管L0L7。實(shí)驗(yàn)二 定時(shí)器及中斷實(shí)驗(yàn)任務(wù):1,實(shí)現(xiàn)計(jì)數(shù)實(shí)驗(yàn),如果按鍵5次則點(diǎn)亮發(fā)光二極管。 2,實(shí)現(xiàn)3秒和5秒定時(shí),并用此信號(hào)控制交通燈。 3,外部中斷實(shí)驗(yàn):按下按鍵時(shí),停止發(fā)光二極管的閃爍。實(shí)驗(yàn)三 串口應(yīng)用實(shí)驗(yàn)任務(wù):1,串并轉(zhuǎn)換實(shí)驗(yàn) 2串口通信實(shí)驗(yàn)實(shí)驗(yàn)四 c51編程

5、實(shí)驗(yàn)任務(wù):1,控制L0L7左右移動(dòng)閃爍。 2,對(duì)10次ad采樣結(jié)果排序,輸出其平均值說(shuō)明:1。本指導(dǎo)書(shū)不直接提供實(shí)驗(yàn)源代碼,請(qǐng)實(shí)驗(yàn)前先自己根據(jù)實(shí)驗(yàn)任務(wù)編寫(xiě)實(shí)驗(yàn)程序。 2基本實(shí)驗(yàn)任務(wù)完成后,有時(shí)間可自己把附錄的綜合設(shè)計(jì)實(shí)驗(yàn)調(diào)試。附錄:綜合設(shè)計(jì)實(shí)驗(yàn)參考1AD轉(zhuǎn)換實(shí)驗(yàn),用中斷方法讀結(jié)果,并在數(shù)碼管上顯示;CS8255-F228H,CS0809-F230H,P3.2-EOC,IN0-05V(硬件連線);PC35-LEDSALEDSC,PC2-LEDSELECT(通過(guò)短路套接好);PA07-LEDALEDDP(通過(guò)短路套接好);-符號(hào)定義-C8255 EQU 0F22BH ;8255命令口地址P8255

6、A EQU 0F228H ;8255 PA口地址P8255B EQU 0F229H ;8255 PB口地址P8255C EQU 0F22AH ;8255 PC口地址C0809 EQU0F230H;ADC0809片選信號(hào)LED0 DATA 50H ;顯存區(qū)LED1 DATA 51HLED2 DATA 52H;-主程序- ORG 0000H AJMP MAIN ORG 0003H AJMP FX0 ORG 0030HMAIN: MOV SP,#60H MOV LED0,#00H ;置顯示初始值 MOV LED1,#00H MOV LED2,#00H MOV DPTR,#C8255;8255初始化

7、MOV A,#80H ;8255 PA,PB,PC口輸出 MOVX DPTR,A CLRIT0 SETBEX0SETB EA ;開(kāi)中斷 MOVDPTR,#C0809 MOVXDPTR,A ;啟動(dòng)AD轉(zhuǎn)換LOOP: ACALL DISP ;顯示子程序 AJMP LOOP ;主循環(huán);-8255驅(qū)動(dòng)數(shù)碼管顯示子程序- DISP: MOV DPTR,#P8255C MOV A,#00H MOVX DPTR,A ;通過(guò)8255C口選種第一個(gè)數(shù)碼管MOVDPTR,#LEDSEGMOV A,LED0MOVC A,A+DPTRMOV DPTR,#P8255A ;顯示鍵值 MOVX DPTR,A ;送顯示段選碼

8、ACALLDELAY ;延時(shí),增加顯示亮度 CLR A;帶了鎖存器,送下一個(gè)數(shù)據(jù)前將數(shù)據(jù)撤消MOVXDPTR,AMOV DPTR,#P8255C MOV A,#08H MOVX DPTR,A ;通過(guò)8255C口選種第二個(gè)數(shù)碼管MOVDPTR,#LEDSEGMOV A,LED1MOVC A,A+DPTRMOV DPTR,#P8255A ;顯示鍵值 MOVX DPTR,A ;送顯示段選碼ACALLDELAYCLRAMOVXDPTR,AMOV DPTR,#P8255C MOV A,#10H MOVX DPTR,A ;通過(guò)8255C口選種第三個(gè)數(shù)碼管MOVDPTR,#LEDSEGMOV A,LED2M

9、OVC A,A+DPTRORLA,#80H ;加個(gè)小數(shù)點(diǎn)在最高位后面MOV DPTR,#P8255A ;顯示鍵值 MOVX DPTR,A ;送顯示段選碼ACALLDELAYCLRAMOVXDPTR,A RET;- ;中斷服務(wù)程序- FX0: MOV DPTR,#C0809MOVXA,DPTR ;讀轉(zhuǎn)換結(jié)果MOVB,#5MULAB;相乘結(jié)果為16位,再右移8位,則B剛好為整數(shù)部分MOVLED2,BMOVB,#10MULAB ;小數(shù)部分放大10倍MOVLED1,BMOV B,#10MULABMOV LED0,BFX0_RET:MOVDPTR,#C0809MOVXDPTR,A ;啟動(dòng)AD下一次轉(zhuǎn)換R

10、ETI;-延時(shí)子程序-DELAY:MOV R7,#5DJNZ R7,$RET;- LED顯示常數(shù)表- LEDSEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;- END2簡(jiǎn)易函數(shù)信號(hào)發(fā)生器,通過(guò)按PULSE+鍵,切換波形輸出;P3.2-PULSE+;CS0832-;-F218;VOUT,AGND-示波器D_APORT EQU 0F218H ;0832 口地址 ORG 0000H AJMP START ORG 0003H AJMP FX0 ORG 0030HSTART: MOV SP,#60H MOV R1,#1 SETB EX0 SETB IT0

11、SETB EALOOP: ACALL SCAN SJMP LOOP;-方波生成-FANGBO:MOV A,#0FFHMOV DPTR,#D_APORTMOVX DPTR,AACALL DELAYMOV A,#00HMOVX DPTR,AACALL DELAYACALL SCANSJMP FANGBO;-鋸齒波生成-JUCHI: MOV A,#00H MOV DPTR,#D_APORTJ_L: MOVX DPTR,A INC A JNZ J_L ACALL SCAN SJMP JUCHI;-正弦波生成-SINE:MOV R0,#0S_L:MOV DPTR,#TABLE MOV A,R0MOVC

12、A,A+DPTRMOV DPTR,#D_APORTMOVX DPTR,AINC R0CJNE R0,#65,S_LACALL SCANSJMP SINE;-中斷服務(wù)子程序-FX0:INC R1RETI;-按鍵掃描-SCAN:CJNE R1,#0,N1AJMP FANGBON1:CJNE R1,#1,N2AJMP SINEN2:CJNE R1,#2,N3AJMP JUCHIN3:MOV R1,#0RET;-延時(shí)-DELAY:MOV R7,#80DJNZ R7,$RET;-正弦波數(shù)據(jù)表-TABLE:DB 141,153,165,177,188,199,209,218,227,234,241,246

13、,250,254DB 255,256,255,254,251,246,241,235,227,219,209,199,188,177DB 165,153,141,128,116,103,91,79,68,57,47,38,29,22,15,10,6DB 3,1,0,1,2,5,10,15,21,29,37,47,57,67,79,90,103,115,128 ;-END3,鍵盤(pán)掃描與數(shù)碼管顯示實(shí)驗(yàn);CS8255-F228H ;PB07-LINE18 (鍵盤(pán)列線)已接好;PC01-KEYIN12(鍵盤(pán)行線)已接好;PC35-LEDSALEDSC,PC2-LEDSELECT(通過(guò)短路套已接好);P

14、A07-LEDALEDDP(數(shù)碼管數(shù)據(jù)線 通過(guò)短路套已接好);-C8255 EQU 0F22BH ;8255命令口地址P8255A EQU 0F228H ;8255 PA口地址P8255B EQU 0F229H ;8255 PB口地址P8255C EQU 0F22AH ;8255 PC口地址LED0 DATA 50H ;顯存區(qū),同時(shí)也是鍵值存放區(qū);- ORG 0000H AJMP MAIN ORG 0030HMAIN: MOV SP,#60H ;堆棧初始化 MOV LED0,#10H ;置顯示初始值 MOV DPTR,#C8255;8255初始化 MOV A,#82H ;PB口輸入,PA,PC

15、口輸出 MOVX DPTR,A SETBEX0 SETB IT0 ;設(shè)置為邊沿觸發(fā),避免重復(fù)多次觸發(fā)SETB EA ;開(kāi)中斷LOOP: ACALL DISP ;顯示子程序 ACALL KEY AJMP LOOP ;循環(huán)掃描;- DISP: MOV DPTR,#P8255C MOV A,#00H ;00000000B,LEDSASC,LEDSELECT =0 MOVX DPTR,A ;通過(guò)8255C口選種第一個(gè)數(shù)碼管MOVDPTR,#LEDSEGMOV A,LED0MOVC A,A+DPTR ;查段選碼MOV DPTR,#P8255A MOVX DPTR,A ;送段選碼PUSH 1POP 1NO

16、P ;短暫延時(shí)CLR AMOVX DPTR,A ;消除顯示 RET; -鍵盤(pán)掃描子程序- KEY:MOV A,#00H ;先判斷是否有鍵按下,行線PC0PC1送00 MOV DPTR,#P8255C MOVX DPTR,A MOV DPTR,#P8255B MOVX A,DPTR ;讀列線,讀到0,說(shuō)明按了鍵 CJNE A,#0FFH,KEY_NEXT ;判鍵是否按下,有鍵轉(zhuǎn)KEY_NEXT RET ;無(wú)鍵返回 KEY_NEXT: ACALL D10MS;消除抖動(dòng) MOV A,#02H ;鍵盤(pán)掃描第一行(輸出行選碼) MOV DPTR,#P8255C MOVX DPTR,A MOV DPTR,

17、#P8255B MOVX A,DPTR ;讀列線 CJNE A,#0FFH,KEY_L0 ;判鍵是否按下,有鍵轉(zhuǎn)KEY_L0 AJMP KEY_NEXT2 ;無(wú)鍵轉(zhuǎn)第二行 KEY_L0: MOV R5,#0 ;保存行號(hào) AJMP LIE ;轉(zhuǎn)列識(shí)別 KEY_NEXT2: MOV A,#01H ;掃描第二行 MOV DPTR,#P8255C MOVX DPTR,A MOV DPTR,#P8255B MOVX A,DPTR CJNE A,#0FFH,KEY_L1;判鍵是否按下,有鍵轉(zhuǎn)KEY_L1 RET ;無(wú)鍵轉(zhuǎn)結(jié)束KEY_L1: MOV R5,#1 ;保存行號(hào) AJMP LIE ;轉(zhuǎn)列識(shí)別 LI

18、E: MOV R0,#08H ;控制循環(huán)移位8次,依次掃描列 MOV R6,#0 ;保存列號(hào),初值0LIE_LOOP: RRC A JNC CALC INC R6 DJNZ R0,LIE_LOOPCALC: MOVA,R5 ;計(jì)算鍵值,行*號(hào)8+列號(hào) RLA RLA RLA ADDA,R6 MOV LED0,A ;將鍵值保存到顯存區(qū)KEYWAIT:MOV DPTR,#P8255B;等待鍵釋放MOVX A,DPTR CJNE A,#0FFH,KEYWAIT KEYEXIT:RET ;- D10MS: MOV R0,#100 ;延時(shí)10MS子程序D1: MOV R1,#50 DJNZ R1,$ D

19、JNZ R0,D1 RET ;- ;LED顯示常數(shù)表LEDSEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDB 77H,7CH,39H,5EH,79H,71H,00H;- END48255簡(jiǎn)易數(shù)字鐘;CS8255-F228H ;PC35-LEDSALEDSC,PC2-LEDSELECT(通過(guò)短路套已接好);PA07-LEDALEDDP(通過(guò)短路套已接好);-C8255 EQU 0F22BH ;8255命令口地址P8255A EQU 0F228H ;8255 PA口地址P8255B EQU 0F229H ;8255 PB口地址P8255C EQU 0

20、F22AH ;8255 PC口地址LSL DATA 50H ;秒個(gè)位 LSH DATA 51H;秒十位LLLDATA 52H;分隔符 "-"LML DATA 53H;分個(gè)位LMH DATA 54H;分十位LLHDATA 55H;分隔符 "-"LHL DATA 56H;時(shí)個(gè)位LHH DATA 57H;時(shí)十位TIME1DATA 58H;輔助計(jì)數(shù)變量1TIME2DATA 59H;輔助計(jì)數(shù)變量2;- ORG 0000H AJMP MAIN ORG000BH AJMPFT0 ORG 0030HMAIN: MOV SP,#60H ACALL INILOOP: ACA

21、LL DISP ;顯示子程序 AJMP LOOP ;循環(huán)掃描INI: MOV LSL,#00H ;置顯示初始值 MOV LSH,#00H MOVLLL,#0AH ;"-"段選碼位于段選碼表中第10個(gè)位置 MOV LML,#00H MOV LMH,#00H MOVLLH,#0AH ;"-" MOV LHL,#00H MOV LHH,#00H ;初始值00-00-00 MOV DPTR,#C8255;8255初始化 MOV A,#80H ;8255 PA,PB,PC口輸出 MOVX DPTR,A MOVTMOD,#02H;定時(shí)器初始化,定時(shí),方式2(8位自動(dòng)

22、重裝初值) MOV TH0,#164;100微妙定時(shí) MOV TL0,#164 MOVTIME1,#100;輔助計(jì)時(shí)變量,讓100us發(fā)生10000次就是1秒 MOV TIME2,#100 SETBET0 SETB EA ;開(kāi)中斷 SETB TR0 ;啟動(dòng)定時(shí)器 RET;-顯示子程序- DISP: MOVR5,#00H;存放數(shù)碼管位選碼(00H,08,10H,+8)MOVR0,#50H ;第一個(gè)數(shù)碼管顯存地址(50H,51H,52H,57H)D_LOOP: MOV DPTR,#P8255C MOV A,R5 ;數(shù)碼管位選碼 MOVX DPTR,A ;通過(guò)8255C口選種第一個(gè)數(shù)碼管MOVDPT

23、R,#LEDSEGMOV A,R0 ;送顯示容MOVC A,A+DPTR;查段選碼MOV DPTR,#P8255A ; MOVX DPTR,A ;送出顯示ACALLDELAY ;延時(shí),增加顯示亮度 ; LED0MOVA,R5ADDA,#08HMOVR5,A ;回送R5INCR0;變量修正 CJNER0,#58H,D_LOOP ;8個(gè)沒(méi)顯示完,繼續(xù)顯示RET;- FT0: ;中斷服務(wù)程序DJNZ TIME1,S0MOV TIME1,#100DJNZ TIME2,S0MOV TIME2,#100;統(tǒng)計(jì)100*100次INC LSLMOV A,LSLCJNE A,#10,S0MOV LSL,#0INC LSHMOV A,LSHCJNE A,#6,S0MOV LSH,#0 ;秒INC LMLMOV A,LMLCJNE A,#10,S0MOV LML,#0IN

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論