音樂提示定時(shí)器課程設(shè)計(jì)報(bào)告_第1頁
音樂提示定時(shí)器課程設(shè)計(jì)報(bào)告_第2頁
音樂提示定時(shí)器課程設(shè)計(jì)報(bào)告_第3頁
音樂提示定時(shí)器課程設(shè)計(jì)報(bào)告_第4頁
音樂提示定時(shí)器課程設(shè)計(jì)報(bào)告_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余30頁可下載查看

付費(fèi)下載

下載本文檔

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

文檔簡介

單片機(jī)課程設(shè)計(jì)一一音樂提示定時(shí)器設(shè)計(jì)單片機(jī)課程設(shè)計(jì)一一音樂提示定時(shí)器設(shè)計(jì) 設(shè)計(jì)者:趙莎莎第4章使用說明1、 通電以后,顯示窗顯示默認(rèn)設(shè)定時(shí)間“0500”計(jì)時(shí)5分鐘。2、 按時(shí)間設(shè)定鍵A、B、C、D,可設(shè)定不同時(shí)間的定時(shí)。A鍵:可設(shè)定時(shí)間在1-60分鐘內(nèi)以5分鐘為最小時(shí)間段進(jìn)行調(diào)整,每按鍵一次,時(shí)間加5分鐘。B鍵:設(shè)置倒數(shù)計(jì)時(shí)時(shí)間為5分鐘,與默認(rèn)時(shí)間相同。C鍵:設(shè)置倒數(shù)計(jì)時(shí)時(shí)間為10分鐘,顯示為“1000”D鍵:設(shè)置倒數(shù)計(jì)時(shí)時(shí)間為20分鐘,顯示為“2000”。3、 設(shè)定時(shí)間后,定時(shí)器開始工作。4、 定時(shí)時(shí)間到,會播放一段音樂,按任意鍵停止。5、 在任何情況下,按下復(fù)位鍵(R鍵),定時(shí)器重新回到初始狀態(tài),顯示默認(rèn)時(shí)間“0500”。第5章設(shè)計(jì)總結(jié)課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握單片機(jī)的開發(fā)技術(shù)是十分重要的?;仡櫰鸫舜螁纹瑱C(jī)課程設(shè)計(jì),至今我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,在整整兩星期的日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,比如說數(shù)碼管的共陰極和共陽極的字型碼的區(qū)別,有對單片機(jī)芯片的選擇的猶豫不定,還有對單片機(jī)匯編語言掌握得不好。不過總的來說還是受益非淺,兩周晝夜的付出也是有回報(bào)的,經(jīng)過自己的親身的體驗(yàn),進(jìn)一步鞏固了先前不熟悉的知識,鍛煉了自己的思維能力,動(dòng)手能力,也感受到了理論和實(shí)際結(jié)合的重要性,要使兩者很好的結(jié)合還是有挑戰(zhàn)性的,兩周的課程設(shè)計(jì)可謂之嘗盡人間酸甜苦辣,在苦中彌補(bǔ)自己的不足,之后才會感受到收獲的快樂。致謝這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問題,后在周向紅老師的辛勤指導(dǎo)下,終于游逆而解。同時(shí),在周老師的身上我學(xué)得到很多實(shí)用的知識,在次我表示感謝!同時(shí),對給過我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師再次表示忠心的感謝!參考文獻(xiàn)1、《51系列單片機(jī)設(shè)計(jì)實(shí)例》樓然苗李光飛 北航出版社2、《單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)》何立民北航出版社3、《單片機(jī)原理及應(yīng)用》王迎旭機(jī)械工業(yè)出版社4、《單片機(jī)實(shí)用系統(tǒng)設(shè)計(jì)技術(shù)》房小翠國防工業(yè)出版社附錄:A系統(tǒng)電路原理圖<9nono08-762030203.4C5Ou_/7<9DXI

DXRDXI

