ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:378.86KB ,
资源ID:23441603      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23441603.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(电子琴课程设计.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

电子琴课程设计.docx

1、电子琴课程设计2 设计思想.13.元器件功能简介.23.1 8086引脚说明3.2 8255与8253结构4.功能说明.74.1开关控制4.2扬声器控制5.原理图设计.86.流程图.97.测试.108.心得体会.119.参考文献.1110.源程序.12 11任务及要求设计一个电子琴。以8086作为处理器,以8253控制扬声器,并以8255接8个开关K1K8作为电子琴的按键输入,根据按键K2K8改变脉冲频率和脉冲持续时间从而使扬声器发出7种不同的音调,并且按下按键发声,松开延时一段时间停止停止,中间再按别的开关则发另一种音调的声音,从而实现了一个模拟电子琴。该电子琴能实现基本的音调发音,报告的最

2、后对整个设计过程进行了总结.2设计思想在本次课程设计中,根据复杂程序设计思想模块化程序设计,分析和确定程序总体设计目标:电子琴基本功能及部分扩展功能后,将总体目标划分为若干模块(子程序,具体可见下)。21、程序设计的思路按以下顺序进行:211、 分析与确定程序总体设计目标。212、 将总体目标划分为若干模块。213、定义每个模块的具体任务,明确它与其他模块间的通信方式编写源程序,进行调试,包括:2131、简单电子琴主程序按下每个开关键可以发出不同的音调。2132、延时子程序按下每个开关按键发声后,松开延时一段时间停止,中间再按别的键发出另一种音调的声音。214、模块连接,形成完整的程序3.元器

3、件功能简介 3.1、8086引脚说明8086微处理器采用40条引线双列直插(DIP)封装。 8086微处理器引线是对外前端总线及专用信号引线。 2 8086微处理器引线,在逻辑上可分为3类:地址总线信号、数据总线信号、控制总线信号。还有一些专用信号:电源、地、时钟。 8086采用引线分时复用技术,一条引线不同时间代表不同信号,解决引线不够问题。图1.1 8086cpu引脚图3.2 8255与8253结构1. 8255是一个40引脚的双列直插式集成电路芯片.它具有三个8位口,其中A口和B口是单纯的数据口,供数据I/O使用。而C口则既可以作数据口,又可以作控制口使用,用于实现A口和B口的控制功能。

4、2. 数据传送中A口所需的控制信号由C口高位部分(PC7PC4)提供,因此把A口和C口高位部分合在一起称之为A组;同样理由把B口和C口低位部分(PC3PC0)合在一起称之为B组。38255引脚功能 RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。 3CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。 RD:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,允许CPU将数

5、据或控制字写入8255。 D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。 PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 PB0PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状

6、态信号输入端口。 A1、A0:端口地址总线,8255中有端口A、B、C和一个内部控制字寄存器,共4个端口,由A0、A1输入地址信号来寻址。 4图1.2 8255引脚图图1.3 8255内部结构图 53) 8253是24脚双列直插式芯片,+5V电源供电。每个芯片内部有3个独立的计数器(计数通道),每个计数器都有自己的时钟输入CLK,计数输出OUT和门控信号GATE。数据总线D0D7:为三态输出/输入线。片选信号CS,读信号RD,写信号WR,他们为输入信号,低电平有效。地址线A1、A0,接到系统总线A1、A0上。计数器时钟信号CLK,作用是在8253进行定时或计数工作是,每输入1个时钟脉冲信号CL

7、K,便使计数值减1。计数器门控选通信号GATE,计数器输出信号OUT,作用是计数工作时,每来1个时钟脉冲,计数器减1,当计数器值减为0,就在输出线上输出一OUT信号,以示定时或计数以到。图1.4 8253引脚图4)8253/8254内部有6个模块:数据总线缓冲器,读/写逻辑,控制命令寄存器,计数器0,计数器1,计数器2 6 数据总线缓冲器:3态,双向8位寄存器和D0D7相连。读/写逻辑:由CPU发来的读/写信号和地址信号来选择读出或写入寄存器。 控制命令寄存器:接受CPU来控制字。计数器:8253有3个结构完全相同的计数器。其内部由16为初值寄存器、减1计数器和当前计数值锁存器组成。图1.5

8、8253内部结构图 73.3 74LS373结构及引脚图8 4.功能说明1)开关控制:8255端口A工作在方式0,且为输入方式,端口B、C任意。开关接在8255端口A的PA0PA7,这样就可以通过8255读取开关量。如下图:9 2)扬声器控制:(1)8253计数器2的输出控制扬声器的发声音调(2)8253计数器2只能工作在方式3,才能输出一定频率的方波,经滤波后得到近似的正弦波,进而推动扬声器发声(3)扬声器还受控于并行接口(8255A芯片)(4)必须使8255APB0和PB1同时为高电平,扬声器才能发出预先设定频率的声音;关闭则是利用8255APB0和PB1同时为低电平,关闭与门,扬声器关闭

9、。105.原理图设计采用并口8255A接8个开关K1K8,利用8255A方式0,端口A输入方式,即AL10010000B,可以将开关的量输入到CPU中,利用8个开关做电子琴的8个按键。驱动控制扬声器利用8253与8255A共同执行(如图5.1)。 图5.1 电路连接图 116.流程图利用汇编语言对接口进行编程控制。程序模块主要包括8255A、8253的初始化、开关量的输入、扬声器的开启、关闭及程序的退出。我采用的是比较跳转的方式, 比较简单明了,容易理解。程序中的模块关系见程序流程图。图6.1 程序流程图 127.测试 接通电路之后,按下开关键,依次拨动各个开关来控制作为扬声器的8253发声,

