




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
75實(shí)驗(yàn)一單片機(jī)并口簡(jiǎn)單應(yīng)用(流水燈)7509 電氣陳毅斌32號(hào)實(shí)驗(yàn)?zāi)康?、了解單片機(jī)匯編語言程序的基本結(jié)構(gòu)2、了解單片機(jī)匯編語言程序的設(shè)計(jì)和調(diào)試方法3、掌握順序控制程序的簡(jiǎn)單編程實(shí)驗(yàn)儀器單片機(jī)開發(fā)板、萬利仿真機(jī)、穩(wěn)壓電源、計(jì)算機(jī)實(shí)驗(yàn)原理流水燈硬件電路如圖4-1所示,流水燈硬件電路由移位寄存器74LS164、功能選擇開關(guān)J502、二極管、三極管、單片機(jī)并口(P0)、限流電阻等組成。發(fā)光二極管連接成共陽極結(jié)構(gòu)。發(fā)光二極管點(diǎn)亮的條件是:陽極接高電平、各陰極接低電平。因此,通過程序控制74LS164的Q0端。Q0端輸出0,公共端陽極就接成高電平,然后再按一定規(guī)則從P0口輸出數(shù)據(jù),發(fā)光二極管就會(huì)點(diǎn)亮。圖4-1流水燈電路圖單片機(jī)流水燈程序設(shè)計(jì)由上圖可知,發(fā)光二極管要點(diǎn)亮,需要先把J502的2、3腳相連,三極管Q500導(dǎo)通,然后從P0口輸出數(shù)據(jù)。(1)控制三極管導(dǎo)通程序控制三極管有兩種方法,第一種:在74LS164的第8腳產(chǎn)生一個(gè)正脈沖,此時(shí)1腳為0,三極管就導(dǎo)通;為1,三極管就截止。第二種:在單片機(jī)IO模擬74LS164時(shí)序,一次輸出一個(gè)字節(jié),只要Q0=0即可控制三極管開通。為1,三極管截止。三極管導(dǎo)通DIN=0,CLK=0,輸出8位三極管導(dǎo)通DIN=0,CLK=0,輸出8位輸出數(shù)據(jù)=07FH(最高位為0)輸出數(shù)據(jù)左移一位,把移出的位送到DIN,CLK產(chǎn)生正脈沖CLK產(chǎn)生一個(gè)正脈沖輸出數(shù)據(jù)位數(shù)減1輸出完成?三極管導(dǎo)通三極管導(dǎo)通三極管導(dǎo)通DIN=0CLK=0CLK=1CLK=0返回圖4-2流水燈位選信號(hào)控制(2)產(chǎn)生流水燈效果程序三極管導(dǎo)通后,就可以從P0口輸出數(shù)據(jù)控制發(fā)光二極管。P0口輸出數(shù)據(jù)既可以編寫程序逐個(gè)輸出,也可以將輸出數(shù)據(jù)序列定義在存儲(chǔ)器中,然后用讀程序存儲(chǔ)器指令逐個(gè)取出并輸出到P0口。程序流程圖如圖4-3所示。流水燈返回流水燈返回P0口輸出0FEH延時(shí)0.2秒P0口輸出0FDH延時(shí)0.2秒。。。流水燈返回偏移位置為8從程序存儲(chǔ)器中取出偏移位置的數(shù)據(jù)延時(shí)0.2秒,偏移位置計(jì)數(shù)減1取數(shù)完成?YN圖4-3流水燈程序流程圖實(shí)驗(yàn)內(nèi)容1、直接輸出法輸出數(shù)據(jù)序列LEDCLK bit P3.4LEDDIN bit P2.3ORG 0000HLJMP MAINORG 0030HMAIN: LCALLLedSequence ;調(diào)用LED此程序產(chǎn)生流水燈效果 SJMPMAINLedSequence: CLR LEDCLK ;往74LS164的Q0端送一個(gè)0 CLR LEDDIN ;CLK引腳產(chǎn)生一個(gè)正脈沖 NOP SETB LEDCLK NOP CLR LEDCLK MOV P0,#0FEH ;為0的位對(duì)應(yīng)的二極管亮,第一個(gè)燈亮 MOV R7,#200 ;R7為延時(shí)量,Nms LCALL DelayNms ;該程序延時(shí)時(shí)間由R7決定MOV P0,#0FDH ;第二個(gè)燈亮 MOV R7,#200 LCALL DelayNms MOV P0,#0FBH ;第三個(gè)燈亮 MOV R7,#200 LCALL DelayNmsMOV P0,#0F7H ;第四個(gè)燈亮 MOV R7,#200 LCALL DelayNmsMOV P0,#11101111B ;第五個(gè)燈亮 MOV R7,#200 LCALL DelayNmsMOV P0,#11011111B ;第六個(gè)燈亮 MOV R7,#200 LCALL DelayNmsMOV P0,#10111111B ;第七個(gè)燈亮 MOV R7,#200 LCALL DelayNmsMOV P0,#01111111B ;第八個(gè)燈亮 MOV R7,#200 LCALL DelayNms RETDelayNms: LCALL Delay1ms DJNZ R7,$-3 RETDelay1ms: ;延時(shí)1ms程序 PUSH 07 MOV R7,#250 ;1ms NOP NOP DJNZ R7,$-2 POP 07 RETEND2、查表法輸出數(shù)據(jù)序列LEDCLK bit P3.4LEDDIN bit P2.3ORG 0000HLJMP MAINORG 0030HMAIN: LCALL LedSequence ;調(diào)用LED此程序查表方法設(shè)置流水燈 SJMP MAINLedSequence: LCALL LedLightMOV R6,#8 ;循環(huán)次數(shù)賦值MOV DPTR,#LedSequenceTab ;查表賦值首地址LedSequence1:MOV A,R6MOVC A,@A+DPTRCPL A ;取反使得只有一個(gè)位為0其余為1MOV P0,AMOV R7,#200LCALL DelayNms ;調(diào)用延遲時(shí)間DJNZ R6,LedSequence1RETLedSequenceTab: DB 80H,40H,20H,10H,08H,04H,02H,01H,00HDelayNms: LCALL Delay1ms DJNZ R7,$-3 RETDelay1ms: MOVA,R7 MOV R7,#250 ;1ms NOP NOP DJNZ R7,$-2 MOV R7,A RETLedLight: MOV B,#8 MOV A,#0FEH CLR LEDCLK CLR LEDDINLedLight1: RLC A MOV LEDDIN,CSETB LEDCLK NOP CLR LEDCLK DJNZ B,LedLight1 RET3.將學(xué)號(hào)后兩位對(duì)應(yīng)的二進(jìn)制為1的燈點(diǎn)亮LEDCLK bitP3.4;LEDDINbitP2.3; ORG0000H SJMPMAIN ORG0030HMAIN: MOV SP,#60H ;設(shè)置堆棧 CLR LEDCLK ;開啟三極管 CLR LEDDIN SETB LEDCLK MOV P0,#00010000B ;P0口送入值為0口燈亮MAIN1: AJMP MAIN1END運(yùn)行結(jié)果:思考題請(qǐng)把學(xué)號(hào)后兩位數(shù)進(jìn)轉(zhuǎn)換成二進(jìn)制數(shù),然后依次點(diǎn)亮其中為1對(duì)應(yīng)的二極管,寫出輸出序列。例如,60號(hào)轉(zhuǎn)換成二進(jìn)制后是00111100B,依次點(diǎn)亮四個(gè)1對(duì)應(yīng)的二極管,輸出序列是0DFH,0EFH,0F7H,0FCH.(從低位到高位也可以)LEDCLK bit P3.4LEDDIN bit P3.6ORG0000HLJMPMAINORG0030HMAIN: LCALLLedSequence ;調(diào)用LED此程序產(chǎn)生流水燈效果 SJMP$LedSequence:此代碼能實(shí)現(xiàn)思考題的功能? CLR LEDCLK ;往74LS164的Q0端送一個(gè)0此代碼能實(shí)現(xiàn)思考題的功能? CLR LEDDIN ;CLK引腳產(chǎn)生一個(gè)正脈沖 NOP SETB LEDCLK NOP CLR LEDCLK MOV P0,#0FEH ;為0的位對(duì)應(yīng)的二極管亮,第一個(gè)燈亮 MOV R7,#200 ;R7為延時(shí)量,Nms LCALL DelayNms ;該程序延時(shí)時(shí)間由R7決定MOV P0,#0FDH ;第二個(gè)燈亮 MOV R7,#200 LCALL DelayNms MOV P0,#0FBH ;第三個(gè)燈亮 MOV R7,#200 LCALL DelayNmsDelayNms: LCALL Delay1ms DJNZ R7,$-3 RETDelay1ms: ;延時(shí)1ms程序 PUSH 07 MOV R7,#250 ;1ms NOP NOP DJNZ R7,$-2 POP 07 RET參考實(shí)驗(yàn)內(nèi)容2,編寫程序把輸出序列增加到30個(gè)。LEDCLK bit P3.4LEDDIN bit P2.3ORG 0000HLJMP MAINORG 0030HMAIN: LCALL LedSequence ;調(diào)用LED此程序查表方法設(shè)置流水燈 SJMP MAINLedSequence: LCALL LedLightMOV R6,#30 ;循環(huán)次數(shù)賦值賦值30個(gè)MOV DPTR,#LedSequenceTab ;查表賦值首地址LedSequence1: MOV A,R6MOVC A,@A+DPTRCPL A ;取反使得只有一個(gè)位為0其余為1MOV P0,AMOV R7,#200LCALL DelayNms ;調(diào)用延遲時(shí)間DJNZ R6,LedSequence1RETLedSequenceTab: DB 80H,40H,20H,10H,08H,04H,02H,01H,00H ;查表的增加到30個(gè) DB 11H,22H,33H,44H,55H,66H,77H,88H,99H DB 12H,34H,56H,78H,90H,12H,34H,56H,78H DB 12H,34H,56HDelayNms: LCALL Delay1ms DJNZ R7,$-3 RETDelay1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 全國(guó)100所名校高三模擬示范卷(四)文科綜合政治試題
- 防火防電安全教育
- 一年級(jí)數(shù)學(xué)上冊(cè) 5 6~10的認(rèn)識(shí)和加減法第6課時(shí) 8和9的認(rèn)識(shí)教學(xué)設(shè)計(jì) 新人教版
- 食管癌病人的護(hù)理常規(guī)
- 黑龍江省大慶外國(guó)語2025屆高三11月期中考-地理試題
- 銀屑病的科普教育
- 2024秋七年級(jí)地理上冊(cè) 第三章 第一節(jié) 多變的天氣教學(xué)設(shè)計(jì) (新版)新人教版
- 高空吊裝與動(dòng)土安全管理
- 16《學(xué)會(huì)溝通交流》 (教學(xué)設(shè)計(jì))-部編版(五四制)道德與法治四年級(jí)上冊(cè)
- 內(nèi)部培訓(xùn)刑法知識(shí)內(nèi)部題庫及答案
- 走進(jìn)現(xiàn)代舞知到課后答案智慧樹章節(jié)測(cè)試答案2025年春浙江大學(xué)
- 部編版《道德與法治》四年級(jí)下冊(cè)全冊(cè)教案
- 2025年P(guān)氣瓶充裝考試題(附答案)
- 《慢性支氣管炎》課件
- 《上市公司財(cái)務(wù)分析》課件
- 《中國(guó)古代科技發(fā)展》課件
- 2024年浙江省《輔警招聘考試必刷500題》考試題庫及答案【考點(diǎn)梳理】
- 2025年中鐵開投、中鐵云投招聘筆試參考題庫含答案解析
- 2024年05月江蘇省昆山鹿城村鎮(zhèn)銀行2024年社會(huì)招考筆試歷年參考題庫附帶答案詳解
- 《食管基本解剖》課件
- DB36T 1179-2019 政務(wù)數(shù)據(jù)共享技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論