电子琴微机原理基于8086课程设计报告书.doc

上传人:小飞机 文档编号:4267558 上传时间:2023-04-12 格式:DOC 页数:27 大小:475KB
返回 下载 相关 举报
电子琴微机原理基于8086课程设计报告书.doc_第1页
第1页 / 共27页
电子琴微机原理基于8086课程设计报告书.doc_第2页
第2页 / 共27页
电子琴微机原理基于8086课程设计报告书.doc_第3页
第3页 / 共27页
电子琴微机原理基于8086课程设计报告书.doc_第4页
第4页 / 共27页
电子琴微机原理基于8086课程设计报告书.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《电子琴微机原理基于8086课程设计报告书.doc》由会员分享,可在线阅读,更多相关《电子琴微机原理基于8086课程设计报告书.doc(27页珍藏版)》请在三一办公上搜索。

1、湖南科技大学潇湘学院信息与电气工程系课程设计报告题 目: 基于8086的电子琴设计 专 业: 通信工程 班 级: 通信一班 姓 名: 罗婷 学 号: 1354040118 指导老师:欧青立 陈君 宋芳 管志利 李目 2015年 12 月 28 日信息与电气工程系课程设计任务书20152016 学年第 1 学期专业: 通信工程 学号: 1354040118 姓名: 罗婷 课程设计名称: 微机原理与接口技术 设计题目: 基于8056的电子琴设计 完成期限:自 2015 年 12 月 14 日至 2015 年 12 月 26 日共 2 周设计内容:通过 8255 和 8253 来实现电子琴模拟,主要

2、可以分成两部分,分别为输入部分和发音部分。输入部分:主要是由 8255 和 8 个常开型开关来完成。 发音部分:CUP 通过对定时器 8253 的通道 2 进行编程,使其 I/O 寄存器接收一 个控制声音频率的 16 位计数值,端口 61H 的最低位控制通道 2 门控的开断,以 产生特殊的音响。本文用到的是 8253 的方式 3方波发生器。基本要求:1. 以8255接八个开关K1K8,做电子琴按键输入。2. 以8253控制扬声器,拨动不同的开关,发出相应的音阶。要求: 开 关K1K2K3K4K5K6K7K8对应频率静音silasofamirido对应数据0FEH0FDH0FBH0F7H0EFH

3、0DFH0BFH7FH指导教师(签字): 批准日期: 年 月 日摘 要 定时器/ 计数器8253 可以产生不同频率的信号, 经过三极管放大驱动扬声器发出不同的音阶。硬件上以8086 作为核心处理单元, 将8253 的输出端连接音频模块。软件上检测按键是否有键按下, 判断按键并驱动对应发音子程序。通用MIDI音源模块制作制作出的电子琴,结构简单,可靠性高,并且价格低廉,具有实用的价值。这种电子琴能够支持单音和复音弹奏,如果与高品质的音源芯片连接,音质更可与高档电子琴相媲美。手机中通用的音乐芯片构成音源模块,效果不错,价格更低廉,如韩国产的QS6400 等,这些芯片的驱动要复杂一些,需要对芯片进行

4、初始化设置。此外还有音乐盒、附有生日歌的生日卡片等等。所以利用微机制作的简易电子琴在我们的日常生活中随处可见。关键词:Altium Designer;masm.5.0 ;8086;8255;8253定时器;目 录1. 设计目的52. 元件与仪器63. 设计内容64. 电路工作原理65.1 控制模块工作原理75.2.0 8255A芯片:85.2.1 8255A的内部结构85.2.2 8255的外部引脚85.2.3 8255的方式控制字96. 发声模块工作原理106.1.1 8253芯片106.1.2 8253的6种工作方式:117.整体电路图138.主要程序与编译软件149. 软件程序:1510

5、. 心得体会191.设计目的检验和提高我在原理与接口综合应用方面分析问题与解决问题的能力,同时也给我提供更多、更好的训练机会。根据设计要求,尽可能完成设计要求的功能,选择最合适的器件,构成最有效的硬件电路来完成。2. 元件与仪器1计时器82532并行控制器8255A3实验台4. PC机3.设计内容根据扬声器发声原理可知:不同频率的方波通过扬声器可发出不同的声音。由此构想运用8253通道二工作在方式3的状态下控制其2#计数器对应寄存器中的数值,然后将输出端口OUT2产生的方波通过扬声器转换成为声音。为了实现弹奏按键来控制扬声器,可以通过用开关改变8253(工作在方式3的状态下)2#计数器对应寄存

