久久久久久久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
|
欧美日韩免费一区二区三区
|
夜夜精品视频
|
日韩国产中文字幕
|
亚洲欧美日韩精品久久亚洲区
|