电子琴课程设计.docx

上传人:b****8 文档编号:10037998 上传时间:2023-02-08 格式:DOCX 页数:22 大小:159.89KB
下载 相关 举报
电子琴课程设计.docx_第1页
第1页 / 共22页
电子琴课程设计.docx_第2页
第2页 / 共22页
电子琴课程设计.docx_第3页
第3页 / 共22页
电子琴课程设计.docx_第4页
第4页 / 共22页
电子琴课程设计.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

电子琴课程设计.docx

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

电子琴课程设计.docx

电子琴课程设计

1任务及要求1

2设计思想1

3.元器件功能简介2

3.18086引脚说明

3.28255与8253结构

4.功能说明7

4.1开关控制

4.2扬声器控制

5.原理图设计8

6.流程图9

7.测试10

8.心得体会11

9.参考文献11

10.源程序12

1.任务及要求

设计一个电子琴。

以8086作为处理器,以8253控制扬声器,并以8255接8个开关K1~K8作为电子琴的按键输入,根据按键K2~K8改变脉冲频率和脉冲持续时间从而使

扬声器发出7种不同的音调,并且按下按键发声,松开延时一段时间停止停止,中间再按别的开关则发另一种音调的声音,从而实现了一个模拟电子琴。

该电子琴能实现基本的音调发音,报告的最后对整个设计过程进行了总结.

2.设计思想

在本次课程设计中,根据复杂程序设计思想——模块化程序设计,分析和确定程序总体设计目标:

电子琴基本功能及部分扩展功能后,将总体目标划分为若干模块(子程序,具体可见下)。

2.1、程序设计的思路按以下顺序进行:

2.1.1、分析与确定程序总体设计目标。

2.1.2、将总体目标划分为若干模块。

2.1.3、定义每个模块的具体任务,明确它与其他模块间的通信方式

编写源程序,进行调试,包括:

2.1.3.1、简单电子琴主程序

按下每个开关键可以发出不同的音调。

2.1.3.2、延时子程序

按下每个开关按键发声后,松开延时一段时间停止,中间再按别的键发出另一种音调的声音。

2.1.4、模块连接,形成完整的程序

3.元器件功能简介

3.1、8086引脚说明

*8086微处理器采用40条引线双列直插(DIP)封装。

*8086微处理器引线是对外前端总线及专用信号引线。

*8086微处理器引线,在逻辑上可分为3类:

地址总线信号、数据总线信号、控制总线信号。

还有一些专用信号:

电源、地、时钟。

*8086采用引线分时复用技术,一条引线不同时间代表不同信号解决引线不够问题。

p(S2)

(LOCK迹2—(so)deit^—l(S1)DT/R-^—-RQO)HOLD―►_(RQ1)HLDA^―厂READY―►

8086

ADO

ADI5

A16/S3

A19/S6

CPUTEST―►控制RESET―

LMN/MX―►

CLK―►

—BHE/S7

—►ALE(QSO)」

—►WaCqsD-

一iriTR

—mil-

总线信弓中断控制

TVCC

图1.18086cpu引脚图

3.28255与8253结构

1.8255是一个40引脚的双列直插式集成电路芯片.它具有三个8位口,其

中A口和B口是单纯的数据口,供数据I/O使用。

而C口则既可以作数据口,又可以作控制口使用,用于实现A口和B口的控制功能。

2.数据传送中A口所需的控制信号由C口高位部分(PC7-PC4提供,因此把A口和C口高位部分合在一起称之为A组;同样理由把B口和C口低位部分(PC4PC0合在一起称之为B组。

3.8255引脚功能RESET复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。

CS:

片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255

与CPU进行通讯。

RD读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。

WR:

写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写入8255。

D旷D7:

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

PA0-PA7:

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

PBLPB7:

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

PC0〜PC7:

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

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

A1、A0:

端口地址总线,8255中有端口AB、C和一个内部控制字寄存器,共4个端口,由A0、A1输入地址信号来寻址。

Al

e

VR

36

RD

盂T

35

PC7

FC5

O

PCSo

PC4O

IDn

12

13

读/写控制逻

1)0

PAD

£1

PA1

C2

PA2

L3

FA3

D4

PA4

D5

PA5

D赶

PA3

L7

PA7

A0

PEO

A1

PE1

WR

PE2

W

PEG

P別

RESET

PE5

PB6

PF7

图1.28255引脚图

oFAO

3

PAS

FAS

PAY

PB1

F'B3

PBS

PB'7

PCI

PCS

0123PCPCPCPC

PAI

图1.38255内部结构图

ffiHC上半部

端口C下半部

端UB

 

3)8253是24脚双列直插式芯片,+5V电源供电。

每个芯片内部有3

个独立的计数器(计数通道),每个计数器都有自己的时钟输入CLK计数输出OUT和门控信号GATE

数据总线D0~D7为三态输出/输入线。

片选信号CS读信号RD写信号WR他们为输入信号,低电平有效。

地址线A1、A0,接到系统总线A1、A0上。

