freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

片機數(shù)字音樂盒課程設(shè)計報告(編輯修改稿)

2025-02-17 17:30 本頁面
 

【文章內(nèi)容簡介】 Y為列)NY開始取第一個字符寫(X,Y)字符=0?忙時寫第一個字符結(jié)束寫字符串KEYPAN: MOV P1,0FH MOV A,P1 CJNE A,0FH,KEY1 。判斷是否摁下 JNB 00H,KEYPAN 。沒摁下再判斷是否為暫停 SETB TR0 。因為判斷暫停時有關(guān)計數(shù),所以要重開 RETKEY1: CLR TR0 。關(guān)計數(shù),因為10ms會影響節(jié)拍的計數(shù) LCALL D10MS 。消抖時間 。 LCALL D10MS 。LCALL D10MS MOV P1,0FH MOV A,P1 。 MOV 32H,A CJNE A,0FH,KEY2 。再次判斷是否摁下 JNB 00H,KEYPAN 。沒摁下再判斷是否為暫停 SETB TR0 。因為判斷暫停時有關(guān)計數(shù),所以要重開 RETKEY2: 。 MOV P1,0FH 。 MOV A,P1 。 CJNE A,0FH,KEYPAN 。 LCALL D1S/* MOV 32H,A 。取按鍵號 MOV P1,0F0H MOV A,P1 ANL 32H,0FH ANL A,0F0H ORL 32H,A MOV A,32H */ 。 CJNE A,0EEH,KEY3 。播放第一首歌 JB ,KEY3 MOV 34H,1 。歌曲號為1 。 MOV 40H,1 MOV 35H,0 MOV TL0,0 。重新計數(shù) MOV TH0,0 MOV 31H,36 MOV 38H,100 CLR TR0 SETB 。恢復 SETB 00H 。暫停狀態(tài)清楚 LCALL D1S 。放開按鍵消抖 CLR 01H 。 LCALL D1S 。 LJMP MUSIC0 。重新播放 RETKEY3: 。CJNE A,0EDH,KEY4 。和上一樣 JB ,KEY4 MOV 34H,2。 MOV 40H,2 MOV 35H,0 MOV TL0,0 MOV TH0,0 CLR TR0 MOV 31H,36 MOV 38H,100 SETB SETB 00H LCALL D1S 。 LCALL D1S 。 LJMP MUSIC0 CLR 01H RETKEY4: 。CJNE A,0EBH,KEY5 JB ,KEY5 MOV 34H,3 。 MOV 40H,3 MOV 35H,0 MOV TL0,0 MOV TH0,0 CLR TR0 SETB MOV 31H,36 MOV 38H,100 SETB 00H LCALL D1S 。 LCALL D1S 。 LJMP MUSIC0 CLR 01H RETKEY5: 。CJNE A,0E7H,KEY6 。 暫停和播放 JB ,KEY6 CLR TR0 CPL 00H LCALL D1S 。 LCALL D1SKEY7: LJMP KEYPANKEY6: JNB 00H,KEY7 。如果暫停時等待播放 SETB TR0 RETNYNYNY延時10ms檢測按鍵是否按下檢測是否有鍵按下檢測按鍵是否放開執(zhí)行相應(yīng)的代碼五、系統(tǒng)展示和測試:見附錄將下載器的母頭插到對應(yīng)的排針上,排針由上到下依次是end,txd,rxd,vcc。通過STCisp軟件將音樂程序載入單片機中按下S13播放第一到三首歌對應(yīng)的歌曲,按下S4暫停,再按下S4播放。Lcd開機顯示歡迎界面,當播放第一首歌時,上面顯示歌曲號,下面顯示播放的時間歡迎界面第一首歌第二首歌第三首歌:六、總結(jié)本次課程設(shè)計,了解了音樂盒的發(fā)展背景和國內(nèi)研究現(xiàn)狀和發(fā)展趨勢,音樂盒在300多年前就有了,不過不是數(shù)字的,是機械帶動的,隨著時代的發(fā)展,電能的普及和電子元器件的發(fā)展,音樂盒也從機械化朝著數(shù)字化的趨勢發(fā)展,而且功能實現(xiàn)越來越多。在數(shù)字音樂盒的總體設(shè)計中,通過查找相關(guān)資料,設(shè)計多種方案,從方案中選擇最優(yōu)的,數(shù)字音樂盒只要包括顯示部分,播放部分和按鍵部分組成,通過單片機對按鍵輸入的信息進行采集處理,使其達到相應(yīng)的功能,驅(qū)動鳳鳴器,使蜂鳴器發(fā)出聲音。起初對音樂一竅不通的我,通過查找相關(guān)找資料知道了一些關(guān)于音樂的知識,比如什么是音調(diào),什么是節(jié)拍,一個音符表示聲音的頻率叫做音調(diào),于是通過程序設(shè)定使蜂鳴器的輸出電壓成一定的周期變化,就使蜂鳴器發(fā)出所需的音調(diào);節(jié)拍表示一個音調(diào)持續(xù)的時間,時音樂演奏出更準的音樂,了解這兩個概念,就可以通過程序發(fā)出聲音。還有要LCD是怎么工作的,通過查找資料知道了1602lcd的結(jié)構(gòu),它有16個接口包括接地端,電源端,液晶驅(qū)動電壓端,寄存器選擇端RS,讀寫選擇端RW,液晶屏塊使能端E,8位數(shù)據(jù)總線,背光電源正極和負極,RS=0 RW=0,指令寄存器寫入;RS=0 RW=1,忙時標志和地址計數(shù)器讀出;RS=1 RW=0,數(shù)據(jù)寄存器寫入;RS=1 RW=1,數(shù)據(jù)寄存器讀出;要注意lcd工作忙時,在讓lcd顯示時,要對其進行命令設(shè)置,通過設(shè)置lcd才能實現(xiàn)相應(yīng)的功能。按鍵本次課程設(shè)計采用的是延時消斗,因為我的思路是在音調(diào)和節(jié)拍切換的過程中,檢測按鍵。在編程過程中要注意按鍵和按鍵之間的干擾,比如暫停狀態(tài)時,通過標記判斷非暫停的影響,因為暫停的時候,按鍵一直在掃描,等待操作,不讓蜂鳴器不發(fā)聲,原先的狀態(tài)要保存起來。當按下播放時,恢復原先數(shù)據(jù)。蜂鳴器采用的是5V有源蜂鳴器,通過三極管驅(qū)動,要接限流電阻。本次課程設(shè)計也存在不足之處功能。本次課程設(shè)計是從書本后面的課程設(shè)計中選的,實現(xiàn)的功能只局限于書本,沒有上網(wǎng)查看借鑒別人的音樂盒是怎么做的,借鑒別人的功能,還有就是由于自己作板,考慮到三首歌,所以選擇了用獨立鍵盤,沒有考慮到長遠,加歌曲之類的話,獨立鍵盤是不夠的對匯編的一些語法不太熟悉,編程的過程中一直翻書,在用調(diào)用指令時,沒有加ret返回,導致查錯誤查半天沒查到,還有就是一些標號標的有點亂,有的時候自己都看不懂,要注意模塊化,便于修因為第一次話單片機的電路,再畫板的時候,沒注意到LCD的大小,導致一些控制器件放到lcd大小范圍內(nèi),然后重畫浪費了時間,腐蝕的過程中,沒把握好時間,導致腐蝕過度,斷了一根線。板做好的時候發(fā)現(xiàn),下載的時候要把下載線斷電載通電,沒設(shè)個開關(guān)導致下載麻煩通過本次課程設(shè)計,有收獲的也有不足的在做課程設(shè)計或者其他事情時,一定要考慮多方案,多功能,再多個方案中選擇最優(yōu)的。要考慮到長遠,成本。寫程序的時候要注意模塊化,方便查看和修改,最好先畫流程圖,還有特別是很長的程序時,最好加備注,這樣不會亂。用到按鍵的時候要選擇正確消斗的方法,如果用到更多的按鍵時候,要考慮用矩陣鍵盤,少的話就用獨立按鍵用到1602LCD的時候,要注意初始化,再每寫入字符串的時候,要進行命令設(shè)置,在設(shè)置前檢測是否忙時,還有1602LCD顯示的是ASCII碼,1602LCD可進行輝度調(diào)節(jié),不清晰的時候可以調(diào)節(jié)電位器,1602LCD可以通過設(shè)置移屏,光標,閃的,兩行還是一行,但是1602LCD不能顯示漢字在設(shè)計的時候,要考慮到用戶使用是否方便,成本,能耗等。程序最好能為以后的實現(xiàn)功能進行擴展,模塊化,能更好的修改,添加和查錯,不斷調(diào)試附錄一:程序:。-----------------------------------。 數(shù)字音樂盒。----------------------------------- BUZZER_PIN EQU 。蜂鳴器驅(qū)動端口 TIME_COUNT DATA 30H 。節(jié)拍 LCD_RS EQU 。LCD控制端接口 LCD_RW EQU LCD_EN EQU ORG 0000H 。偽指令,指定程序從0000H開始存放 LJMP MAIN 。跳轉(zhuǎn)指令,程序跳轉(zhuǎn)到MAIN處 ORG 000BH 。偽指令,指定程序從T0入口地址000BH開始存放 LJMP T0_INT 。跳轉(zhuǎn)指令,程序跳轉(zhuǎn)到T0_INT處MAIN: LCALL D40MS 。等待各個元器件復位 MOV SP,6FH 。給堆棧指針賦初值 MOV TH0,00H 。設(shè)定定時器T0的初始值TH0 MOV TL0,00H 。設(shè)定定時器T0的初始值TL0 MOV TMOD,02H 。定時器T0工作在方式2 MOV IE,82H 。中斷允許 MOV 31H,36 。判斷10ms MOV 38H,100 。判斷1s MOV DPTR,MUSIC_1 。41H和42H存音樂1的表頭 MOV 41H,DPL MOV 42H,DPH MOV DPTR,MUSIC_2 。43H和44H存音樂2的表頭 MOV 43H,DPL MOV 44H,DPH MOV DPTR,MUSIC_3 。45H和46H存音樂3的表頭 MOV 45H,DPL MOV 46H,DPH MOV 34H,1 。34H存歌曲號,初始化播放第一首歌的歌曲號 MOV 35H,0 。35存時間,初始化時間為0s開始 MOV 36H,0 。36H存時間的低位 MOV 37H,0 。37H存時間高位 。 MOV R0,41H 。間接存音樂表的低位 。 MOV R1,42H 。間接存音樂表的高位 MOV DPTR,MUSIC_1 。 MOV 40H,1 SETB 00H 。暫停和播放的標志位 SETB 01H LCALL LCD_SET 。LCD初始化 LCALL LCD_WEL 。LCD顯示歡迎界面 LCALL D1S 。 LCALL D1S 。 LCALL D1SMUSIC0: MOV 3AH,DPL 。保存原先音樂表信息,因為下面要用到DPTR MOV 3BH,DPH LCALL CZ 。歌曲號,時間的拆字 LCALL LCD_TIME 。LCD顯示時間0 MOV DPL,3AH MOV DPH,3BH SETB 01H MOV A,34H CJNE A,1,MUS1 MOV DPTR,MUSIC_1 SJMP MUS0MUS1: CJNE A,2,MUS2 MOV DPTR,MUSIC_2 SJMP MUS0MUS2: CJNE A,3,MUS3 MOV DPTR,MUSIC_3 AJMP MUS0MUS3:CLR 00H CLR TR0 MOV 35H,0 SETB LJMP KEYPANMUS0: MOV TIME_COUNT,00H 。中斷計數(shù)器清0 MOV B,00H 。表序號清0MUSIC1: CLR A MOVC A,@A+DPTR 。查表取代碼 JZ END0 。是00H,則結(jié)束 CJNE A,0FFH,MUSIC5 LJMP MUSIC3MUSIC5: MOV R6,A 。取音調(diào) INC DPTR 。取完,指向節(jié)拍 M
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1