资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
项目九 电子琴程序的设计一、设计内容与要求编写一实现电子琴的程序,并实现若干扩展功能。基本功能:用8257键盘输入对应的七个音阶,通过实验箱的喇叭发出声音,并通过 七段数码管显示输入音阶;扩展功能:1.录音:记录所弹奏曲目2. 放录音:任意时刻重放最新记录曲目3. 在程序中可预设一曲目,按一键实现播放该曲目。4. 在播放录制曲目或预设曲目时,按8279键盘上任意键可以暂停播放, 再按一次从暂停处继续播放。5. 程序运行时有友好的用户介面二、硬件电路框图1. 设计原理(1)对于一个特定的D/A转换接口电路,CPU执行一条输出指令将数据送入D/A, 即可在其输出端得到一定的电压输出。给D/A转换器输入按正弦规律变化的数据,在 其输出端即可产生正弦波。对于音乐,每个音阶都有确定的频率。各音阶标称频率值:音阶口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. 硬件电路连接三、软件设计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 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
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号