计数器时钟信号CLK作用是在8253进行定时或计数工作是,每输入1个时钟脉冲信号CLK便使计数值减1。

计数器门控选通信号GATE计数器输出信号OUT作用是计数工作时,每来1个时钟脉冲,计数器减1,当计数器值减为0,就在输出线上输出一OUTB号,以示定时或计数以到。

D7—

1

24

D6—

2

——WH

D5—

—"Rd

D4—

D3—

—A1

D2—

—AO

8253/6254

CLK2

DO

pOUT2

CLK0—

—CATE2

OUTD—

—CLK1

GATE0—

14

—GATE1

GND—

12

12

—OUT1

1.48253

引脚图

4)8253/8254内部有6个模块:

数据总线缓冲器,读/写逻辑,控制命令寄存器,计数器0,计数器1,计数器26

数据总线缓冲器:

3态,双向8位寄存器和D0~D7相连。

读/写逻辑:

由CPU发来的读/写信号和地址信号来选择读出或写入寄存

控制命令寄存器:

接受CPU来控制字。

计数器:

8253有3个结构完全相同的计数器。

其内部由16为初值寄存器、减1计数器和当前计数值锁存器组成。

CS

数据总銭

缓冲器

慎写控制一

逻辑

计数器1

CLK0

计数器0GATEc

r■OUTD

控制字

寄存器

计数器2

—CLK1

*77gate|

一01「

clk2

GATE2~OUT2

 

图1.58253内部结构图

3.374LS373结构及引脚图

■w-rani

7415373的真值裘f幼能表).表中:

T41zJ73Teieft

OutputCo^troi

E处H忖a

D

dutput

L

H

H

L

H

u

L

L

I

X

Qj

H

X

K

z

11农术禹轄平1

L-養芜低电羊I

K-査禾不定电罕C性何电平状歩■可臥!

q黑覆晁崙首Q的靱平

I.——电平;

H——拓电T行

*—不定点;

00建立總恋前Q的电平:

G—输入环与fi03ULEi£R^:

誓阚无阴低电平■关门谨莅图中OF——便能端*按他*

当&十时.74L53丁3输出端】Q—W输入端1DTD相同;

舍G询卜降沿鬧・

L

G

功能

0

0

kiffiQL=Ui|

0

1

保持廉持不变)j

]1

X

刨倆附|

741s373引脚储畑)排列图:

 

'LS-J73

J

F»*

»1IBp«

h&7Q«QAD»VQG

]ll]w|l|[皿111jl3]1T

L

r

Q金]

AI

Off

Loa

