键盘电子琴课程设计报告

上传人:工**** 文档编号:459129888 上传时间:2022-12-20 格式:DOCX 页数:21 大小:267.99KB
返回 下载 相关 举报
键盘电子琴课程设计报告_第1页
第1页 / 共21页
键盘电子琴课程设计报告_第2页
第2页 / 共21页
键盘电子琴课程设计报告_第3页
第3页 / 共21页
键盘电子琴课程设计报告_第4页
第4页 / 共21页
键盘电子琴课程设计报告_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《键盘电子琴课程设计报告》由会员分享,可在线阅读,更多相关《键盘电子琴课程设计报告(21页珍藏版)》请在金锄头文库上搜索。

1、微机原理与接口技术课程设计报告键盘电子琴课程设计学 院信息电子技术专业通信工程班级14级2班学籍号 14109740811姓名李明坤指导教师刘文科信息电子技术学院通信工程系20 16 年 6 月 1 0 日一、设计目的及要求二、设计思想及原理三、设计的具体实现1. 系统概述2. 硬件设计3. 结构说明4. 运行结果四、软件设计五、系统操作说明六、结束语七、附录(具体程序设计)、课程设计目的与要求1. 目的和意义本课程的课程设计是电子信息工程专业学生学习完微机原理及应用课程后,进行 的一次以汇编语言为主,硬件设计为辅的综合训练。本课程设计的目的在于加深对微 机原理基本知识的理解,掌握汇编语言程序

2、设计的基本方法;掌握运用微机原理开发 系统的基本方法2. 设计要求1. 从课程设计的目的出发,通过设计工作的各个环节,编写一实现电子琴的程序,并实 现若干扩展功能,达到以下要求:1)基本功能:用键盘输入对应的八个音阶,通过蜂鸣器发出声音,并通过七段数码管 显示输入音阶。2)扩展功能:1、在程序中可预设多首曲目,运行后可以进入预设子菜单,对要播放 的曲目进行选择,并实现播放该曲目。2、程序运行时有友好的用户介面。3、掌握汇编语言程序设计的基本方法。4、理解各种接口电路的应用。例如8255可编程并行接口,8253定时等。2. 掌握利用PC机扬声器发出不同频率声音的方法。3. 开发环境及设备 设计环

3、境PC机一台、windows XP系统、实验箱、导线若干。 设计所用设备8253定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送IRQ2。8255并口:用做接口芯片。二、设计思想与原理1. 系统方案综述从系统实现的功能上来看,简易电子琴的课程设计主要分为手动弹奏乐曲和自动播放音乐 两大部分组成。手动弹奏乐曲是根据PC机硬件键盘设置功能键并通过不同频率使其发出 不同的声音就,即音阶,自动播放音乐则是通过中断的方法来实现。从系统硬件结构上来看,我们主要使用到PC机、8086单片机、8253定时器芯片、8255可 编程并行接口芯片、蜂鸣器等等。将这些硬件电路有机地结合起来使之满足电子琴的实现

4、硬件需要。从系统软件设计角度来看,将电子琴的课程设计采用程序模块化设计方法,将程序分为主 程序、键盘扫描程序模块、中断发音程序模块等等。此外,采用程序设计思想,将中断定 时方式与外部按键查询方式相结合,实现手动弹奏乐曲和自动播放音乐两部分的切换和启 动。从音乐产生原理方面来看,通过控制8253芯片定时器的定时时间产生不同频率的音频脉 冲,从而驱动蜂鸣器发出不同音乐的声音。用软件延时来控制发音时间的长短,控制节拍。 把音乐的音符和相应的节拍变换为定时常数和延时常数,作为数据表格存放在存储器中, 由程序查表得到定时常数和延时常数,分别用来控制8253定时器芯片产生的脉冲频率和 发出该音频脉冲的持续

5、时间。因此,我们可以综合上述的方案设计原理,从软件和硬件两大部分进行有计划有步骤的系 统分析和设计。2 .系统设计思路(1)手动弹奏乐曲和自动播放音乐用PC机键盘来实现。手动弹奏乐曲中PC机键盘的8 个键分别设置不同的音符,同时用一个键作为中断控制程序的控制键,通过其可实现手动 弹奏乐曲与播放音乐之间的切换。(2)软件的设计主要包括PC机键盘扫描、音乐播放程序和手动弹奏程序。此次程序设计主要分为两大块:手动弹奏乐曲程序和自动播放程序。两者之间用功能转换 程序对其进行结合,并实现各功能的控制。三、设计的具体实现1.8253的基本用法8253内部有三2个独立的16位减计数器(0#,1#,2#),每

6、个均可单独设置工作方式。 每个计数器可用6种模式工作,在初始化时首先写控制字,选择工作方式,然后要正确地 写入计数初值。最常用的0、1、2、3四种方式。8255A的基本用法8255作为并行接口芯片,有3种工作方式:方式0,方式1,方式2,方式0相当于 可作无条件输入/输出方式,方式1和方式2将PC 口的一些线作为状态线使用,相当于工 作在查询方式或中断方式。8255的PC 口具有位控制功能,可以用指令将某条线单独置1 或清0,利用此功能也可串行接收或发送数据。注意:8255有2条单元选的地址线,有4 个端口地址,要能正确地完成与CPU的地址线、数据线、控制线的连接。2硬件设计1. 硬件电路的模

7、块构成硬件电路的设计及实现相对简单。硬件电路PC机、8086单片机、定时器芯片8253、 可编程并行接口芯片8255A、扬声器模块组成2. 具体说明采用可编程并行接口芯片8255A的PA端口接8086的8个数据输出端口,利用8255A 方式0,端口入输入方式,即AL=10010000B,利用中断调用DOS功能来调用并扫描PC机 键盘。利用可编程并行接口芯片8255A的PC端口连接七段共阴极数码管,来显示键入的不 同音阶。驱动控制扬声器利用8253与8255A共同执行。利用8255A的PB0、PB1控制扬声器的 开启、关闭。利用定时器8253驱动发声,CPU通过对8253通道2 (端口地址42H

8、)进行编 程,利用8253方式3以不同的脉冲频率产生不同的输出方波,方波信号通过滤波器、功 率放大器使扬声器发声。3. 结构及功能说明(1) 单片机选用8086单片机为Intel公司推出的16为微处理器,以后Intel公司生产的微处理器, 均与其相同。8086有16根数据线和20根地址线。其可寻的的地址空间达2”20即1M字节 单元。其对外的数据线只有8根。其接线相对简化。本次课程设计采用8086单片机。8086 单片机的实际接口图如下图所示:系统控制税制 总控更(LOCK) W(so)deFT(sOdt/r-一(RQO)HOLD T_(RQ1)HLDA I- READY 8086CPU控制T

9、EST 图.腕6单片机的实际接口图ADOAD15A16/S3A19/S6 BHE?S7 ALE(QSO) INTA(QSl) INTR NMI总线信号中断控制(2)扬声器模块的设计电磁式蜂鸣器由振荡器、电磁线圈、磁铁振动膜片及外壳等组成。接通电源后,振荡 器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁 的相互作用下,周期性地振动发声。本系统设计的蜂鸣器与8255的PB1端口和8253的OUT2 输出端口连接,当8255的PBO、PB1端口为11时蜂鸣器发出响声。扬声器控制:1)8253计数器2的输出控制扬声器的发声音调;2)8253计数器2 只能工作在方式3,才

