已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计课程名称: 微机原理与接口技术 设计名称: 模拟电子琴 专业班级: 自动化1403 学号: 2014001604 学生姓名: 指导教师: 2016年 12 月 11 日摘要电子琴发声原理一个音符对应一个频率,将对应一个音符频率的方波通道扬声器上,就可以发出这个音符的声音。讲一段乐曲的音符对应的频率方波依次送到扬声器,就可以演奏出这段乐曲。利用8254的方式3-“方波发生器”,将相应一种频率的计数初值写入计数器,就可以产生对应频率的方波。计数初值的计算如下:计数初值=输入时钟输出频率 例如输入时钟采用1MHZ,要得到800HZ的频率,计数初值即1000000/800。音符与表的对照关系如上表所示。对于每一个音符的演奏时间,可以通过软件 延时来处理。首先确定单位延时子程序(根据CPU的频率不同而有所变化)。然后确定每个音符演奏需要几个单位延时,将此值送入寄存器,再调用延时子程序即可。关键词:电子琴. 8254. 8255目录一 设计的任务和要求4二 设计小组成员及分工4三 硬件电路设计43.1主要芯片介绍 5 3.1.1 8254芯片 5 3.1.2 8255芯片63.2硬件连接图及原理 8四 软件编程 94.1软件流程图 94.2汇编语言源程序 9五 程序运行的结果 11六 设计过程中出现的问题及解决方法 12七 设计总结 12八 参考文献 13题目:模拟电子琴设计一课程设计的任务和要求课程课程设计是自动化专业学生学习完微机原理及接口技术课程后,进行的一次以汇编语言为主,硬件设计为辅的综合训练。本课程设计的目的在于加深对微机原理基本知识的理解,掌握汇编语言程序设计的基本方法;掌握运用微机原理开发系统的基本方法。设计一个模拟电子琴,主机键盘18为电子琴的琴键,当按下琴键时,通过8254A控制系统中喇叭发出相应音阶的声音。(1)用扩展设备上的接口芯片及发音设备,模拟电子琴;(2)发八度音,即:1、2、3、4、5、6、7、 ,各音阶的频率值见下表。音符1234567频率262294330350393441495525音符频率表二设计小组成员及分工小组成员:杨晨雄,李哲,任兴京分工:在进行课程设计时,我主要通过任务要求和代码分析实际电路连接,对电路进行正确的连接,以及在连接过程中出现的一些问题,理解和改正。李哲主要通过实验的要求,分析所需要的代码,然后进行代码的撰写,任兴京主要是进行代码的调试和改正,然后一起分析差错,进行改正,直到头调试成功。三硬件电路设计3.1 8255/8245的硬件:电子琴的设计实际上就是要设计一个程序,能够通过该程序控制PC机内扬声器的发声规律,按下相应的按键后,扬声器能发出指定频率的声音。PC机内的扬声器是通过并行接口芯片8255和定时芯片8254来控制发音的。3.1.18254原理8254是Intel公司生产的课编程间隔定时器。是8253的改进型,比8253具有更优良的性能。8254具有一下基本功能:(1) 有3个独立的16位计数器;(2) 每个计数器可按二进制或十进制(BCD)计数;(3) 每个计数器可编程工作于6种不同工作方式;(4) 8254每个计数器允许的最高技数频率为10MHZ(8253为2MHZ);(5) 8254有读回命令(8253没有),除了可以读出当前计数单元的内容外,还 可以读出状态寄存器的内容;(6) 计数脉冲可以是有规律的时钟信号,也可以是随机信号。3.1.2 8255的工作原理:并行接口是以数据的字节为单位与I/O设备或被控制对象之间的传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位,16位或32位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A,B,C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0-基本输入输出方式,方式1-选通输入、输出方式,方式2-双向选通工作方式。8255的内部结构及引脚如图3.2所示,8255工作方式控制字和C口按位置位/复位控制字如图3.3所示3.2实验接线图 图5.3扬声器工作原理图示图5.4实际接线图四软件编程4.1 软件流程图AX设置初值CX设置初值判断CX=0?AX减1CX减1判断AX=0?结束开始YYNN4.2程序代码:DATASEGMENT ;定义数据段FREQDW1905,2020,2268,2545,2857,3030,3401,3817 ;计数初值IOPORTEQU0D880H-280H ;基地址 IO8255CEQUIOPORT+283H ;5255C口地址IO8255AEQUIOPORT+280H ;5255A 口地址IO8255BEQUIOPORT+281H ;5255B 口地址IO8254T0EQUIOPORT+288H ;8254计数器0地址IO8254CEQUIOPORT+28BH ;8254控制口DATAENDS ;数据段结束CODESEGMENT ;代码段ASSUMECS:CODE,DS:DATA ;分配寄存器INITPROC ;初始化子程序MOVAX,DATA MOVDS,AX ;DATA的段基质给DSMOVAL,00110110B 计数器0控制字MOVDX,IO8254C OUTDX,AL ;写入控制端口MOVAL,10010000B ;8255端口A方式0输入端口B方式0输出MOVDX,IO8255C OUTDX,AL ;写入控制端口RET;返回程序INITENDPGETFREQPROC ;按键输入子程序MOVDX,IO8255A INAL,DX ;A口工作状态的读取MOVSI,0PUSHCXMOVCX,8D ;按键个数为8CLCCOUNT:ROLAL,1 ;判断按键JCRETURN ;有进位则跳转到RETURNINCSI INCSI LOOPCOUNT ; CX不等于0时循环,否则不循环 RETURN:POPCX RETGETFREQENDPHONKPROC;扩音器的控制JNCHONKOFF ;没有进位则跳转到HONKOFFMOVAX,SI MOVDX,IO8254T0 ;8254计数器0地址给DXOUTDX,AL ;写入低位控制字MOVAL,AH OUTDX,AL ;写入高位控制字MOVAL,11B MOVDX,IO8255B ;8255B 端口地址给DXOUTDX,AL ;写入控制端口CALLDELAY ;延时HONKOFF:MOVAL,00B MOVDX,IO8255B ;8255端口B地址给DXOUTDX,AL ;写入控制端口RET HONKENDP ;结束子程序DELAYPROC ;延时子程序PUSHCX MOVCX,2500LOP1:PUSHCX LOP2:LOOPLOP2 POPCX LOOPLOP1POPCXRETDELAYENDPSTART:CALLINIT ;延时 CALLGETFREQ ;调用HONKCALLHONK ;跳转到STARTJMPSTART ;跳转到STARTMOVAH,4CH INT21H ;中断返回DOSCODEENDS ;代码段结束ENDSTART五。程序运行结果 当按下不同的开关时,喇叭会发出不同的声音,对应不同的音符1,2,3,4,5,6,7,8,由于结果是产生不同的音符,所以无法截屏,表示结果 六设计过程中出现的问题及解决方法1)我们发现,运行程序后,当我们输改变开关键,扬声器发出对应频率的音符,但是扬声器将一直保持该频率的的音符继续发音,直至有其他的键按下。故我们认为问题的关键是在硬件设备方面。我们设想可在扬声器和与门之间加一个滤波装置便可以解决该问题。 2)第一次我们进行软件测试时,我们发现虽然我们的程序可以使扬声器发出对应频率的音符,但是按键及其不敏感。经过反复的程序检查,我们发现我们的问题出现在某段子程序中,进行按键判断后运行转移的地方有误,经过修改,问题得以解决,按键变得更加灵敏。 3)解决以上问题,我们的电子琴的基本设计要求得以实现。 4)我们对延时子程序的延迟时间进行反复的修改测试,我们意识到由于每个功能都需要一段延时后才能实现下个功能,因此这个问题不能完全消除,只能调整延迟时间来尽量避免这个问题的发生。该设计图难点在于按键的分布及原理的理解,以及按键扫描。按键扫描的分析如下:当键盘上有输入信号时,其所对应的输入会作为8255芯片的C口的输入,经其处理后A口输出,再送至8254芯片经过相关的处理后再送至发声单元,发出对应的音符,程序会逐行扫描当相应的按键有效时就会有相应的发声动作,无效时就会跳到下一行继续扫描,并且程序会循。环执行下去。七设计总结 该实验难点在于工作原理的理解,以及按键扫描。按键扫描的分析如下:当键盘上有输入信号时,其所对应的输入会作为8255芯片的C口的输入,经其处理后A口输出,再送至8254芯片经过相关的处理后再送至发声单元,发出对应的音符,程序会逐行扫描当相应的按键有效时就会有相应的发声动作,无效时就会跳到下一行继续扫描,并且程序会循。环执行下去。通过这次课程设计,加强了我们动手、思考和解决问题的能力。在整个设计过程中,我们通过这个方案包括设计了电子琴,和芯片上的选择。这个方案总共使用了8254,8255各两个。在设计过程中,经常会遇到,就是各种问题,心里想老着这样的接法可以行得通,但实际接上电路,总是实现不了,因此耗费在这上面的时间用去很多。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GB-T 39938-2021室内电取暖 地暖 性能特征 定义、测试方法、尺寸和公式符号》专题研究报告
- 2025年中级经济师(运输经济)《专业知识和实务》测验卷及答案
- 礼仪通识基础教程讲义
- 变压器铁芯叠装工操作测试考核试卷含答案
- 氯乙烯装置操作工岗前可持续发展考核试卷含答案
- 公司白银熔池熔炼工岗位职业健康及安全技术规程
- 水工混凝土维修工操作技能考核试卷含答案
- 环丁砜装置操作工应急处置技术规程
- 《GBT 35150.2-2017 新型干法水泥生产成套装备技术要求 第 2 部分:烧成系统》专题研究报告
- 农产品质量安全检测员岗前基础应用考核试卷含答案
- 高电压技术课件讲解
- A330培训-自动飞行精编版1课件
- 体检报告单入职体检模板
- 九年级生命生态安全教案(完整版)
- 考夫曼沙漠别墅
- 钻井工程班报表
- 喜看稻菽千重浪市公开课金奖市赛课一等奖课件
- 小学语文课程标准与教材研究全书ppt完整版课件最全电子教案正本书教学教程
- T-CAMET 04017.1-2019 城市轨道交通 全自动运行系统规范 第1部分:需求
- T-CAMET 04017.3-2019 城市轨道交通 全自动运行系统规范 第3部分:接口
- 中国围棋竞赛规则(2002)
评论
0/150
提交评论