久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

兩只老虎(音樂、匯編程序)

作者:佚名   來源:本站原創   點擊數:  更新時間:2010年03月04日   【字體:

/*
程序效果:蜂鳴器發出兩只老虎的音律
*/
 
               ORG 0000H
               AJMP START
               ORG 000BH
               AJMP TIM0
               ORG 0030H
START:     MOV TMOD,#01H //工作在方式1
               MOV IE,#82H  //開總控和分控

START0:    MOV 30H,#00H   //清零
NEXT:           MOV A,30H   //清零
                   MOV DPTR,#TABLE  //賦表首地址
                MOVC A,@A+DPTR
                     MOV R2,A   //暫存A的值
                     JZ END0 //判斷A是否為0
                     ANL A,#0FH    //屏蔽A的高半
                     MOV R5,A  //把A屏蔽高半的值賦給R5
                     MOV A,R2  //恢復A的原值
                     SWAP A  //高低位互換
                     ANL A,#0FH  //屏蔽原來A的高半
                     JNZ SING //判斷原來A的高半是否為0
                     CLR TR0   //是0,則停止計時
                     SETB P2.0   //關閉蜂鳴器
                     LJMP D1   //轉到標號為D1的地方
//原來A的高半不為零,開始唱歌
SING:           DEC A   //¥原來A的高半減1,用于讀取相應的音律
                     MOV 22H,A //¥保存現在A的值
                     RL A    //¥左循環移位
                     MOV DPTR,#TABLE1 //賦表首地址
                     MOVC A,@A+DPTR
                     MOV TH0,A    //賦給TH0用于計時,用于控制蜂鳴器響的時間
                     MOV 21H,A //保存A的值
                     MOV A,22H //*
                     RL A //左循環移位
                     INC A  //加1,根據表的存儲順序
                     MOVC A,@A+DPTR
                     MOV TL0,A //用于把低八位賦給TL0,用于計時
                     MOV 20H,A  //*
                     SETB TR0  //啟動定時器

D1:               LCALL DELAY   //調用延時子程序,能夠聽到該音律
                     INC 30H //加1
                     LJMP NEXT

END0:           CLR TR0   //停止計時
                     JMP START0  //無限循環
//定時器0
TIM0:            PUSH ACC //保護A的值
                     PUSH PSW
                     MOV TL0,20H  //賦初值
                     MOV TH0,21H
                     CPL P2.0 //給蜂鳴器高低電平,使蜂鳴器發聲
                     POP PSW  //彈出相應的值
                     POP ACC
                     RETI //返回
//延時時間大約為:100ms=0.1s
DELAY:         MOV R4,#187
D3:                MOV R3,#248
                     DJNZ R3,$
                     DJNZ R4,D3
                     DJNZ R5,DELAY //R5代表節拍
                      RET

TABLE1:       DW 63745,63969,64140,64215 //$    ;七個音符
                     DW 64360,64489,64603  //$  他們之間存在一種對應關系

TABLE:    DB 14H,24H,34H,14H,01H  //$
                 DB 14H,24H,34H,14H,01H  //$
                 DB 34H,44H,54H,02H,34H,44H,54H,02H //$
                 DB 52H,62H,52H,42H,34H,14H,01H,52H,62H,52H,42H,34H,14H,02H //$
                 DB 14H,54H,14H,02H,14H,54H,14H,08H,00H //$
                 END
/*
注:程序源于查老師
完整程序:http://www.zg4o1577.cn/ziliao/file/lzlhasm.rar
*/
 

關閉窗口

相關文章

主站蜘蛛池模板: 日本粉嫩一区二区三区视频 | 亚洲精品免费在线 | 国产三区四区 | 久久久久久国 | 亚洲一视频| 99国产精品久久久久久久 | 日韩精品一区二区三区四区 | 自拍视频网 | 欧美狠狠操| 久久精品91久久久久久再现 | 国产综合在线视频 | 日本不卡一区二区三区在线观看 | 国产精品一区二区在线 | 亚洲成人精品国产 | 夜久久| 久草网址 | 免费看黄视频网站 | 精品欧美一区二区精品久久久 | 欧美在线成人影院 | 99精品久久久久久中文字幕 | 欧美h视频 | 国产精品福利网 | 在线观看视频91 | 亚洲国产精品一区二区久久 | 亚洲 欧美 日韩在线 | 久久久久九九九女人毛片 | 精品美女在线观看视频在线观看 | 婷婷丁香综合网 | 91精品久久久久久久久久入口 | 精品96久久久久久中文字幕无 | 国产视频中文字幕在线观看 | 一区二区高清在线观看 | 看av电影| 成人看片在线观看 | 天天爽夜夜爽精品视频婷婷 | 一区二区不卡视频 | 国产女人叫床高潮大片免费 | 女同久久另类99精品国产 | 国产99久久 | 天堂中文在线播放 | 欧美专区在线 |