基于微机原理简易电子琴的设计
目录
前言…………………………………………………………………………………………
第一章 简易电子琴的硬件设计方案…………………………
第二章 简易电子琴的软件设计……………………………………………
第三章 简易电子琴的安装与调试………………………………………
4.1 硬件调试
4.2 软件调试
第四章 设计体会与小结………………………………………………………
5.1 总结设计体会与心得
附录………………………………………………………………………………………
前言
1.1 简易电子琴方案的论证与比较
本次简易电子琴设计构想:
⑴采用8个拨码开关为输入(其中SB1~SB7为简易电子琴的弹奏按键,另外一个SB0作为控制自动弹奏预
⑵扬声器为输出 ;
⑶由输入控制输出,即拨码开关控制扬声器;
⑵功能二演奏:按下键盘上某一个指定的建后自动弹奏预存琴谱功能;
1.3 简易电子琴硬件设计方案的确定
⑴根据扬声器发声原理可知:不同频率的方波通过扬声器可发出不同的声音。
⑵由此构想运用8253工作在方式3的状态下控制其2#计数器对应寄存器中的数值,然后将输出端口OUT2
⑶为了实现弹奏按键(即拨码开关)来控制扬声器,可以通过用拨码开关改变8253(工作在方式3的状态下)
⑷最后要实现的就是将拨码开关对应的数字信号存入寄存器中
采用8255A并行接口特点,使端口A工作在方式0并作为输出口,端口B工作在方式0,并作为
⑸可编程接口芯片
8255A芯片:
8255A的数据线、 片选信号线、 地址线 、读写控制线等分别与系统总线相连,其中A、 B、
表1 8255A端口地址表
信号线
寄存口
编址
IY03
A口
60H
B口
61H
C口
62H
控制寄存器
63H
8253芯片:
系统中,8253的0通道输出线与8253的0#中断请求线作为时钟中断信号。1#通道入口接1.84
表2 8253端口地址表
信号线
寄存口
编址
IY02
0#寄存器
40H
1#寄存器
41H
2#寄存器
42H
控制寄存器
43H
图⑴ 图⑵
61H 端口是8255并行接口B口的地址,由它来控制扬声器的.实际上由PB还加上一个8253定时器,
第二章 简易电子琴的软件设计
DATA SEGMENT
TABLE1 DB 4DH,45H,3DH,39H,33H,2DH,28H ;1,2,3,4,
TABLE2 DB 4DH,4DH,33H,33H,2DH,2DH,33H,01H
DB 39H,39H,3DH,3DH,45H,45H,4DH,01H
DB 33H,33H,39H,39H,3DH,3DH,45H,01H
DB 33H,33H,39H,39H,3DH,3DH,45H,01H
DATAENDS
STACK SEGMENT STACK
DW 64 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:STACK
START: MOV AX, DATA
MOV DS, AX
MOV AL,82H ;8255初始化
OUT 63H,AL
A0: IN AL,61H
OUT 60H,AL
CMP AL,00H
JZ A0
CMP AL,01H ;扩展功能
JZ F0
CMP AL,02H ;1,2,3,4,5,6,7的发音判断
JZ F1
CMP AL,04H
JZ F2
CMP AL,08H
JZ F3
CMP AL,10H
JZ F4
CMP AL,20H
JZ F5
CMP AL,40H
JZ F6
CMP AL,80H
JZ F7
LOOP A0
F1: MOV BX, OFFSET TABLE1 ;发音1
CALL FY
CALL DELAY
JMP A0
F2: MOV BX, OFFSET TABLE1 ;发音2
INC BX
CALL FY
CALL DELAY
JMP A0
F3: MOV BX, OFFSET TABLE1 ;发音3
ADD BX,2
CALL FY
CALL DELAY
JMP A0
F4: MOV BX, OFFSET TABLE1 ;发音4
ADD BX,3
CALL FY
CALL DELAY
JMP A0
F5: MOV BX, OFFSET TABLE1 ;发音5
ADD BX,4
CALL FY
CALL DELAY
JMP A0
F6: MOV BX, OFFSET TABLE1 ;发音6
ADD BX,5
CALL FY
CALL DELAY
JMP A0
F7: MOV BX, OFFSET TABLE1 ;发音7
ADD BX,6
CALL FY
CALL DELAY
JMP A0
F0: MOV BX, OFFSET TABLE2
JZ A1
A1: IN AL,61H
CMP AL,01H
JNZ A4
CALL FY
CALL DELAY
INC BX
MOV AL, [BX]
TEST AL, 0FFH ;唱完一遍自动停止
JZ A3
JMP A1
A3: PUSH AX ;延时
POP AX
LOOP A3
JMP A4
A4: MOV AL,0BAH ;改变8253的控制字,工作在方式5,使不发声
MOV DX,43H
OUT DX,AL
JMP A0
FY PROC ;发音子程序
A7: MOV AL, 0B6H ;8253初始化
OUT 43H, AL
MOV AL, [BX]
MOV AH, 00H
MOV DL, 25H
MUL DL
OUT 42H, AL
MOV AL, AH
OUT 42H, AL
RET
FY ENDP
DELAY PROC ;延时子程序
PUSH CX
PUSH AX
MOV CX,0040H
A5: MOV AX,056CH
A6: DEC AX
JNZ A6
LOOP A5
POP AX
POP CX
MOV AL,0BAH ;改变8253的控制字1011 1010,工作于方式
MOV DX,43H
OUT DX,AL
RET
DELAY ENDP
CODEENDS
END START
第三章 简易电子琴的安装与调试
4.1 硬件调试
⑴连接简易电子琴系统的电路图
拨码开关SB0~SB7与8255A的PB输入端口连接,将8253的CLK2与试验箱上的脉冲源连接,最
⑵将实验箱与微型计算机保持串口通讯成功。
⑶将汇编程序代码输入微型计算机进行硬件调试。
4.2 软件调试
⑴把弹奏功能的程序代码输入微型计算机,与硬件相结合进行修改调试(其中主要运用跳转、循环和条用指令)。
⑵在实现弹奏功能的程序中再加入自动播放预存琴谱功能的程序程序,进行调试。
第四章 设计体会与小结
5.1 总结设计体会与心得
在为期一周的微机原理课程设计中,我学会了制做项目的一般步骤。第一部是硬件设计主要是实现控制对
附录
一.部分源程序与参考文献
1.《微机原理里与接口技术》(第2版) 彭虎、周佩玲、傅忠谦、编著
电子工业出版社
2.《汇编语言与接口技术》 王让定 陈金儿 叶富乐 史旭华 编著
清华大学出版社
3. 《汇编语言程序设计》 相伟 主编 徐小平 李珍香 副主编
中国水利水电出版社
二. 系统硬件原理图