單片機(jī)音樂(lè)盒程序設(shè)計(jì)源代碼_第1頁(yè)
單片機(jī)音樂(lè)盒程序設(shè)計(jì)源代碼_第2頁(yè)
單片機(jī)音樂(lè)盒程序設(shè)計(jì)源代碼_第3頁(yè)
單片機(jī)音樂(lè)盒程序設(shè)計(jì)源代碼_第4頁(yè)
單片機(jī)音樂(lè)盒程序設(shè)計(jì)源代碼_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、rs bit p2.0;定義液晶顯示端口標(biāo)號(hào)rw bit p2.1e bit p2.2org 0000hljmp mainorg 000bhljmp tt0org 001bhljmp tiintorg 1000hmain:;-液晶初始化mov sp,#70hmov p0,#01h;清屏call enablemov p0,#38h;8位,2行顯示lcall enablemov p0,#0fh;屏顯on,光標(biāo)on,閃爍onlcall enablemov p0,#06h;計(jì)數(shù)地址加1,顯示幕onlcall enable;-內(nèi)在初始化lcall initil;-key1:lcall keylcall

2、moddljmp key1;-鍵盤(pán)掃描key:nopnop lcall ksjnz k1;有按鍵轉(zhuǎn)到k1lcall kaijilcall sopxn:ljmp keyk1:lcall moddlcall moddlcall ksjnz k2ljmp keyk2:mov r2,#0feh;讀鍵盤(pán)mov r4,#00hk3:mov a,r2mov p1,amov a,p1jb acc.4,l1;為1跳轉(zhuǎn),第一行無(wú)按鍵mov a,#00hljmp lkl1:jb acc.5,l2mov a,#04hljmp lkl2:jb acc.6,l3mov a,#08hljmp lkl3:jb acc.7,n

3、ext1mov a,#0ch;-lk:add a,r4push acck4:lcall delay1;若同時(shí)有其他鍵,則等待lcall ksjnz k4;-mov r3,#07hclr amov r0,#30hmov r1,#31hmm1:mov a,r1mov r0,ainc r0inc r1djnz r3,mm1pop accmov r0,aret;-next1;inc r4;-列掃描mov a,r2jnb acc.3,n2ljmp n1n2:ljmp keyn1:rl amov r2,aljmp k3;-ks:mov a,#0f0h;判斷p1口mov p1,anopnop mov a,p

4、1cpl aanl a,#0f0hret;-delay1:setb rs0dl:mov r5,#0ahdl2:mov r6,#63dl3:nopnop djnz r6,dl3djnz r5,dl2clr rs0ret;30h-37h初值為零;-initil:mov r3,#08hmov r0,#30hm1:mov r0,#00hm1:mov r0,#00hm1:mov r0,#00hinc r0djnz r3,m1ret;-;顯示;-modd:mov p0,#8ehlcall enablemov a,37hmov dptr,#table3movc a,a+dptrlcall write2ret

5、;-;開(kāi)機(jī)提示字;-kaiji:mov a,37hcjne a,#0fh,dffmov p0,#80h;設(shè)光標(biāo)地址lcall enablemov dptr,#table1;寫(xiě)數(shù)據(jù)lcall write1dff:ret;-;按鍵值播放歌曲;-sop:mov a,37hcjne a,#01h,a11lcall moddmov 52h,#high table10mov 53h,#low table10lcall initile2lcall main0a11:cjne a,#02h,a22lcall moddmov 52h,#high table20mov 3h,#low table20lcall i

6、nitile2lcall main0aaa:ret;-initile2:mov l50ms,#20mov l1ms,#00hmov l250ms,#00hmov sec,#00hmov min,#00hmov hou,#00hmov a,houmov b,#10hdiv abadd a,#30h;將bcd碼轉(zhuǎn)化為asiic碼mov p0,#0c8h;顯示小時(shí)十位call enablecall write2mov a,badd a,#30hmov p0,#0c9h;顯示小時(shí)個(gè)位call enablecall write2mov a,#3ahmov p0,#0dh;顯示冒號(hào)call enablec

7、all write2mov a,minmov b,10div abadd a,#30hmov p0,#0cbh;顯示分十位call enablecall write2mov a,badd a,#30hmov p0,#0cdh;顯示冒號(hào)call enablecall write2mov a,secmov b,#10div abadd a,#30hmov p0,#0ceh;顯示秒十位call enablecall write2mov a,badd a,#30hmov p0,#0cfh;顯示秒個(gè)位call enablecall write2mov p0,#0c0h;設(shè)光標(biāo)地址call enablec

8、all write1ret;-寫(xiě)指令enable:clr rsclr rwclr elcall delaysetb eret;-寫(xiě)數(shù)據(jù)write1:mov r1,#00ha1:mov a,r1movc a,a+dptrcall write2inc r1cjne a,#ofeh,a1;未到字符串末尾繼續(xù)retwrite2:mov p0,asetb rsclr rwlcr ecall delaysetb eret;-tabdb 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8hdb 80h,90h,88h,83h,0c6h,0a1h,86h,8ehtab1:db 89h,86

9、h,0c7h,0c7h,0c0htab2:db 0c6h,88h,0c0htable1:dbwelcom here,0fehtable2:dbdff wb,0fehtable3:db 30h,31h,32h,33hdb 34h,35h,36h,37hdb 38h,39h,41h,42hdb 43h,44h,45h,46h;-釋放歌曲程序;-main0:mov tmod,#11hmov ie,#8ahmov th1,#3chmov tl1,#0b0hlcall ksjnz ttm12mov 40h,#00h;-next20:mov a,40hmov dph,52hmov dpl,53hmovc

10、a,a+dptrmov r2,ajz stopanl a,#0fhmov r1,amov a,r2swap aanl a,#0fhjnz singclr tr0jmp w1;-sing:dec amov 22h,arl amov dptr,#table00movc a,a+dptrmov th0,amov 21h,amov a,22hrl ainc amovc a,a+dptrmov tl0,amov 20h,asetb tr0setb tr1w1:lcall delay30inc 40hlcall ks;有鍵跳出jnz stopljmp next20;-stop;clr tr0clr tr1

11、ljmp amin0;-ttm12:lcall k2mov a,37hcjne a,#0eh,ttm13clr tr1lcall delay1ttm120:lcall kslcall delay1jz ttm120lcall k2mov a,37hcjne a,#0eh,ttm120setb tr1ljmp next20ttm13:cjne a,#0ch,ttm14mov a,52hinc amov 52h,amov a,53hinc amov 53h,amov a,36hinc amov 37h,aljmp ttm2ttm14:cjne a,#0dh,ttm2mov a,52hdec amo

12、v 52h,amov a,53hdec amov 53h,amov a,36hdec amov 37h,attm2:retret;-table00;dw 64580 ,64684 ,64777 ,64820dw 64898,64968,65030,64260dw 64400,64524,65058,63835,64021;-;第二首月亮代表我的心;-table20:db 02h,82hdb 16h,32h,54h,02h,52hdb 0a6h,32h,54h,02h,52hdb 64h,74h,0b6h,64hdb 52h,5ch,32h,22hdb 16h,12h,14h,32h,22hdb 16h,12h,14h,22h,32hdb 26h,12h,94h,22h,32hdb 2chdb 32h,52hdb 36h,22h,14h,54hdb 0ach,92h,0a2hdb 96h,0a2h,96h,82hdb 3ch,54hdb 36h,22h,14h,54hdb 0ach,92h,0a2hdb 96h,0a2h,96h,82hdb

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論