
《微机实验及课程设计》报告
《微机实验及课程设计》
课程设计报告
电子琴
姓 名: *** 学 号: ********
专 业: ******** 实 验 室: 电工电子实验中心 103
设计时间: 2009 年 5 月 30 日 —— 2009 年 6 月 4 日
评定成绩: 审阅教师:

《微机实验及课程设计》报告
目 录
一.实验简介……………………………………………………………3
二.基本设计思想………………………………………………………3
三.程序流程和程序实现………………………………………………3
四.测试方案和测试结果………………………………………………10
五.分析与总结…………………………………………………………10

《微机实验及课程设计》报告
一.实验简介
目的:
检验和提高我在原理与接口综合应用方面分析问题与解决问题的能力,同时也给我提供更多、更好的训练机
会。根据设计要求,尽可能完成设计要求的功能,选择最合适的器件,构成最有效的硬件电路来完成。
基本实验要求:
构造一模拟/数字电子琴
1、选择利用实验仪扬声器/PC 机内 8253 驱动内扬声器与键盘 1、2、3、4、5、6、7、8 设计一个电子琴,
通过按数字键响相应的乐符 1、2、3、4、5、6、7、i,使能演奏简单的乐曲。按 1~8 数字键同时点亮相
应的 8 个 LED 灯,使具有声、光效果;
2、 利用实验仪DAC和喇叭,软件控制上述功能。选择机内还是实验仪由开关设置,课随时切换;
3、在8*8点阵上表示音节高低;
4、精确显示从第一个键按下后的时间(单位秒,要求精确到0.1秒,显示到秒)。
进一步设计要求:
1.、能准确记录开始演奏到结束演奏的时间,在八段码上显示;
2、 数字、模拟合奏,能同时指示音阶;
3、自动录音,并具有回放功能(分两种水平、难易不等、即记录按键,同时记录按键和时间。
实现情况:
实现基本实验要求的 1~3。
二.基本设计思想
1、先分别设计机内电子琴和实验仪电子琴。机内电子琴参照实验五 8253 计数器/定时器的选做与探索
中使用 PC 机内 8253 驱动声音接口;实验仪电子琴参照实验中演示实验的电子琴流程图;
2、再把两者结合起来,用一个高低电平作开关控制是机内还是实验仪,可通过 8255A 口输入,判断
10(二进制)则实验仪 DAC,00 则机内喇叭;
3、点阵显示。根据输入的数字判断应显示点阵的哪一行。具体可先把点阵的 8 列全选通,输入为 1~8
某个数字时,判断显示相应的行;
4、LED 灯显示。同样,根据输入的数字判断应显示哪一个 LED 灯。具体可设置 8255B 口为输出,根据
输入的数字,输出控制 LED 灯相应灯亮。

《微机实验及课程设计》报告
三.程序流程和程序实现
1、机内电子琴
流程图:
程序:
dseg segment
freq dw 262,294,330,349,392,440,494,523
;扬声器发声各频率值
msg db 'Press 1,2,3,4,5,6,7,8,ESC:',0dh,0ah,'$'
tim dw 400
num db ?
dseg ends
sseg segment stack
dw 256 dup(?)
sseg ends
cseg segment
assume cs:cseg,ds:dseg
start: mov ax,dseg
mov ds,ax
mov dx,offset msg
mov ah,9
int 21h ;显示提示信息
sss: mov ah,7
int 21h
;等待从键盘接收字符,不回显 al=asc 码
cmp al,1bh
je exit;若为 ESC 键,则转 EXIT 退出
cmp al,31h
jl sss ;小于 31h
cmp al,38h ;大于 38h
jg sss ;不在'1'-'8'之间转 sss
sub al,31h
mov num,al ;num 求出相应的时间常数的序号
jinei: mov al,num
add al,al
mov ah,00h
mov si,ax
again: mov di,freq[si]
mov bx,tim
call gen
jmp sss
Y
N
求出音阶值保存
赋 相 应 频 率
值
延时
开始
键盘读入一个字符
是 ESC 键
吗?
是 数 字 1~8 键
吗?
返回 DOS
Y
N