10、发出静音、Si、La、Sol、 Fa、Mi、Re、Do音调。表3.1 音阶频率表音阶静音SiLaSolFaMiReDo频率0493440392349329293241计数值02420271230443419362740724572由于每个开关的音调发音时间有软件延时控制,所以当开关打开时,就会连续发出音节标称频率的声音。 整体进行硬件电路图和软件测试, 把所需程序进行输入一切运行良好,可以完成模拟电子琴,通过开关键实现产生不同音节频率的功能8.心得体会 经过几周的微机原理课程设计,虽然时间不是很长,但对我而言收获却很多,也体会到了电子设计行业工作的辛苦,经过老师细心的讲解和我们的不懈努力,最终

11、我组能够把学到的知识运用到实际中去,这让我对本学科的学习产生了更加浓厚的兴趣,但一切都是值得的。 这次课程设计对我综合运用所学知识的能力的提高有不小的帮助,之前做的实验都是很简单的编程,跟硬件结合也没有这么复杂,实现的功能都比较简单,可是这次要实现的功能相对来说比较复杂,要求掌握的知识比较综合。 经过一周的实训,汇编语言的一些编程设计等操作可以较为熟练,微机原理课程所涉及到的领域和应用的范围也得到了更多的了解,总的来说,实训的一周是丰富而有成功的。刚开始学习汇编语言是相当吃力的,许多内容在以前没有接触过,许多源代码不能理解,实训的头两天就是很简单的试着操作这些内容一点点的积累掌握,回去后不理解

12、的地方赶紧询问其他同学以便在第二天上机时应用好,经过不懈的努力,终于将一个简单的电子琴程序设计完成。 汇编语言是一门较难的计算机内容,开始学习的时候较为困难,但是平时的课堂的学习和这一次的集中的上机实训,使我不但能够较好的了解并掌握了一些汇编语言的知识和技能,相信在以后的社会生活中也可以得到应用。 在最后的答辩前,我对几天来在对几个程序的编排和改进上所遇到的问题又进行了认真的总结,使我对整个程序都有了很深的了解,而且也可以熟练的操作和应用到程序中去,也顺利的通过了答辩。 13这是一次成功的实训,也是应值得远记住的一次实训,在这次实训中我充分感受到了集体的力量,在我组组员的共同努力下,我们的电子

13、琴程序从无到有、功能从弱到强,一步步的走向成功,这段经历将成为我生活中一段宝贵的精神财富.9.参考文献 1.周荷琴 吴秀清.微型计算机原理与接口技术.2008. 2.戴梅萼,史嘉权.微型计算机技术与运用.清华大学出版社2003. 3.王爱英.计算机组成与结构.北京. 清华大学出版社.1995. 4. 沈美明,温冬蝉.IBM-PC汇编语言程序设计.北京.清华大学出版社.2003 14 10.源程序A8255 equ 0F0h B8255 equ 0F2h C8255 equ 0F4h M8255 equ 0F6h PORT_0 equ 0E8h PORT_1 equ 0EAh PORT_2 eq

14、u 0ECh PORT_CTR equ 0EEh INPUT: MOV DX, M8255 MOV AL, 10010000B OUT DX, AL MOV AL, 30H MOV DX,PORT_CTR OUT DX, AL MOV DX,A8255 IN AL,DX CMP AL,11111110B JZ K0 CMP AL,11111101B JZ K1 CMP AL,11111011B JZ K2 CMP AL,11110111B JZ K3 CMP AL,11101111B JZ K4 CMP AL,11011111B JZ K5 CMP AL,10111111B JZ K6 CMP

15、 AL,01111111B JZ K7 JMP INPUT K0:MOV AL,56H MOV DX,PORT_CTR 15 OUT DX ,AL MOV DX,PORT_1 MOV AX, 0 JMP SING K1:MOV AL,56H MOV DX,PORT_CTR OUT DX, AL MOV DX, PORT_1 MOV AX,2420 JMP SING K2:MOV AL,56H MOV DX,PORT_CTR OUT DX,AL MOV DX,PORT_1 MOV AX,2712 JMP SING K3:MOV AL,56H MOV DX,PORT_CTR OUT DX,AL M

16、OV DX,PORT_1 MOV AX,3044 JMP SING K4:MOV AL,56H MOV DX,PORT_CTR OUT DX,AL MOV DX,PORT_1 MOV AX,3419 JMP SING K5:MOV AL,56H MOV DX,PORT_CTR OUT DX,AL MOV DX,PORT_1 MOV AX,3627 JMP SING K6:MOV AL,56H MOV DX,PORT_CTR OUT DX,AL MOV DX,PORT_1 16 MOV AX,4072 JMP SING K7:MOV AL,56H MOV DX,PORT_CTR OUT DX,AL MOV DX,PORT_1 MOV AX,4572 JMP SING SING:out dx,al Mov al,ah out dx,al MOV AL,30H MOV DX,PORT_CTR OUT DX,AL MOV DX,B8255 IN AL,DX OR AL,3 OUT DX,AL MOV CX,0FFFFH DELAY: LOOP DELAY IN AL,DXAND AL,0FCHOUT DX,ALJMP INPUT 17

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

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