硬件课程设计_可存储式电子琴Word格式文档下载.docx

上传人:b****1 文档编号:13098714 上传时间:2022-10-04 格式:DOCX 页数:26 大小:561.61KB
下载 相关 举报
硬件课程设计_可存储式电子琴Word格式文档下载.docx_第1页
第1页 / 共26页
硬件课程设计_可存储式电子琴Word格式文档下载.docx_第2页
第2页 / 共26页
硬件课程设计_可存储式电子琴Word格式文档下载.docx_第3页
第3页 / 共26页
硬件课程设计_可存储式电子琴Word格式文档下载.docx_第4页
第4页 / 共26页
硬件课程设计_可存储式电子琴Word格式文档下载.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

硬件课程设计_可存储式电子琴Word格式文档下载.docx

《硬件课程设计_可存储式电子琴Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《硬件课程设计_可存储式电子琴Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。

硬件课程设计_可存储式电子琴Word格式文档下载.docx

6.软件功能 14

7.软件主要模块流程图 15

7.1高中低音转换程序流程图

7.2播放预定音乐子程序流程图

7.3弹奏子程序流程图

8.程序代码 16

9.问题分析与解决方案 25

10.实验体会 25

参考文献 26

1.选题

我的硬件课程设计的课题是《可存储式电子琴》,这是一个很好的课题。

我们不仅可以在设计中学习硬件、软件相关的知识,通过实践巩固理论知识,并做到活学活用,更能在美妙动听的音乐中享受我们的劳动成果,可谓是一举多得,能够在过程中有动力,所以选择了这个电子琴来增强我们对硬件课程设计的学习。

2.需求分析

加强学生们对硬件课程设计的掌握,熟练使用汇编语言解决硬件问题,制作电子琴,弹奏音乐,也可以作为娱乐工具.也可以进一步开发作为一个小玩具的内置芯片程序.

3.设计任务与要求

利用8255A、8253芯片和4×

4键盘、喇叭等器件设计硬件电子琴,具备如下功能:

当按下琴键时,扬声器发出该琴键相对应的音阶,同时可以通过按键转换高中低音节,会有灯显示此时的按键是哪种音阶,可以播放预存音乐。

可存储式电子琴硬件课程设计主要是居于8255A芯片和8253芯片的基本功能进行设计的。

我们将8255A芯片的A端口作为输出端口,而B端口作为输入端口,两个端口都与键盘相连接:

A端口的低四位连在键盘的行线上,B端口的高四位连在键盘的列线上。

再将它的输出端口PC1与8253相应门控信号GATE0相连接。

这样可以通过控制PC1来控制8253的输出:

当PC1为“1”时,GATE0有效,8253能够输出频率方波;

当PC1为“0”时,GATE0无效,OUT0无法输出频率方波。

而8253的时钟输入引脚CLK0与相应的时钟发生器相连接,8253的0通道的OUT0信号与8255A的PC0通过与门以后与蜂鸣器相连接,从而驱动并控制蜂鸣器发音的发音和终端:

当PC0为

“1”时蜂鸣器连通,能够发出声音;

当PC0为“0”时蜂鸣器被中断,不能发出声音。

这样,我们在硬件上实现了通过8255A芯片输入设备的输入信号并通过它传送给8253,让8253进行相应的处理后输出给蜂鸣器的功能。

从8255A芯片的端口中确认是键盘中的哪一个键被按下,并进行编码。

从8255A的B端口中读入键盘的状态,进行一系列的比较。

确认是哪一个键按下了,接着再通过着不同的键被按下进行执行不同的程序段。

将不同的键所对应的频率的N值送入

8253的0通道。

这样,就产生了不同频率的方波。

在送入扬声器后就能发出不同音频和音长的声音。

1

电子琴电路图

4.总体方案与说明

方案利用8253进行周期性扫描8255A是否有键按下,使用小键盘的按键实现电子琴音节按键、功能的切换。

本次设计功能分为:

高中低音阶的音频转换,提供给8253的时钟频率为1MHZ,

4.1设计电路如下

键盘扫描,把扫描到的值给8255A,8255A再把信号给8253,不同的按键,赋给不同的初始计数,然后产生不同频率的方波,输出端给喇叭,并控制喇叭的放音的开关,既可以发出不同的声音。

4.2.地址说明

(1)各芯片及器件地址:

8255A的控制端地址为28BH,A口,B口,C口地址分别为:

288H,289H,28AH。

8253的控制端地址为:

283H,计数器0地址为:

280H。

(2)按键说明如下表4-3:

dou音

7

xi音

2

rui音

A

高音转换键

3

mi音

B

中音转换键

4

fa音

C

低音转换键

5

so音

D

放歌键1

6

la音

4.3功能模块图

音模

盘扫

时模

声模

电子琴

主要包括:

中音模块,低音模块,高

音模块,键盘扫描,发

模块,延时模块六部分

4.31低中高音模块

