logo资料库

微机原理课程设计模拟电子琴,课设报告,.docx

第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
资料共20页,剩余部分请下载后查看
课程设计任务书 学生姓名 课程名称 专业班级 硬件系统综合课程设计 设计名称 模拟电子琴设计 设计周数 2 周 设计 一、设计任务 设计一个模拟电子琴,主机键盘 1~8 为电子琴的琴键。当按下琴键时,通过 8253A 任务 控制 主要 设计 参数 二、设计要求及参数 设计一个模拟电子琴,主机键盘 1~8 为电子琴的琴键。当按下琴键时,通过 8253A 控制系统中喇叭发出相应音阶的声音。 1)用扩展设备上的接口芯片及发音设备,模拟电子琴。 2)发八度音,即 1、2、3、4、5、6、7、i。音符演唱的节奏由打开 8255A 的时 刻调节。 1、收集技术资料:理解设计任务、查阅相关资料。用时 2 天。 2、确定总体设计思想:方案论证比较、确定总体设计方案。用时 2 天。 3、功能模块设计:设计功能模块、选择芯片、元件。用时 1 天。 4、Proteus 仿真以及代码实现:用时 3 天。 a.利用 Proteus 仿真软件验证设计方案的可行性,修改其中错误。 设计内容 设计要求 b.主程序和子程序代码实现。 5、书写设计报告:按照课程设计报告的要求,编写设计报告。用时 1 天。 主要参考 参考书籍及文章格式 作者 1,作者 2.书名[M].出版社名.出版年 作者 1,作者 2..文章标题[J].出版物名称.出版年,卷(期):初始页码-终止页码. 封面—任务书—课程设计报告—图纸 资 料 学生提交 归档文件 注: 1.课程设计完成后,学生提交的归档文件应按照:封面—任务书—说明书—图纸的顺序 进行装订上交(大张图纸不必装订)。 2.可根据实际内容需要续表,但应保持原格式不变。
指导教师签名: 日期: 模拟电子琴的设计报告 一. 设计要求 从课程设计的目的出发,通过设计工作的各个环节,达到以下要求: 1) 掌握汇编语言程序设计的基本方法。 2) 进一步理解各种接口电路的应用。(8255 并行接口,8253 可编程计数器/定时器等)。 3) 掌握利用 PC 机扬声器发出不同频率声音的方法。 二. 设计的作用、目的 本课程课程设计是计算机科学与技术专业学生学习完《微机原理与接口技术》课程后, 进行的一次以汇编语言为主,硬件设计为辅的综合训练。本课程设计的目的在于加深对微机 原理基本知识的理解,掌握汇编语言程序设计的基本方法;掌握运用微机原理开发系统的基 本方法。 三. 设计的具体实现 1.设计原理 (1)对于一个特定的D/A转换接口电路,CPU 执行一条输出指令将数据送入D /A, 即可在其输出端得到一定的电压输出。给D/A转换器输入按正弦规律变 化的数据, 在其输出端即可产生正弦波。对于音乐,每个音阶都有确定的频率。 各音阶标称频率值: (2)产生一个正弦波的数据可取 32 个(小于亦可),不同频率的区别,可通过 调节向D/A转换器输出数据的时间间隔,例如:发"1"频率为 261。1HZ,周期为 1/261.1=3.83ms,输出数据的时间间隔为 3.83ms/32=0.12ms. 定时时间可以由 8253 配合 8255 来实现。按下某键后发音时间的长短可以由发出的正弦波的个数 多少来控制。本程序中设置默认长度为 60 个正弦波。 (3)实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平, 选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。
2.芯片工作原理 8255 的内部结构图如图 2 所示,它有 3 个数据端口,分为两组,A 组由 A 口和 C 口高四位 组成,B 组由 B 口和 C 口低四位组成。其方式控制字如图 3 所示。 D7 1 方式控制字的 特征位 图 2 8255 内部结构图 D6 D5 D4 D3 D2 D1 D0 A 组工作方式 0——方式 0 1——方式 1 ——方式 2 0 0 1 B 组 工作方式 0——方式 0 1——方式 1 A 口 输入/输出 1——输入 0——输出 PC7PC4 输入/输出 1——输入 0——输出 B 口 输入/输出 1——输入 0——输出 PC3PC0 输入/输出 1——输入 0——输出 图 3 8255 方式控制字
PC 机内 8255 的 A 口,B 口,C 口和控制口的端口地址分别为:60H,61H,62H,63H。 8253 工作原理 8253 芯片中有 3 个计数通道,称为通道 0,1,2,它们与外部电路相连的信号线有 3 根: CLK,GATE,OUT,CLK 是脉冲输入端,GATE 是门控信号,OUT 是输出信号,计数器工作在减 1 状态。其内部结构图和方式控制字格式如图 4,图 5 所示。 其中当计数器工作在方式 3 时,输出信号为方波信号。 D0-D7 数 据 总 线 缓 冲器 内 部 总 线 R/W 逻 辑 电 路 RD WR A0 A1 CS 计数器 0 计数器 1 控制寄存器 计数器 2 CLK0 GATE0 OUT0 CLK1 GATE1 OUT1 CLK2 GATE2 OUT2 图 4 8253 内部结构图 D7 D6 D5 D4 D3 D2 D1 D0 计数器选择 00 计数器 0 01 计数器 1 10 计数器 2 11 不用 计数方式 0 二进制 1 BCD 计数 00 计数器锁存 01 读写低 8 位 10 读写高 8 位 11 读写 16 位 工作方式选择 000 方式 0 001 方式 1 ×10 方式 2 ×11 方式 3 100 方式 4 101 方式 5 图 5 8253 控制字格式 PC 机内 8253 的通道 0,通道 1,通道 2,控制口的端口地址分别为:40H,41H,42,43H。因为扬 声器是由通道 2 来控制的,故应选择通道 2,工作方式选为方式 3,输出的信号则为方波信 号。 3.电路连接图如下:
(1)8253 和 8255 连接如下 4.设计思路 在本次课程设计中,根据复杂程序设计思想——模块化程序设计,分析和确定程序总体 设计目标:电子琴基本功能及部分扩展功能后,将总体目标划分为若干模块(子程序,具体 可见下)。 程序设计的思路按以下顺序进行: 1.分析与确定程序总体设计目标 2.将总体目标划分为若干模块 3.定义每个模块的具体任务,明确它与其他模块间的通信方式 4.编写源程序,进行调试,包括: 简单电子琴主程序 结合实验指导书的两程序,将其分为若干个子程序,实现简单的播放和显示音阶的 功能。 发音子程序 本子程序实现放音功能。首先从键盘读出键码,判断,如果键码不是 1-8(9 除外) 即仍然处于音阶输入准备状态,如果是,即求出相应的时间常数的序号,取 60 次 32 个正弦波数据,播放 32 个数据,组成一个正弦波。播放 60 次后,然后判断是否有按 键,如果有就进入死循环,直到下次按键为止。 Led 显示子程序 本程序实现从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。 源程序整体
程序开始,显示提示信息,接着调用发音子程序,实现发音和显示。 5.模块连接,形成完整的程序 6.编写程序文档 5.模块设计 琴键模块 发音和 LED 显示模块
6.流程图 以下用主程序与子程序配合流程图其进行说明。 (1)主程序流程图
开始 使用键盘输入 调用广告版子程序 Led 子程序 是否 1 到 8 键 调用发音子程序 Y N 是 esc 键 Y 退出 (2)发音子程序流程图
分享到:
收藏