资源描述
微机原理与接口技术
课程设计说明书
电子琴制作
起止日期: 2011年11月28日 至 2010年12月2日
学生姓名
袁东红
班级
网络工程092
学号
09408400225
成绩
指导教师(签字)
计算机与通信学院
2011年 12月 8 日
课题名称
微机原理与接口技术课程设计
人 数
5
组 长
谭青
同组人员
袁东红 刘梓强 肖豪 许百安
课
题
的
主
要
内
容
和
要
求
主要内容:
利用KB-C扩展板提供的18个按钮开关,作为电子琴的按键,能够演奏简单的音乐,按键能实现“1-多,2-来,3-米…”,且单个音发音的长短由按键所按下的时间决定,即:某按钮按下时开始发声,松开时结束发音。按钮与8255A的连接见原理部分。其中8255A负责检测按键,8253负责产生各种频率的声音。
要求:
1. 实现弹奏功能,即每按下一个不同的键可以发出不同音调。
2. 通过调用子程序来有效解决跳转和过多转移问题。
3. 采用延时程序来是发音更明显。
具体任务
谭青 ——主程序
袁东红——按键键值与频率查表设计
刘梓强——按键扫描处理
肖豪——固定频率处理
许百安——延时程序及线路连接
时间安排与完成情况
星期一: 全组对课题的讨论及任务的分配
星期二: 电路图的设计及连接
星期三、四:程序流程图及程序的编写
星期五: 程序的测试及验证
涉及的技术原理和解决方法(具体的原理图、功能图、电路图、程序框图和程序清单另附):
基本原理
本课题是通过计算器8253和并行接口8255芯片来完成模拟电子琴的制作,主要分为两部分,分别为输入部分8255和发音部分8253.
输入部分:在KB-C板上,端口A负责发按键扫描信息,端口C的低3位,即PC0、PC1、PC2,负责接收扫描结果,如下图所示,先定时通过端口A(PA0,PA1,PA2,PA3,PA4,PA5)扫描各按钮,即先PA0=0,其它为1发信号,然后PA1=0,其它为1…,端口发出1个信号后,即读端口C,如果PC0,PC1,PC2全为高电平,说明无按钮按下,如果PC0为低电平(PC1,PC2肯定为高电平),且此时,端口扫描的情况是:PA0=1,PA1=0,PA2=1,…则说明SW1被按下。
发音部分:CPU通过定时器8253的通道2进行编程,使其I/O寄存器收到一个控制声音频率的16位的计算值,PC6来控制通道2门的门口的开关,一产生特殊的音调。
发出各种不同的声音的原理见实验指导书中的音乐发生器实验。
设计步骤
1、电路设计:根据设计内容,通过分析,设计出相应的电路图。
本课题是通过计算器8253和并行接口8255芯片来完成模拟电子琴的制作。主要分为两部分,分别为输入部分8255和发音部分8253.
8255的A口输入按键扫描信息,C口底三位接受扫描结果,PC6控制8253通道2的门控。
8253的成CLK2接1MHZ,OUT2接扬声器的音调,GATE2接PC6. 扬声器音调接OUT2,门控接PC4.
具体电路图见图一,二
2、控制字设计:根据要求,设计出各自8255的控制字和8253控制字。
并行接口8255:
可编程并行接口8255的地址分配:
A口 300H
B口 301H
C口 302H
控制寄存器端口 303H
方式控制字,方式0工作方式,A口输出,C口输入
PC4 ,PC6均置一
计算器8253
可编程定时器/计数器8253的地址分配:
计数器0 304H
计数器1 305H
计数器2 306H
控制寄存器 307H
选计数器2,先写低8位再写高8位,工作方式3,A口输入
3、程序设计:根据要求,设计程序流程图,并设计相应的程序。
程序功能描述:
程序开始,先数据段和代码段的定义,对缓冲区的初始化。按键扫描,接着调用发音子程序把AL送入缓冲区,发出与按键相对应频率的声音,从而实现电子琴的功能。
详细程序键附件
4、验证:在实验室具体测试和验证。
。
心得体会(课程设计的目的意义、遇到的具体困难与解决方法、课程设计的结果和收获):
心得体会
本次微机原理与接口的课程设计中,我们的课题是电子琴的制作。在设计的过程中,我们小组五个成员在组长的带领下,各司其职,团结合作,努力学习,终于圆满完成了任务。
刚开始的时候看到要制作电子琴,我们都以为那课题很难,原理图也看不大懂。后来,我们冷静地思考,根据自己的课题,分析电子琴制作的原理,包括对8255和8253工作原理的分析、电子琴按键发音原理的分析以及音调高低的设计。原理弄清楚了就好办多了。之后,我们就把设计方案的流程图画了出来。接下来就是写代码了,组长先把程序的主体写了出来,然后我们各自分工:我负责的部分是按键键值与频率查表设计。在程序的过程中,把汇编程序要实现的功能尽可能的准确、优化。在设计、编辑、编译、调试、运行过程中,我们都得到了很好的锻炼:提高了自己的编程能力。遇到棘手的问题,相互之间讨论,还是没解决就自己找资料。
经过大家的共同努力,最后,我们把各自写好的程序汇合在一起,上机调试。在纠正几个小错误之后运行程序,我们终于听到了按键音——也就是说我们电子琴达到了预料中的结果,设计取得了成功。
这次课程设计提高了我们自己动手的能力,对汇编有了更深层次的应用。让我们知道了,看似无从下手的东西,经过细心观察、理解和自己的动手操作,我们可以把化难为易,可以悟出不少道理的。
展开阅读全文