10、能输出一定频率的方波,经滤波后得到近似的正弦波,进而推动扬 声器发声;3)扬声器还受控于并行接口(8255A芯片);4)必须使8255APB0和PB1同时 为高电平,扬声器才能发出预先设定频率的声音;关闭则是利用8255APB0和PB1同时为 低电平,关闭与门,扬声器关闭。(3)显示电路的设计本设计所用显示电路七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选 中的数码管亮,位码加反相驱动器,位码输入端高电平选中。七段数码管字型代码表显示字形3a*1段码X1#3fh R1/0-竺0小06hQ /2/1g*5bh*- 10-0w11L14眼#4/0口a110-66h5/I*-10gOpI*

11、6dh-P6/W0+50。o1,IPI*3OTh k蛆1/9Qb8i11b6眼系(4)8253以及8255A芯片介绍1.8253介绍8253是24脚双列直插式芯片,+5V电源供电。每个芯片内部有3个独立的计数器(计 数通道),每个计数器都有自己的时钟输入CLK,计数输出OUT和门控信号GATE。数据总 线D0 D7:为三态输出/输入线。片选信号CS,读信号RD,写信号WR,他们为输入信号, 低电平有效。地址线A1、A0,接到系统总线A1、A0上。计数器时钟信号CLK,作用是在 8253进行定时或计数工作是,每输入1个时钟脉冲信号CLK,便使计数值减1。计数器门控选通信号GATE,计数器输出信号

12、OUT,作用是计数工作时,每来1个时钟 脉冲,计数器减1,当计数器值减为0,就在输出线上输出一 OUT信号,以示定时或计数 以到。% D&D5 d4 d3 %Di Do CLKo OUTo GATE0 GNDVCCWR而CSA1AOCLKout2gate2CLKiGATE】OUTi图3. 8253引脚图图-38253引脚图表8253端口地址信号线寄存器编址输出端YO0#计数器FFE0H1#计数器FFE1H2#计数器FFE2H控制寄存器FFE3H8253/8254内部有6个模块:数据总线缓冲器,读/写逻辑,控制命令寄存器,计数 器0,计数器1,计数器2。数据总线缓冲器:3态,双向8位寄存器和D0

13、D7相 连。读/写逻辑:由CPU发来的读/写信号和地址信号来选择读出或写入寄存器。 控制命令寄存器:接受CPU来控制字。计数器:8253有3个结构完全相同的计数 器。其内部由16为初值寄存器、减1计数器和当前计数值锁存器组成。R/W逻辑单路图3-1控制 寄存器计数器22.8255A 介绍8255A是一个40引脚的双列直插式集成电路芯片.它具有三个8位口,其中A 口和B 口是 单纯的数据口,供数据I/O使用。而C 口则既可以作数据口,又可以作控制口使用,用于 实现A 口和B 口的控制功能。数据传送中A 口所需的控制信号由C 口高位部分(PC7PC4)提供,因此把A 口和C 口高 位部分合在一起称

14、之为A组;同样理由把B 口和C 口低位部分(PC3PC0)合在一起称之 为B组。1. 8259A芯片的内部结构及引脚中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先排队、 辨别中断源以及提供中断矢量的电路集中于一片中。因此无需附加任何电路,只需对8259A 编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来 设定。在MD微机系统中,8259芯片工作于单片方式。8259引脚图如图3.3,各引脚功能如下。D7D0八条双向数据线;WR (低电平有效)写输入信号;RD (低电平有效)一一读输入信号;CS (低电平有效)一一片选输入信号;A0地址信号;INT中断请求信号;INTA (低电平有效)中断响应信号;CAS0-CAS2级联信号,形成一条专用8259A总线,以便多片8259A的级联;SP/EN从编程/允许级联。在缓冲方式中,可用做输出信号以控制总线缓冲器的接收和发送。 在非缓冲方式中,作为输入信号用于

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号