




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Mcs51系列單片機(jī)實(shí)訓(xùn)指導(dǎo)書(shū)軟件實(shí)驗(yàn)實(shí)驗(yàn)一數(shù)據(jù)傳送(RAM>XRAM)一、實(shí)驗(yàn)?zāi)康氖煜ば茄屑森h(huán)境軟件或熟悉Keil C51集成環(huán)境軟件的使用方法。熟悉MCS51匯編指令,能自己編寫(xiě)簡(jiǎn)單的程序,掌握數(shù)據(jù)傳輸?shù)姆椒ā6?、?shí)驗(yàn)內(nèi)容1、熟悉星研集成環(huán)境軟件或熟悉Keil C51集成環(huán)境軟件的安裝和使用方法。2、編寫(xiě)程序,實(shí)現(xiàn)內(nèi)外部數(shù)據(jù)段的傳送、校驗(yàn)。三、程序框圖四、實(shí)驗(yàn)步驟在內(nèi)部RAM 30H 3FH中輸入數(shù)據(jù);使用單步、斷點(diǎn)方式調(diào)試程序,檢測(cè)外部數(shù)據(jù)RAM的1000H 100FH中的內(nèi)容。熟悉查看特殊功能寄存器、內(nèi)部數(shù)據(jù)RAM、外部數(shù)據(jù)空間的各種方法。五、程序清單;將內(nèi)部RAM Addre
2、ss1 開(kāi)始的16個(gè)字節(jié)送到外部RAM從Address2開(kāi)始的單元里,再作比較。Address1DATA30HAddress2XDATA1000HORG0000HLJMPSTARORG0100HSTAR:MOVSP,#60HMOVR0,#Address1MOVDPTR,#Address2MOVR7,#10HSTAR1:MOVA,R0;傳送MOVXDPTR,AINCR0INCDPTRDJNZR7,STAR1MOVR0,#Address1MOVDPTR,#Address2MOVR7,#10HSTAR2:MOVB,R0;比較MOVXA,DPTRCJNEA,B,STAR3INCR0INCDPTRDJN
3、ZR7,STAR2SJMP$;傳送正確STAR3:SJMP$;傳送錯(cuò)誤END如果讀者使用星研集成環(huán)境軟件,請(qǐng)考慮以下問(wèn)題:1、運(yùn)行程序前,打開(kāi)變量窗、二個(gè)存貯器窗(一個(gè)選擇片內(nèi)數(shù)據(jù);一個(gè)選擇片外數(shù)據(jù),起始地址選擇1000H),每個(gè)存貯器窗有四個(gè)標(biāo)簽,有何好處?;2、使用單步進(jìn)入命令,運(yùn)行到第十四行后,運(yùn)行過(guò)程中變量窗有何變化?將鼠標(biāo)停留在A、SP、R0、DPTR上一秒后,出現(xiàn)什么?,它與變量窗使用場(chǎng)合的區(qū)別?3、將光標(biāo)移到第十四行上,使用運(yùn)行到光標(biāo)處命令,觀察運(yùn)行結(jié)果,體會(huì)它與單步進(jìn)入命令的不同處。4、在二十行上,設(shè)置一個(gè)斷點(diǎn),使用全速斷點(diǎn)命令運(yùn)行幾次,觀察運(yùn)行結(jié)果,它與運(yùn)行到光標(biāo)處命令有何區(qū)
4、別?5、使用全速運(yùn)行命令,稍后,點(diǎn)擊工具條上停止運(yùn)行命令按鈕,當(dāng)前執(zhí)行箭頭停在哪一行?運(yùn)行結(jié)果是否正確?它與全速斷點(diǎn)運(yùn)行命令有何區(qū)別?6、觀察寄存器,有哪幾種方法?1)在工作區(qū)窗的通用寄存器標(biāo)簽視中;2)變量窗3)鼠標(biāo)停留在寄存器上4)觀察窗 5)寄存器窗7、查看CPU內(nèi)部數(shù)據(jù)RAM、CPU片外數(shù)據(jù)RAM:1)存貯器窗 2)變量窗 3)鼠標(biāo)停留在CPU內(nèi)部數(shù)據(jù)RAM、CPU片外數(shù)據(jù)RAM的地址、R0、DPTR上六、思考題 編寫(xiě)一個(gè)程序,將外部數(shù)據(jù)RAM中的數(shù)據(jù)傳送到內(nèi)部數(shù)據(jù)RAM中。 實(shí)驗(yàn)二 雙字節(jié)BCD碼(十進(jìn)制數(shù))加法一、實(shí)驗(yàn)?zāi)康氖煜?1匯編指令,學(xué)會(huì)使用星研集成環(huán)境軟件,能自己編寫(xiě)簡(jiǎn)單的
5、程序,熟悉BCD碼,了解如何調(diào)用系統(tǒng)提供的子程序。二、實(shí)驗(yàn)內(nèi)容從鍵盤(pán)上輸入4位被加數(shù)、加數(shù),實(shí)現(xiàn)雙字節(jié)BCD碼(四位數(shù))的加法,結(jié)果顯示在數(shù)碼管上;熟悉使用斷點(diǎn)、單步進(jìn)入、單步、運(yùn)行到光標(biāo)處、修改PC指針、全速運(yùn)行等各種調(diào)試手段;熟悉查看特殊功能寄存器、內(nèi)部數(shù)據(jù)RAM、外部數(shù)據(jù)空間的各種方法。三、實(shí)驗(yàn)框圖四、實(shí)驗(yàn)步驟1、連線說(shuō)明:D3區(qū) :CLKB2區(qū):2MD3區(qū) :CSA3區(qū):CS5D3區(qū) :A0A3區(qū):A02、在F4區(qū)的鍵盤(pán)上輸入4位被加數(shù)、加數(shù)3、結(jié)果顯示在F4區(qū)的數(shù)碼管上五、程序清單EXTRNCODE(Display8, GetBCDKey)BufferDATA30H;8字節(jié)顯示緩沖區(qū)
6、F1BIT0D1H;PSW.1ORG0000HLJMPSTARTORG0100HSTART:MOVSP,#60HCLRF1;先清除顯示,再接收鍵輸入START1:MOVR0,#bufferMOVA,#4;按鍵次數(shù)LCALLGetBCDKey;得到雙字節(jié)十進(jìn)制數(shù)(被加數(shù))SETBF1;接收到第一個(gè)鍵,才清除顯示MOVR0,#buffer+4MOVA,#4;按鍵次數(shù)LCALLGetBCDKey;得到雙字節(jié)十進(jìn)制數(shù)(加數(shù))MOVA,buffer+1ADDA,buffer+5DAAMOVbuffer+5,AMOVA,bufferADDCA,buffer+4DAAMOVbuffer+4,ACLRARLC
7、ADisplay:PUSHACC;顯示結(jié)果MOVR0,#bufferMOVA,buffer+5;低位ACALLB1toB2;壓縮BCD碼轉(zhuǎn)換成非壓縮BCD碼MOVA,buffer+4;高位ACALLB1toB2POPACC;進(jìn)位ACALLB1toB2MOVR0,#10H;最高二位消隱INCR0MOVR0,#10HMOVR0,#buffer+5MOVR7,#5ACALLBlackDisplay;將高位0消隱MOVR0,#bufferLCALLDisplay8SJMPSTART1;將一個(gè)字節(jié)壓縮BCD碼轉(zhuǎn)換成二個(gè)字節(jié)非壓縮BCD碼B1toB2:PUSHACCANLA,#0FHMOVR0,AINCR
8、0POPACCANLA,#0F0HSWAPAMOVR0,AINCR0RETBlackDisplay:MOVA,R0;將高位0消隱JNZExitMOVA,#10HMOVR0,ADECR0DJNZR7,BlackDisplayExit:RETEND實(shí)驗(yàn)三冒泡排序一、實(shí)驗(yàn)?zāi)康氖煜な褂肕CS51指令,掌握匯編語(yǔ)言的設(shè)計(jì)和調(diào)試方法,了解如何使用高效方法對(duì)數(shù)據(jù)排序。二、實(shí)驗(yàn)內(nèi)容編寫(xiě)并調(diào)試一個(gè)排序程序,要求使用冒泡法將一組數(shù)據(jù)從小到大重新排列。三、程序框圖四、實(shí)驗(yàn)步驟使用斷點(diǎn)方式調(diào)試程序,檢查內(nèi)部RAM 30H3FH中數(shù)據(jù)是否按從小到大的順序排列。五、程序清單bSortBITF0ORG0000HLJMPST
9、ARORG0100HSTAR:MOVSP,#60H;堆棧MOVR0,#30H;存放待排序數(shù)據(jù)的首地址MOVR7,#16;數(shù)據(jù)個(gè)數(shù)MOVDPTR,#TAB_1STAR1:CLRAMOVCA,A+DPTRMOVR0,A;將數(shù)據(jù)移入內(nèi)部RAM中INCR0INCDPTRDJNZR7,STAR1MOVR7,#16-1;存放比較次數(shù)STAR2:PUSH07HMOVR0,#30H;存放啟始地址CLRbSortMOVR1,00HINCR1MOVA,R0STAR3:MOVB,AMOVA,R1CJNEA,B,$+3JNCSTAR5XCHA,R0MOVR1,ASETBbSortSTAR5:INCR0INCR1DJN
10、ZR7,STAR3POP07HJNBbSort,ExitDECR7SJMPSTAR2Exit:SJMP$TAB_1:DB 0H,5H,6H,3H,8H,92H,04H,57H,46H,01H,0FFH,0A0H,45H,99H,55H,66HEND六、思考題你還知道哪些排序方法?另外編寫(xiě)一個(gè)排序子程序。(數(shù)據(jù)結(jié)構(gòu)方面的教材上有十幾種排序方法)。實(shí)驗(yàn)四 電子鐘(定時(shí)器、中斷綜合實(shí)驗(yàn))一、實(shí)驗(yàn)?zāi)康氖煜CS51類(lèi)CPU的定時(shí)器、中斷系統(tǒng)編程方法,了解定時(shí)器的應(yīng)用、實(shí)時(shí)程序的設(shè)計(jì)和調(diào)試技巧。二、實(shí)驗(yàn)內(nèi)容編寫(xiě)一個(gè)時(shí)鐘程序,產(chǎn)生一個(gè)50ms的定時(shí)中斷,對(duì)定時(shí)中斷計(jì)數(shù),將時(shí)、分、秒顯示在數(shù)碼管上。三、程序
11、框圖四、實(shí)驗(yàn)步驟1、連線說(shuō)明:D3區(qū) :CLKB2區(qū):2MD3區(qū) :CSA3區(qū):CS5D3區(qū) :A0A3區(qū):A02、時(shí)間顯示在數(shù)碼管上五、程序清單ms50DATA31H;存放多少個(gè)50mssecDATA32H;秒minDATA33H;分hourDATA34H;時(shí)bufferDATA35H;顯示緩沖區(qū)EXTRNCODE(Display8)ORG0000HLJMPSTARORG000BH;定時(shí)器T0中斷處理入口地址LJMPINT_Timer0ORG0100HSTAR:MOVSP,#60H;堆棧MOVms50,A;清零ms50MOVhour,#12;設(shè)定初值: 12:59:50MOVmin,#59M
12、OVsec,#50MOVTH0,#60;定時(shí)中斷計(jì)數(shù)器初值MOVTL0,#176;定時(shí)50msMOVTMOD,#1;定時(shí)器0:方式一MOVIE,#82H;允許定時(shí)器0中斷SETBTR0;開(kāi)定時(shí)器T0STAR1:LCALLDisplay;調(diào)用顯示JNBF0,$CLRF0SJMPSTAR1;需要重新顯示時(shí)間;中斷服務(wù)程序INT_Timer0:MOVTL0,#176-5MOVTH0,#60PUSH01HMOVR1,#ms50INCR1;50ms單元加1CJNER1,#20,ExitIntMOVR1,#0;恢復(fù)初值INCR1INCR1;秒加1CJNER1,#60,ExitInt1MOVR1,#0INC
13、R1INCR1;分加1CJNER1,#60,ExitInt1MOVR1,#0INCR1INCR1;時(shí)加1CJNER1,#24,ExitInt1MOVR1,#0ExitInt1:SETBF0ExitInt:POP01HRETIHexToBCD:MOVB,#10DIVABMOVR0,BINCR0MOVR0,AINCR0RETDisplay:MOVR0,#bufferMOVA,secACALLHexToBCDMOVR0,#10H;第三位不顯示INCR0MOVA,minACALLHexToBCDMOVR0,#10H;第六位不顯示INCR0MOVA,hourACALLHexToBCDMOVR0,#buf
14、ferLCALLDisplay8RETEND六、思考題1、電子鐘走時(shí)精度與哪些有關(guān)系?中斷程序中給TL0賦值為什么與初始化程序中不一樣?2、使用定時(shí)器方式二,重新編寫(xiě)程序。 實(shí)驗(yàn)五 頻率計(jì)(定時(shí)器、計(jì)數(shù)器、中斷綜合實(shí)驗(yàn))一、實(shí)驗(yàn)?zāi)康氖煜CS51類(lèi)CPU的定時(shí)器、計(jì)數(shù)器、中斷系統(tǒng)編程方法,了解定時(shí)器、計(jì)數(shù)器的應(yīng)用、實(shí)時(shí)程序的設(shè)計(jì)和調(diào)試技巧。二、實(shí)驗(yàn)內(nèi)容使用定時(shí)器0產(chǎn)生定時(shí),使用計(jì)數(shù)器1計(jì)數(shù)外部脈沖,用P3.5測(cè)量信號(hào)頻率(最大不能超過(guò)0.5MHZ),將頻率值顯示在數(shù)碼管上。三、程序框圖四、實(shí)驗(yàn)步驟1、連線說(shuō)明:D3區(qū) :CLKB2區(qū):2MD3區(qū) :CSA3區(qū):CS5D3區(qū) :A0A3區(qū):A02
15、、將導(dǎo)線的一頭插入A3區(qū)的T1(P3.5)3、打開(kāi)實(shí)驗(yàn)儀的電源4、將導(dǎo)線的另一頭與B2區(qū)的500K1953的信號(hào)相連,對(duì)應(yīng)的頻率值顯示在數(shù)碼管上五、程序清單;程序名稱(chēng):頻率計(jì)(P3.5計(jì)數(shù) 1秒處理一次)Count50msDATA30HPulseCountDATA31H;脈沖計(jì)數(shù)第三個(gè)字節(jié)bufferDATA32H;8個(gè)字節(jié)顯示緩沖區(qū)EXTRNCODE(Display8)ORG0000HLJMPSTARORG000BHLJMPTimerT0;T0計(jì)時(shí)中斷處理入口ORG001BHLJMPCounterT1;T1計(jì)數(shù)中斷處理入口ORG0100HSTAR:MOVSP,#60HMOVTMOD,#010
16、10001B;T0定時(shí),T1計(jì)數(shù),方式1MOVTH0,#03CH;50ms定時(shí)MOVTL0,#0B0HMOVCount50ms,#20;20 * 50ms = 1sMOVTH1,#00H;計(jì)數(shù)MOVTL1,#00HMOVPulseCount,#0SETBEASETBET1SETBET0SETBTR0SETBTR1STAR1:JBTR0,$SETBTR0;刷新顯示SETBTR1ACALLB4toD4Display:MOVR0,#buffer;顯示結(jié)果MOVA,R7;低位ACALLB1toB2;壓縮BCD碼轉(zhuǎn)換成非壓縮BCD碼MOVA,R6ACALLB1toB2MOVA,R5ACALLB1toB2
17、MOVA,R4;高位ACALLB1toB2MOVR0,#buffer+7MOVR7,#7ACALLBlackDisplay;將高位0消隱MOVR0,#bufferLCALLDisplay8SJMPSTAR1TimerT0:MOVTH0,#03CH;50ms定時(shí)MOVTL0,#0B0HDJNZCount50ms,TimerT0_exitMOVCount50ms,#20CLRTR0CLRTR1MOVR1,PulseCountMOVR2,TH1MOVR3,TL1MOVPulseCount,#0MOVTH1,#0MOVTL1,#0TimerT0_exit:RETICounterT1:INCPulseC
18、ountRETI;B4toD4子程序請(qǐng)參閱實(shí)驗(yàn)四、B1toB2、BlackDisplay子程序請(qǐng)參閱實(shí)驗(yàn)二END六、思考題1、為什么測(cè)試較高頻率信號(hào)時(shí),數(shù)碼管上顯示的數(shù)據(jù)一直在變化?2、為什么頻率信號(hào)不能超過(guò)0.5MHZ?硬件實(shí)驗(yàn)實(shí)驗(yàn)一跑馬燈實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康呐c要求熟悉星研集成環(huán)境軟件或熟悉Keil C51集成環(huán)境軟件的使用方法。熟悉MCS51匯編指令,能自己編寫(xiě)簡(jiǎn)單的程序,控制硬件。二、實(shí)驗(yàn)設(shè)備 STAR系列實(shí)驗(yàn)儀一套、PC機(jī)一臺(tái)三、實(shí)驗(yàn)內(nèi)容1、熟悉星研集成環(huán)境軟件或熟悉Keil C51集成環(huán)境軟件的安裝和使用方法。2、照接線圖編寫(xiě)程序:使用P1口控制F5區(qū)的8個(gè)指示燈,循環(huán)點(diǎn)亮,瞬間只有一個(gè)
19、燈亮。2、觀察實(shí)驗(yàn)結(jié)果,驗(yàn)證程序是否正確。四、實(shí)驗(yàn)原理圖五、實(shí)驗(yàn)步驟 1、連線說(shuō)明: A3區(qū):JP51F5區(qū):JP652、編寫(xiě)程序或運(yùn)行參考程序。 3、實(shí)驗(yàn)結(jié)果:通過(guò)F5區(qū)的LED指示燈(8個(gè)指示燈輪流點(diǎn)亮),觀察實(shí)驗(yàn)的輸出結(jié)果是否正確。六、演示程序ORG0000HLJMPSTARTORG0100HSTART:MOVSP,#60HMOVA,#0FFHCLRCSTART1:RLCAMOVP1,AACALLDelaySJMPSTART1Delay:MOVR5,#2;延時(shí)Delay1:MOVR6,#0Delay2:MOVR7,#0DJNZR7,$DJNZR6,Delay2DJNZR5,Delay1R
20、ETEND如果讀者使用星研集成環(huán)境軟件,請(qǐng)考慮以下問(wèn)題?1、運(yùn)行程序前,打開(kāi)變量窗;2、使用單步進(jìn)入命令,運(yùn)行到第六行后,運(yùn)行過(guò)程中變量窗有何變化?將鼠標(biāo)停留在A、SP上一秒后,出現(xiàn)什么?,它與變量窗使用場(chǎng)合的區(qū)別?3、第九行是調(diào)用延時(shí)子程序,如何進(jìn)入延時(shí)子程序(使用單步進(jìn)入命令)?如何將延時(shí)子程序一下子運(yùn)行完畢(使用單步命令;也可以將光標(biāo)移到下一行,使用運(yùn)行到光標(biāo)處命令;)?單步進(jìn)入命令與單步命令有何區(qū)別?4、運(yùn)行幾次后,在第十行設(shè)置一個(gè)斷點(diǎn),使用全速斷點(diǎn)命令運(yùn)行幾次,觀察運(yùn)行結(jié)果,它與運(yùn)行到光標(biāo)處命令有何區(qū)別?5、Delay是一個(gè)延時(shí)子程序,改變延時(shí)常數(shù),使用全速運(yùn)行命令,顯示發(fā)生了什么變
21、化?6、觀察寄存器,有哪幾種方法?1)在工作區(qū)窗的通用寄存器標(biāo)簽視中;2)變量窗3)鼠標(biāo)停留在寄存器上4)觀察窗5)寄存器窗實(shí)驗(yàn)二74HC138譯碼器實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康呐c要求1、掌握74HC138譯碼器的工作原理,熟悉74HC138譯碼器的具體運(yùn)用連接方法,了解74HC138是如何譯碼的。2、認(rèn)真預(yù)習(xí)本節(jié)實(shí)驗(yàn)內(nèi)容,嘗試自行編寫(xiě)程序,填寫(xiě)實(shí)驗(yàn)報(bào)告二、實(shí)驗(yàn)設(shè)備STAR系列實(shí)驗(yàn)儀一套、PC機(jī)一臺(tái) 三、實(shí)驗(yàn)內(nèi)容1、編寫(xiě)程序:使用單片機(jī)的P1.0、P1.1、P1.2控制74HC138的數(shù)據(jù)輸入端,通過(guò)譯碼產(chǎn)生8選1個(gè)選通信號(hào),輪流點(diǎn)亮8個(gè)LED指示燈。2、運(yùn)行程序,驗(yàn)證譯碼的正確性。四、實(shí)驗(yàn)原理圖五、實(shí)驗(yàn)
22、步驟1、連線說(shuō)明: C2區(qū):A、B、CA3區(qū):P1.0、P1.1、P1.2C2區(qū):G1、G2A、G2BC1區(qū):VCC、GND、GNDC2區(qū):JP36F5區(qū):JP65(LED指示燈)2、 調(diào)試程序,查看運(yùn)行結(jié)果是否正確。六、演示程序;138譯碼器實(shí)驗(yàn)(跑馬燈),P1.0-A, P1.1-B, P1.2-C, /G2B-GND, /G2A-GNDORG0000HLJMPSTARTORG0100HSTART:MOVSP,#60HCLRA;初值,第一次0位LED亮START1:MOVP1,AACALLDLTIMEINCACLRACC.3;A的值在0.7之間SJMPSTART1DLTIME:MOVR5,
23、#20DLTIME1:MOVR6,#100DLTIME2:MOVR7,#100DJNZR7,$DJNZR6,DLTIME2DJNZR5,DLTIME1RETEND 七、實(shí)驗(yàn)擴(kuò)展及思考 在單片機(jī)系統(tǒng)中,74HC138通常用來(lái)產(chǎn)生片選信號(hào),請(qǐng)讀者考慮一下,應(yīng)如何處理? 實(shí)驗(yàn)三8255控制交通燈實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康呐c要求1、 了解8255芯片的工作原理,熟悉其初始化編程方法以及輸入、輸出程序設(shè)計(jì)技巧。學(xué)會(huì)使用8255并行接口芯片實(shí)現(xiàn)各種控制功能,如本實(shí)驗(yàn)(控制交通燈)等。2、 熟悉8255內(nèi)部結(jié)構(gòu)和與單片機(jī)的接口邏輯,熟悉8255芯片的3種工作方式以及控制字格式。3、 認(rèn)真預(yù)習(xí)本節(jié)實(shí)驗(yàn)內(nèi)容,嘗試自行編寫(xiě)
24、程序,填寫(xiě)實(shí)驗(yàn)報(bào)告。二、實(shí)驗(yàn)設(shè)備STAR系列實(shí)驗(yàn)儀一套、PC機(jī)一臺(tái)三、實(shí)驗(yàn)內(nèi)容1、編寫(xiě)程序:使用8255的PA0.2、PA5.7控制LED指示燈,實(shí)現(xiàn)交通燈功能。2、連接線路驗(yàn)證8255的功能,熟悉它的使用方法。四、實(shí)驗(yàn)原理圖五、實(shí)驗(yàn)步驟1、連線說(shuō)明:B4區(qū):CS、A0、A1A3區(qū):CS1、A0、A1B4區(qū):JP56(PA口)F5區(qū):JP652、觀察實(shí)驗(yàn)結(jié)果,是否能看到模擬的交通燈控制過(guò)程。六、演示程序COM_ADDXDATA0F003HPA_ADDXDATA 0F000HPB_ADDXDATA0F001HPC_ADDXDATA0F002HORG0000HLJMPSTARORG0100HSTA
25、R:MOVSP,#60H MOVDPTR,#COM_ADDMOVA,#80H;PA、PB、PC為基本輸出模式MOVXDPTR,AMOVDPTR,#PA_ADD;燈全熄滅MOVA,#0FFHMOVXDPTR,ASTART1:MOVA,#37HMOVCA,A+PCMOVXDPTR,A;東西綠燈,南北紅燈ACALLDL5SMOVR4,#6START2:MOVA,#30HMOVCA,A+PCMOVXDPTR,A;東西綠燈閃爍,南北紅燈ACALLDL500msMOVA,#29HMOVCA,A+PCMOVXDPTR,AACALLDL500msDJNZR4,START2MOVA,#23H;東西黃燈亮,南北紅
26、燈MOVCA,A+PCMOVXDPTR,AACALLDL3SMOVA,#1EH;東西紅燈,南北綠燈MOVCA,A+PCMOVXDPTR,AACALLDL5SMOVR4,#6START3:MOVA,#17H;東西紅燈,南北綠燈閃爍MOVCA,A+PCMOVXDPTR,AACALLDL500msMOVA,#10HMOVCA,A+PCMOVXDPTR,AACALLDL500msDJNZR4,START3MOVA,#0AH;東西紅燈,南北黃燈亮MOVCA,A+PCMOVXDPTR,AACALLDL3SSJMPSTART1DB01111110B;東西綠燈,南北紅燈DB11111110B;東西綠燈閃爍,南
27、北紅燈DB10111110B;東西黃燈亮,南北紅燈DB11011011B;東西紅燈,南北綠燈DB11011111B;東西紅燈,南北綠燈閃爍DB11011101B;東西紅燈,南北黃燈亮DL500ms:MOVR5,#25DL500ms1:MOVR6,#100DL500ms2:MOVR7,#100DJNZR7,$DJNZR6,DL500ms2DJNZR5,DL500ms1RETDL3S:MOVR4,#6DL3S1:LCALLDL500msDJNZR4,DL5S1RETDL5S:MOVR4,#10DL5S1:LCALLDL500msDJNZR4,DL5S1RETEND七、實(shí)驗(yàn)擴(kuò)展及思考1、如何對(duì)825
28、5的PC口進(jìn)行位操作?實(shí)驗(yàn)四8253方波實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康呐c要求了解8253的內(nèi)部結(jié)構(gòu)、工作原理;了解8253與單片機(jī)的接口邏輯;熟悉8253的控制寄存器和初始化編程方法,熟悉8253的6種工作模式。 二、實(shí)驗(yàn)設(shè)備 STAR系列實(shí)驗(yàn)儀一套、PC機(jī)一臺(tái) 三 、實(shí)驗(yàn)內(nèi)容1、編寫(xiě)程序:使用8253的計(jì)數(shù)器0和計(jì)數(shù)器1實(shí)現(xiàn)對(duì)輸入時(shí)鐘頻率的兩級(jí)分頻,得到一個(gè)周期為1秒的方波,用此方波控制蜂鳴器,發(fā)出報(bào)警信號(hào),也可以將輸入腳接到邏輯筆上來(lái)檢驗(yàn)程序是否正確。2、連接線路,驗(yàn)證8253的功能,熟悉它的使用方法。四、實(shí)驗(yàn)原理圖五、實(shí)驗(yàn)步驟1、連線說(shuō)明:D5區(qū):CS、A0、A1A3區(qū):CS5、A0、A1D5區(qū):CL
29、K0B2區(qū):2MD5區(qū):OUT0D5區(qū):CLK1D5區(qū):OUT1E3區(qū):Ctrl(蜂鳴器)D5區(qū):GATE0、GATE1C1區(qū)的VCC2、測(cè)試實(shí)驗(yàn)結(jié)果:蜂鳴器發(fā)出時(shí)有時(shí)無(wú)的聲音;用邏輯筆測(cè)試蜂鳴器的輸入端口,紅綠燈交替點(diǎn)亮。 六、演示程序COM_ADDRXDATA0B003HT0_ADDRXDATA0B000HT1_ADDRXDATA0B001HORG0000HLJMPSTARORG0100HSTAR:MOVSP,#60HMOVA,#35HMOVDPTR,#COM_ADDRMOVXDPTR,A ;計(jì)數(shù)器T0設(shè)置在模式2狀態(tài),BCD碼計(jì)數(shù)CLRAMOVDPTR,#T0_ADDRMOVXDPTR,
30、AMOVA,#10HMO VXDPTR,A;CLK0/1000MOVA,#77HMOVDPTR,#COM_ADDRMOVXDPTR,A ;計(jì)數(shù)器T1為模式3狀態(tài),輸出方波,BCD碼計(jì)數(shù)CLRAMOVDPTR,#T1_ADDRMOVXDPTR,AMOVA,#10HMOVXDPTR,A;CLK1/1000SJMP$;OUT1輸出頻率為1s的方波END七、實(shí)驗(yàn)擴(kuò)展及思考1、8253還有其它五種工作方式,其它工作模式下,硬件如何設(shè)計(jì)?程序如何編寫(xiě)?2、使用8253,編寫(xiě)一個(gè)實(shí)時(shí)鐘程序。 實(shí)驗(yàn)五8250可編程通信實(shí)驗(yàn)(與微機(jī))一、實(shí)驗(yàn)?zāi)康呐c要求了解8250的內(nèi)部結(jié)構(gòu)、工作原理;了解8250與單片機(jī)的接口
31、邏輯;掌握對(duì)8250的初始化編程方法,學(xué)會(huì)使用8250實(shí)現(xiàn)設(shè)備之間的串行通信。認(rèn)真預(yù)習(xí),做好實(shí)驗(yàn)前的準(zhǔn)備工作,填寫(xiě)實(shí)驗(yàn)報(bào)告二、實(shí)驗(yàn)設(shè)備 STAR ES598PCI實(shí)驗(yàn)儀一套、PC機(jī)一臺(tái)三、實(shí)驗(yàn)內(nèi)容1、編寫(xiě)程序:通過(guò)初始化8250,設(shè)置波特率為4800bps(或其它,但與微機(jī)部分一致),數(shù)據(jù)格式為8數(shù)據(jù)位,1停止位,偶校驗(yàn);然后打開(kāi)PC機(jī)的串行通信測(cè)試軟件,向8250發(fā)送一批數(shù)據(jù),8250接收完數(shù)據(jù)之后,再將數(shù)據(jù)依次發(fā)送回去。2、按圖連線,運(yùn)行程序,觀察實(shí)驗(yàn)結(jié)果,掌握8250的各項(xiàng)功能及編程方法。四、實(shí)驗(yàn)原理圖五、實(shí)驗(yàn)步驟1、連線說(shuō)明:D4區(qū):CS、A0、A1、A2A3區(qū):CS1、A0、A1、A
32、2D4區(qū):SIN、SOUTE6區(qū):RxD、TxD2、運(yùn)行程序3、運(yùn)行“串口助手(ComPort.EXE)”,設(shè)置串口(波特率4800,8個(gè)數(shù)據(jù)位,一個(gè)停止位,偶校驗(yàn)),打開(kāi)串口,選擇“HEX發(fā)送”、“HEX顯示”,向8250發(fā)送數(shù)據(jù)10個(gè)數(shù)據(jù)(輸入數(shù)據(jù)之間用空格分隔),是否能接收到10個(gè)字節(jié)數(shù)據(jù),將接收到的數(shù)據(jù)發(fā)送回微機(jī),接收到的數(shù)據(jù)是否與發(fā)送數(shù)據(jù)一致。4、改變傳輸數(shù)據(jù)的數(shù)目,重復(fù)實(shí)驗(yàn),觀察結(jié)果。六、演示程序;8250和PC機(jī)通信,需要在PC上運(yùn)行一個(gè)串口軟件,并設(shè)置與8250相同的波特率NS8250_Base_AddressXDATA0FF00HRHRXDATANS8250_Base_Add
33、ress;接收數(shù)據(jù)緩沖區(qū)THRXDATANS8250_Base_Address;發(fā)送數(shù)據(jù)緩沖區(qū)IERXDATANS8250_Base_Address+1;中斷控制寄存器FCRXDATA NS8250_Base_Address+2;FIFO控制寄存器ISRXDATANS8250_Base_Address+2;中斷狀態(tài)寄存器LCRXDATANS8250_Base_Address+3;串行口控制寄存器MCRXDATANS8250_Base_Address+4;MODEM控制寄存器LSRXDATA NS8250_Base_Address+5;串行口狀態(tài)寄存器MSRXDATANS8250_Base_Ad
34、dress+6;MODEM狀態(tài)寄存器DLLXDATANS8250_Base_Address;波特率除數(shù)鎖存器低位DLMXDATANS8250_Base_Address+1;波特率除數(shù)鎖存器高位ORG0LJMPSTARORG100HSTAR:MOVSP,#60HACALLINIT8250START2:MOVDPTR,#2000H ;接收數(shù)據(jù)(接收完設(shè)定的數(shù)據(jù)個(gè)數(shù))MOVR6,#00MOVR7,#10CALLRECEIVE_GROUPMOVDPTR,#2000H ;發(fā)送數(shù)據(jù)(發(fā)完設(shè)定的數(shù)據(jù)個(gè)數(shù))MOVR6,#00MOVR7,#10CALLSEND_GROUPJNCSTART2WARNING1:CL
35、RP1.0;P1.0接蜂鳴器,出錯(cuò)報(bào)警SJMP$;發(fā)送一組字符子程序,數(shù)據(jù)的首地址在DPTR中,個(gè)數(shù)在R6R7中Send_Group:DECR7CJNER7,#0FFH,Send_Group_1DECR6CJNER6,#0FFH,Send_Group_1CLRCSend_Group_2:RETSend_Group_1:MOVXA,DPTRINCDPTRACALLSend_ByteJNCSend_GroupRET;接收一組字符子程序,存放首地址在DPTR中,個(gè)數(shù)在R6R7中Receive_Group:DECR7CJNER7,#0FFH,Receive_Group_1DECR6CJNER6,#0F
36、FH,Receive_Group_1CLRCReceive_Group_2:RETReceive_Group_1:ACALLReceive_ByteMOVXDPTR,AINCDPTRSJMPReceive_GroupINIT8250:MOVDPTR,#ISRMOVA,#06HMOVXDPTR,AMOVDPTR,#LCRMOVA,#83H;允許訪問(wèn)波特率因子寄存器MOVXDPTR,AMOVDPTR,#DLLMOVA,#40;除數(shù)低位寄存器,波特率設(shè)為4800=(3.072*1000000/16)/DLMDLLMOVXDPTR,AMOVDPTR,#DLMMOVA,#00H;00H送高字節(jié)寄存器MO
37、VXDPTR,AMOVDPTR,#LCRMOVA,#1BH ;不允許訪問(wèn)波特率因子寄存器,數(shù)據(jù)格式為8數(shù)據(jù)位,1停止位,偶校驗(yàn)MOVXDPTR,A RET;發(fā)送一個(gè)字節(jié)子程序,發(fā)送A中的數(shù),失敗置CYSend_Byte:PUSHDPLPUSHDPHPUSH06HPUSH07HPUSHACCMOVR6,#0MOVR7,#10MOVDPTR,#LSRREP11:MOVXA,DPTRJBACC.5,OUTPORT1DJNZR6,REP11DJNZR7,REP11POPACCSETBCSJMPEXIT8250;8250有問(wèn)題OUTPORT1:POPACCMOVDPTR,#RHRMOVXDPTR,ACL
38、RCEXIT8250:POP07HPOP06HPOPDPHPOPDPLRET;接收一個(gè)字節(jié)子程序,接收字節(jié)在A中,接收失敗置CYReceive_Byte:PUSHDPLPUSHDPHMOVDPTR,#LSRReceive1:MOVXA,DPTRJNBACC.0,Receive1Receive2:MOVDPTR,#RHRMOVXA,DPTRReceive3:POPDPHPOPDPLRETEND七、實(shí)驗(yàn)擴(kuò)展及思考1、思考8250與8251有何異同之處?2、8250也可以做自發(fā)自收的實(shí)驗(yàn),該如何連線及修改程序?3、如何通過(guò)中斷處理方式實(shí)現(xiàn)8250串行接收,需要更改哪些線路?實(shí)驗(yàn)六簡(jiǎn)易電子琴實(shí)驗(yàn)一、實(shí)
39、驗(yàn)?zāi)康呐c要求掌握蜂鳴器的使用方法;掌握蜂鳴器的不同發(fā)音的方法。二、實(shí)驗(yàn)設(shè)備STAR系列實(shí)驗(yàn)儀一套、PC機(jī)一臺(tái)。三、實(shí)驗(yàn)內(nèi)容1、簡(jiǎn)易電子琴原理:(1) 蜂鳴器輸入不同頻率的方波,會(huì)發(fā)出不同的聲音;(2) 通過(guò)按鍵,由單片機(jī)控制產(chǎn)生不同頻率的方波,從而發(fā)出不同的聲音。2實(shí)驗(yàn)過(guò)程(1) 通過(guò)單片機(jī),使F5區(qū)的17號(hào)鍵由低到高發(fā)出17的音階。四、實(shí)驗(yàn)原理圖五、實(shí)驗(yàn)步驟1、主機(jī)連線說(shuō)明:E3區(qū):CtrlA3區(qū):P1.7F5區(qū):JP74A3區(qū):JP51(P1口)2、運(yùn)行程序,按F5區(qū)的17號(hào)鍵,輸出7種音階3、使用F5區(qū)的17號(hào)鍵,彈一首生日快樂(lè)。六、演示程序K1BITP1.0;按鍵1K2BITP1.1;
40、按鍵2K3BITP1.2;按鍵3K4BITP1.3;按鍵4K5BITP1.4;按鍵5K6BITP1.5;按鍵6K7BITP1.6;按鍵7 BuzzerBITP1.7;蜂鳴器M1EQU17M2EQU16M3EQU15M4EQU14M5EQU13M6EQU12M7EQU11ORG0000HLJMPSTARTORG0100HSTART:MOVSP,#60HMAIN:MOVP1,#0FFH;P1口初始化LCALLDemo;播放一段演示音樂(lè)MAIN_1:JBK1,MAIN_2;1號(hào)鍵是否按下LCALLSound1;1號(hào)鍵發(fā)音子程序MAIN_2:JBK2,MAIN_3;2號(hào)鍵是否按下LCALLSound2;2號(hào)鍵發(fā)音子程序MAIN_3:JBK3,MAIN_4;3號(hào)鍵是否按下LCALLSound3;3號(hào)鍵發(fā)音子程序MAIN_4:JBK4,MAIN_5;4號(hào)鍵是否按下LCALLSound4;4號(hào)鍵發(fā)音子程序MAIN_5:JBK5,MAIN_6;5號(hào)鍵是否按下LCALLSound5;5號(hào)鍵發(fā)音子程序MAIN_6:JBK6,MAIN_7;6號(hào)鍵是否按下LCALLSound6;6號(hào)鍵發(fā)音子程序MAIN_7:J
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Steviolmonoside-Glucosilsteviol-生命科學(xué)試劑-MCE
- Rac-BX-048-生命科學(xué)試劑-MCE
- 銷(xiāo)售合同范本糧油
- 3-Pyridylamide-oxime-生命科學(xué)試劑-MCE
- 的代理記賬委托合同范文
- 圍欄供貨合同范本
- 廠房環(huán)保合同范本
- 外貿(mào)定金合同范本
- 品牌傭金合同范本
- 公司保潔合同補(bǔ)充合同范本
- 特殊問(wèn)題學(xué)生記錄表
- 踝關(guān)節(jié)骨性關(guān)節(jié)炎課件整理
- 中藥功效快快記憶法(完整版)
- 01S201室外消火栓安裝圖集
- 電機(jī)與電氣控制技術(shù)PPT完整全套教學(xué)課件
- 高處作業(yè)安全經(jīng)驗(yàn)分享
- 中國(guó)音樂(lè)學(xué)院音樂(lè)基礎(chǔ)知識(shí)(四級(jí))(基本樂(lè)科)備考試題庫(kù)(含答案)
- 裝飾材料復(fù)試清單
- 有限公司事業(yè)合伙人管理辦法
- 工余安健環(huán)管理制度
- 關(guān)于“全民閱讀”的中考語(yǔ)文非連續(xù)性文本閱讀試題及答案閱讀(2018廣東廣州中考語(yǔ)文非連續(xù)性文本閱讀試題及答案)
評(píng)論
0/150
提交評(píng)論