版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、東南大學(xué)自動(dòng)化學(xué)院實(shí) 驗(yàn) 報(bào) 告課程名稱(chēng): MCU(微控制器)綜合課程設(shè)計(jì) 實(shí)驗(yàn)名稱(chēng): 綜合課程設(shè)計(jì) 院 (系): 自動(dòng)化學(xué)院 專(zhuān) 業(yè): 自動(dòng)化專(zhuān)業(yè) 姓 名: 學(xué) 號(hào): 實(shí) 驗(yàn) 室: 測(cè)控技術(shù)實(shí)驗(yàn)室 實(shí)驗(yàn)組別: 同組人員: 實(shí)驗(yàn)時(shí)間: 2011 年 6 月 10 日評(píng)定成績(jī): 審閱教師: 目 錄一實(shí)驗(yàn)?zāi)康暮鸵?二實(shí)驗(yàn)原理3三實(shí)驗(yàn)方案與實(shí)驗(yàn)步驟4四實(shí)驗(yàn)設(shè)備與器材配置7五實(shí)驗(yàn)記錄7六實(shí)驗(yàn)總結(jié)7七思考題7八匯編語(yǔ)言源代碼7一 課程設(shè)計(jì)目的和要求1、課程設(shè)計(jì)題目:家用電器模擬:電風(fēng)扇2、模擬設(shè)計(jì)要求:(1)初始加電程序運(yùn)行,電風(fēng)扇無(wú)速度,只有按下風(fēng)速選擇的任一按鍵,電風(fēng)扇開(kāi)始工作。此時(shí),只要進(jìn)行新的
2、速度選擇也不按下停止鍵,電風(fēng)扇就將按設(shè)計(jì)的風(fēng)速持續(xù)運(yùn)行。(2)開(kāi)啟搖頭開(kāi)關(guān)后,模擬風(fēng)扇搖頭,并且在搖頭狀態(tài)中也可進(jìn)行風(fēng)扇的調(diào)速。(3)利用LED流水燈的間隔時(shí)間模擬風(fēng)速,程序運(yùn)行后呈現(xiàn)較長(zhǎng)的間隔時(shí)間以模擬風(fēng)扇上電但未運(yùn)行。按鍵盤(pán)上的鍵選擇速度,并用數(shù)碼管顯示速度選擇的數(shù)字。撥碼開(kāi)關(guān)為搖頭開(kāi)關(guān),開(kāi)關(guān)打開(kāi)后,流水燈反向表示搖頭。二 實(shí)驗(yàn)原理1、:使用硬件設(shè)備數(shù)碼管、發(fā)光二極管、鍵盤(pán)、撥碼開(kāi)關(guān)。實(shí)驗(yàn)不需要接線(xiàn)。2、設(shè)計(jì)思想(1)整體設(shè)計(jì)的主要程序使用定時(shí)器定時(shí)中斷實(shí)現(xiàn)。(2)實(shí)驗(yàn)要求二極管的流水燈按照按鍵的不同以不同的間隔時(shí)間依次點(diǎn)亮,則將按鍵的鍵碼作為流水燈的間隔時(shí)間,設(shè)置一定的中斷時(shí)間,中斷每運(yùn)
3、行一次則INC R1,再將R1與A作比較(再次之前已經(jīng)經(jīng)過(guò)鍵盤(pán)掃描,將鍵盤(pán)的鍵碼賦值給了A),若一致則運(yùn)行流水燈,若不一致則再次運(yùn)行中斷,由此,按不同的鍵有不同的鍵碼,則中斷運(yùn)行次數(shù)不同,流水的時(shí)間間隔自然不同。(3)為保證在按鍵后能夠及時(shí)的改變風(fēng)速,則每次中斷時(shí)掃描一次鍵盤(pán),并計(jì)算鍵碼顯示在數(shù)碼管上。(4)每次中斷掃描撥碼開(kāi)關(guān)狀態(tài),以便能夠及時(shí)的判斷是否要處于搖頭狀態(tài)。(5)數(shù)碼管顯示風(fēng)速選擇的數(shù)字,并實(shí)時(shí)刷新。三 實(shí)驗(yàn)步驟與實(shí)驗(yàn)方案1、 程序流程圖(1) 主程序(2)中斷服務(wù)程序:2、實(shí)驗(yàn)步驟:(1)在Medwin中完成項(xiàng)目的創(chuàng)建;(2)添加自己編寫(xiě)的.asm源文件并編譯/匯編;(3)生成
4、代碼并下載到仿真器上;(4)程序運(yùn)行。返回監(jiān)控后可查看寄存器和存儲(chǔ)器的值。(5)按鍵盤(pán)選擇風(fēng)速,波動(dòng)撥碼開(kāi)關(guān)選擇搖頭。四 實(shí)驗(yàn)設(shè)備與器材配置PC機(jī);EEEC-030型單片機(jī)/ISP綜合設(shè)計(jì)實(shí)驗(yàn)裝置五 實(shí)驗(yàn)分析與總結(jié)1、 此次實(shí)驗(yàn)中加深了對(duì)中斷程序的理解。最開(kāi)始的程序流水燈的部分用的是軟件延時(shí)來(lái)實(shí)現(xiàn),但是在調(diào)試過(guò)程中發(fā)現(xiàn),利用延時(shí)會(huì)讓程序一直處于第一個(gè)延時(shí)的循環(huán)中,在這種情況下無(wú)法進(jìn)行按鍵的二次選擇,撥碼開(kāi)關(guān)也只能夠選擇一次,除了關(guān)閉程序以外也沒(méi)有按預(yù)想的實(shí)現(xiàn)風(fēng)扇的停止?fàn)顟B(tài)。在這種情況下,我開(kāi)始在程序里加入中斷,以實(shí)現(xiàn)能夠每次都進(jìn)行鍵盤(pán)的掃描。加入中斷的開(kāi)始階段,風(fēng)速仍然是使用軟件延時(shí)的流水燈在
5、中斷外部以調(diào)用子程序的方式來(lái)實(shí)現(xiàn)的,但是調(diào)試過(guò)程中發(fā)現(xiàn),中斷的調(diào)用不理想,延時(shí)不能按預(yù)想的所實(shí)現(xiàn),常常會(huì)出現(xiàn)所有的發(fā)光二極管一起亮起的狀態(tài),出現(xiàn)問(wèn)題之后請(qǐng)教了同學(xué)使用了現(xiàn)在以中斷的最大等待時(shí)間作為流水燈間隔時(shí)間的方式。INCR1;時(shí)間加1 MOV A,R5XRLA,R1;最大等待時(shí)間到?JNZEE1;沒(méi)到,轉(zhuǎn)到EE1R5為儲(chǔ)存的輸入鍵碼,以不同的R5實(shí)現(xiàn)延時(shí),從而模擬不同的風(fēng)速變化。在之后的調(diào)節(jié)中還出現(xiàn)過(guò)雖然按了鍵碼但是流水燈速度不變的情況,經(jīng)過(guò)查看寄存器發(fā)現(xiàn)是R1在流水燈運(yùn)行、按鍵重新選擇時(shí)沒(méi)有進(jìn)行清零,從而時(shí)的R1的數(shù)值一直處于同一個(gè)狀態(tài)。2、在調(diào)試中由于中斷程序無(wú)法進(jìn)行單步調(diào)試,全速運(yùn)行
6、時(shí)無(wú)法觀(guān)察寄存器的變化,則設(shè)置斷點(diǎn),全速運(yùn)行程序停止,在斷點(diǎn)處單步運(yùn)行觀(guān)察寄存器。而在軟件中還有“執(zhí)行到”的選擇,只要選擇認(rèn)為需要調(diào)試的程序部分的地址或者標(biāo)號(hào),就可以執(zhí)行到此處,然后就可以單步跟蹤程序的運(yùn)行了。3、由于自己的能力有限,所以此次設(shè)計(jì)只是進(jìn)行了簡(jiǎn)單的模擬,實(shí)現(xiàn)了相對(duì)簡(jiǎn)單的功能。作為程序的改進(jìn),還可以加上時(shí)間的設(shè)置,可在初始化寄存器事設(shè)定一定的初值,當(dāng)在一定風(fēng)速時(shí),不同的撥碼開(kāi)關(guān)波動(dòng)后,R1與此初值比較,當(dāng)R1與設(shè)置的初值相等,風(fēng)扇回復(fù)按鍵“0”狀態(tài),以實(shí)現(xiàn)電風(fēng)扇的定時(shí)。六 附上源代碼ORG0000HLJMPMAINORG 000BHAJMP IINT0MAIN:NOPNOPACAL
7、LLED1 MOVR1,#00HMOVR6,#00HMOVR3,#00HMOVR5,#00HMOV IE, #00H;關(guān)中斷MOV TMOD, #01H;設(shè)置定時(shí)器定時(shí)方式MOV TH0, #0E0HMOV TL0, #0E0H;初值SETB TR0SETB EASETB ET0;開(kāi)中斷,啟動(dòng)定時(shí)HERE: ACALLSHOW1;數(shù)碼管刷新,等待中斷JMP HERE;中斷服務(wù)程序;IINT0:ACALLKS ;鍵盤(pán)全局檢測(cè)JNZLK1;有鍵閉合,轉(zhuǎn)移AJMPDOLK1:ACALLCHECK DO:MOVDPTR, #0F500HMOVX A, DPTRCJNEA, #00H,YURE ;判斷開(kāi)
8、關(guān)是否正確撥動(dòng)INCR1;時(shí)間加1 MOV A,R5XRLA,R1;最大等待時(shí)間到?JNZEE1;沒(méi)到,轉(zhuǎn)到EE1MOV A,R7RRAMOV R7,AMOVDPTR, #0F600HMOVX DPTR, AMOVR1,#00H AJMPEE1YURE: INCR1;時(shí)間加1 MOV A,R5XRLA,R1;最大等待時(shí)間到?JNZEE1;沒(méi)到,轉(zhuǎn)到EE1MOV A,R7RLAMOV R7,AMOVDPTR, #0F600HMOVX DPTR, AMOVR1,#00HEE1:MOV TH0, #0E0HMOV TL0, #0E0HSETB TR0;重設(shè)初值,啟動(dòng)中斷RETI;LED;LED1:A
9、NLA , #07H;模8MOVR0,ACJNER0,#00H,L1MOVA,#80HAJMPLLL1:CJNER0,#01H,L2MOVA,#01HAJMPLLL2:CJNER0,#02H,L3MOVA,#02HAJMPLLL3:CJNER0,#03H,L4MOVA,#04HAJMPLLL4:CJNER0,#04H,L5MOVA,#08HAJMPLLL5:CJNER0,#05H,L6MOVA,#10HAJMPLLL6:CJNER0,#06H,L7MOVA,#20HAJMPLLL7:MOVA,#40H LL:CPLA ;取反輸出MOVR7,A ;R7存LED的值MOVDPTR, #0F600H
10、MOVX DPTR, ARET;鍵盤(pán)掃描;CHECK:MOV R2, #0FEH;低4位為要選通的行線(xiàn)值MOV R4, #00H;行號(hào)CHECK1:MOVA, R2MOVDPTR, #0F700HMOVXDPTR, AMOVXA, DPTR;讀入,高4位為列線(xiàn)狀態(tài)ANLA, #0F0H ;屏蔽無(wú)效的低4位行線(xiàn)狀態(tài)JB ACC.4, LONE ;檢測(cè)第一列,沒(méi)按下跳轉(zhuǎn)至下一列MOV A, #0CH ;該列第一個(gè)鍵碼值為0CHAJMP LKPLONE:JB ACC.5, LTWO;檢測(cè)第二列MOV A, #08HAJMP LKPLTWO:JB ACC.6, LTHR;檢測(cè)第三列MOV A, #04
11、HAJMP LKPLTHR:JB ACC.7, NEXT;檢測(cè)第四列MOV A, #00HLKP:ADD A, R4;計(jì)算鍵碼MOVR5,AACALLSHOW1;數(shù)碼管顯示最大等待時(shí)間AJMPTC;鍵碼存在R5中NEXT:MOV A, R2JNB ACC.3, CHECK;4行都已掃描一遍,轉(zhuǎn)回重新從第一行開(kāi)始RLAMOV R2, A;選通值選中下一行INC R4AJMPCHECK1TC:RET;軟件延時(shí)子程序;DELAY:MOV R2, #0C8HLOOP:NOPNOPNOPDJNZ R2, LOOPRET;數(shù)碼管刷新;SHOW1:PUSHACCMOVR0,#00HQQ1:MOV A, #0
12、FBHMOV DPTR, #0F400HMOVX DPTR, A;輸出位碼MOVA,R6;R6存分?jǐn)?shù)MOVB,#0AH;B存10,做除法時(shí)用DIVAB ;除法后,A存十位數(shù)字,B存?zhèn)€位數(shù)字MOV DPTR, #TABMOVC A, A+DPTRMOV DPTR, #0F300HMOVX DPTR, A ;十位輸出 ACALLDELAY;調(diào)延時(shí)MOV A, #0FDHMOV DPTR, #0F400HMOVX DPTR, A;輸出位碼MOVA,BMOV DPTR, #TABMOVC A, A+DPTRMOV DPTR, #0F300HMOVX DPTR, A ;個(gè)位輸出ACALLDELAY;調(diào)延時(shí)MOV A, #0FEHMOV DPTR, #0F400HMOVX DPTR, A;輸出位碼MOVA,R5 ;R5存最大設(shè)定時(shí)間(鍵盤(pán))MOV DPTR, #TABMOVC A, A+DPTRMOV DPTR, #0F300HMOVX DPTR, A ;輸出鍵盤(pán)值A(chǔ)CALLDELAY;調(diào)延時(shí)CJNER0,#3AH,QQAJMPQQ2 QQ:INCR0AJMPQQ1QQ2:POPACCRET;全局鍵盤(pán)檢測(cè);KS:MOVDPTR, #0F700HMOV
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省綿陽(yáng)市平武縣2025-2026學(xué)年八年級(jí)上學(xué)期1月期末考試道德與法治試卷(含答案)
- 2025~2026學(xué)年濟(jì)南市天橋區(qū)九年級(jí)物理第一學(xué)期期末考試試題以及答案(含答案)
- 五年級(jí)下冊(cè)數(shù)學(xué)題目及答案
- 無(wú)領(lǐng)導(dǎo)討論題目及答案
- 危險(xiǎn)化學(xué)品安全考試題及答案
- 強(qiáng)化訓(xùn)練人教版九年級(jí)數(shù)學(xué)上冊(cè)第二十四章圓專(zhuān)項(xiàng)練習(xí)試卷(含答案詳解)
- 初中前端培訓(xùn)課件
- 泵送混凝土施工技術(shù)操作要點(diǎn)
- 三菱PLC技術(shù)與應(yīng)用實(shí)訓(xùn)教程(FX3U)習(xí)題答案 模塊4 精英篇(高級(jí)技師)
- 實(shí)體經(jīng)濟(jì)政治試題及答案
- 代辦煙花爆竹經(jīng)營(yíng)許可證協(xié)議合同
- 國(guó)企員工總額管理辦法
- 企業(yè)級(jí)AI大模型平臺(tái)落地框架
- 常見(jiàn)傳染病的預(yù)防與護(hù)理
- TD/T 1036-2013土地復(fù)墾質(zhì)量控制標(biāo)準(zhǔn)
- 蘇教版六年級(jí)數(shù)學(xué)上冊(cè)全冊(cè)知識(shí)點(diǎn)歸納(全梳理)
- 車(chē)位包銷(xiāo)合同協(xié)議模板
- 病歷書(shū)寫(xiě)規(guī)范版2025
- 中鐵物資采購(gòu)?fù)稑?biāo)
- 泄漏管理培訓(xùn)課件
- 非遺傳承人激勵(lì)機(jī)制探索-深度研究
評(píng)論
0/150
提交評(píng)論