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

標題: 電子琴的單片機匯編程序 [打印本頁]

作者: 李堃。。。。    時間: 2018-12-26 10:07
標題: 電子琴的單片機匯編程序
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;令揚聲器通電
        ACALL DELAY;延時半周期t
        SETB P3.7;令揚聲器斷電
        ACALL DELAY;延時半周期t
        AJMP TEST  ;重新測試按鍵

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



作者: admin    時間: 2018-12-26 15:28
補全原理圖或者詳細說明一下電路連接即可獲得100+黑幣
作者: wikun    時間: 2019-5-19 15:35
電路圖呢




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 9999在线视频| 性国产xxxx乳高跟 | 一级做a毛片 | 日韩视频区 | 国产高清精品一区二区三区 | 成人区精品 | 日韩一区二区三区在线 | 一区二区三区高清在线观看 | 视频一区二区三区四区五区 | 天天爽网站 | 日韩av一区二区在线观看 | 日韩精品一区二区三区中文在线 | 五月综合激情网 | 国产综合精品一区二区三区 | 毛片免费在线 | 精品伦精品一区二区三区视频 | 日韩免费视频一区二区 | 四虎在线播放 | 国产一区不卡 | 在线观看成人小视频 | 99精品欧美一区二区三区 | 欧美一区二区三区在线 | 日本成人中文字幕 | 中文字幕av亚洲精品一部二部 | 少妇久久久 | 欧美视频1| 国产精品久久久久久久久久久久午夜片 | 伊人久久免费视频 | 国产精品一区二区在线播放 | a国产视频| 99精品国产一区二区三区 | 在线国产一区二区 | 久久av影院 | 中文字幕 亚洲一区 | 中文字幕av第一页 | 人人草天天草 | 精品国产91亚洲一区二区三区www | 欧美日韩免费一区二区三区 | 夜夜精品视频 | 日韩国产中文字幕 | 亚洲欧美日韩精品久久亚洲区 |