计算机硬件课程设计 电子琴.docx

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

计算机硬件课程设计 电子琴.docx

《计算机硬件课程设计 电子琴.docx》由会员分享,可在线阅读,更多相关《计算机硬件课程设计 电子琴.docx(49页珍藏版)》请在冰豆网上搜索。

计算机硬件课程设计 电子琴.docx

计算机硬件技术基础课程设计

电子琴

小组成员及分工:

XXXXXXXX

指导老师:

唐丹

班 级:

自动化03班

重庆大学自动化学院

重庆大学计算机硬件技术基础课程设计

目录

目录 2

摘要 2

1.设计目的与意义 3

1.1设计目的 3

1.2设计意义 3

2.课程设计的任务和思路 4

2.1设计任务 4

2.2设计思路 4

3.硬件工作原理 7

3.18255工作原理 7

3.28254工作原理 8

3.3扬声器模块工作原理 9

3.4三色LED数显 10

3.54X4非编码键盘 11

4.功能说明 12

4.1总体功能说明 12

4.1.1主程序说明 12

4.2弹奏功能说明 13

4.2.1音符选择 14

4.2.2音阶选择 14

4.2.3弹奏实现 14

4.2.4流程图 14

4.3回放功能 15

4.4歌曲播放功能 17

4.5显示功能 18

5.组员心得体会 19

心得体会1:

19

心得体会2:

21

心得体会3:

23

心得体会4:

25

6.操作说明书 27

6.1连线要求 27

6.2使用电子琴弹奏乐曲以及使用各个子功能的方法 28

7.整体程序清单 29

摘要

通过大三上学期对《计算机硬件技术》课程的学习,我们初步掌握了一些计算机硬件工作的基本原理、汇编语言程序设计方法,建立了微型计算机系统的整体概念,初步形成微机系统软硬件开发的能力。

为了更好的理解和掌握学习到的知识,也为了更深入的了解熟悉可编程定时器8254和8255,我们试图通过编程使8255识别输入键值,通过8254识别发声,达到通过按键控制扬声器发声频率的目的,从而模拟电子琴的工作原理。

由于本电子琴设计简单,方便改装用于其他实用领域,如报警器、门铃、儿童玩具等,具有一定的实用价值。

要完成一个简易的电子琴,要求我们利用相关已经学过的芯片连接成一个电子电路,并且通过自己用汇编语言编程,控制设计的电子电路实现电子琴的一些功能,比如通过高中低音键和音调键分别控制发出高低音的1、2、3、4、5、6、7音调,比如播放预先存储的歌曲,比如回放上一个弹奏的歌曲等。

本文首先介绍了设计目的、意义、任务及思路,接着简单介绍了各个元器件的工作原理,然后以流程图的形式展现了各程序的基本思路,再介绍了一些具体功能是如何实现的,在附录中还附带了完整的程序,最后描述了组员的心得体会。

1.设计目的与意义

1.1设计目的

计算机硬件技术课程设计是对所学课程内容的全面、系统的总结、巩固和提高的一项课程实践活动。

课程设计要求同学们熟悉汇编语

言的编程、连接、调试、运行等步骤,以及设计中所设计的相关软硬知识。

通过课程设计,一方面提高运用汇编语言变成解决实际问题的能力,另一方面使同学们更深入的了解计算机系统内部的有关知识,为以后的学习和系统开发奠定良好的基础。

1.2设计意义

通过课程设计要进一步锻炼在微型计算机应用方面的实际工作能力。

计算机科学是一门应用型学科,学习时必须紧密联系实际,要强调实际问题的能力。

通过设计学会面对一个实际问题时如何分析问题、收集资料并且如何将理论知识运用于实际生活中,解决实际问题。

2.课程设计的任务和思路

2.1设计任务

设计一个电子琴,以扬声器作为发声装置,以4X4小键盘作为输入装置,模拟电子琴的琴键和功能按键,嗲子清具有低、中、高三个音阶,能弹奏曲目在计算机硬件试验系统基础上,完成扬声器模块的设计,完成基本功能,并在此基础上完善并优化系统功能。

(1)按“1—7”中的任一数字键,则发出对应的中音;

(2)若按下“高音键”和“1—7”中的任一数字键,则发出对应的高音;

(3)若按下“低音键”和“1—7”中的任一数字键,则发出对应的低音;

(4)弹奏时要求能够区分节拍、音调、音阶和休止符。

2.2设计思路

电子琴的设计实际上就是要设计一个程序,通过识别按键,控制扬声器模块的振动频率,从而发出不同的音调。

扬声器模块是通过并行接口芯片8255和定时芯片8254来控制发音的,其电路连接方式如下图所示。

频率

OUT2

GATE2

CLK2 8254

PC8

1

8255A

扬声器模块

&

图1扬声器控制电路

扬声器是由8254通道2产生的方波信号驱动发声的。

要想让扬声器发声,除了电源和接地外,,还需要一个引脚给予振动频率才能正常工作。

同时当8255的PC7置1,,使得8254的GATE为高时。

OUT2引脚上才能产生一定频率的方波信号驱动扬声器,使扬声器发声。

因此,可以通过对8255的PC7的设置来控制扬声器的开通和关断,而其发音频率可以通过改变8254通道2的计数初值来控制。

