资源描述:
《电子琴 计算机接口 大作业》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、苏州科技学院电子与信息工程学院计算机接口技术及其应用大作业--电子琴设计班级:姓名:学号:指导老师:2012/6/51.设计目标按照音符来设定频率和8253定时/计数器的延时时间。8253的CLK0接1MHz时钟,GATE0接+5V,OUT0接8255的PA0,J1接喇叭,编程使计算机的数字键1、2、3、4、5、6、7作为电子琴按键,按下即发出相应的音阶。以8255接八个开关K1~K8,做电子琴按键输入。以8253控制扬声器,拨动不同的开关,发出相应的音阶。扩展功能:1、录音:记录所弹奏曲目2、放录音:任意时刻重放最新记录曲目2.设计思想2.1.录音子程序实现记录弹奏曲目并播放的功能。首
2、先由9触发,将输入的音阶存入缓存区song中,输入的同时可以发声和显示。当再次按9时录制完成。2.2.放音子程序本子程序实现放音功能。首先从8279键盘读出键码,判断,如果键码不是1-8即回到程序开始,如果是,即求出相应的时间常数的序号,取60次32个正弦波数据,播放32个数据,组成一个正弦波。播放60次后,从PORT1中取出值到AL,和1相与,判断是否有按键,如果有就进入死循环,直到下次按键为止。2.3.源程序整体程序开始,显示提示信息,对缓存区、8279初始化。接着调用发音子程序,键盘子程序,在把AL送缓存区,实现发音和显示。接着对9键、0键、f键、r键进行逐个判断,当9按下时,调用
3、录音子程序。当按下0时,播放录制的曲目。当按下f键时,播放程序中预设的曲目。当检测到r时,退出到DOS状态。当每一个都检测不到时,退回到调用发音子程序,继续发音显示。从而实现有扩展功能的电子琴。2.4.模块连接,形成完整的程序3.电路原理与电路图3.1、电路原理3.1.1、对于一个特定的D/A转换接口电路,CPU执行一条输出指令将数据送入D/A,即可在其输出端得到一定的电压输出。给D/A转换器输入按正弦规律变化的数据,在其输出端即可产生正弦波。对于音乐,每个音阶都有确定的频率。3.1.2、产生一个正弦波的数据可取32个(小于亦可),不同频率的区别,可通过调节向D/A转换器输出数据的时间间
4、隔,例如:发"1"频率为261。1HZ,周期为1/261.1=3.83ms,输出数据的时间间隔为3.83ms/32=0.12ms.定时时间可以由8253配合8255来实现。按下某键后发音时间的长短可以由发出的正弦波的个数多少来控制。本程序中设置默认长度为60个正弦波。3.2、电路图4、算法描述与流程图4.1算法描述软件部分对整个系统来说起着重要的作用,在本电子琴系统中,软件可以分为六部分,主程序部分、发音子程序部分、放录音子程序部分、显示子程序部分、键盘显示子程序、放录音子程序部分。4.2流程图4.2.1、主程序流程图4.2.2、发音子程序流程图4.2.3、放录音子程序流程图4.2.4、
5、显示子程序流程图4.2.5、键盘显示子程序流程图4.2.6、放录音子程序流程图5、程序DATASEGMENTIOPORTEQU0C400H-0280HPORT0EQUIOPORT+2B0H;8279DATAPORTPORT1EQUIOPORT+2B1H;8279CTRLPORTSEC1DB0;HOURHIGHTSEC2DB0;HOUPLOWMIN1DB0;MINHIGHTMIN2DB0;MINLOWHOUR1DB0;SECHIGHTHOUR2DB0;SECLOWLEDDB3FH,06,5BH,4FH,66H,6DH,7DH,07,7FH,6FH,77H,7CH,39H,5EH,79H,7
6、1H;7段管对应的显示码DB67H,37H,73H,31H,3EH,36H,66HIO8253AEQUIOPORT+280HIO8253BEQUIOPORT+283HIO8255AEQUIOPORT+288HIO8255BEQUIOPORT+28BHIO0832AEQUIOPORT+290HDATA1DB80H,96H,0AEH,0C5H,0D8H,0E9H,0F5H,0FDHDB0FFH,0FDH,0F5H,0E9H,0D8H,0C5H,0AEH,96HDB80H,66H,4EH,38H,25H,15H,09H,04HDB00H,04H,09H,15H,25H,38H,4EH,66H;
7、正弦波数据TIMEDB120,106,94,89,79,70,63,59;发不同音时8253的计数器初值DB'1.PRESS1~8TOPLAY',0DH,0AH,0DH,0AHDB'2.PRESS9TORECORD',0DH,0AH,0DH,0AHDB'3.PRESS0TOPLAYTHERECORD',0DH,0AH,0DH,0AHDB'4.PRESSFTOPLAYTHESONG',0DH,0AH,0DH,0AHDB'5.PRESS