6、器中的数值,8253输出端口OUT2 通过74LS08后与扬声器相连接。最后要实现的就是将开关对应的数字信号存入寄存器中采用8255A并行接口特点,使端口A工作在方式PB1并作为输出口,端口B工作在方式0,并作为输入口。将开关与8255A的输入端口A相连接。4. 电路工作原理整个电路采用模块化来进行设计,分为控制模块和发声模块。主要的器件有一个并行接口8255,和一个8253定时器。输入部分的硬件原理图比较简单,控制模块其主要是由8个常开型开关和一个并行接口8255组成。8个开关一端接地,另一端接到8255的A口输入,并且通过一个电阻接到+5V。因此,在开关不按下时,从8255A口输入的是高电

7、平,当开关按下时,输入的则是低电平,这样通过低电平触发,既方便也对芯片起保护作用。通过软件检测输入的数据,然后给8253送相应频率的计数值。发音模块连接到扬声器上的是8253定时器2,GATE2与端口61H的PB0相连,当PB0=1时,GATE2获得高电平,使定时器2可以在模式3(方波)下工作。定时器2的OUT2与端口61H的PB1通过一个与门与扬声器的驱动电路相连。当PB1=1时,允许OUT2的输出信号到达扬声器电路。因此,只有PB0和PB1同时为“1”时,才能驱动扬声器鸣叫。5.1 控制模块工作原理控制部分主要是由8255和8个常开型开关来完成。常开型开关如右图。8个常开型开关K1K8与8

8、255的A口PA0PA7相接,不触动开关时,为高电平输入,当按下开关时,就接地,为低电平输入。例如当K1键按下时,从8255中A口输入的数为11111110B,十六进制为0FEH。每一个开关按下时,都对应一个ASCII码,由于PC计算机的时钟晶振为1.1931816MHz,根据频率的公式:f=1/T 则频率周期为T=1/f 定时器的计数器为16位计数器,则最大的计数值为65536,那么其定时时间为:t=65536*T=65536/f=0.0549254(秒) 即:PC定时器每秒可中断18.2065次。开 关K1K2K3K4K5K6K7K8对应数据0FEH0FDH0FBH0F7H0EFH0DFH

9、0BFH7FH对应频率静音493 Hz440 Hz392 Hz349 Hz329 Hz293 Hz261 Hz 5.2 8255A芯片: 8255A是为Intel公司的微处理器配套的通用可编程并行接口芯片,其基本功能如下:8255A接口芯片有3个8位并行输入/输出端口,可利用编程方法设置3个端口是作为输入端口还是作为输出端口;8255A能适应CPU与I/O接口之间的多种数据传送方式的要求。如无条件传送,查询方式传送,中断方式传送 。与此相应,8255A设置了方式0、方式1以及方式2。5.2.1 8255A的内部结构8255A的C口比较特殊,除作数据口外,在工作方式1和2下,它的部分信号线被分配

10、作专用的联络应答信号。8255A的内部结构机外部引脚,它包括四个部分:数据总线缓冲器,读写控制逻辑,A组和B组控制电路。 1. 数据总线缓冲器 2. 读写控制逻辑 3. A组和B组控制A和端口C的高4位(PC7PC4)构成A组,由A组控制部件来对它进行控制;端口B和端口C的低4位(PC3PC0)构成B组,由B组控制部件对它进行控制。5.2.2 8255的外部引脚 8255的外部引脚 1. 与CPU相连的引脚 D7D0:数据线,双向、三态。 :读信号,输入、低电平有效。 :写信号,输入、低电平有效信号。 :片选信号,输入、低电平有效。 2. 8255A的数据线、 片选信号线、 地址线 、读写控制

