自制16键电子琴
来源:互联网 发布:吸音软包价格 知乎 编辑:程序博客网 时间:2024/05/01 04:19
ORG 0000H
LJMP START
ORG 000BH
LJMP TIM0
START:
MOV TMOD,#00000001B
MOV IE,#10000010B
L1:
LCALL KEY;
CLR EA
CLR TR0
JB F0,L1
MOV A,22H
RL A
MOV DPTR,#TABLE
MOVC A,@A+DPTR;
MOV TH0,A
MOV 21H,A
MOV A,22H
RL A
INC A
MOVC A,@A+DPTR;
MOV TL0,A
MOV 20H,A
L2:
LCALL KEY;
CLR EA
CLR TR0
JB F0,L1;
LJMP L2;
KEY:
SETB F0
MOV R3,#0F7H;
MOV R1,#00H;
L3:
MOV A,R3;
MOV P1,A;
MOV A,P1;
CLR C;
CPL C;
MOV R5,#04H
L4:
RLC A;
JNC KEYIN;
INC R1;
DJNZ R5,L4;
MOV A,R3;
CLR C;
CPL C;
RRC A;
MOV R3,A;
JC L3;
RET;
KEYIN:
MOV 22H,R1;
CLR F0;
RET;
TIM0:
PUSH ACC;
PUSH PSW;
MOV TL0,20H;
MOV TH0,21H;
CPL P3.5
POP ACC;
RETI ;
TABLE:
DW 64021,64103,64230,64400
DW 64524,64580,64684,64777
DW 64820,64898,64968,65030
DW 65058,65110,64968,65030
END
ORG 0000H
LJMP START
ORG 000BH
LJMP TIM0
START:
MOV TMOD,#00000001B
MOV IE,#10000010B
L1:
LCALL KEY;
CLR EA
CLR TR0
JB F0,L1
MOV A,22H
RL A
MOV DPTR,#TABLE
MOVC A,@A+DPTR;
MOV TH0,A
MOV 21H,A
MOV A,22H
RL A
INC A
MOVC A,@A+DPTR;
MOV TL0,A
MOV 20H,A
L2:
LCALL KEY;
CLR EA
CLR TR0
JB F0,L2;
LJMP L2;
KEY:
SETB F0
MOV R3,#0F7H;
MOV R1,#00H;
L3:
MOV A,R3;
MOV P1,A;
MOV A,P1;
CLR C;
CPL C;
MOV R5,#04H
L4:
RLC A;
JNC KEYIN;
INC R1;
DJNZ R5,L4;
MOV A,R3;
CLR C;
CPL C;
RRC A;
MOV R3,A;
JC L3;
RET;
KEYIN:
MOV 22H,R1;
CLR F0;
RET;
TIM0:
PUSH ACC;
PUSH PSW;
MOV TL0,20H;
MOV TH0,21H;
CPL P3.5
POP ACC;
RETI ;
TABLE:
DW 64021,64103,64260,64400
DW 64524,64580,64684,64777
DW 64820,64898,64968,65030
DW 65058,65110,65157,65178
END
- 自制16键电子琴
- 自制的电子琴程序
- 电子琴
- 电子琴
- 电子琴
- 电子琴
- 电子琴
- 自制
- 48键电子琴+源码:C#Winform+vs2010+.net2.0+winmm.dll
- 我的电子琴
- c版电子琴
- 单片机,51c``电子琴
- 电子琴音乐(2)
- 独创Arduino电子琴
- 51单片机 汇编语言电子琴
- 汇编课设电子琴
- 新坑,电子琴
- 调频电子琴的c源码
- 世界上最有趣的网站——神灯网
- zi
- 追忆DOS时代
- 歌华网络配置
- IE/Firefox在部分CSS参数上的细小区别
- 自制16键电子琴
- 移植OSBench.exe源码到BSP遇到的问题
- 3G时代之便利生活
- Mashups简介以及简单实现分析
- 怎么用XML来判断用户权限
- vb使用ADO连接SQL Server
- IT人 不要一辈子靠技术生存(转)
- hudo as3 网络通信框架
- 开博