进入模块,先进行键盘扫描,获得键盘行列值,并与键盘扫描码比对,如果是功能键A,B,C等跳转到相应的模块,不是则默认进入中音,并且按照键盘值,按照对应的计数初值,由8253进行发出对应频率的方波。

调用发声模块发出声音

4.32键盘扫描模块

(1)检测所有按键是否全都松开了,直到所有键松开

(2)检测是否有键按下,直到有键按下。

(3)若有键按下,消除抖动,确认有键按下

(4)然后得到一个行列值跟键盘扫描码比较,即可判定哪个键按下

4.33键盘扫描流程图

开始

列线全为℃1№?

从A端口读入行值,并送给AL

通过B端口输出保存的列值,送给AH

重置A端口为输入方式,B为输出

保存列值,延时消抖动

A输出全℃0№,从B口读取列值

置A端口为输出方式,B端口为输入方式

高中低音模块

键盘扫描流程图

4.34发声、延时模块

结束

PC1PC0=00

关扬声器

调用延时子程序

PC1PC0=11

开扬声器

8255初始化

8254初始化

8255A控制C端口,PC1,PC0的值,通过与门来控制喇叭的开关。

全为1,喇叭打开

—发声。

全为0,喇叭关闭—发声停止。

通过延时,来控制发声的时间。

如果没有延时,发声模块无法正常工作。

4.5电路实物连线图

电子琴实物连接图

5.硬件框图与说明

5.18255A芯片介绍

8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有

A、B、C三个并行接口,并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。

CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、

32位等。

用+5V单电源供电,能在以下三种方式下工作:

方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。

8255的内部结构及引脚如图5.1

内部结构及引脚

为读信号线,与其他信号线一起实现对8255接口的读操作。

通常接系统总线的 信号。

为写信号线,与其他信号一起实现对8255的写操作,通常接系统总线的 。

为片选信号线,当它为低电平时,才能选中该8255芯片,也才能对8255进行

操作。

D0~D7:

三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。

PA0~PA7:

端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。

PB0~PB7:

端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。

PC0~PC7:

端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。

端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。

这里的8255接口所占地址范围为0680H~0686H。

当对8255接口进行写操作时,各信号线的状态如表5.1所示

CS

A1

A0

IOR

IOW

操作

写A口

写B口

写控制寄存器

写C口

8255在应用过程中,将不同的控制字装入芯片中控制寄存器,即可确定8255的工作方式。

8255的控制字由8位二进制数构成,各位的控制功能如图5.2所示:

8255控制字

5.28253芯片介绍

8253芯片引脚图

8253是可编程计数器/定时器,内部有三个计数器,分别为计数器0、计数器1

和计数器2,一个时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端

OUT。

每个计数器内部有一个8位的控制寄存器。

8253的通道:

8253有3个通道,分别为通道0、通道1和通道2。

8253中各通道可有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。

8253的各种工作方式如下:

(1)方式0:

计数结束则中断

工作方式0被称为计数结束中断方式。

当任一通道被定义为工作方式0时,OUT

输出为低电平;

若门控信号GATE为高电平,当CPU利用输出指令向该通道写入计数值WR#有效时,OUT仍保持低电平,然后计数器开始减“1”计数,直到计数值为“0”,此刻OUT将输出由低电平向高电平跳变,可用它向CPU发出中断请求,OUT端输出的高电平一直维持到下次再写入计数值为止。

在工作方式0情况下,门控信号GATE用来控制减“1”计数操作是否进行。

GATE=1时,允许减“1”计数;

GATE=0时,禁止减“1”计数;

计数值将保持GATE

有效时的数值不变,待GATE重新有效后,减“1”计数继续进行。

显然,利用工作方式0既可完成计数功能,也可完成定时功能。

当用作计数器时,应将要求计数的次数预置到计数器中,将要求计数的事件以脉冲方式从CLK端输入,由它对计数器进行减“1”计数,直到计数值为0,此刻OUT输出正跳变,表示计数次数到。

当用作定时器时,应把根据要求定时的时间和CLK的周期计算出定时系数,预置到计数器中。

从CLK,输入的应是一定频率的时钟脉冲,由它对计数器进行减“1”计数,定时时间从写入计数值开始,到计数值计到“0”为止,这时OUT输出正跳变,表示定时时间到。

有一点需要说明,任一通道工作在方式0情况下,计数器初值一次有效,经过一次计数或定时后如果需要继续完成计数或定时功能,必须重新写入计数器的初值。

(2)方式1:

单脉冲发生器

工作方式1被称作可编程单脉冲发生器。

进入这种工作方式,CPU装入计数值n后OUT输出高电平,不管此时的GATE输入是高电平还是低电平,都不开始减“1”计数,必须等到GATE由低电平向高电平跳变形成一个上升沿后,计数过程才会开始。

与此同时,OUT输出由高电平向低电平跳变,形成了输出单脉冲的前沿,待计数值计到“0”,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1