11、线等分别与系统总线相连,其中A、 B、 C三个端口一排针形式引出。表1 8255A端口地址表信号线 寄存口 编址 IY03 A口60H B口 61H C口 62H控制寄存器 63H5.2.3 8255的方式控制字8255A的工作方式控制字格式和各位的含义。A组有三种工作方式,而B只有两种工作方式。 方式0基本的输入/输出方式 方式1选通式输入/输出 方式2双向选通输入/输出方式6. 发声模块工作原理要使扬声器发出不同的音阶, 就得输入不同频率的信号。通过给定时/ 计数器 8253 送入不同的初值, 可以从输出端得到不同频率的波形,在74LS08的作用下 经过放大器三极管8550的放大作用, 便

12、可驱动扬声器发出不同的音阶。音阶声音的持续时间可以通过软件延时程序实现。17 某一按键被系统检测到, 系统驱动PC对应子程序使扬声器输出对应的音阶。6.1.1 8253芯片8253内设三个计数器都独立工作,用-65536之间的一个数去输入频率,可以实现每个计数器的独立编程。每个计数器占有一个独立的端口地址。可以通过A0、A1、和CS来寻址这些端口如下图所示:6.1.2 8253的6种工作方式: 方式0-计数结束产生中断 方式1-单稳负脉冲信号发生器 方式2-分频器 方式3-方波信号发生器 方式4-软件触发的选通信号发生器 方式5-硬件触发的选通信号发生器本课题采用通道二方式3,当通道2用于发声

13、时,采用的是模式3,在模式3下,输出线为“1”和为“0”的时间各占计数时间的一半,因而产生一系列间隔均匀的脉冲。 从定时器输出的方波信号,三极管驱动扬声器。送到扬声器的信号还受到了从并行接口芯片8255(端口地址为61H)来的双重控制,端口61H的最低位控制通道2的门控开断,以产生特殊的音频信号,端口61H的PB1位和定时器的输出信号同时作为与门的输入,PB0和PB1位可由程序决定为0还是为1。显然只有PB0和PB1都是1时,才能使扬声器发出声音。控制音长的时间可以简单地通过反复执行指令来得到。我们知道执行2801次LOOP指令约需要10MS的时间。因此用10MS的倍数值来控制扬声器开关的时间

14、间隔,就可控制发声的音长了。打开X86 PC扬声器,GATE2必须设置为高电平,以便计数器2提供CLK信号。该端口61H的PB0来完成,由下图还可以看到计数器2的OUT2和端口61H的PB1进行与操作,然后输入到PNP三极管8550进行放大作用再到扬声器中进行播放。为此,为了将OUT2传送到扬声器,端口61H的PB1也必须为高电平。IN AL, 61H ;获得端口B的当前设置MOV AH, AL ;保存OR AL, 00000011B ;使PB0=1,PB1=1MON AL, AH ;获得端口B的初始设置OUT 61H, AL ;关闭扬声器7. 整体电路图8.主要程序与编译软件8.1.0编译环

15、境Masmforwindows集成实验环境是从事一线教学的大学教师针对汇编语言初学者的特点开发的一个简单易用的汇编语言学习与实验软件,现在已全面支持最新操作系统VISTA,支持DOS的16/32位汇编程序和Windows下的32汇编程序(并提供调试通过的30个WINDOWS汇编程序实例源代码),它具有错误信息自动定位、关键字实时帮助并且在帮助中动画演示汇编指令的执行过程、语法着色、无限次撤消与恢复、WORD式的查找、替换、定位、支持中文、长文件名等功能。本课程设计采用Masmforwindows集成实验环境极大方便了程序的编辑与调试。9. 软件程序:DATA SEGMENT TABLE DW

16、493 ;K2发si的音493Hz DW 440 ;K3发la的音440Hz DW 392 ;K4发sol的音392Hz DW 349 ;K5发fa的音349Hz DW 329 ;K6发mi的音329Hz DW 293 ;K7发re的音293Hz DW 261 ;K8发do的音261HzDATA ENDS;定义堆栈段STACK SEGMENT PARA STACK STACK STA DB 48 DUP(?) TOP EQU LENGTH STASTACK ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATASTART:

