可調(diào)燈光系統(tǒng)程序設(shè)計_第1頁
可調(diào)燈光系統(tǒng)程序設(shè)計_第2頁
可調(diào)燈光系統(tǒng)程序設(shè)計_第3頁
可調(diào)燈光系統(tǒng)程序設(shè)計_第4頁
可調(diào)燈光系統(tǒng)程序設(shè)計_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

/課程設(shè)計課程名稱單片機原理和接口技術(shù)題目名稱《可調(diào)燈光系統(tǒng)程序設(shè)計》2015年1月16日目錄·課程設(shè)計任務(wù)書1·系統(tǒng)總體設(shè)計3·軟件系統(tǒng)設(shè)計3程序流程圖3九級調(diào)光源程序代碼4無級調(diào)光源程序代碼7·調(diào)試結(jié)果10·設(shè)計感想和體會11廣東工業(yè)高校課程設(shè)計任務(wù)書題目名稱《基于單片機和PWM技術(shù)的可調(diào)燈光系統(tǒng)程序設(shè)計》學(xué)生學(xué)院信息工程學(xué)院專業(yè)班級信息工程(應(yīng)用電子方向)12(1)班姓名翁桂林學(xué)號3112002505一、課程設(shè)計的內(nèi)容本次課程設(shè)計的內(nèi)容從下面兩個方面任選一個:一是在學(xué)院的單片機試驗平臺上進行,開發(fā)一個基于單片機和PWM技術(shù)的燈光調(diào)整系統(tǒng),主要開發(fā)內(nèi)容為按鍵定義、輸入和防抖動技術(shù)、PWM調(diào)整技術(shù)以及顯示技術(shù)等程序設(shè)計。二是利用51系列單片機及必要的外圍芯片、輸入輸出等接口電路設(shè)計開發(fā)一個簡易的單片機系統(tǒng),在此基礎(chǔ)上,自行設(shè)計一個單片機應(yīng)用程序來實現(xiàn)一些好用的功能。通過這些內(nèi)容的設(shè)計、開發(fā)、安裝、調(diào)試等一系列工作,嫻熟駕馭單片機系統(tǒng)的開發(fā)流程和工作機理,加深對所學(xué)課程學(xué)問的理解和把握,為將來相關(guān)的探討開發(fā)工作打下堅實的基礎(chǔ)。二、課程設(shè)計的要求和數(shù)據(jù)1全面駕馭硬件結(jié)構(gòu)和電路原理;2自行設(shè)計開發(fā)、編輯、調(diào)試應(yīng)用程序;3必需有完善的功能介紹和調(diào)試過程說明;4供應(yīng)完整的軟件流程框圖。5供應(yīng)完整的程序清單。三、課程設(shè)計應(yīng)完成的工作1硬件理解和安裝調(diào)試;2軟件設(shè)計和開發(fā)、調(diào)試;3軟硬件聯(lián)合調(diào)試和試驗;4依據(jù)學(xué)校要求撰寫并上交完整的課程設(shè)計報告5完成課程設(shè)計答辯。四、課程設(shè)計進程支配序號設(shè)計各階段內(nèi)容地點起止日期1查找資料,熟悉硬件電路或試驗平臺的資源圖書館或試驗1號館4042015年1月5日-7日2整體方案設(shè)計,輸入輸出通道定義(方案一)或硬件安裝、調(diào)試和檢查(方案二)宿舍或試驗1號館4041月8日-9日3軟件設(shè)計和流程圖編寫宿舍或試驗1號館4041月10日4程序編寫宿舍試驗1號館4041月11日-12日5軟件調(diào)試,和硬件聯(lián)合調(diào)試宿舍或試驗1號館4041月13日6撰寫課程設(shè)計報告宿舍或試驗1號館4041月14日7課程設(shè)計答辯試驗1號館4041月15日-16日五、應(yīng)收集的資料及主要參考文獻[1]吳寧.80X86/Pentium微型計算機原理及應(yīng)用[M].北京:電子工業(yè)出版社,2004:1-249.[2]蔡美琴.MCS-51系列單片機系統(tǒng)及其應(yīng)用[M].北京:高等教化出版社,2003:1-169.[3]段晨東.單片機原理和接口技術(shù)[M].北京:清華高校出版社,2013:1-333[4]吳黎明等.單片機試驗指導(dǎo)書[M].廣州:廣東工業(yè)高校教材科,2014發(fā)出任務(wù)書日期:2015年1月5日指導(dǎo)老師簽名:支配完成日期:2015年1月16日基層教學(xué)單位責(zé)任人簽章:主管院長簽章:一、系統(tǒng)總體設(shè)計:設(shè)計背景:現(xiàn)當(dāng)今,單片機的應(yīng)用無處不在。利用單片機限制燈具的實例也數(shù)不勝數(shù),可限制燈具的芯片也相當(dāng)之多,而利用單片機限制燈具,達到人們預(yù)想效果的方法最為廣泛。它有功能多、價格優(yōu)、外部電路簡潔的特點,深受單片機愛好者及燈具限制制造商的青昧,用80C51單片機及少數(shù)外部電路限制燈光,使燈具產(chǎn)生明暗效果。本次課設(shè)基于AMC51單片機綜合開發(fā)系統(tǒng),利用單片機的定時中斷生成不同的PWM波形,通過調(diào)整PWM的周期、PWM的占空比從而限制輸出平均電壓,進而達到對電燈進行光度亮暗的限制調(diào)整的效果,實現(xiàn)對電燈的PWM調(diào)光限制。完成的功能及效果和目標(biāo):電燈9級PWM亮度調(diào)整設(shè)計思路:AMC51單片機綜合開發(fā)系統(tǒng),利用單片機的定時中斷生成不同的PWM波形,設(shè)置為手動限制,分三個按鍵,九級調(diào)光,通過輸出不同的PWM占空比對電燈進行限制,從而實現(xiàn)對光度的調(diào)整,進行電燈的亮度調(diào)整。其中,K1鍵增加亮度K2鍵降低亮度,K3檔實現(xiàn)電燈的開關(guān)限制。工作原理:對于限制電燈由亮到暗或由暗到亮,接受的是脈寬PWM法。它是把每一脈沖寬度均相等的脈沖列作PWM波形,通過變更脈沖占空比可以調(diào)壓,接受適當(dāng)限制方法即可使電壓和頻率協(xié)調(diào)變更??梢酝ㄟ^調(diào)整PWM的占空比而達到限制電流的目的。PWM簡介:脈沖寬度調(diào)制(PWM),是英文“PulseWidthModulation”的縮寫,簡稱脈寬調(diào)制,是利用 微處理器的數(shù)字輸出來對模擬電路進行限制的一種特殊有效的技術(shù),廣泛應(yīng)用在從 測量、通信 到功率限制和變換的許多領(lǐng)域中。軟件系統(tǒng)設(shè)計源程序流程圖源程序①九級調(diào)光源程序DIRLOPEQU38H//顯示字節(jié)數(shù)LDANEQU58H//電燈亮度檔值T2HEQU59H//T1高8位定時值存儲器T2DEQU5AH//T1低8位定時值存儲器LAMPEQUP1.2//電燈限制位ORG0000HAJMPSTARTORG000BHLJMPTIME1//T0中斷程序(產(chǎn)生PWM基頻)ORG001BHLJMPTIME2//T1中斷程序(限制脈沖寬度)ORG0030HSTART:SETBLAMP//程序初始化MOVA,#0MOVLDAN,AMOVTMOD,#11H//設(shè)定兩定時器為16位定時器MOVIE,#10001010B//開啟兩定時器的中斷請求MOVTH0,#0FCH//設(shè)定PWM基頻(500Hz)MOVTL0,#18HSETBTR0//啟動計數(shù)器T0MAIN:ACALLKEY//調(diào)動鍵掃描子程序ACALLTRANS//調(diào)動顯示拆字子程序ACALLDISP//調(diào)動串行顯示子程序ACALLDLYK//調(diào)動20ms延時程序NOPNOPSJMPMAINKEY:MOVP2,#0FFH//向P2口寫“1”,準(zhǔn)備讀取數(shù)據(jù)NOPNOPKEY1:JNBP2.0,K1//推斷電燈變亮或變暗JNBP2.1,K2JNBP2.2,K3BACK:ACALLDONE//調(diào)用亮度值到PWM定時值轉(zhuǎn)換程序RETK1:ACALLDLYK//按鍵防抖動延時JBP2.0,BACKJ1:JNBP2.0,J1//亮度檔值加1INCLDANMOVA,LDANCJNEA,#9,BACK//限定最高檔值為8DECLDANSJMPBACKK2:ACALLDLYK //按鍵防抖動延時JBP2.1,BACKJ2:JNBP2.1,J2//亮度檔值減1MOVA,LDANCJNEA,#0,J22SJMPBACKJ22:DECLDAN //按鍵防抖動延時SJMPBACKK3:ACALLDLYKJBP2.2,BACKJ3:JNBP2.2,J3//開關(guān)電燈CPLTR0NOPNOPSETBLAMPSJMPBACKDLYK:MOVR4,#4AH//20ms定時程序DLYK1:MOVR5,#62HDLYK2:DJNZR5,DLYK2DJNZR4,DLYK1RETDONE:MOVA,LDAN//亮度值到PWM定時值轉(zhuǎn)換程序CJNEA,#0,DJ0RETDJ0:CJNEA,#1,DJ1//設(shè)定1檔定時值MOVT2H,#0FFHMOVT2D,#83HRETDJ1:CJNEA,#2,DJ2//設(shè)定2檔定時值MOVT2H,#0FFHMOVT2D,#06HRETDJ2:CJNEA,#3,DJ3//設(shè)定3檔定時值MOVT2H,#0FEHMOVT2D,#89HRETDJ3:CJNEA,#4,DJ4//設(shè)定4檔定時值MOVT2H,#0FEHMOVT2D,#0CHRETDJ4:CJNEA,#5,DJ5//設(shè)定5檔定時值MOVT2H,#0FDHMOVT2D,#8FHRETDJ5:CJNEA,#6,DJ6//設(shè)定6檔定時值MOVT2H,#0FDHMOVT2D,#12HRETDJ6:CJNEA,#7,DJ7//設(shè)定7檔定時值MOVT2H,#0FCHMOVT2D,#95HDJ7:RETTIME1:MOVTH0,#0FCH//定時中斷0MOVTL0,#18HPUSHACCPUSHPSWMOVA,LDANCLRP1.2//開燈CJNEA,#0,TM1//0檔時馬上關(guān)掉電燈SETBP1.2SJMPTBACKTM1:CJNEA,#8,TM2//8檔時亮度調(diào)到最大CLRTR1//關(guān)閉定時器1SJMPTBACKTM2:MOVTH1,T2H//1至7檔時輸入T2定時值限制脈沖寬度MOVTL1,T2DSETBTR1//啟動定時器1TBACK:POPPSWPOPACCRETITIME2:SETBP1.2//關(guān)掉電燈 CLRTR1//關(guān)閉定時器1 RETITRANS:MOV3CH,LDAN//亮度檔值顯示拆字MOV3EH,#16MOV3FH,#17RETDISP:MOVDIRLOP,#4//串行顯示程序(4位數(shù)碼管)MOVR0,#3FH//3CH到3FH是顯示緩沖區(qū)DL0:MOVA,@R0MOVDPTR,#TABMOVCA,@A+DPTR//查得相應(yīng)的七段代碼MOVSBUF,A//串行發(fā)送DL1:JNBTI,DL1CLRTIDECR0DJNZDIRLOP,DL0RETTAB:DB0FCH,60H,0DAH,0F2H,66H,0B6H//共陰七段數(shù)碼管代碼表DB0BEH,0E0H,0FEH,0E6H,0EEH,03EH,9CHDB7AH,9EH,8EH,02H,1CHEND②無級調(diào)光源程序DIRLOPEQU38H//顯示字節(jié)數(shù)DISP0EQU39H//串行顯示寄存器0DISP1EQU3AH//串行顯示寄存器1DISP2EQU3BH//串行顯示寄存器2LDANEQU58H//電燈亮度檔值T2HEQU59H//T1高8位定時值存儲器T2DEQU5AH//T1低8位定時值存儲器LAMPEQUP1.2//電燈限制位ORG0000HAJMPSTARTORG000BHLJMPTIME1//T0中斷程序(產(chǎn)生PWM基頻)ORG001BHLJMPTIME2//T1中斷程序(限制脈沖寬度)ORG0030HSTART:SETBLAMP//程序初始化MOVA,#0MOVLDAN,AMOVDISP0,AMOVDISP1,AMOVDISP2,AMOVTMOD,#11H//設(shè)定兩定時器為16位定時器MOVIE,#10001010B//開啟兩定時器的中斷請求MOVTH0,#0FCH//設(shè)定PWM基頻(500Hz)MOVTL0,#18HSETBTR0//啟動計數(shù)器T0MAIN:ACALLKEY//調(diào)動鍵掃描子程序ACALLTRANS//調(diào)動顯示拆字子程序ACALLDISP//調(diào)動串行顯示子程序ACALLDELAY100//調(diào)動20ms延時程序NOPNOPSJMPMAINKEY:MOVP2,#0FFH//向P3口寫"1",準(zhǔn)備讀取數(shù)據(jù)NOPNOPKEY1:JNBP2.0,K1//推斷電燈變亮或變暗JNBP2.1,K2JNBP2.2,K3BACK:ACALLDONE//調(diào)用亮度值到PWM定時值轉(zhuǎn)換程序RETK1:ACALLDELAY100//按鍵防抖動延時JBP2.0,BACKJ1: //亮度檔值加1INCLDANMOVA,LDANCJNEA,#0,BACK//限定最高檔值為255DECLDANSJMPBACKK2:ACALLDELAY100JBP2.1,BACKJ2: //亮度檔值減1MOVA,LDANCJNEA,#0,J22SJMPBACKJ22:DECLDANSJMPBACKK3:ACALLDELAY100JBP2.2,BACKJ3:JNBP2.2,J3//開關(guān)電燈CPLTR0 NOP NOPSETBLAMPSJMPBACKDLYK:MOVR4,#2AH//20ms定時程序DLYK1:MOVR5,#32HDLYK2:DJNZR5,DLYK2DJNZR4,DLYK1RETDELAY100:MOVR4,#7AH//小延遲程序DLYK101:MOVR5,#20HDLYK102:DJNZR5,DLYK102DJNZR4,DLYK101RETDONE:MOVA,LDAN//亮度值到PWM定時值轉(zhuǎn)換程序CJNEA,#0,DJ0RETDJ0:MOVB,#2H //亮度值轉(zhuǎn)化為定時器初始值 MULAB CPLA MOVR1,A MOVA,B CPLA MOVR2,A MOVT2H,R2 MOVT2D,R1 RET TIME1:MOVTH0,#0FCH//定時中斷0 MOVTL0,#18H PUSHACC PUSHPSW MOVA,LDAN CLRP1.2//開燈 CJNEA,#0,TM1//0檔時馬上關(guān)掉電燈 SETBP1.2 SJMPTBACK TM1:CJNEA,#0,TM2//255檔時亮度調(diào)到最大CLRTR1//關(guān)閉定時器1SJMPTBACKTM2:MOVTH1,T2H//輸入不同的T2定時值限制脈沖寬度MOVTL1,T2DSETBTR1//啟動定時器1TBACK:POPPSWPOPACCRETITIME2:SETBP1.2//關(guān)掉電燈CLRTR1//關(guān)閉定時器1RETITRANS:MOVA,LDAN //將LDAN轉(zhuǎn)化為十進制數(shù) MOVB,#64H DIVAB MOVDISP2,A MOVA,#0AH XCHA,B DIVAB MOVDISP1,A MOVDISP0,B MOV3CH,#16 RETDISP:MOVDIRLOP,#4//串行顯示程序(4位數(shù)碼管)MOVR0,#3CH//3CH到3FH是顯示緩沖區(qū)DL0:

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論