實驗二單片機(jī)并口簡單應(yīng)用_第1頁
實驗二單片機(jī)并口簡單應(yīng)用_第2頁
實驗二單片機(jī)并口簡單應(yīng)用_第3頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、實驗二單片機(jī)并口簡單應(yīng)用(流水燈)實驗?zāi)康?、了解單片機(jī)匯編語吉程序的基本結(jié)構(gòu)2、了解單片機(jī)匯編語言程序的設(shè)計和調(diào)試方法3、掌握順序控制程序的簡單編程實驗儀器單片機(jī)開發(fā)板、萬利仿真機(jī)、穩(wěn)壓電源、計算機(jī)實驗電路圖1、流水燈硬件電路如圖4-1所示,流水燈硬件電路由移位寄存器74LS164、功能選擇開關(guān)J502二極管、三極管、單片機(jī)并口(P0)、限流電阻等組成。發(fā)光二極管連接成共陽極結(jié)構(gòu)。發(fā)光二極管點亮的條件是:陽極接高電平、各陰極接低電平。因此,通過程序控制74LS164的Q0端。Q0端輸出0,公共端陽極就接成高電平,然后再按一定規(guī)則從P0口輸出數(shù)據(jù),發(fā)光二極管就會點亮。VCCJ502gggS8g

2、g:心DDUUU、Drr71/7/圖4-1流水燈電路圖兩種方法的程序流程如圖4-2所小。圖4-2流水燈位選信號控制(2)產(chǎn)生流水燈效果程序P0口。三極管導(dǎo)通后,就可以從P0口輸出數(shù)據(jù)控制發(fā)光二極管。P0口輸出數(shù)據(jù)既可以編寫程序逐個輸出,也可以將輸出數(shù)據(jù)序列定義在存儲器中,然后用讀程序存儲器指令逐個取出并輸出到程序流程圖如圖4-3所示圖4-3流水燈程序流程圖實驗內(nèi)容1. 直接法輸出數(shù)據(jù)序列LEDCLKbitP3.4LEDDINbitP2.3LedSequence:CLRLEDCLKCLRLEDDINNOPSETBLEDCLKNOPCLRLEDCLKMOVP0,#0FEHMOVR7,#200LCA

3、LLDelayNmsMOVP0,#0FDHMOVR7,#200LCALLDelayNmsMOVP0,#0FBHMOVR7,#200LCALLDelayNmsMOVP0,#0F7HMOVR7,#200LCALLDelayNmsMOVP0,#0EFHMOVR7,#200LCALLDelayNmsMOVP0,#0DFHMOVR7,#200LCALLDelayNmsMOVP0,#0BFHMOVR7,#200LCALLDelayNmsMOVP0,#07FHMOVR7,#200LCALLDelayNmsRETDelayNms:LCALLDelay1msDJNZR7,$-3RETDelay1ms:PUSH0

4、7MOVR7,#250;1msNOPNOPDJNZR7,$-2POP07RET2、查表法輸出數(shù)據(jù)序列;輸入:無;輸出:無;LEDCLKbitP3.4LEDDINbitP2.3LedSequence:LCALLLedLightMOVR6,#8MOVDPTR,#LedSequenceTabLedSequence1:MOVA,R6MOVCA,A+DPTRCPLAMOVP0,AMOVR7,#200LCALLDelayNmsDJNZR6,LedSequence1RETLedSequenceTab:DB80H,40H,20H,10H,08H,04H,02H,01H,00HDelayNms:LCALLDel

5、ay1msDJNZR7,$-3RETDelay1ms:PUSH07MOVR7,#250;1msNOPNOPDJNZR7,$-2POP07RETLedLight:MOVB,#8MOVA,#0FEHCLRLEDCLKCLRLEDDINLedLight1:RLCAMOVLEDDIN,CSETBLEDCLKNOPCLRLEDCLKDJNZB,LedLight1RET實驗調(diào)試步驟及調(diào)試信息1、新建實驗項目2、輸入實驗程序并補(bǔ)充完整,利用不同的原理,有兩種方法可以完成實驗。程序如上面實驗內(nèi)容所述。3、編譯下載實驗程序,并修改錯誤(按調(diào)試信息說明)4、將光標(biāo)指向程序末尾,運行程序至光標(biāo)處,查看實驗現(xiàn)象。5、

6、單步執(zhí)行,分析各程序的功能特點.6、整理實驗設(shè)備實驗現(xiàn)象全速運行程序1,8個LED依次點亮且循環(huán)進(jìn)行。全速運行程序2,1-7盞LED亮,第8盞LED不亮。說明單片機(jī)沒有輸出序列01111111。調(diào)試信息(1)提示:MISSING'END'STATEMENT原因:文件結(jié)尾處沒有寫END修改后正確。(2) 提示第47行有錯把PUSHR7中的R7改成07,修改后正確。(3) 按程序2運行時,8個LED不會循環(huán)發(fā)光。把80H,40H,20H,10H,08H,04H,02H,01H,改為00,80H,40H,20H,10H,08H,04H,02H,01H,00H修改后8盞LED依次點亮,

7、實現(xiàn)流水燈效果。思考題1、請把學(xué)號后兩位數(shù)進(jìn)轉(zhuǎn)換成二進(jìn)制數(shù),然后依次點亮其中為1對應(yīng)的二極管,寫出輸出序列。例如,60號轉(zhuǎn)換成二進(jìn)制后是00111100B,依次點亮四個1對應(yīng)的二極管,輸出序列是0DFH,0EFH,0F7H,0FCH.(從低位到高位也可以)答:27后轉(zhuǎn)換二進(jìn)制后是00011011,依次點亮四個對應(yīng)的二極管,輸出序列是0FEH,0FDH,0F7H,0EFH。2、參考實驗內(nèi)容2,編寫程序把輸出序列增加到30個。start:LCALLLedSequenceSJMPstartLEDCLKbitP3.4LEDDINbitP2.3LedSequence:LCALLLedLightMOVR6

8、,#30MOVDPTR,#LedSequenceTabLedSequence1:MOVA,R6MOVCA,A+DPTRCPLAMOVP0,AMOVR7,#200LCALLDelayNmsDJNZR6,LedSequence1RETLedSequenceTab:DB00H,80H,40H,20H,10H,08H,04H,02H,01H,00H,80H,40H,20H,10H,08H,04H,02H,01H,00H,80H,40H,20H,10H,08H,04H,02H,01H,80H,40H,02HDelayNms:LCALLDelay1msDJNZR7,$-3RETDelay1ms:PUSH07MOVR7,#250;1msNOPNOPDJN

溫馨提示

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

評論

0/150

提交評論