微机接口程设计---电子琴和实验报告
河南科技学院信息工程学院 PAGE - 1 -
题 目 名 称 简易电子琴设计 小 组 成 员 院 系 班 级 信息工程学院计科085 指 导 教 师 2012 年 5 月 18日目 录………………………………………………………………………………………………电子琴的设计要求和使用器件 1.1 初始条件 1.2 电子琴要完成的主要任务 1.3 电子琴课设的使用器件 1.4 设计方案的确定 第二章 电子琴的硬件设计 2.1 电子琴的硬件框图第三章 电子琴的软件设计 3.1 程序流程图3.2 整体的软件汇编程序第四章 电子琴的调试和设计体会4.1 硬件调试4.2 软件调试4.3 设计体会第五章 附录5.1 参考文献第一章 电子琴的设计要求和使用器件1.1 初始条件1.运用所学的微机原理和接口技术知识; 2. 微机原理和接口技术实验室的实验箱设备; 1.2 电子琴要完成的主要任务使用汇编语言设计一个能够用键盘运行的电子琴, 1.弹奏:用户每按一个键盘琴键就弹奏相应的音符;2.演奏:按下键盘上某一个指定的建后自动弹奏预存琴谱功能;1.3 电子琴课设的使用器件1.唐都实验箱TDN-MD 1.4 设计方案的确定 1.用试验箱上的晶振输出一个高频的信号,接入8253,用软件给8253和敏感键区进行初始化,敏感键控制不同的频率,并送此分频数给8253,从8253输出相应的音频后,接一个非门,再接入硬件扬声器,扬声器接受到不同频率的波后发出不同的声音。 2.用敏感键触发中断服务子程序来判断是给出了哪一个频率。 3.用一个ESC按键来控制是自动演奏,其他7个键分别控制da,ri,mi,fa,sa,la,si。 4.其中用一个延时程序,使得发一个音有一定的延时时间。从而能使得可以被听见。 5.有个停止程序,使得晶振不能使得扬声器发声。第二章 电子琴的硬件设计2.1 电子琴的硬件框图和硬件连接图
图 1 硬件框图
图 2 电路连接图 从8088的敏感键触发中断,然后根据8088的程序,将不同的分频数与敏感键的中断服务子程序的每一个一一对应,通过程序从8086给8253赋个初值(即不同的分频数),晶振给8253一个固定的频率,在不同的分频数下得到不同的频率,将频率通过8253的2计数器送给一个非门,(加非门的原因:因为8253的out2原始状态时一个高点平,若直接与扬声器相连,一经连接扬声器就会发音,接个非门后使得它的初始状态为低电平,就能消除困扰。)非门出来接扬声器。不同的频率使得扬声器发出不同音色的声音。
第三章 电子琴的软件设计3.1 程序流程图
图 十 程序流程图
3.2 整体的软件汇编程序1.主程序:A 2000MOV AX,3000MOV [00A8],AXMOV AX,0000MOV [00AA],AX//表示ESC键的中断向量地址,自动播放音乐MOV AX,3100MOV [00AC],AXMOV AX,0000MOV [00AE],AX//表示~键的中断向量地址,发音1/****其它热键亦是如此*****/2.自动播放曲子程序:A3000MOV BX,5100//曲子的地址MOV AL,[BX]MOV AH,00A1: MOV DL,25MUL DL
PUSH AXMOV AL,B6OUT 43,AL//8253初始化POP AX
OUT 42,ALMOV AL,AHOUT 42,ALINC BXMOV AH,00MOV AL,[BX]
TEST AL,FFH//唱完一段自动停止JZ A4//唱完
MOV CX,77FFA2:PUSH AX//延时POP AXLOOP A2JMP A1
A3:MOV AL,BAH//改变8253的控制字,使其工作在方式5,不发声MOV DX,0043HOUT DX,ALJMP 2000
A4:PUSH AX//延时P