欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    微机原理与接口技术电子琴设计报告文档格式.docx

    • 资源ID:7309518       资源大小:231.08KB        全文页数:12页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    微机原理与接口技术电子琴设计报告文档格式.docx

    1、K8 发 do 的音 261Hz二、方案比较和认证通过 8255和 8253来实现电子琴模拟,主要可以分成两部分,分别为输入部分和发音部分。输入部分主要 是由 8255和 8个常开型开关来完成。 常开型开关如右图。 8个常开型开关 K1K8与 8255的 A 口 PA0PA7相接,不触动开关时,为高电平输入,当按下开关时,就接地,为低电平输入。例如当 K1键按下时,从 8255中 A 口输入的数为 11111110B ,十六进制为 0FEH 。每一个开关按下时,都对应一个 ASCII 码,如下 表所示:开 关 K1 K2 K3 K4 K5 K6 K7 K8对应数据 0FEH 0FDH 0FBH

    2、 0F7H 0EFH 0DFH 0BFH 7FH对应频率 静音 493 Hz 440 Hz 392 Hz 349 Hz 329 Hz 293 Hz 261 Hz输入部分的硬件实现比较简单, 所以说主要还是在发音部分。 在设计中驱动扬声器地声的主要有两种方式, 分别是以位触发和定时器控制。下面就这两种不同的方式确定两个不同的设计方案。方案 1:发声采用位触发方式。电路原理图如下所示。程序直接控制 PPI (8255可编程序外围接口芯片的输出控 制寄存器(I/O端口为 61H 的第一位,使该位按所需的频率进行 1和 0的交替变化,从而产生一串脉冲 控制波形,这些脉冲经过放大后驱动扬声器发出声音。可

    3、以利用软件延时来控制所产生的脉冲波形的长度和脉宽,就可以实现产生不同频率和不同音长的声音。 软件实现的程序如下:IN AL, 61HMOV AH, ALAND AL, 0FCH ;关断定时器通道 2的门控SOUND :XOR AL, 2 ;触发 61H 端口第 1位OUT 61H, ALMOV CX, DX ; (DX =控制脉冲的计数值WAIT :LOOP WAIT ;延时循环DEC BX ; (BX =脉冲持续的时间JNZ SOUNDMOV AL, AHOUT 61H, AL ;恢复 61H 端口在本方案中,通过程序的方法来控制 PB1,使其在 1和 0之间按一定的频率变,从而产生一串脉冲

    4、。控制脉冲宽度的计数值的算法如下:计数值 =2801*100/音频如果音频为 f ,则脉冲周期 1/f一个半波的时间为 1/2f秒,而 1/2f秒的延时可简单地通过 LOOP 指令的循 环来取得, 由于 2801次 LOOP 指令循环执行所需时间是 10MS , 所以一秒钟时间约执行 2801*100次 LOOP 指令。控制脉冲宽度的计数值的实现程序如下:MOV AX, 2801MOV BX, 50 ;频率不同该值就不同MUL BXDIV DI ; (DI = fMOV DX, AX ; (DX =1/2f算出了脉冲宽度,再通过高低电平的不断变换,就可实现不同频率的脉冲方波。把此方波经滤波放大

    5、即可 驱动扬声器发声了。方案 2:利用定时器发声。这里是通过硬件即 8253定时器产生声音。CUP 通过对定时器的通道 2进行编程,使其 I/O寄存器接收一个控制声音频率的 16位计数值,端口 61H 的最低位控制通道 2门控的开断,以产生特殊的音响。当定时器接收的计数值为 533H 时,能产生 896Hz 的声音,因此产生其他频率的计数值就可由下式计算:计数值 =533H896 f=1234DCH f在送出频率计数值之前,还要给方式寄存器送一个方式值,该数决定对哪一个通道编程,采用什么模式, 送入通道的计数值是一字节还是两字节,是二进制码还是 BCD 码。其位组合的格式如下:当通道 2用于发

    6、声时,采用的是模式 3,在模式 3下,输出线为 “1” 和为 “0” 的时间各占计数时间的一半,因 而产生一系列间隔均匀的脉冲。产生指定频率声音的程序段如下:MOV AL, 0B6HOUT 43H, AL ; 43H 为 8253的控制字端口MOV DX, 12HMOV AX, 34DCH (DI =频率OUT 42H, AL ; 42H 为 8253的通道 2端口MOV 42H, AL从定时器输出的方波信号,经功率放大和滤波后驱动扬声器。送到扬声器的信号还受到了从并行接口芯片 8255(端口地址为 61H 来的双重控制,端口 61H 的最低位控制通道 2的门控开断,以产生特殊的音频 信号,端

    7、口 61H 的 PB1位和定时器的输出信号同时作为与门的输入, PB0和 PB1位可由程序决定为 0还 是为 1。 显然只有 PB0和 PB1都是 1时, 才能使扬声器发出声音。 控制音长的时间可以简单地通过反复执 行指令来得到。我们知道执行 2801次 LOOP 指令约需要 10MS 的时间。因此用 10MS 的倍数值来控制扬 声器开关的时间间隔,就可控制发声的音长短了。实现程序如下:OR AL, 3开扬声器L :MOV CX, 2801DY :LOOP DYDEC BXJNZ L关扬声器下图是利用定时器发音的电路图: 方案比较:在上述两个方案中,输入部分都是一样的。区别在于以不同的方式来驱

    8、动扬声器发声。经对比可知,两种 方案都各有优缺点。在方案 1中,其优点是电路简单,所用的器件芯片少,主要芯片只有需一片 8255,产 生方波是通过软件来实现的,易于修改和维护。然而它也存在一定的缺点,就是系统不断地通过软件来产 生方波,系统资源被占用,无法再做其它事。与方案 1相比,方案 2增加了一个 8253芯片和一个与门, 虽然电路比方案 1复杂,但通过定时器产生方波,实现起来比较简单,而且也不会出现系统资源被全部占 用的情况。经分析,选择方案 2进行设计。三、系统原理与单元设计总体设计1.用 PC 机的键盘数字键对应电子琴的 8个琴键。2. 8255和 8253配合构成音频发生器。 82

    9、55的 PA0口控制扬声器的开关, 8253控制 扬声器的发声频率。3.音频信号经 LM386放大后,驱动扬声器经过分析对比上述的两种方案可知,选取方案 2是比较合理的。下面就方案 2来分析一下整个系统的工作 原理。 前面已经提到, 整个电路分成输入和发音两大部分。 主要的器件有一个并行接口 8255, 和一个 8253定时器。输入部分的硬件原理图比较简单,如下图所示的为输入电路,其主要是由 8个常开型开关和一个 并行接口 8255组成。由图中可看到, 8个开关一端接地,另一端接到 8255的 A 口输入,并且通过一个电 阻接到 +5V。因此,在开关不按下时,从 8255A 口输入的是高电平,

    10、当开关按下时,输入的则是低电平, 这样通过低电平触发,既方便也对芯片起保护作用。如下表,当不同的开关按下时,从 A 口输入就对应一 个 8位的数据。输入数据 0FEH 0FDH 0FBH 0F7H 0EFH 0DFH 0BFH 7FH开头控制电路通过软件检测输入的数据,然后给 8253送相应频率的计数值。检测的程序如下:IN AL,60H ;从 8255A 口输入一个数据CMP AL,0FEHJZ K1 ; K1 K8分别为不同程序断的标号CMP AL,0FDHJZ K2CMP AL,0FBHJZ K3CMP AL,0F7HJZ K4CMP AL,0EFHJZ K5CMP AL,0DFHJZ

    11、K6CMP AL,0BFHJZ K7CMP AL,7FHJZ K84、对于发音部分, PC 机上的大多数输入 /输出(I/O都是由主板上的 8255(或 8255A 可编程序外围接 口芯片(PPI 管理的。 PPI 包括 3个 8位寄存器,两个用于输入功能,一个用于输出功能。输入寄存器分 配的 I/O端口号为 60H 和 62H ,输出寄存器分配的 I/O端口号为 61H 。由 PPI 输出寄存器中的 0、 1两位 来选择扬声器的驱动方式。如下图。连接到扬声器上的是定时器 2, GATE 与端口 61H 的 PB0相连,当 PB0=1时, GATE2获得高电平,使定 时器 2可以在模式 3(方

    12、波下工作。定时器 2的 OUT2与端口 61H 的 PB1通过一个与门与扬声器的驱 动电路相连。当 PB1=1时,允许 OUT2的输出信号到达扬声器电路。因此,只有 PB0和 PB1同时为 “1” 时,才能驱动扬声器地声。通过以下指令实现:上面的指令用以打开扬声器,如要关闭扬声器时则为:AND AL, 0FCH当从 8255中采集到输入的数据时,需要确定相应的频率,所以在软件编程时要建立一个数据表:TABLE DW 493, 440, 392, 349, 329, 293, 261把相应的频率送到一个寄存器上,通过公式:算出计数值,再把算得的计数值送给 8253,就可产生所要频率的方波。在把计

    13、数值送 8253前,必须先把 8253进行初始化:OUT 43H, AL使其选用通道 2,工作在方式 3下。就整个电路而言, 接好电路后, 通过软件编程不断地采集从 8255口中输入的信号, 而 8个开关都接在 8255的 A 口上, 只要有开关按下, 就会采集到一个数据, 根据这个数据与事先编好的表对应, 得到一个计数值, 把这个计数值送给 8253的通道 2, 8253的通道 2工作的方式 3下,这样就可以产生满足频率要求的发声 方波。这个方波经驱动放大就可以使扬声器发出相应的声音。所以 8255在这里完成两个任务,它不仅从 A 口中采集到数据,而且 B 口的 PB1和 PB0两个位要控制

    14、发 声。 8253的主要任务就是产生所要求发声的不同频率的方波。5、本设计中所采用的方案 2的硬件 I/O接译码连线图如下:在设计过程中,独立编址时,用地址线的低位 A2、 A3、 A4和控制信号 AEN 进行组合产生 I/O接口电路 的片选信号(CS ,用地址线的低位 A0、 A1直接连到 I/O接口芯片实现端口的选择。在此采用的是译码 器译码,电路图如下所示,经过 74LS138译码后, 输出作为 8253的片选信号(CS ,即其端口地址 40H43H。 输出作为 8255的片选信号(CS ,即其端口地址为 60H63H。四、软件思想与流程图软件部分对整个系统来说起着重要的作用,在本电子琴

    15、系统中,软件可以分为三部分,主程序部分, 发音子程序部分和延时子程序部分。主程序的流程图如下:发声程序包括 3个步骤:(1在 8253中的 42端口送一个控制字 0B6H (10110110B ,该控制字对定时器 2进行初始化,使定时 器 2准备接收计数初值。(2在 8253中的 42H 端口 (Timer2装入一个 16位的计数值(533H895/频率 ,以建立将要产生的声音 频率。(3把输出端口 61H 的 PB0、 PB1两位置 1,发出声音。以下是发声子程序的流程图:我们知道 LOOP 指令执行 2801次的时间为 10ms ,所以延时子程序则很简单,只需要反复执行 LOOP 指 令就可实现,并且所得到的延时时间为 10ms 的倍数。附图 1:关键元件的封装74LS00四与门芯片二分频芯片 74LS7474LS138 译码芯片 扬声器驱动芯片 LM386


    注意事项

    本文(微机原理与接口技术电子琴设计报告文档格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开