电子琴程序的设计

上传人:hs****ma 文档编号:508386128 上传时间:2022-12-21 格式:DOCX 页数:6 大小:115.42KB
返回 下载 相关 举报
电子琴程序的设计_第1页
第1页 / 共6页
电子琴程序的设计_第2页
第2页 / 共6页
电子琴程序的设计_第3页
第3页 / 共6页
电子琴程序的设计_第4页
第4页 / 共6页
电子琴程序的设计_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《电子琴程序的设计》由会员分享,可在线阅读,更多相关《电子琴程序的设计(6页珍藏版)》请在金锄头文库上搜索。

1、项目九 电子琴程序的设计一、设计内容与要求编写一实现电子琴的程序,并实现若干扩展功能。基本功能:用8257键盘输入对应的七个音阶,通过实验箱的喇叭发出声音,并通过 七段数码管显示输入音阶;扩展功能:1.录音:记录所弹奏曲目2. 放录音:任意时刻重放最新记录曲目3. 在程序中可预设一曲目,按一键实现播放该曲目。4. 在播放录制曲目或预设曲目时,按8279键盘上任意键可以暂停播放, 再按一次从暂停处继续播放。5. 程序运行时有友好的用户介面二、硬件电路框图1. 设计原理(1)对于一个特定的D/A转换接口电路,CPU执行一条输出指令将数据送入D/A, 即可在其输出端得到一定的电压输出。给D/A转换器

2、输入按正弦规律变化的数据,在 其输出端即可产生正弦波。对于音乐,每个音阶都有确定的频率。各音阶标称频率值:音阶口5*和如频率(单 栓Hw261.1293.律349. 2#祝0 !440.0493. 9 p对应num鞠3由1】叩10和知X如7“%(2)产生一个正弦波的数据可取32个(小于亦可),不同频率的区别,可通过调节 向D/A转换器输出数据的时间间隔,例如:发 1频率为261。1HZ,周期为 1/261.1=3.83ms,输出数据的时间间隔为3.83ms/32 = 0.12ms.定时时间可以由8253配 合8255来实现。按下某键后发音时间的长短可以由发出的正弦波的个数多少来控制。2. 硬件

3、电路连接三、软件设计1.主程序流程图4.部分参考程序KEYBORD PROC NEAR ;键盘子程序MOV DX,PORT1MOV AL,0D1H OUT DX,AL ;CLEAR DISPLAYWREP: CALL DISPMOV DX,PORT1IN AL,DX ;读状态AND AL,07H ;判断是否有按键 JZ WREPKEYN: MOV DX,PORT0 ;下一次的按键IN AL,DX ;读数据MOV BL,ALAND AL,07HAND BL,38HMOV CL,03SHR BL,CLCMP BL,00HJNZ LINE1ADD AL,08HJMP QUIT1LINE1: CMP

4、BL,01HJNZ LINE2JMP QUIT1LINE2: ADD AL,10HQUIT1: RETKEYBORD ENDPDISP PROC NEAR;显示子程序PUSH SIPUSH CXPUSH DXMOV AX,DATAMOV DS,AXMOV DX,PORT1MOV AL,90HOUT DX,AL;写地址为0000的显示缓存区命令,每次写入后地址自动加1指向下一次写入地址MOV SI,OFFSET SEC1MOV CX,0001MOV BX,OFFSET LEDDISP1: CLDLODSBMOV AH,ALXLAT ;键盘码转显示码MOV DX,PORT0OUT DX,AL ;显示LOOP DISP1POP DXPOP CXPOP SIQ:RETDISP ENDP

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

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