因此设计程序的任务就是要通过识别按键来设置8255的PC7输出电平的高低,以及设置8254通道2计数初值。

在实际的课程设计中,因为计数初值的设置、8254的CLK频率的选择等原因,我们给予8254用于参与计算高低中音的程序频率和实际OUT2口输出的驱动频率有

点不同,以下两表分别为OUT2口输出频率和程序中用于计算的频率:

音符

1

2

3

4

5

6

7

频率(低)

131

147

165

175

196

220

247

频率(中)

262

294

330

349

392

440

494

频率(高)

524

588

660

698

784

880

988

表一:

OUT2口输出的驱动频率

音符

1

2

3

4

5

6

7

频率(低)

101

112

125

134

151

167

186

频率(中)

202

224

250

268

302

334

372

频率(高)

402

448

500

536

604

668

744

表二:

程序中参与计算8254计数初值的频率

3.硬件工作原理

3.18255工作原理

8255是Intel公司生产的可编程并行I/O接口芯片,有3个8

位并行I/O口。

具有3个通道3种工作方式的可编程并行接口芯片

(40引脚)。

其各口功能可由软件选择,使用灵活,通用性强。

8255可作为单片机与多种外设连接时的中间接口电路。

8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。

8255的内部结构图如图2所示,它有3个数据端口,分为两组,

A组由A口和C口高四位组成,B组由B口和C口低四位组成。

其方式控制字如图3所示。

图28255内部结构图

图38255控制字

3.28254工作原理

8254 芯片是一款使用十分广泛的可编程定时,计数芯片,其主要功能是定时和计数的功能。

人们所使用的微机内的动态存储器刷新电路、系统日时钟的技术以及发声系统的声源都是由8254芯片来参与完成工作的。

每个8254芯片有3个独立的16位计数器通道,每个计数器有6中工作方式,都可以按二进制或十进制(BCD码)计数。

8254芯片主要由数据总线、缓冲器、读写逻辑控制字、寄存器、计数器四部分组成。

其中当计数器工作在方式3时,输出信号为方波信号。

图48253内部结构图

图58253控制字格式

8254的通道0,通道1,通道2,控制口的端口地址分别为:

300H,304H,308H,30CH。

因为扬声器是由通道2来控制的,故应选择通道2,工作方式选为方式3,输出的信号则为方波信号。

3.3扬声器模块工作原理

扬声器模块式有8254以方式3产生的方波信号驱动发声的。

该发声驱动系统由8255的PC7口经控制8254的GATE电平高低控制定时计数开始与结束的。

3.4三色LED数显

8255A并行模块中共有4片8255A芯片,每个8255A芯片的输出控制了两个共阳极8段LED,通过PCI总线接口与其相连,下面为电路图和端口地址,字型码和LED显示颜色选择表格

3.54X4非编码键盘

在拓展的实验板上有4行4列非编码键盘,按键的行、列信号用过插孔引出,行信号通过插孔P0-P3引出,列信号用过插孔Q0-Q3引出,4X4非编码键盘电路图如下图所示。

4.功能说明

4.1总体功能说明

8254的A口与B口分别连接4X4键盘的行与列,从中读取键值,确定音符,1—7按键分别对应1—7音符。

C口连接两个开关,读取选择的音阶,若K1K2=01则为高音,若K1K2=01则为低音,否则为中音。

8255根据选择的音符与音阶根据音符频率表确定需要的发声频率Hz送给8254。

8254的CLK频率为3MHz,由N=3MHz /Hz确定

8254计数初值N。

8254工作在方式3,通过OUT 口以方波形式将发声频率传给发声模块。

发声模块通过不同的频率选择不同的音符与音阶发声。

当不需要发声时,使8254的GATE为低电平。

4.1.1主程序说明

程序开始运行后,首先读取开关状态,若没有键按下,则进入弹琴子程序,否则判断是回放还是放音键。

若为回放键,则进入回放子程序,否则进入播放子程序。

进入子程序后,判断是否结束或中断。

若不是则重复运行子程序,否则重新读取开关。

主程序的流程图如下图所示:

4.2弹奏功能说明

图6主程序流程图

开始

读取开关

回放

是否有键按下

是播放还是回放

播放

进入弹琴子程序

进入播放子程序

进入回放子程序

是否结束或中断

是否结束或中断

是否结束或中断

首先根据音符音阶表建立音阶表LOW、MID、HIGH。

根据K1K2选择高中低音,由LEA指向相应表。

再根据8255读取按键值,若没有按键按下,则重新开始选择音阶读取键值,若有键按下则根据键值选择偏移地址放入SI中,从而准确判断选择发音频率,送往扬声器。

再令GATE为高电平,开启扬声器发声。

发声时不断扫描键盘和功能键,若有键盘键按下则重新根据相应的音符发声,若有功能键

按下则关闭扬声器。

4.2.1音符选择

扬声器发音的频率是由8254产生方波的频率决定的,而方波频率又是由通道的计数初值来决定的,因此可以通过改变通道的计数初值来实现变调功能。

计数初值N=时钟频率/音阶频率,时钟频率为3MHZ,可以将相应音调对应的时钟频率存入内存单元,当选择相应的音调时,计算计数初值时,采用对应的时钟频率值,

4.2.2音阶选择

高中低音阶主要是三组频率不同的音

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

当前位置:首页 > 表格模板 > 合同协议

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

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