17、MOV AX,DATA MOV DS,AX ;初始化DS MOV AX,STACK MOV SS,AX ;初始化SS MOV AX,TOP MOV SP,AX MOV AL,90H ;初始化8255 OUT 63H,AL;从8255A口输入一个数据 K0: IN AL,60H ;以下为检测哪个键按下 CMP AL,0FEH JZ K1 CMP AL,0FDH JZ K2 CMP AL,0FBH JZ K3 CMP AL,0F7H JZ K4 CMP AL,0EFH JZ K5 CMP AL,0DFH JZ K6 CMP AL,0BFH JZ K7 CMP AL,7FH JZ K8 JMP EX

18、IT ;如没有键按下,或不止一个键按下,则跳到EXIT K1: JMP K0 ;如果为K1按下,则返回继续循环,为静音 K2: MOV BX,TABLE ;如为其它键则把相应的频率送给BX JMP SOUNDF K3: MOV BX,TABLE+1 JMP SOUNDF K4: MOV BX,TABLE+2 JMP SOUNDF K5: MOV BX,TABLE+3 JMP SOUNDF K6: MOV BX,TABLE+4 JMP SOUNDF K7: MOV BX,TABLE+5 JMP SOUNDF K8: MOV BX,TABLE+6 SOUNDF: MOV DX,12H MOV AX

19、,348CH DIV BX CALL SOUND ;调用发音子程序 CALL DELAY ;调用延时程序 EXIT: MOV AH,06H ;有无键盘动作 MOV DL,0FFH INT 21H JZ K0 ;如果没有,则跳到KO循环 MOV AH,4CH ;如果有,则结束返回 INT 21H ;以下是发音子程序 SOUND PROC NEAR PUSH AX MOV AL,10110110B ;初始化8253 OUT 43H,AL POP AX OUT 42H,AL ;送计数值 MOV AL,AH OUT 42H,AL IN AL,Y2 ;发音设置,打开扬声器 OR AL,03H OUT Y

20、2,AL RETSOUNDENDP;以下是延时子程序DELAY PROC NEAR PUSH CX PUSH AX MOV AX,0FFFHX11: MOV CX,2801X12: LOOP X12 DEC AX JNZ X11 POP AX POP CX RETDELAY ENDPCODE ENDSEND START10. 心得体会在为期两周的课程设计中我学到了很多。其中知道了一个课题需要从硬件开始设计在进行软件的设计。程序编好后,编译,连接,运行,即可实现电子琴效果。可以在计算机键盘上弹奏出美妙动听的音乐,这样学习兴趣和热情自然就高。通过该实验可以对所学知识有更进一步的理解,对知识的应用有

21、更进一步的体会,从而可以站在一个更高的层面上认识所学的知识。比如此例实际上就是从定时、计数问题中派生出来的,把计和定时联系起来,就会引出频率的概念,由频率又可以引出声音。如果不仅考虑音调的高低,还考虑发声所占时间的长短,就会产生音乐。这样综上所述,可以看到,在接口课程的实际教学中,结合实例进行讲解比纯理论的“天马行空”更能实实在在地将理论知识落到实处,使我更加明晰知识的来龙去脉以及与工程实践相结合的情况。知道了知识的用处再去进行深刻的钻研,既有任务驱动的实效性又具切身体会的真实性,使我不再把接口课程看作是枯燥空洞的无味课,而是与实际联系密切,学有所用的趣味课。本案例虽然主要针对 8253芯片,

22、但这里面所蕴涵的思想和方法同样也适用于其他接口知识的讲解。同时在这两周的实践中我要感谢我的指导老师,在设计的过程中我遇到了很多这样那样的问题在老师的指点下我很快的解决了,同时让哦受益匪浅。其次我也要感谢我的同学在课程设计期间我知道交流的重要性在交流的过程中我们可以从别人的想法中得到启发。参考文献1Muhammad Ali Mazidi Janice Gillispie Mazidi Danny Causey .X86PC汇编语言、设计与接口.2季爱明,冷智涛。“微机原理与接口技术”课程教学改革和实践j.中国教育技术装备.2008(12)3 戴志强. 微机原理与接口技术教学改革探讨J. 中国科技信息. 2009(24)

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号