版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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; ;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. 心得体会19
5、1.设计目的检验和提高我在原理与接口综合应用方面分析问题与解决问题的能力,同时也给我提供更多、更好的训练机会。根据设计要求,尽可能完成设计要求的功能,选择最合适的器件,构成最有效的硬件电路来完成。2. 元件与仪器1计时器82532并行控制器8255A3实验台4. PC机3.设计内容根据扬声器发声原理可知:不同频率的方波通过扬声器可发出不同的声音。由此构想运用8253通道二工作在方式3的状态下控制其2#计数器对应寄存器中的数值,然后将输出端口OUT2产生的方波通过扬声器转换成为声音。为了实现弹奏按键来控制扬声器,可以通过用开关改变8253(工作在方式3的状态下)2#计数器对应寄存器中的数值,82
6、53输出端口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与8255的A口PA
8、0PA7相接,不触动开关时,为高电平输入,当按下开关时,就接地,为低电平输入。例如当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对应数据0FEH0FDH0FBH0F7H0EFH0DFH0BFH7FH对
9、应频率静音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.主要程序与编译软件编译环境Masmforwindo
15、ws集成实验环境是从事一线教学的大学教师针对汇编语言初学者的特点开发的一个简单易用的汇编语言学习与实验软件,现在已全面支持最新操作系统VISTA,支持DOS的16/32位汇编程序和Windows下的32汇编程序(并提供调试通过的30个WINDOWS汇编程序实例源代码),它具有错误信息自动定位、关键字实时帮助并且在帮助中动画演示汇编指令的执行过程、语法着色、无限次撤消与恢复、WORD式的查找、替换、定位、支持中文、长文件名等功能。本课程设计采用Masmforwindows集成实验环境极大方便了程序的编辑与调试。9. 软件程序:DATA SEGMENT TABLE DW 493 ;K2发si的音4
16、93Hz 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: MOV
17、 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 EXIT
18、;如没有键按下,或不止一个键按下,则跳到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,34
19、8CH 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 Y2,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. 心得体会在为期两周的课程设计中我学到了很多。其中知道了一个课题需要从硬件开始设计在进行软件的设计。程序编好后,编译,连接,运行,即可实现电子琴效果。可以在计算机键盘上弹奏出美妙
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年冀中职业学院单招职业技能测试题库必考题
- 2024与石油和天然气开采有关的服务活动行业分析报告
- 单色导梭口行业行业发展趋势及投资战略研究分析报告
- 2024年晋中职业技术学院单招职业技能测试题库有完整答案
- 大中型ERP软件实施项目启动会幻灯片课件
- 2025至2031年中国TPT电话数字录音系统行业投资前景及策略咨询研究报告
- 2024至2030年中国铜皮换向器数据监测研究报告
- 2024至2030年中国智能防盗门数据监测研究报告
- 2024年中国铜芯聚氯乙烯绝缘屏蔽电线市场调查研究报告
- 2024年中国自动喷头市场调查研究报告
- GB 17353-2024摩托车和轻便摩托车防盗装置
- 学校膳食管理委员会工作制度和职责
- 房租收条格式(3篇)
- 期末试卷(试题)2024-2025学年培智生活语文二年级上册
- 2024秋期国家开放大学本科《中国当代文学专题》一平台在线形考(形考任务一至六)试题及答案
- 期末(试题)-2024-2025学年人教PEP版(2024)英语三年级上册
- 2024伊利在线测评题
- 安徽省A10联盟2025届高二上数学期末考试试题含解析
- 红色简约中国英雄人物李大钊课件
- 小学师德考评细则
- 软件定义网络(SDN)实战教程课件
评论
0/150
提交评论