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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1856|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

電子琴的單片機(jī)匯編程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:451692 發(fā)表于 2018-12-26 10:07 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
ORG  0000H
MOV  P2,#11111111B
MOV  P3,#11111111B
TEST:  JNB P2.0,DO1   ;P2.0=0
JNB P2.1, RE1;P2.1=0
JNB P2.2, MI1;P2.2=0
JNB P2.3,FA1;P2.3=0
JNB P2.4,SO1;P2.4=0
JNB P2.5,LA1;P2.5=0
JNB P2.6,SI1;P2.6=0
JNB P2.7,DOH1;P2.7=0
JNB P3.0, START;P3.0=0
AJMP TEST
DO1:MOV R6,#126
    AJMP OUTPUT1
RE1:MOV R6, #113
    AJMP OUTPUT1
MI1:MOV R6, #100
    AJMP OUTPUT1
FA1:MOV R6,#95
        AJMP OUTPUT1
SO1:MOV R6, #85
        AJMP OUTPUT1
LA1:MOV R6,#75
        AJMP OUTPUT1
SI1:MOV R6,#67
        AJMP OUTPUT1
DOH1:MOV R6,#63
        AJMP OUTPUT1

OUTPUT1: CLR P3.7;令揚(yáng)聲器通電
        ACALL DELAY;延時(shí)半周期t
        SETB P3.7;令揚(yáng)聲器斷電
        ACALL DELAY;延時(shí)半周期t
        AJMP TEST  ;重新測試按鍵

START: MOV DPTR, #MUSIC;DPTR指向樂譜的開頭
CONT: CLR A            ;讀取樂譜內(nèi)代碼的音階
   MOVC A,@A+DPTR      ;A=音階代碼
   CJNE A,#40,CHK      ;若音階代碼為40
   AJMP START          ;則從頭開始演奏
CHK:PUSH ACC           ;保存A的內(nèi)容
    INC DPTR
    CLR A              ;讀取樂譜內(nèi)的音拍代碼
    MOVC A, @A+DPTR;
    MOV R4,A           ;R4=音拍代碼取回A的內(nèi)容
    POP ACC
CHK1: CJNE A, #01, CHK2    ; 若音階代碼為01,
      ACALL DO            ;則產(chǎn)生中音DO的聲音
      JNB P3.2, STOP       ;若P3.2=0,則停止演奏
CHK2: CJNE A, #02, CHK3   ;若音階代碼為02
      ACALL RE            ;產(chǎn)生中音RE的聲音
      JNB P3.2, STOP       ;若P3.2=0,則停止演奏
CHK3: CJNE A, #03, CHK4    ;若音階代碼為03
      ACALL MI             ;則產(chǎn)生中音MI的聲音
      JNB P3.2, STOP       ;若P3.2=0,則停止演奏
CHK4: CJNE A, #04, CHK5   ;若音階代碼為04
      ACALL FA            ;則產(chǎn)生中音FA的聲音
      JNB P3.2, STOP       ;若P3.2=0,則停止演奏
CHK5: CJNE A, #05, CHK6    ;若音階代碼為05
      ACALL SO             ;則產(chǎn)生中音SO的聲音
      JNB P3.2, STOP        ;若P3.2=0,則停止演奏
CHK6: CJNE A, #06, CHK7     ;若音階代碼為06
      ACALL LA              ;則產(chǎn)生中音LA的聲音
      JNB P3.2, STOP         ;若P3.2=0,則停止演奏
CHK7: CJNE A, #07, CHK8     ;若音階代碼為07,
      ACALL SI               ;則產(chǎn)生中音SI的聲音
      JNB P3.2, STOP         ;若P3.2=0,則停止演奏
CHK8: CJNE A, #08, CHK0     ;若音階代碼為08
      ACALL DOH            ;則產(chǎn)生高音D0的聲音
      JNB P3.2, STOP         ;若P3.2=0,則停止演奏
CHK0: CJNE A, #00, CONT2     ;若音階代碼為00
      ACALL NON            ;則不發(fā)出聲音
CONT2:
      INC DPTR             ;繼續(xù)讀取樂譜
      AJMP CONT
DO: MOV R6,#126        ;設(shè)R6=延時(shí)參數(shù),R5=音長參數(shù)
    MOV R5,#33         ;設(shè)定中音DO的相應(yīng)參數(shù)
    AJMP OUTPUT
