




免費(fèi)預(yù)覽已結(jié)束,剩余10頁(yè)可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課 程 設(shè) 計(jì) 課程名稱 單片機(jī)原理與接口技術(shù) 題目名稱可調(diào)燈光系統(tǒng)程序設(shè)計(jì)2015 年 1 月 16 日目 錄課程設(shè)計(jì)任務(wù)書 -1系統(tǒng)總體設(shè)計(jì) -3軟件系統(tǒng)設(shè)計(jì) -3 程序流程圖 -3 九級(jí)調(diào)光源程序代碼 -4 無(wú)級(jí)調(diào)光源程序代碼 -7 調(diào)試結(jié)果 -10設(shè)計(jì)感想與體會(huì) -11廣東工業(yè)大學(xué)課程設(shè)計(jì)任務(wù)書題目名稱基于單片機(jī)與PWM技術(shù)的可調(diào)燈光系統(tǒng)程序設(shè)計(jì)學(xué)生學(xué)院信息工程學(xué)院專業(yè)班級(jí)信息工程(應(yīng)用電子方向)12(1)班姓 名翁桂林學(xué) 號(hào)3112002505一、課程設(shè)計(jì)的內(nèi)容本次課程設(shè)計(jì)的內(nèi)容從下面兩個(gè)方面任選一個(gè):一是在學(xué)院的單片機(jī)實(shí)驗(yàn)平臺(tái)上進(jìn)行,開發(fā)一個(gè)基于單片機(jī)與PWM技術(shù)的燈光調(diào)節(jié)系統(tǒng),主要開發(fā)內(nèi)容為按鍵定義、輸入與防抖動(dòng)技術(shù)、PWM調(diào)節(jié)技術(shù)以及顯示技術(shù)等程序設(shè)計(jì)。二是利用51系列單片機(jī)及必要的外圍芯片、輸入輸出等接口電路設(shè)計(jì)開發(fā)一個(gè)簡(jiǎn)易的單片機(jī)系統(tǒng),在此基礎(chǔ)上,自行設(shè)計(jì)一個(gè)單片機(jī)應(yīng)用程序來(lái)實(shí)現(xiàn)一些實(shí)用的功能。通過這些內(nèi)容的設(shè)計(jì)、開發(fā)、安裝、調(diào)試等一系列工作,熟練掌握單片機(jī)系統(tǒng)的開發(fā)流程與工作機(jī)理,加深對(duì)所學(xué)課程知識(shí)的理解與把握,為將來(lái)相關(guān)的研究開發(fā)工作打下堅(jiān)實(shí)的基礎(chǔ)。二、課程設(shè)計(jì)的要求與數(shù)據(jù)1 全面掌握硬件結(jié)構(gòu)與電路原理;2 自行設(shè)計(jì)開發(fā)、編輯、調(diào)試應(yīng)用程序; 3 必須有完善的功能介紹與調(diào)試過程說明;4 提供完整的軟件流程框圖。5 提供完整的程序清單。三、課程設(shè)計(jì)應(yīng)完成的工作1 硬件理解與安裝調(diào)試;2 軟件設(shè)計(jì)與開發(fā)、調(diào)試;3 軟硬件聯(lián)合調(diào)試與實(shí)驗(yàn);4 按照學(xué)校要求撰寫并上交完整的課程設(shè)計(jì)報(bào)告5 完成課程設(shè)計(jì)答辯。四、課程設(shè)計(jì)進(jìn)程安排序號(hào)設(shè)計(jì)各階段內(nèi)容地點(diǎn)起止日期1查找資料,熟悉硬件電路或?qū)嶒?yàn)平臺(tái)的資源圖書館或?qū)嶒?yàn)1號(hào)館4042015年1月5日7日2整體方案設(shè)計(jì),輸入輸出通道定義(方案一)或硬件安裝、調(diào)試與檢查(方案二)宿舍或?qū)嶒?yàn)1號(hào)館4041月8日9日3軟件設(shè)計(jì)與流程圖編寫宿舍或?qū)嶒?yàn)1號(hào)館4041月10日4程序編寫宿舍實(shí)驗(yàn)1號(hào)館4041月11日12日5軟件調(diào)試,與硬件聯(lián)合調(diào)試宿舍或?qū)嶒?yàn)1號(hào)館4041月13日6撰寫課程設(shè)計(jì)報(bào)告宿舍或?qū)嶒?yàn)1號(hào)館4041月14日7課程設(shè)計(jì)答辯實(shí)驗(yàn)1號(hào)館4041月15日16日五、應(yīng)收集的資料及主要參考文獻(xiàn)1 吳寧. 80X86/Pentium 微型計(jì)算機(jī)原理及應(yīng)用M. 北京:電子工業(yè)出版社,2004:1-249.2 蔡美琴. MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用M.北京:高等教育出版社,2003:1-169.3 段晨東. 單片機(jī)原理與接口技術(shù)M. 北京: 清華大學(xué)出版社, 2013:1-3334 吳黎明等. 單片機(jī)實(shí)驗(yàn)指導(dǎo)書M. 廣州:廣東工業(yè)大學(xué)教材科,2014發(fā)出任務(wù)書日期: 2015 年 1 月 5 日 指導(dǎo)教師簽名:計(jì)劃完成日期: 2015 年 1 月 16日 基層教學(xué)單位責(zé)任人簽章:主管院長(zhǎng)簽章:一、系統(tǒng)總體設(shè)計(jì): 設(shè)計(jì)背景:現(xiàn)當(dāng)今,單片機(jī)的應(yīng)用無(wú)處不在。利用單片機(jī)控制燈具的實(shí)例也不勝枚舉,可控制燈具的芯片也相當(dāng)之多,而利用單片機(jī)控制燈具,達(dá)到人們預(yù)想效果的方法最為廣泛。它有功能多、價(jià)格優(yōu)、外部電路簡(jiǎn)單的特點(diǎn),深受單片機(jī)愛好者及燈具控制制造商的青昧,用80C51 單片機(jī)及少數(shù)外部電路控制燈光,使燈具產(chǎn)生明暗效果。本次課設(shè)基于AMC51單片機(jī)綜合開發(fā)系統(tǒng),利用單片機(jī)的定時(shí)中斷生成不同的PWM波形,通過調(diào)整PWM的周期、PWM的占空比從而控制輸出平均電壓,進(jìn)而達(dá)到對(duì)電燈進(jìn)行光度亮暗的控制調(diào)節(jié)的效果,實(shí)現(xiàn)對(duì)電燈的PWM調(diào)光控制。完成的功能及效果與目標(biāo):電燈9級(jí)PWM亮度調(diào)節(jié)設(shè)計(jì)思路:AMC51單片機(jī)綜合開發(fā)系統(tǒng),利用單片機(jī)的定時(shí)中斷生成不同的PWM波形,設(shè)置為手動(dòng)控制,分三個(gè)按鍵,九級(jí)調(diào)光,通過輸出不同的PWM占空比對(duì)電燈進(jìn)行控制,從而實(shí)現(xiàn)對(duì)光度的調(diào)節(jié),進(jìn)行電燈的亮度調(diào)節(jié)。其中,K1鍵增加亮度K2鍵降低亮度,K3檔實(shí)現(xiàn)電燈的開關(guān)控制。工作原理:對(duì)于控制電燈由亮到暗或由暗到亮,采用的是脈寬PWM法。它是把每一脈沖寬度均相等的脈沖列作PWM波形,通過改變脈沖占空比可以調(diào)壓,采用適當(dāng)控制方法即可使電壓與頻率協(xié)調(diào)變化。可以通過調(diào)整PWM的占空比而達(dá)到控制電流的目的。 PWM簡(jiǎn)介: 脈沖寬度調(diào)制(PWM),是英文“Pulse Width Modulation”的縮寫,簡(jiǎn)稱脈寬調(diào)制,是利用 微處理器的數(shù)字輸出來(lái)對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測(cè)量、通信到功率控制與變換的許多領(lǐng)域中。2、 軟件系統(tǒng)設(shè)計(jì)(1) 源程序流程圖(2) 源程序九級(jí)調(diào)光源程序DIRLOP EQU 38H /顯示字節(jié)數(shù)LDAN EQU 58H /電燈亮度檔值T2H EQU 59H /T1高8位定時(shí)值存儲(chǔ)器T2D EQU 5AH /T1低8位定時(shí)值存儲(chǔ)器LAMP EQU P1.2 /電燈控制位ORG 0000HAJMP STARTORG 000BHLJMP TIME1 /T0中斷程序(產(chǎn)生PWM基頻)ORG 001BHLJMP TIME2 /T1中斷程序(控制脈沖寬度)ORG 0030HSTART:SETB LAMP /程序初始化 MOV A,#0 MOV LDAN,A MOV TMOD,#11H /設(shè)定兩定時(shí)器為16位定時(shí)器 MOV IE,#10001010B /開啟兩定時(shí)器的中斷請(qǐng)求 MOV TH0,#0FCH /設(shè)定PWM基頻(500Hz) MOV TL0,#18H SETB TR0 /啟動(dòng)計(jì)數(shù)器T0MAIN: ACALL KEY /調(diào)動(dòng)鍵掃描子程序 ACALL TRANS /調(diào)動(dòng)顯示拆字子程序 ACALL DISP /調(diào)動(dòng)串行顯示子程序 ACALL DLYK /調(diào)動(dòng)20ms延時(shí)程序 NOP NOP SJMP MAIN KEY: MOV P2,#0FFH /向P2口寫“1”,準(zhǔn)備讀取數(shù)據(jù) NOP NOPKEY1: JNB P2.0,K1 /判斷電燈變亮或變暗 JNB P2.1,K2 JNB P2.2,K3BACK: ACALL DONE /調(diào)用亮度值到PWM定時(shí)值轉(zhuǎn)換程序 RETK1: ACALL DLYK /按鍵防抖動(dòng)延時(shí) JB P2.0,BACKJ1: JNB P2.0,J1 /亮度檔值加1 INC LDAN MOV A,LDAN CJNE A,#9,BACK /限定最高檔值為8 DEC LDAN SJMP BACK K2: ACALL DLYK/按鍵防抖動(dòng)延時(shí) JB P2.1,BACKJ2: JNB P2.1,J2 /亮度檔值減1 MOV A,LDAN CJNE A,#0,J22 SJMP BACKJ22: DEC LDAN/按鍵防抖動(dòng)延時(shí) SJMP BACKK3: ACALL DLYK JB P2.2,BACKJ3: JNB P2.2,J3 /開關(guān)電燈 CPL TR0 NOPNOPSETB LAMP SJMP BACKDLYK:MOV R4,#4AH /20ms定時(shí)程序DLYK1:MOV R5,#62HDLYK2:DJNZ R5,DLYK2 DJNZ R4,DLYK1 RET DONE:MOV A,LDAN /亮度值到PWM定時(shí)值轉(zhuǎn)換程序 CJNE A,#0,DJ0 RETDJ0: CJNE A,#1,DJ1 /設(shè)定1檔定時(shí)值 MOV T2H,#0FFH MOV T2D,#83H RETDJ1: CJNE A,#2,DJ2 /設(shè)定2檔定時(shí)值 MOV T2H,#0FFH MOV T2D,#06H RETDJ2: CJNE A,#3,DJ3 /設(shè)定3檔定時(shí)值 MOV T2H,#0FEH MOV T2D,#89H RETDJ3: CJNE A,#4,DJ4 /設(shè)定4檔定時(shí)值 MOV T2H,#0FEH MOV T2D,#0CH RETDJ4: CJNE A,#5,DJ5 /設(shè)定5檔定時(shí)值 MOV T2H,#0FDH MOV T2D,#8FH RETDJ5: CJNE A,#6,DJ6 /設(shè)定6檔定時(shí)值 MOV T2H,#0FDH MOV T2D,#12H RETDJ6: CJNE A,#7,DJ7 /設(shè)定7檔定時(shí)值 MOV T2H,#0FCH MOV T2D,#95HDJ7: RETTIME1: MOV TH0,#0FCH /定時(shí)中斷0 MOV TL0,#18H PUSH ACC PUSH PSW MOV A,LDAN CLR P1.2 /開燈 CJNE A,#0,TM1 /0檔時(shí)立刻關(guān)掉電燈 SETB P1.2 SJMP TBACKTM1: CJNE A,#8,TM2 /8檔時(shí)亮度調(diào)到最大 CLR TR1 /關(guān)閉定時(shí)器1 SJMP TBACKTM2: MOV TH1,T2H /1至7檔時(shí)輸入T2定時(shí)值控制脈沖寬度 MOV TL1,T2D SETB TR1 /啟動(dòng)定時(shí)器1TBACK: POP PSW POP ACC RETITIME2: SETB P1.2 /關(guān)掉電燈 CLR TR1 /關(guān)閉定時(shí)器1 RETI TRANS: MOV 3CH,LDAN /亮度檔值顯示拆字 MOV 3EH,#16 MOV 3FH,#17 RETDISP: MOV DIRLOP,#4 /串行顯示程序(4位數(shù)碼管) MOV R0,#3FH /3CH到3FH是顯示緩沖區(qū)DL0: MOV A,R0 MOV DPTR,#TAB MOVC A,A+DPTR /查得相應(yīng)的七段代碼 MOV SBUF,A /串行發(fā)送DL1: JNB TI,DL1 CLR TI DEC R0 DJNZ DIRLOP,DL0 RETTAB: DB 0FCH,60H,0DAH,0F2H,66H,0B6H /共陰七段數(shù)碼管代碼表 DB 0BEH,0E0H,0FEH,0E6H,0EEH,03EH,9CH DB 7AH,9EH,8EH,02H,1CHEND 無(wú)級(jí)調(diào)光源程序DIRLOP EQU 38H /顯示字節(jié)數(shù)DISP0 EQU 39H /串行顯示寄存器0DISP1 EQU 3AH /串行顯示寄存器1DISP2 EQU 3BH /串行顯示寄存器2LDAN EQU 58H /電燈亮度檔值T2H EQU 59H /T1高8位定時(shí)值存儲(chǔ)器T2D EQU 5AH /T1低8位定時(shí)值存儲(chǔ)器LAMP EQU P1.2 /電燈控制位ORG 0000HAJMP STARTORG 000BHLJMP TIME1 /T0中斷程序(產(chǎn)生PWM基頻)ORG 001BHLJMP TIME2 /T1中斷程序(控制脈沖寬度)ORG 0030HSTART: SETB LAMP /程序初始化 MOV A,#0 MOV LDAN,A MOV DISP0,A MOV DISP1,A MOV DISP2,A MOV TMOD,#11H /設(shè)定兩定時(shí)器為16位定時(shí)器 MOV IE,#10001010B /開啟兩定時(shí)器的中斷請(qǐng)求 MOV TH0,#0FCH /設(shè)定PWM基頻(500Hz) MOV TL0,#18H SETB TR0 /啟動(dòng)計(jì)數(shù)器T0MAIN: ACALL KEY /調(diào)動(dòng)鍵掃描子程序 ACALL TRANS /調(diào)動(dòng)顯示拆字子程序 ACALL DISP /調(diào)動(dòng)串行顯示子程序 ACALL DELAY100 /調(diào)動(dòng)20ms延時(shí)程序 NOP NOP SJMP MAIN KEY: MOV P2,#0FFH /向P3口寫1,準(zhǔn)備讀取數(shù)據(jù) NOP NOPKEY1: JNB P2.0,K1 /判斷電燈變亮或變暗 JNB P2.1,K2 JNB P2.2,K3BACK: ACALL DONE /調(diào)用亮度值到PWM定時(shí)值轉(zhuǎn)換程序 RETK1: ACALL DELAY100 /按鍵防抖動(dòng)延時(shí) JB P2.0,BACKJ1: /亮度檔值加1 INC LDAN MOV A,LDAN CJNE A,#0,BACK /限定最高檔值為255 DEC LDAN SJMP BACK K2: ACALL DELAY100 JB P2.1,BACKJ2: /亮度檔值減1 MOV A,LDAN CJNE A,#0,J22 SJMP BACKJ22: DEC LDAN SJMP BACKK3: ACALL DELAY100 JB P2.2,BACKJ3: JNB P2.2,J3 /開關(guān)電燈 CPL TR0 NOP NOP SETB LAMP SJMP BACKDLYK: MOV R4,#2AH /20ms定時(shí)程序DLYK1: MOV R5,#32HDLYK2: DJNZ R5,DLYK2 DJNZ R4,DLYK1 RET DELAY100:MOV R4,#7AH /小延遲程序DLYK101:MOV R5,#20HDLYK102:DJNZ R5,DLYK102 DJNZ R4,DLYK101 RET DONE: MOV A,LDAN /亮度值到PWM定時(shí)值轉(zhuǎn)換程序 CJNE A,#0,DJ0 RETDJ0: MOV B,#2H/亮度值轉(zhuǎn)化為定時(shí)器初始值 MUL AB CPL A MOV R1,A MOV A,B CPL A MOV R2,A MOV T2H,R2 MOV T2D,R1 RET TIME1: MOV TH0,#0FCH /定時(shí)中斷0 MOV TL0,#18H PUSH ACC PUSH PSW MOV A,LDAN CLR P1.2 /開燈 CJNE A,#0,TM1 /0檔時(shí)立刻關(guān)掉電燈 SETB P1.2 SJMP TBACK TM1: CJNE A,#0,TM2 /255檔時(shí)亮度調(diào)到最大 CLR TR1 /關(guān)閉定時(shí)器1 SJMP TBACKTM2: MOV TH1,T2H /輸入不同的T2定時(shí)值控制脈沖寬度 MOV TL1,T2D SETB TR1 /啟動(dòng)定時(shí)器1TBACK: POP PSW POP ACC RETITIME2: SETB P1.2 /關(guān)掉電燈 CLR TR1 /關(guān)閉定時(shí)器1 RETITRANS: MOV A,LDAN /將LDAN轉(zhuǎn)化為十進(jìn)制數(shù) MOV B,#64H DIV AB MOV DISP2,A MOV A,#0AH XCH A,B DIV AB MOV DISP1,A MOV DISP0,B MOV 3CH,#16 RETDISP: MOV DIRLOP,#4 /串行顯示程序(4位數(shù)碼管) MOV R0,#3CH /3CH到3FH是顯示緩沖區(qū)DL0: MOV A,R0 MOV DPTR,#TAB MOVC A,A+DPTR /查得相應(yīng)的七段代碼 MOV SBUF,A /串行發(fā)送DL1: JNB TI,DL1 CLR TI DEC R0 DJNZ DIRLOP,DL0 RETTAB: DB 0FCH,60H,0DAH,0F2H,66H,0B6H /共陰七段數(shù)碼管代碼表 DB 0BEH,0E
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《整式加減(1)》教案1
- 北京行測(cè)題庫(kù)2024
- 創(chuàng)造力在雜技表演中的作用研究
- 2024年梧州市“三支一扶”招募筆試真題
- 激素與增生相關(guān)性-洞察及研究
- 微生物發(fā)酵強(qiáng)化-洞察及研究
- 查詢優(yōu)化與數(shù)據(jù)壓縮-洞察及研究
- 電動(dòng)車主充電行為分析-洞察及研究
- 成長(zhǎng)與成功講課件
- 2025屆廣東省江門蓬江區(qū)五校聯(lián)考八下英語(yǔ)期中質(zhì)量檢測(cè)模擬試題含答案
- 園林行業(yè)職業(yè)道德
- 副校長(zhǎng)筆試題庫(kù)及答案
- 2025年湖北恩施州檢察機(jī)關(guān)招聘雇員制檢察輔助人員40人歷年高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 陜西省濱河2025屆中考生物模擬預(yù)測(cè)題含解析
- 招標(biāo)代理招標(biāo)服務(wù)實(shí)施方案
- 《煤礦事故分析與預(yù)防》課件
- 幼兒園園長(zhǎng),教師輪訓(xùn)工作制度及流程
- 2025下半年江蘇南京市浦口區(qū)衛(wèi)健委所屬部分事業(yè)單位招聘人員24人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 省級(jí)溫室氣體清單編制指南
- 醫(yī)院醫(yī)用耗材SPD服務(wù)項(xiàng)目投標(biāo)方案
- 廈門大學(xué)海洋科學(xué)導(dǎo)論課件(水文部分)l
評(píng)論
0/150
提交評(píng)論