DXRPPPPPPPPHI'RWDRHEJR2X1XQ—II9Nd-N9d3PPPPPPPP0??2—923c310^X3B系統(tǒng)程序清單――偽定義一一L0?L0?L3:顯示數(shù)據(jù)存儲器功能鍵K1、K2、K3、K4SLEQU30HSHEQU31HMLEQU32HMHEQU33H ;L0EQU34H ;L1EQU35HL2EQU36HL3EQU37HDSPLYPEQU38H;PLYTSEQU39H;LPLMODBIT37H;HPLMODBIT38H;BRIGHTBIT39H;TCOUNTEQU3AH;ADDRESSEQU3B;TOC\o"1-5"\h\zMAXEQU3CH ;IFDECBIT20H ;R_MODEQU3DH;BELLBLDP3.7 ;AKEYBITP1.0 ;BKEYBITP1.1CKEYBITP1.2DKEYBITP1.3秒的個(gè)位數(shù)秒的十位數(shù)分的個(gè)位數(shù)分的十位數(shù)顯示數(shù)據(jù)指針顯示次數(shù)計(jì)數(shù)器低兩位顯示方式高兩位顯示方式DISPLAY子程序參數(shù)時(shí)間計(jì)數(shù)器加1子程序參數(shù)加1子程序參數(shù)BCD減法子程序參數(shù)響鈴方式參數(shù)蜂鳴器主程序MAIN:MOVIE,#00HMAIN:MOVIE,#00HMOVSP#57HMOVPS,MOVSP#57HMOVPS,#00H;設(shè)置堆棧指針;選用寄存器組0MOVTMOD#11HMOVTLD#0B0H;設(shè)定中斷工作方式為MOVTMOD#11HMOVTLD#0B0H;設(shè)定中斷工作方式為T0和T1;賦中斷T0初值MOVTH0#3CHMOVSL#00HMOVSH#00H;默認(rèn)狀態(tài)定時(shí)MOVSL#00HMOVSH#00H;默認(rèn)狀態(tài)定時(shí)5分鐘;秒MOVML#05HMOVM,#00HMOVPLYT,#64H;賦顯示次數(shù)初值為100次MOVDSPLY,#L0;現(xiàn)實(shí)指針指向顯存單元MOVL0#00;送顯示數(shù)據(jù)“0500”MOVL0#00MOVL1#00MOVL1#00MOVL2#05MOVL2#05MOVL3#00MOVL3#00SETBLPLMOD;SETBLPLMOD;設(shè)定顯示方式為閃爍SETBHPLMODSETBRIGHTSETBEA;SETBRIGHTSETBEA;允許顯示;開中斷MAIN1ACALLDISPLYJBAKEYK1;調(diào)用顯示MAIN1ACALLDISPLYJBAKEYK1;調(diào)用顯示;A、BCD鍵掃描ACALLKEYDLYJBAKEYK1JBBKEYBEGIN ;有鍵按下則轉(zhuǎn)為相應(yīng)計(jì)時(shí)狀態(tài)ACALLKEYDLYJBBKEYBEGINJBCKEYK3ACALLKEYDLYJBCKEYK3JBDKEYK4ACALLKEYDLYJBDKEYK4BEGINSETET0;無鍵按下,以默認(rèn)值0500開始計(jì)時(shí)SETTR0K1:CLRET0CLRTR0MOVSL#00MOVSH#00MOVMJL#00MOVM,#00SETCLRLPLMODSETBHPLMODMOVMAX,#60HMOVR2,#5;使每按鍵一次,調(diào)用加SET1:MOVADDRES徘MH;有鍵按下,中斷,停止計(jì)時(shí);清除原計(jì)時(shí)數(shù)據(jù);設(shè)置分位;高兩位數(shù)碼管閃爍;最大數(shù)為601程序5次;移入分位的地址ACALLADDONE ;調(diào)用力卩1程序DJNZR2,SET1;循環(huán),使A鍵按鍵一次,分位加5JBAKEY,SETACALLKEYDLYJBAKEY,SETLJMBBEGINK3:CLRET0;CLRTRO;MOVL0,#00MOVL1,#00MOVL2,#00MOVL3,#01LJMPBEGINK4:CLRET0CLRTR0;MOVL0,#00MOVL1,#00MOVL2,#00MOVL3,#02DJMPBEGINJUDGEMOVA,SLJNZMAIN1;有鍵按下,再加5分鐘;無鍵按下,開始計(jì)時(shí);有鍵按下,停止計(jì)時(shí);設(shè)定1000;送顯示數(shù)據(jù);有鍵按下,停止計(jì)時(shí);設(shè)定2000;送顯示數(shù)據(jù)2000;判斷秒是否為0MOVA,SHJNZMAIN1MOVA,MLJNZMAIN1MOVA,MHJNZMAIN1CLRETOCLRTROACALLMUSICOAJMPMAIN——倒計(jì)時(shí)程序——PGTOCLREAPUSHACCPUSHPSWPUSHDPLPUSHDPHMOVPSW#08HCLRTROMOVA#O87HADDATLOMOVTLOAMOVA#3CHADDATHOMOVTHOASETBTRO;判斷分是否為O;分、秒全為O,停止計(jì)時(shí);調(diào)用定時(shí)到音樂播放程序;返回;關(guān)中斷;保護(hù)現(xiàn)場;選用寄存器組1;暫停計(jì)時(shí);中斷同步修正恢復(fù)計(jì)時(shí)MOVTCOUNT14HDECTCOUNT;定時(shí)器每50.000ms溢出一次MOVA,TCOUNT;溢出20次為1sJNZOUTT0;判斷是否到1sMOVR0#SH;移入秒位的地址SETBIFDEC;BCD子程序參數(shù),使其做減法ACALLADDBCD;調(diào)用BCD子程序,秒減1CJNER3#99H,OUTT0;判斷秒是否要借位MOVSH#05H;要借位則送數(shù)據(jù)59MOVSL#09HMOVR0#MH;移入分位的地址ACALLADDBCD;分減1OUTT0POPDFHPOPDPLPOPPSWPOPACCSETBEA;開中斷RETI;中斷返回——BCD?程序——ADDBCDMOVA@RO;移入被操作數(shù)的高位DECRO;指針減1SWAPAORLA@R0;移入被操作數(shù)的低位MOVB#01H;B寄存器送立即數(shù)#01H

