课程设计简易电子琴设计.doc
《课程设计简易电子琴设计.doc》由会员分享,可在线阅读,更多相关《课程设计简易电子琴设计.doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一 设计任务描述1.1设计题目:简易电子琴设计1.2设计目的通过本学期对微机原理的学习,掌握的知识还停留在理论的上。但是这是一门实践性较强的课程,让学生在学完该课程之后,进行一次课程设计,使学生将课堂所学的知识和实践有机结合起来,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。通过设计实践,培养学生查阅专业资料,工具书或参考书,了解有关工业标准,掌握现代设计手段和软件工具,并能以图纸和说明书表达设计思想和结果的能力。通过设计,不但要培养和提高学生解决工程具体问题,动脑动手的技术工作能力,而且还要逐步建立科学正确的设计和科研思想,培养良好的设计习惯,牢固树立实事求
2、是和严肃认真的工作态度。具体要求如下:(1)可以弹出7个音阶;(2)弹奏简短音乐;(3)通过改变键盘输入来改变8254输出频率,实现扬声器发音。1.3设计要求1、总体内容:设计简易电子琴,能发出至少7种音阶;2、接口设计:根据题目和所用的接口电路芯片设计出完整的接口电路,并在实验系统上完成电路的连接和调试通过;3、程序设计:要求画出程序框图,设计出全部程序并给出程序设计说明和程序注释;4、前期完成的实验有: 8255并行接口实验。1.4简易电子琴电子琴简单功能实现以及利用由8255芯片控制的小键盘(含数码管、键盘阵列)实现控制电子琴。主程序由电子琴和键盘控制的两个程序有机组成,两个程序简单拼凑
3、在一起是不能实现的。经过实际调试和修改,将原电子琴程序改为2个子程序:start(实现播放音阶)和delay(实现播放音阶时延时);将原键盘控制程序改为1个主程序:ccscan(实现键盘扫描)。各个子程序通过寄存器通信,寄存器存有当前输入的键盘码,同时为电子琴和键盘控制两子程序服务。调试后,主程序能实现课程设计要求的功能。二 设计概要2.1设计内容本次课程设计的内容为简易电子琴的设计与实现,利用8255将键盘输出值返回CPU,CPU通过分析命令8254输出相应频率的方波波形,再经过扬声器发出声音。由于PC计算机的时钟晶振为1.MHz,可以利用微机实验箱里面的发生单元发出声音。表2.1 各音阶标
4、称频率值:音符1234567重音对应频率(Hz)131147165175196220247低音对应频率(Hz)262294330349392440494中音对应频率(Hz)523587659698784880988高音对应频率(Hz)10641175131813971568176019752.2设计环境与器材(1)PC计算机一台 用于对程序的编译测试等,实现对实验设备进行控制,提供整个程序的运行平台,并且收集和释放硬件信号,实现程序功能。(2)微机原理实验箱一台 此设备提供了8255、8259等必要芯片。并且能通过接受计算机传来的信息,实现相应的功能。(3)导线若干条 用于电路和芯片之间的连接
5、。2.3主要芯片功能 2.3.1 8255主要功能8255 可编程外围接口芯片是 Intel 公司生产的通用并行I/O 接口芯片,它具有A、B、C 三个并行接口,并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。CPU 和接口之间 的数据传送总是并行的,即可以同时传递8 位、16 位、32 位等。用+5V 单电源供电,能在以下三种方式下工作:方式0-基本输入/出方式、方式1-选通输入/出方式、方式2-双向选通工作方式。8255的内部结构及引脚如图2.1所示:图2.1 内部结构及引脚如图2.1所示,D0D7为双向数据信号线,用来传送数据和控制字。为读信号线,与其他信号线一起实现
6、对8255接口的读操作。通常接系统总线的信号。为写信号线,与其他信号一起实现对8255的写操作,通常接系统总线的。为片选信号线,当它为低电平时,才能选中该8255芯片,也才能对8255进行操作。A0、A1为口地址选择信号线。本次设计使其分别与系统总线的XA1、XA2相连,它们的不同编码可分别寻址3个口和一个控制寄存器,具体规定如下:A1A0选择00A口01B口10C口11控制寄存器RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。 CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。 R
7、D:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写8255。D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。 PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。PB0PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/
8、缓冲器,一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。这里的8255接口所占地址范围为0640H067FH。当对8255接口进行写操作时,各信号线的状态如下表所示:CSA1A0IORIOW操作00010写A口00110写B口01010写控制寄存器01110写C口8255在应用过程中,将不同的控制字装入芯片中控制寄存器,即可确定8255的工作方式。8255在应用过程中,将不同的控制字装入芯片中控制寄存器,即可确定8255的工作方式。8255的控制字由8位二进制数构成
9、,各位的控制功能如下图:图2.2 置位/复位控制字格式2.3.2 8254主要功能8254具有3个独立的16位计数器,6种不同的工作方式。计数寄存器用来寄存计数初值,计数工作单元为16位减1计数器,它的初值便是计数寄存器内容,计数单元对CLK脉冲计数,每出现一个CLK脉冲,计数器减1,当减为零时,通过OUT输出指示信号表明计数单元已为零。当作为定时器工作时,每当计数单元为零时,计数寄存器内容会自动重新装入计数单元,而且CLK输入是均匀的脉冲序列,于是OUT输出频率是降低了的(相对于CLK信号频率)脉冲序列。当作为计数器工作时,表明只关心在CLK端出现(代表事件)的脉冲个数,当CLK端出现了规定
10、个数的脉冲时,OUT输出一个脉冲信号。三 硬件接线图及流程图3.1 硬件接线图 系统的连线图主要由四个部分构成。系统总线、8255并口控制器、键盘及数码管显示单元、8254芯片。如下图所示:12键 X1盘 数 X4码 管 Y1显示 Y2单元PA0 D0PA3 D7PB0 A0PB3 A2 WR RD CS8255单元XD0 XD0XD7 XD7XA1 XA1XA2 XA2IOW IOWIOR IORIOY1 IOY2 CLK系统总线D0D7 GATE0A0A1 OUT0WRRDCSCLK08254单元电 子 发 声 单 元+5V.图3.1硬件接线图3.2流程图主程序的流程图是对整个程序的逻辑的
11、图象表示。形象的描述了整个系统的工作过程。8254输出一定频率方波输出设置好的频率将位置交由CPU计算将声音延迟静音开始初始化8254,8255芯片键盘扫描是确定按键的位置否图3.2系统实现流程图四 简易电子琴设计源程序及注释MY8255_A EQU 0640HMY8255_B EQU 0642HMY8255_C EQU 0644H MY8255_MODE EQU 0646HMY8254_MODE EQU 0686HMY8254_B EQU 0680H ;进行宏定义DATA SEGMENTFREQ_LIST DW 441D,495D,556D,589D,661D,742D,833D,882D,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 简易 电子琴 设计
限制150内