《微机原理与接口技术》课程设计--简易电子琴设计

上传人:lizhe****0001 文档编号:31225567 上传时间:2018-02-06 格式:DOCX 页数:18 大小:85.16KB
返回 下载 相关 举报
《微机原理与接口技术》课程设计--简易电子琴设计_第1页
第1页 / 共18页
《微机原理与接口技术》课程设计--简易电子琴设计_第2页
第2页 / 共18页
《微机原理与接口技术》课程设计--简易电子琴设计_第3页
第3页 / 共18页
《微机原理与接口技术》课程设计--简易电子琴设计_第4页
第4页 / 共18页
《微机原理与接口技术》课程设计--简易电子琴设计_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《《微机原理与接口技术》课程设计--简易电子琴设计》由会员分享,可在线阅读,更多相关《《微机原理与接口技术》课程设计--简易电子琴设计(18页珍藏版)》请在金锄头文库上搜索。

1、皖西学院 信息工程学院1微机原理与接口技术课程设计简易电子琴的设计专 业: 通信工程班 级: 通信 1002 班 姓 名: 洪立峰 胡瑞 学 号: 2010013500 2010013502 指导老师: 左 旭 坤 皖西学院 信息工程学院2摘 要 本次设计主要是通过对电子琴主体部分的电路进行模仿设计,达到电子琴固有的基本功能,故叫简易电子琴。利用定时器可发出不同频率的方波,不同频率的方波经喇叭就会发出不同音调。其次,定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平,由于定时参数不同,就发出不同频率的方波,本设计中按键一次,会发出方波,松开后随之延时,但在延时的

2、期间继续检测按键,若此时又有键被按下,若被按下的仍为原键则声音不变,否则键盘会译出被按下的另一个键的音调。 单片机控制通用 MIDI音源模块制作出的电子琴,结构简单,可靠性高,并且价格低廉,具有实用的价值。这种电子琴能够支持单音和复音弹奏,如果与高品质的音源芯片连接,音质更可与高档电子琴相媲美。手机中通用的音乐芯片构成音源模块,效果不错,价格更低廉,如韩国产的 QS6400 等,这些芯片的驱动要复杂一些,需要对芯片进行初始化设置。此外还有音乐盒、附有生日歌的生日卡片等等。所以利用微机制作的简易电子琴在我们的日常生活中随处可见。皖西学院 信息工程学院3第一章 简易电子琴的硬件设计方案1.1 简易

3、电子琴的设计构想采用8个拨码开关为输入(其中SB1SB7为简易电子琴的弹奏按键,另外一个SB0作为控制自动弹奏预存琴谱的开关);扬声器为输出 ;由输入控制输出,即拨码开关控制扬声器;1.2 简易电子琴的功能与要求功能一弹奏:用户每按一个键盘琴键就弹奏相应的音符;功能二演奏:按下键盘上某一个指定的建后自动弹奏预存琴谱功能;1.3 简易电子琴硬件设计方案的确定根据扬声器发声原理可知:不同频率的方波通过扬声器可发出不同的声音。由此构想运用8253工作在方式3的状态下控制其2 #计数器对应寄存器中的数值,然后将输出端口OUT 2产生的方波通过扬声器转换成为声音。为了实现弹奏按键(即拨码开关)来控制扬声

4、器,可以通过用拨码开关改变8253(工作在方式3 的状态下)2 #计数器对应寄存器中的数值,8253输出端口OUT 2 通过反相器后与扬声器相连接。最后要实现的就是将拨码开关对应的数字信号存入寄存器中采用8255A 并行接口特点,使端口 A工作在方式 0并作为输出口,端口B工作在方式0,并作为输入口。将拨码开关与8255A 的输入端口B相连接。皖西学院 信息工程学院4可编程接口芯片8255A芯片:8255A的数据线、 片选信号线、 地址线 、读写控制线等分别与系统总线相连,其中A、 B、 C三个端口一排针形式引出,如下图所示,端口地址如表2表1 8255A端口地址表信号线 寄存口 编址A口 6

5、0HB口 61HC口 62HIY03控制寄存器 63H8253芯片:系统中,8253的0通道输出线与8253的0 #中断请求线作为时钟中断信号。1 #通道入口接1.8432MHz的信号源,输出接8251的收发时钟端,供串行通讯使用,这里的13计数器仅当作一个分频器使用。2 #通道以排针形式引出,开放给用户使用,如下图,所示系统中的8253端口地址如表2表2 8253端口地址表信号线 寄存口 编址0#寄存器 40H1#寄存器 41H2#寄存器 42HIY02控制寄存器 43H皖西学院 信息工程学院5图 图61H 端口是8255并行接口B口的地址,由它来控制扬声器的 .实际上由PB 还加上一个82

6、53定时器,通过与门之后才连到扬声器上的。 第二章 简易电子琴的软件设计2.1 主程序流程图皖西学院 信息工程学院62.2 弹奏程序功能设计 DATA SEGMENTTABLE1 DB 4DH,45H,3DH,39H,33H,2DH,28H ;1,2,3,4,5,6,7的频率皖西学院 信息工程学院7DATA ENDS STACK SEGMENT STACKDW 64 DUP(?) STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:STACKSTART: MOV AX, DATAMOV DS, AXMOV AL,82H ;8255初始化OUT 63H,ALA0: I