MOVCIFDEC;減法標(biāo)志位為MOVB.3CMOVB.4,C ;寄存器B被改位#99HMOVB.7,1ADDAB;對一個(gè)壓縮的BCD碼加#90H等于減1DAAMOVR3AANLA,#0FHMOVDAAMOVR3AANLA,#0FHMOV@RO,AMOVAR3INCROSWAPAANLA,0FHMOV@R0,ARET;暫存結(jié)果;取低位碼;存數(shù);取結(jié)果;指針加1;交換;取結(jié)果數(shù)的高位;存數(shù)加1程序ADDONEMOVR0,ADDRESS;移入被加數(shù)單元的地址CLRIFDEC;設(shè)定BCD子程序做加法ACALLADDBC;調(diào)用BC子程序CLRC;判斷被加數(shù)是否大于最大值“MAXMOVAR3CJNEAMAXJGOVERJGOVE:JCENDADD

CARAM0@RO,ADECROMOV@RO,A;若大于“MA”;若大于“MA”則清0;返回 音樂播放程序 MUSICO:NOPMOVDPTR,#DATMOV20H,#00HMOVB,#00HMUSIC1:NOP;表頭地址送DPTR;中斷計(jì)數(shù)器清0;表序號清0CLRAMOVCA,@A+DPTR;查表取代碼JZEND0 ;是00H,則結(jié)束CJNEA,#0FFH,MUSIC5LJMPMUSIC3MUSIC5:NOPMOVR6,AINCDPTRMOVA,BMOVCA,@A+DPTR;取節(jié)拍代碼ADDA,#5;調(diào)整節(jié)奏MOVR7,AMOVP1,A;送P1口顯示節(jié)拍SETBTR0;啟動(dòng)計(jì)數(shù)

MUSIC2:NOPCPLP3.7MOVA,R6MOVR3,ALCALLDELMOVA,R7CJNEA,20H,MUSIC2;不等,則繼續(xù)循環(huán)MOV20H,#00HINCDPTRLJMPMUSIC1MUSIC3:NOPCLRTR0MOVR2,#0DHMUSIC4:NOPMOVR3,#0FFHLCALLDELDJNZR2,MUSIC4INCDPTRLJMPMUSIC1END0:NOPMOVR2,#64HMUSIC6:MOVR3,#00HLCALLDEL;中斷計(jì)數(shù)器(;中斷計(jì)數(shù)器(20H)=R7否?;等于,則取下一代碼;休止100毫秒;歌曲結(jié)束,延時(shí)1秒后繼續(xù)LJMPMUSIC0