Ofp

][

I

r

[

QQ—

■—&g

][

F~,

0DF

0*2

厂o曲

.c

Hr

[*pI11*

■ouwt10间WM

bFnw

I*\

UM

ft|M>

aw

741^373内霸结忡圈da3v+cqh

4.功能说明

1)开关控制:

8255端口A工作在方式0,且为输入方式,端口BC任意。

开关接在

8255端口A的PA0~PA7这样就可以通过8255读取开关量。

如下图:

囹M幵关控制囹

2)扬声器控制:

(1)8253计数器2的输出控制扬声器的发声音调

(2)8253计数器2只能工作在方式3,才能输出一定频率的方波,经滤波后得到近似的正弦波,进而推动扬声器发声(3)扬声器还受控于并行接口(8255A芯片)(4)必须使8255APB(和PB1同时为高电平,扬声器才能发出预先设定频率的声音;关闭则是利用8255APB(和PB1同时为低电平,关闭与门,扬声器关闭。

S1.7扬高器控制囲「

5.原理图设计

采用并口8255A接8个开关K1—K8,利用8255A方式0,端口A输入方式,即

AL=10010000B,可以将开关的量输入到CPU中,利用8个开关做电子琴的8个按键。

驱动控制扬声器利用8253与8255A共同执行(如图5.1)。

--Tfr:

rr-"

LI*・

.JL

-HIXT-

Fi轿

3D!

QJ*

DJB>

Di

M

m■n

Si

w»■

■i

FU

HEW

叫PKr

n

WPS"

皿Ff1Mj

MJ

Kh

FC土K*KT

■■..13車手3盏FFIT丄

图5.1电路连接图

6.流程图

利用汇编语言对接口进行编程控制。

程序模块主要包括8255A、8253的初始化、开关

量的输入、扬声器的开启、关闭及程序的退出。

我采用的是比较跳转的方式,比较简单明

了,容易理解。

程序中的模块关系见程序流程图。

图6.1程序流程图

7.测试

接通电路之后,按下开关键,依次拨动各个开关来控制作为扬声器的8253发声,

发出静音、Si、La、Sol、Fa、Mi、ReDo音调。

表3.1音阶频率表

音阶

静音

Si

La

Sol

Fa

Mi

Re

Do

频率

0

493

440

392

349

329

293

241

计数值

0

2420

2712

3044

3419

3627

4072

4572

由于每个开关的音调发音时间有软件延时控制,所以当开关打开时,就会连续发出音节

标称频率的声音。

整体进行硬件电路图和软件测试,把所需程序进行输入一切运行良好,可以完成

模拟电子琴,通过开关键实现产生不同音节频率的功能

8.心得体会

经过几周的微机原理课程设计,虽然时间不是很长,但对我而言收获却很多,也体会到了电子设计行业工作的辛苦,经过老师细心的讲解和我们的不懈努力,最终我组能够把学到的知识运用到实际中去,这让我对本学科的学习产生了更加浓厚的兴趣,但一切都是值得的。

这次课程设计对我综合运用所学知识的能力的提高有不小的帮助,之前做的

实验都是很简单的编程,跟硬件结合也没有这么复杂,实现的功能都比较简单,可是这次要实现的功能相对来说比较复杂,要求掌握的知识比较综合。

经过一周的实训,汇编语言的一些编程设计等操作可以较为熟练,微机原理课程所涉及到的领域和应用的范围也得到了更多的了解,总的来说,实训的一周

是丰富而有成功的。

刚开始学习汇编语言是相当吃力的,许多内容在以前没有接触过,许多源代码不能理解,实训的头两天就是很简单的试着操作这些内容一点点的积累掌握,回去后不理解的地方赶紧询问其他同学以便在第二天上机时应用好,经过不懈的努力,终于将一个简单的电子琴程序设计完成。

汇编语言是一门较难的计算机内容,开始学习的时候较为困难,但是平时的课堂的学习和这一次的集中的上机实训,使我不但能够较好的了解并掌握了一些汇编语言的知识和技能,相信在以后的社会生活中也可以得到应用。

在最后的答辩前,我对几天来在对几个程序的编排和改进上所遇到的问题又进行了认真的总结,使我对整个程序都有了很深的了解,而且也可以熟练的操作和应用到程序中去,也顺利的通过了答辩。

这是一次成功的实训,也是应值得远记住的一次实训,在这次实训中我充分感受到了集体的力量,在我组组员的共同努力下,我们的电子琴程序从无到有、功能从弱到强,一步步的走向成功,这段经历将成为我生活中一段宝贵的精神财富.

9.参考文献

1.周荷琴吴秀清.微型计算机原理与接口技术.2008.

2.戴梅萼,史嘉权.微型计算机技术与运用.清华大学出版社2003.

3.王爱英.计算机组成与结构.北京.清华大学出版社.1995.

4.沈美明,温冬蝉.IBM-PC汇编语言程序设计.北京.清华大学出版社.2003

 

10.源程序

15

A8255equ0F0hB8255equ0F2hC8255equ0F4hM8255equ0F6hPORT_0equ0E8hPORT_1equ0EAhPORT_2equ0EChPORT_CTRequ0EEh

INPUT:

MOVDX

,M8255

MOVAL

,10010000B

OUTDX

,AL

MOVAL

,30H

MOVDX,PORT_CTR

OUTDX

,AL

MOVDX,A8255

INAL,

DX

CMPAL

,11111110B

JZK0

CMPAL

,11111101B

JZK1

CMPAL

,11111011B

JZK2

CMPAL

,11110111B

JZK3

CMPAL

,11101111B

JZK4

CMPAL

,11011111B

JZK5

CMPAL

,10111111B

JZK6

CMPAL

,01111111B

JZK7

JMPINPUT

K0:

MOVAL

,56H

MOVDX,PORT_CTR

OUTDX,AL

MOVDX,PORT_1

MOVAX,0

JMPSING

K1:

MOVAL,56H

MOVDX,PORT_CTR

OUTDX,AL

MOVDX,PORT_1

MOVAX,2420

JMPSING

K2:

MOVAL,56H

MOVDX,PORT_CTROUTDX,AL

MOVDX,PORT_1

MOVAX,2712

JMPSING

K3:

MOVAL,56H

MOVDX,PORT_CTROUTDX,AL

MOVDX,PORT_1

MOVAX,3044

JMPSING

K4:

MOVAL,56H

MOVDX,PORT_CTROUTDX,AL

MOVDX,PORT_1

MOVAX,3419

JMPSING

K5:

MOVAL,56H

MOVDX,PORT_CTROUTDX,AL

MOVDX,PORT_1

MOVAX,3627

JMPSING

16

K6:

MOVAL,56HMOVDX,PORT_CTROUTDX,AL

MOVDX,PORT_1

MOVAX,4072

JMPSING

K7:

MOVAL,56H

MOVDX,PORT_CTR

OUTDX,AL

MOVDX,PORT_1

MOVAX,4572

JMPSING

SING:

outdx,al

Moval,ah

outdx,al

MOVAL,30H

MOVDX,PORT_CTR

OUTDX,AL

MOVDX,B8255

INAL,DX

ORAL,3

OUTDX,AL

MOVCX,0FFFFH

DELAY:

LOOPDELAY

INAL,DX

ANDAL,0FCH

OUTDX,AL

JMPINPUT

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

当前位置:首页 > 工作范文 > 其它

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

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