7、N AL,61HOUT 60H,ALCMP AL,00H JZ A0CMP AL,02H ;1,2,3,4,5,6,7的发音判断JZ F1CMP AL,04H JZ F2CMP AL,08HJZ F3CMP AL,10HJZ F4CMP AL,20HJZ F5CMP AL,40HJZ F6CMP AL,80H皖西学院 信息工程学院8JZ F7LOOP A0F1: MOV BX, OFFSET TABLE1 ;发音1CALL FYCALL DELAYJMP A0F2: MOV BX, OFFSET TABLE1 ;发音2INC BXCALL FYCALL DELAYJMP A0F3: MOV B

8、X, OFFSET TABLE1 ;发音3ADD BX,2CALL FYCALL DELAYJMP A0F4: MOV BX, OFFSET TABLE1 ;发音4ADD BX,3CALL FYCALL DELAYJMP A0F5: MOV BX, OFFSET TABLE1 ;发音5ADD BX,4CALL FYCALL DELAYJMP A0皖西学院 信息工程学院9F6: MOV BX, OFFSET TABLE1 ;发音6ADD BX,5CALL FYCALL DELAYJMP A0F7: MOV BX, OFFSET TABLE1 ;发音7ADD BX,6CALL FYCALL DEL

9、AYJMP A0FY PROC ;发音子程序 A7: MOV AL, 0B6H ;8253初始化OUT 43H, ALMOV AL, BXMOV AH, 00H MOV DL, 25HMUL DL OUT 42H, AL MOV AL, AHOUT 42H, ALRETFY ENDPDELAY PROC ;延时子程序PUSH CXPUSH AXMOV CX,0040H皖西学院 信息工程学院10A5: MOV AX,056CHA6: DEC AXJNZ A6LOOP A5POP AXPOP CXMOV AL,0BAH ;改变8253的控制字1011 1010,工作于方式5MOV DX,43HOU

10、T DX,ALRETDELAY ENDPCODE ENDS END START2.3 自动播放预存琴谱功能程序设计DATA SEGMENTTABLE2 DB 4DH,4DH,33H,33H,2DH,2DH,33H,01HDB 39H,39H,3DH,3DH,45H,45H,4DH,01HDB 33H,33H,39H,39H,3DH,3DH,45H,01HDB 33H,33H,39H,39H,3DH,3DH,45H,01HDATA ENDS STACK SEGMENT STACKDW 64 DUP(?) STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:STACK皖

11、西学院 信息工程学院11START: MOV AX, DATAMOV DS, AXMOV AL,82H ;8255初始化OUT 63H,ALCMP AL,01H ;扩展功能JZ F0F0: MOV BX, OFFSET TABLE2JZ A1A1: IN AL,61H CMP AL,01HJNZ A4CALL FY ;在弹奏程序中已编入可直接调用CALL DELAYINC BXMOV AL, BXTEST AL, 0FFH ;唱完一遍自动停止JZ A3JMP A1A3: PUSH AX ;延时POP AXLOOP A3JMP A4 A4: MOV AL,0BAH ;改变8253的控制字,工作在

12、方式5,使不发声MOV DX,43HOUT DX,AL 皖西学院 信息工程学院12JMP A0 CODE ENDS END START2.4 简易电子琴主程序设计DATA SEGMENTTABLE1 DB 4DH,45H,3DH,39H,33H,2DH,28H ;1,2,3,4,5,6,7的频率TABLE2 DB 4DH,4DH,33H,33H,2DH,2DH,33H,01HDB 39H,39H,3DH,3DH,45H,45H,4DH,01HDB 33H,33H,39H,39H,3DH,3DH,45H,01HDB 33H,33H,39H,39H,3DH,3DH,45H,01HDATA ENDS

13、 STACK SEGMENT STACKDW 64 DUP(?) STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:STACKSTART: MOV AX, DATAMOV DS, AXMOV AL,82H ;8255初始化OUT 63H,ALA0: IN AL,61HOUT 60H,ALCMP AL,00H JZ A0CMP AL,01H ;扩展功能JZ F0皖西学院 信息工程学院13CMP AL,02H ;1,2,3,4 ,5,6,7的发音判断JZ F1CMP AL,04H JZ F2CMP AL,08HJZ F3CMP AL,10HJZ F4CMP AL,20

14、HJZ F5CMP AL,40HJZ F6CMP AL,80HJZ F7LOOP A0F1: MOV BX, OFFSET TABLE1 ;发音1CALL FYCALL DELAYJMP A0F2: MOV BX, OFFSET TABLE1 ;发音2INC BXCALL FYCALL DELAYJMP A0F3: MOV BX, OFFSET TABLE1 ;发音3ADD BX,2CALL FY皖西学院 信息工程学院14CALL DELAYJMP A0F4: MOV BX, OFFSET TABLE1 ;发音4ADD BX,3CALL FYCALL DELAYJMP A0F5: MOV BX, OFFSET TABLE1 ;发音5ADD BX,4CALL FYCALL DELAYJMP A0F6: MOV BX, OFFSET TABLE1 ;发音6ADD BX,5CALL FYCALL DELAYJMP A0F7: MOV BX

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号