DEL:NOPDEL3:MOVR4,#02HDEL4:NOPDJNZR4,DEL4NOPDJNZR3,DEL3RETNOPDAT:DB18H,30H,1CH,10HDB20H,40H,1CH,10HDB18H,10H,20H,10HDB1CH,10H,18H,40HDB1CH,20H,20H,20HDB1CH,20H,18H,20HDB20H,80H,0FFH,20HDB30H,1CH,10H,18HDB20H,15H,20H,1CHDB20H,20H,20H,26HDB40H,20H,20H,2BHDB20H,26H,20H,20HDB20H,30H,80H,0FFHDB20H,20H,1CH,10HDB18H,10H,20H,20HDB26H,20H,2BH,20HDB30H,20H,2BH,40HDB20H,20H,1CH,10HDB18H,10H,20H,20HDB26H,20H,2BH,20HDB30H,20H,2BH,40HDB20H,30H,1CH,10HDB18H,20H,15H,20HDB1CH,20H,20H,20HDB26H,40H,20H,20HDB2BH,20H,26H,20HDB20H,20H,30H,80HDB20H,30H,1CH,10HDB20H,10H,1CH,10HDB20H,20H,26H,20HDB2BH,20H,30H,20HDB2BH,40H,20H,15HDB1FH,05H,20H,10HDB1CH,10H,20H,20HDB26H,20H,2BH,20HDB30H,20H,2BH,40HDB20H,30H,1CH,10HDB18H,20H,15H,20HDB1CH,20H,20H,20HDB26H,40H,20H,20HDB2BH,20H,26H,20HDB20H,20H,30H,30HDB20H,30H,1CH,10HDB18H,40H,1CH,20H

DB20H,20H,26H,40HDB13H,60H,18H,20HDB15H,40H,13H,40HDB18H,80H,00H顯示程序DISPLYPUSHACCPUSHPSWMOVPSW,顯示程序DISPLYPUSHACCPUSHPSWMOVPSW,#10HMOVR0 ,DSPLYPMOVR2 ,#0FDHMOVAPLYTSJNZPLAYMOVPLYTS#64HPLAYDECPLYTSJNBLPLMODAJMPPLAY1;用來顯示低位PLAYLORLP0,#7FHORLP3,#3CHMOVA,R2RLAANLP3 ,AMOVR2 ,AMOVA R0;數(shù)據(jù)壓棧保護(hù);選用寄存器組2;移入顯示指針;R2寄存的是數(shù)碼管選通數(shù);移入顯示循環(huán)控制量;不為0則轉(zhuǎn)PLAY;否則重新賦值;顯示循環(huán)控制量減1,PLAYL低兩位數(shù)碼管不閃,則“PLAYL;轉(zhuǎn)顯示高位數(shù)碼管;清原顯示數(shù)據(jù);清原選通數(shù)據(jù);移入數(shù)碼管位選數(shù);換一位;選通低位的個(gè)位數(shù)碼管;暫存位選數(shù);移入顯示數(shù)值MOVDPTR,#TABLE1;移入表首地址MOVCA A+DPTR;查表ANLP0,AACALLDL1MSINCR0JBP3.3 ,PLAYL;送顯示數(shù)據(jù);延時(shí);指向低位的十位數(shù);顯示低位的十位數(shù);高兩位不閃,貝;高兩位不閃,貝PLAYH;轉(zhuǎn)結(jié)束;清原來顯示數(shù)據(jù);清原來選通數(shù)據(jù);選通高位的個(gè)位數(shù)碼管;移入顯示的數(shù)據(jù);移入表首地址;查表;送顯示數(shù)據(jù);延時(shí);指向高位的十位數(shù);清原來顯示數(shù)據(jù);清原來選通數(shù)據(jù);選通高位的十位數(shù)碼管;移入顯示數(shù)值;移入表首地址;查表PLAY1JNBHPLMODPLAYHAJMPOUTPLY;用來顯示高位PLAYHORLP0,#7FHORLP3,#3CHANL

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論