欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 電子琴的單片機(jī)匯編程序 [打印本頁]

作者: 李堃。。。。    時間: 2018-12-26 10:07
標(biāo)題: 電子琴的單片機(jī)匯編程序
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            ;讀取樂譜內(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ù),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,則不讓揚聲器通電
     LJMP MUTE
SOUND: CLR P3.7          ;令揚聲器通電
MUTE: ACALL DELAY        ;延時半周期
      SETB P3.7            ;令揚聲器斷電
      ACALL DELAY        ;延時半周期
      DJNZ R5, LOOP       ;輸出一個音長,共R5周的方波
      MOV R5, ACC        ;取回R5的內(nèi)容
      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
補(bǔ)全原理圖或者詳細(xì)說明一下電路連接即可獲得100+黑幣
作者: wikun    時間: 2019-5-19 15:35
電路圖呢




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1