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

下載本文檔

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

文檔簡(jiǎn)介

PAGE第1頁(yè)51系列單片機(jī)實(shí)驗(yàn)指導(dǎo)書張自友樂山師院物電系實(shí)驗(yàn)室編印2008年3月第一章實(shí)驗(yàn)系統(tǒng)介紹1.1.系統(tǒng)組成 AEDK5196ET單片機(jī)實(shí)驗(yàn)系統(tǒng)包括:AEDK5196ET實(shí)驗(yàn)系統(tǒng)主板(已插上8032CPU芯片);U5196ETF測(cè)試板(已聯(lián)接60芯短接電纜);9芯標(biāo)準(zhǔn)串行通訊電纜:1根;4芯電源聯(lián)接電纜:1根;40芯仿真聯(lián)接電纜:1根;實(shí)驗(yàn)用線束:20根;外部電源:選配件;AEDK機(jī)電實(shí)驗(yàn)平臺(tái):選配件;系統(tǒng)軟件安裝盤:5張;實(shí)驗(yàn)系統(tǒng)連接如右圖所示:1.2基本實(shí)驗(yàn)項(xiàng)目軟件編程實(shí)驗(yàn),提供MCS-51、MCS-96算術(shù)子程序庫(kù);單片機(jī)本身并行口、串行口、定時(shí)/計(jì)數(shù)器、A/D轉(zhuǎn)換、中斷系統(tǒng)等實(shí)驗(yàn);擴(kuò)展8位存儲(chǔ)器實(shí)驗(yàn);擴(kuò)展簡(jiǎn)單輸入、輸出口實(shí)驗(yàn);擴(kuò)展可編程并行口(8155/8255)實(shí)驗(yàn);擴(kuò)展可編程串行口(8251)實(shí)驗(yàn);擴(kuò)展可編程鍵盤顯示控制器(8279)實(shí)驗(yàn);擴(kuò)展A/D(0809),D/A(0832)轉(zhuǎn)換實(shí)驗(yàn);雙色燈顯示實(shí)驗(yàn)(交通燈);掃描鍵盤,LED數(shù)碼管顯示實(shí)驗(yàn);計(jì)算機(jī)音響實(shí)驗(yàn);繼電器控制實(shí)驗(yàn);步進(jìn)電機(jī),直流電機(jī)控制實(shí)驗(yàn);標(biāo)準(zhǔn)(CENTRONIC)并行打印機(jī)實(shí)驗(yàn);1.3系統(tǒng)快速入門用戶使用本系統(tǒng)進(jìn)行實(shí)驗(yàn)時(shí)一般包括以下步驟: 啟動(dòng)運(yùn)行環(huán)境->編寫實(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è)開關(guān)處于正確位置,打開實(shí)驗(yàn)機(jī)電源。 運(yùn)行LCAET軟件,進(jìn)入調(diào)試環(huán)境。選取主菜單的Options菜單進(jìn)行通訊設(shè)置(串行口、波特率的設(shè)置)和模式設(shè)置(CPU類型、實(shí)驗(yàn)機(jī)狀態(tài)),與實(shí)驗(yàn)機(jī)建立通信聯(lián)系。2.編寫實(shí)驗(yàn)程序 新建文件,保存成.asm(匯編)或者.c(c51)即可。3.調(diào)試 打開源語(yǔ)句調(diào)試窗口并將目標(biāo)碼加載到實(shí)驗(yàn)機(jī)。然后用戶就可以運(yùn)用本系統(tǒng)提供的各種工具和方法進(jìn)行調(diào)試。主要是觀察程序的運(yùn)行是否正常、有無走飛、各主要參數(shù)中間值是否與設(shè)計(jì)吻合。4.進(jìn)行實(shí)驗(yàn);P3.2PULSE+;CS0832-;-F218;VOUT,AGND示波器D_APORTEQU0F218H;0832口地址ORG0000HAJMPSTARTORG0003HAJMPFX0ORG0030HSTART: MOVSP,#60H MOVR1,#1 SETBEX0 SETBIT0 SETBEALOOP: ACALLSCAN SJMPLOOP;方波生成FANGBO: MOVA,#0FFH MOVDPTR,#D_APORT MOVX@DPTR,A ACALLDELAY MOVA,#00H MOVX@DPTR,A ACALLDELAY ACALLSCAN SJMPFANGBO;鋸齒波生成JUCHI:MOVA,#00HMOVDPTR,#D_APORTJ_L:MOVX@DPTR,AINCAJNZJ_LACALLSCANSJMPJUCHI;正弦波生成SINE: MOVR0,#0S_L: MOVDPTR,#TABLE MOVA,R0 MOVCA,@A+DPTR MOVDPTR,#D_APORT MOVX@DPTR,A INCR0 CJNER0,#65,S_L ACALLSCAN SJMPSINE;中斷服務(wù)子程序FX0: INCR1 RETI;按鍵掃描SCAN: CJNER1,#0,N1 AJMPFANGBON1: CJNER1,#1,N2 AJMPSINEN2: CJNER1,#2,N3 AJMPJUCHIN3: MOVR1,#0 RET;延時(shí) DELAY: MOVR7,#80 DJNZR7,$ RET ;正弦波數(shù)據(jù)表TABLE: DB141,153,165,177,188,199,209,218,227,234,241,246,250,254 DB255,256,255,254,251,246,241,235,227,219,209,199,188,177 DB165,153,141,128,116,103,91,79,68,57,47,38,29,22,15,10,6 DB3,1,0,1,2,5,10,15,21,29,37,47,57,67,79,90,103,115,128; END3,鍵盤掃描與數(shù)碼管顯示實(shí)驗(yàn);CS8255F228H;PB0~7LINE1~8(鍵盤列線)已接好;PC0~1KEYIN1~2(鍵盤行線)已接好;PC3~5LEDSA~LEDSC,PC2LEDSELECT(通過短路套已接好);PA0~7LEDA~LEDDP(數(shù)碼管數(shù)據(jù)線通過短路套已接好);C8255EQU0F22BH;8255命令口地址P8255AEQU0F228H;8255PA口地址P8255BEQU0F229H;8255PB口地址P8255CEQU0F22AH;8255PC口地址LED0 DATA50H;顯存區(qū),同時(shí)也是鍵值存放區(qū);ORG0000HAJMPMAINORG0030HMAIN:MOVSP,#60H ;堆棧初始化MOVLED0,#10H;置顯示初始值MOVDPTR,#C8255 ;8255初始化MOVA,#82H;PB口輸入,PA,PC口輸出MOVX@DPTR,A SETB EX0 SETB IT0 ;設(shè)置為邊沿觸發(fā),避免重復(fù)多次觸發(fā) SETB EA;開中斷LOOP:ACALLDISP;顯示子程序ACALL KEYAJMPLOOP;循環(huán)掃描;DISP: MOVDPTR,#P8255C MOVA,#00H ;00000000B,LEDSA~SC,LEDSELECT=0 MOVX@DPTR,A;通過8255C口選種第一個(gè)數(shù)碼管 MOV DPTR,#LEDSEG MOV A,LED0 MOVC A,@A+DPTR;查段選碼 MOVDPTR,#P8255A MOVX@DPTR,A;送段選碼 PUSH1 POP1 NOP;短暫延時(shí) CLRA MOVX@DPTR,A;消除顯示RET;鍵盤掃描子程序KEY: MOVA,#00H;先判斷是否有鍵按下,行線PC0PC1送00MOVDPTR,#P8255CMOVX@DPTR,AMOVDPTR,#P8255BMOVXA,@DPTR;讀列線,讀到0,說明按了鍵CJNEA,#0FFH,KEY_NEXT;判鍵是否按下,有鍵轉(zhuǎn)KEY_NEXT RET;無鍵返回KEY_NEXT: ACALL D10MS ;消除抖動(dòng)MOVA,#02H;鍵盤掃描第一行(輸出行選碼)MOVDPTR,#P8255CMOVX@DPTR,AMOVDPTR,#P8255BMOVXA,@DPTR;讀列線CJNEA,#0FFH,KEY_L0;判鍵是否按下,有鍵轉(zhuǎn)KEY_L0 AJMPKEY_NEXT2;無鍵轉(zhuǎn)第二行KEY_L0:MOVR5,#0;保存行號(hào)AJMPLIE;轉(zhuǎn)列識(shí)別KEY_NEXT2:MOVA,#01H;掃描第二行MOVDPTR,#P8255CMOVX@DPTR,AMOVDPTR,#P8255BMOVXA,@DPTRCJNEA,#0FFH,KEY_L1;判鍵是否按下,有鍵轉(zhuǎn)KEY_L1RET;無鍵轉(zhuǎn)結(jié)束KEY_L1:MOVR5,#1;保存行號(hào)AJMPLIE;轉(zhuǎn)列識(shí)別LIE:MOVR0,#08H;控制循環(huán)移位8次,依次掃描列 MOVR6,#0;保存列號(hào),初值0LIE_LOOP:RRCAJNCCALCINCR6DJNZR0,LIE_LOOPCALC:MOV A,R5;計(jì)算鍵值,行*號(hào)8+列號(hào)RL ARL ARL AADD A,R6MOV LED0,A;將鍵值保存到顯存區(qū)KEYWAIT: MOVDPTR,#P8255B ;等待鍵釋放 MOVXA,@DPTR CJNEA,#0FFH,KEYWAITKEYEXIT:RET;D10MS:MOVR0,#100;延時(shí)10MS子程序D1: MOVR1,#50DJNZR1,$DJNZR0,D1RET;;LED顯示常數(shù)表LEDSEG:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH DB77H,7CH,39H,5EH,79H,71H,00H;END4.8255簡(jiǎn)易數(shù)字鐘;CS8255F228H;PC3~5LEDSA~LEDSC,PC2LEDSELECT(通過短路套已接好);PA0~7LEDA~LEDDP(通過短路套已接好);C8255EQU0F22BH;8255命令口地址P8255AEQU0F228H;8255PA口地址P8255BEQU0F229H;8255PB口地址P8255CEQU0F22AH;8255PC口地址LSL DATA50H;秒個(gè)位LSH DATA51H ;秒十位LLL DATA 52H ;分隔符"-"LMLDATA53H ;分個(gè)位LMHDATA54H ;分十位LLH DATA 55H ;分隔符"-"LHLDATA56H ;時(shí)個(gè)位LHHDATA57H ;時(shí)十位TIME1 DATA 58H ;輔助計(jì)數(shù)變量1TIME2 DATA 59H ;輔助計(jì)數(shù)變量2;ORG0000HAJMPMAINORG 000BHAJMP FT0 ORG0030HMAIN:MOV SP,#60H ACALL INILOOP: ACALLDISP;顯示子程序AJMPLOOP;循環(huán)掃描INI: MOVLSL,#00H;置顯示初始值MOVLSH,#00HMOV LLL,#0AH ;"-"段選碼位于段選碼表中第10個(gè)位置MOVLML,#00HMOVLMH,#00HMOV LLH,#0AH ;"-"MOVLHL,#00HMOVLHH,#00H;初始值00-00-00MOVDPTR,#C8255 ;8255初始化MOVA,#80H;8255PA,PB,PC口輸出MOVX@DPTR,AMOV TMOD,#02H ;定時(shí)器初始化,定時(shí),方式2(8位自動(dòng)重裝初值)MOV TH0,#164 ;100微妙定時(shí)MOV TL0,#164MOV TIME1,#100 ;輔助計(jì)時(shí)變量,讓100us發(fā)生10000次就是1秒MOV TIME2,#100 SETB ET0 SETB EA;開中斷 SETB TR0 ;啟動(dòng)定時(shí)器 RET;顯示子程序DISP: MOV R5,#00H ;存放數(shù)碼管位選碼(00H,08,10H,,,+8) MOV R0,#50H ;第一個(gè)數(shù)碼管顯存地址(50H,51H,52H,,,57H)D_LOOP:MOVDPTR,#P8255C MOVA,R5;數(shù)碼管位選碼 MOVX@DPTR,A;通過8255C口選種第一個(gè)數(shù)碼管 MOV DPTR,#LEDSEG MOV A,@R0 ;送顯示內(nèi)容 MOVC A,@A+DPTR ;查段選碼 MOVDPTR,#P8255A; MOVX@DPTR,A;送出顯示 ACALL DELAY;延時(shí),增加顯示亮度;LED0 MOV A,R5 ADD A,#08H MOV R5,A;回送R5 INC R0 ;變量修正 CJNE R0,#58H,D_LOOP;8個(gè)沒顯示完,繼續(xù)顯示 RET;FT0:;中斷服務(wù)程序 DJNZ TIME1,S0 MOV TIME1,#100 DJNZ TIME2,S0 MOV TIME2,#100 ;統(tǒng)計(jì)100*100次 INC LSL MOV A,LSL CJNE A,#10,S0 MOV LSL,#0 INC LSH MOV A,LSH CJNE A,#6,S0 MOV LSH,#0;秒 INC LML MOV A,LML CJNE A,#10,S0 MOV LML,#0 INC LMH MOV A,LMH CJNE A,#6,S0 MOV LMH,#0;分 INC LHL MOV A,LHL CJNE A,#10,S0 MOV LHL,#0 INC LHH MOV A,LHH MOV B,#10 MUL AB ADD A,LHL;判斷是否到24時(shí),LHH*10+LHL CJNE A,#24,S0 MOV LHH,#0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論