RE: MOV R6,#113         ;設(shè)定中音RE的相應(yīng)參數(shù)
    MOV R5,#37
    AJMP OUTPUT
MI: MOV R6,#100           ;設(shè)定中音M的相應(yīng)參數(shù)
    MOV R5,#41
    AJMP OUTPUT
FA: MOV R6,#95          ;設(shè)定中音FA的相應(yīng)參數(shù)
    MOV R5,#44
    AJMP OUTPUT
SO: MOV R6, #85         ;設(shè)定中音S0的相應(yīng)參數(shù)
    MOV R5,#49
    AJMP OUTPUT
LA: MOV R6,#75          ;設(shè)定中音LA的相應(yīng)參數(shù)
    MOV R5,#55
    AJMP OUTPUT
SI: MOV R6,#67            ;設(shè)定中音SI的相應(yīng)參數(shù)
    MOV R5,#62
    AJMP OUTPUT
DOH:MOV R6,#63          ;設(shè)定高音DO的相應(yīng)參數(shù)
    MOV R5,#65
    AJMP OUTPUT
NON:MOV R6,#33          ;設(shè)定休止符的相應(yīng)參數(shù)
    MOV R5,#00
    AJMP OUTPUT
OUTPUT:MOV ACC,R5
LOOP:CJNE A,#00,SOUND   ;若音階代碼為00,則不讓揚(yáng)聲器通電
     LJMP MUTE
SOUND: CLR P3.7          ;令揚(yáng)聲器通電
MUTE: ACALL DELAY        ;延時(shí)半周期
      SETB P3.7            ;令揚(yáng)聲器斷電
      ACALL DELAY        ;延時(shí)半周期
      DJNZ R5, LOOP       ;輸出一個(gè)音長,共R5周的方波
      MOV R5, ACC        ;取回R5的內(nèi)容
      DJNZ R4, OUTPUT     ;共輸出R4個(gè)音長
REST: MOV R6, #170         ;靜音
      MOV R5, #20
WAIT: ACALL DELAY
      DJNZ R5,WAIT
DELAY: MOV B,R6           ;延時(shí)半周期t=15μs×R6+9us
DL: MOV R7, #6
    DJNZ R7,$
    DJNZ R6,DL
    MOV R6,B
    RET
MUSIC: DB 03,02,03,02,03,04
       DB 01,04
       DB 03,02,03,02,03,04
       DB 01,04
       DB 05,02,06,02,05,02
       DB 04,02,03,02,04,02
       DB 05,08
           DB 04,02,04,02,04,04
       DB 02,04
       DB 04,02,04,02,04,04
       DB 02,04
           DB 05,02,06,02,05,02
       DB 04,02,03,02,02,02
           DB 01,08
           DB 06,04,05,08
           DB 06,04,05,08
           DB 05,02,06,02,05,02
       DB 04,02,03,02,02,02
           DB 01,08
           DB 40

END


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2018-12-26 15:28 | 只看該作者
補(bǔ)全原理圖或者詳細(xì)說明一下電路連接即可獲得100+黑幣
回復(fù)

使用道具 舉報(bào)

板凳
ID:311876 發(fā)表于 2019-5-19 15:35 | 只看該作者
電路圖呢
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕在线看人 | 一级做a爰片性色毛片视频停止 | 羞羞网站在线观看 | 国产色99精品9i | 日韩精品一区在线 | 欧洲一级毛片 | 精品成人av| 国产91综合 | 午夜天堂精品久久久久 | 亚洲国产精品99久久久久久久久 | 一区二区三区在线免费观看 | 九九精品影院 | 久久毛片| 日本精品视频在线观看 | 国产九九九 | 日韩久久中文字幕 | 盗摄精品av一区二区三区 | 久久久久国产一级毛片高清网站 | 亚洲国产一区二区三区, | 在线毛片网 | 国产在线小视频 | www.97zyz.com| 99精品欧美一区二区三区 | 日本一区二区三区在线观看 | 欧美精品一区久久 | 黄频视频 | 成人影院一区二区三区 | 中文在线一区二区 | 在线观看精品 | 麻豆视频在线看 | 久久另类视频 | 亚洲国产自产 | 久久一| 欧美一区二区在线免费观看 | 亚欧性视频 | 成人一级黄色毛片 | 亚洲女人的天堂 | 91精品福利 | 国产精品夜色一区二区三区 | 日本爱爱视频 | 日本一区二区三区在线观看 |