《2022年电子琴程序 .pdf》由会员分享,可在线阅读,更多相关《2022年电子琴程序 .pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、日期:2010-06-02 来源:本站编辑作者:佚名 字体:大中 小(投递新闻)电子琴程序;*有高中低音,可以自己通过按键弹奏乐曲KEYBUF EQU 30H STH0 EQU 31H STL0 EQU 32H TEMP EQU 33H ORG 0000H LJMP START ORG 000BH LJMP INT_T0 ORG 0030H START:CLR P3.7/将峰鸣器置低电平MOV TMOD,#01H/设置定时器T0 工作于方式1 SETB ET0/开 T0 中断允许SETB EA/开中断允许总开关WAIT:MOV P1,#0FFH/将 P1 口会置高电平CLR P1.4/将 P1
2、.4 清 0 MOV A,P1/读取 P1 口的值ANL A,#0FH/将 P1 口的值与0FH 相与,保留低四位,屏蔽高四位XRL A,#0FH/将所得的值与0FH 相异或,可得到按键值JZ NOKEY1/判断按下的是不是1 号键LCALL DEL Y10MS/延时再判断(防止是误键)MOV A,P1 ANL A,#0FH XRL A,#0FH JZ NOKEY1 MOV A,P1 ANL A,#0FH CJNE A,#0EH,NK1/按下的键若不是1 号键,则跳至 NK1 MOV KEYBUF,#0 LJMP DK1/按下的是1 号键,跳至 DK1 相应的处理程序NK1:CJNE A,#0
3、DH,NK2/按下的键若不是2 号键,则跳至 NK2 MOV KEYBUF,#4 LJMP DK1/按下的是2 号键,跳至 DK1 相应的处理程序NK2:CJNE A,#0BH,NK3/按下的键若不是3 号键,则跳至 NK3 MOV KEYBUF,#8 LJMP DK1/按下的是 3 号键,跳至 DK1 相应的处理程序名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 6 页 -NK3:CJNE A,#07H,NK4/按下的键若不是4 号键,则跳至 NK4 MOV KEYBUF,#12 LJMP DK1/按下的是4 号键,跳至 DK1 相应的处理程序NK4:NOP DK1:MOV A
4、,KEYBUF/各键对应的处理程序MOV DPTR,#TABLE/MOVC A,A+DPTR MOV P2,#80H MOV P0,A MOV A,KEYBUF MOV B,#2 MUL AB MOV TEMP,A MOV DPTR,#TABLE1 MOVC A,A+DPTR MOV STH0,A MOV TH0,A INC TEMP MOV A,TEMP MOVC A,A+DPTR MOV STL0,A MOV TL0,A SETB TR0 DK1A:MOV A,P1 ANL A,#0FH XRL A,#0FH JNZ DK1A CLR TR0 NOKEY1:MOV P1,#0FFH CLR
5、 P1.5 MOV A,P1 ANL A,#0FH XRL A,#0FH JZ NOKEY2 LCALL DEL Y10MS MOV A,P1 ANL A,#0FH XRL A,#0FH JZ NOKEY2 MOV A,P1 ANL A,#0FH 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 6 页 -CJNE A,#0EH,NK5 MOV KEYBUF,#1 LJMP DK2 NK5:CJNE A,#0DH,NK6 MOV KEYBUF,#5 LJMP DK2 NK6:CJNE A,#0BH,NK7 MOV KEYBUF,#9 LJMP DK2 NK7:CJNE A,#07H
6、,NK8 MOV KEYBUF,#13 LJMP DK2 NK8:NOP DK2:MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P2,#80H MOV P0,A MOV A,KEYBUF MOV B,#2 MUL AB MOV TEMP,A MOV DPTR,#TABLE1 MOVC A,A+DPTR MOV STH0,A MOV TH0,A INC TEMP MOV A,TEMP MOVC A,A+DPTR MOV STL0,A MOV TL0,A SETB TR0 DK2A:MOV A,P1 ANL A,#0FH XRL A,#0FH JNZ
7、 DK2A CLR TR0 NOKEY2:MOV P1,#0FFH CLR P1.6 MOV A,P1 ANL A,#0FH XRL A,#0FH 名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 6 页 -JZ NOKEY3 LCALL DEL Y10MS MOV A,P1 ANL A,#0FH XRL A,#0FH JZ NOKEY3 MOV A,P1 ANL A,#0FH CJNE A,#0EH,NK9 MOV KEYBUF,#2 LJMP DK3 NK9:CJNE A,#0DH,NK10 MOV KEYBUF,#6 LJMP DK3 NK10:CJNE A,#0BH,NK1
8、1 MOV KEYBUF,#10 LJMP DK3 NK11:CJNE A,#07H,NK12 MOV KEYBUF,#14 LJMP DK3 NK12:NOP DK3:MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P2,#80H MOV P0,A MOV A,KEYBUF MOV B,#2 MUL AB MOV TEMP,A MOV DPTR,#TABLE1 MOVC A,A+DPTR MOV STH0,A MOV TH0,A INC TEMP MOV A,TEMP MOVC A,A+DPTR MOV STL0,A MOV TL0,A SETB
9、 TR0 DK3A:MOV A,P1 ANL A,#0FH XRL A,#0FH 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 6 页 -JNZ DK3A CLR TR0 NOKEY3:MOV P1,#0FFH CLR P1.7 MOV A,P1 ANL A,#0FH XRL A,#0FH JZ NOKEY4 LCALL DEL Y10MS MOV A,P1 ANL A,#0FH XRL A,#0FH JZ NOKEY4 MOV A,P1 ANL A,#0FH CJNE A,#0EH,NK13 MOV KEYBUF,#3 LJMP DK4 NK13:CJNE A,#0DH,NK
10、14 MOV KEYBUF,#7 LJMP DK4 NK14:CJNE A,#0BH,NK15 MOV KEYBUF,#11 LJMP DK4 NK15:CJNE A,#07H,NK16 MOV KEYBUF,#15 LJMP DK4 NK16:NOP DK4:MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P2,#80H MOV P0,A MOV A,KEYBUF MOV B,#2 MUL AB MOV TEMP,A MOV DPTR,#TABLE1 MOVC A,A+DPTR MOV STH0,A MOV TH0,A INC TEMP MOV
11、A,TEMP MOVC A,A+DPTR 名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 6 页 -MOV STL0,A MOV TL0,A SETB TR0 DK4A:MOV A,P1 ANL A,#0FH XRL A,#0FH JNZ DK4A CLR TR0 NOKEY4:LJMP WAIT DELY10MS:MOV R6,#10 D1:MOV R7,#248 DJNZ R7,$DJNZ R6,D1 RET INT_T0:MOV TH0,STH0 MOV TL0,STL0 CPL P3.7 RETI TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H TABLE1:DW 64021,64103,64260,64400 DW 64524,64580,64684,64777 DW 64820,64898,64968,65030 DW 65058,65110,65157,65178 END 参考链接:http:/ 名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 6 页 -
限制150内