计算机接口技术课程设计报告计算机接口技术课程设计简易电子琴设计作者姓名:张志强专业班级:机电一体化学号:1512020118指导教师:胡彩霞开始日期:年月日完成日期:年月日答辩日期:年月日威海海洋职业学院WeihaiOceanVocationalCollege计算机接口技术课程设计报告计算机接口技术设计报告独创性声明作者郑重声明:所呈交的设计(论文),是本人在指导教师指导下或自己独立完成,尽我所知,除文中已经注明引用内容和致谢的地方外,本设计(论文)不包含其他个人或集体已经发表的成果,也不包含其他已申请或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献均已在设计(论文)中做了明确的说明并表示了谢意。若有不实之处,本人愿意承担相关法律责任。设计报告题目:作者签名:日期:年月日计算机接口技术课程设计报告摘要定时器/计数器8253可以产生不同频率的信号,经过三极管放大驱动扬声器发出不同的音阶。硬件上以8086作为核心处理单元,将8253的输出端连接音频模块。软件上检测按键是否有键按下,判断按键并驱动对应发音子程序。通用MIDI音源模块制作制作出的电子琴,结构简单,可靠性高,并且价格低廉,具有实用的价值。这种电子琴能够支持单音和复音弹奏,如果与高品质的音源芯片连接,音质更可与高档电子琴相媲美。手机中通用的音乐芯片构成音源模块,效果不错,价格更低廉,如韩国产的QS6400等,这些芯片的驱动要复杂一些,需要对芯片进行初始化设置。此外还有音乐盒、附有生日歌的生日卡片等等。所以利用微机制作的简易电子琴在我们的日常生活中随处可见。关键词:AltiumDesigner;ISIS7Professional;8086;8255;8253定时器;计算机接口技术课程设计报告目录摘要..........................................................................................3绪论............................................................................................5第一章方案设计.......................................................................61.1方案一...........................................................................61.2方案二.........................................................................6第二章硬件电路设计...............................................................72.1控制器8086.................................................................72.2输入按键的设计..........................................................72.38255应用设计............................................................82.3发声模块的设计..........................................................92.48253应用设计..........................................................10第三章软件设计.....................................................................133.1主程序的设计...........................................................133.2子程序的设计...........................................................13第四章仿真与调试结果.........................................................17第五章总结..............................................................................20参考文献....................................................................................21致谢..........................................................................................22附录1整体电路图..................................................................23附录2程序流程图及代码......................................................24计算机接口技术课程设计报告绪论随着电子技术的发展,计算机在现代科学技术的发展中起着越来越重要作用。多媒体技术、网络技术、智能信息处理技术、自适用控制技术、数据挖掘与处理技术等都离不开计算机。本次课程设计是基于微机原理与接口技术的简单应用。微机技术目前运用最广泛的就是单片机。单片机是随着大规模集成电路的出现极其发展,将计算机的CPU、RAM、ROM定时/计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早期的含义称为单片微型计算机。它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗的显著优点.主要应用于智能仪器仪表、工业检测控制、机电一体化等方面,并且取得了显著的成果。单片机控制通用MIDI音源模块制作制作出的电子琴,结构简单,可靠性高,并且价格低廉,具有实用的价值。这种电子琴能够支持单音和复音弹奏,如果与高品质的音源芯片连接,音质更可与高档电子琴相媲美。手机中通用的音乐芯片构成音源模块,效果不错,价格更低廉,如韩国产的QS6400等,这些芯片的驱动要复杂一些,需要对芯片进行初始化设置。此外还有音乐盒、附有生日歌的生日卡片等等。所以利用微机制作的简易电子琴在我们的日常生活中随处可见。微机原理简易电子琴设计主要是通过对电子琴主体部分的电路进行模仿设计,达到电子琴固有的基本功能,故叫简易电子琴。利用定时器可发出不同频率的方波,不同频率的方波经喇叭就会发出不同音调。其次,定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平,由于定时参数不同,就发出不同频率的方波,本设计中按键一次,会发出方波,松开后随之延时,但在延时的期间继续检测按键,若此时又有键被按下,若被按下的仍为原键则声音不变,否则键盘会译出被按下的另一个键的音调。本次课程设计的目的是通过D/A转换器产生摸拟信号,使PC机作为简易电子琴。其主要任务有以下几点:基于8086系统;使用计算机的数字键1、2、3、4、5、6、7、8作为电子琴的按键,按下即可发出相应的音阶;音阶通过扬声器发出声音。本次设计通过8255和8253来实现电子琴模拟,主要可以分成两部分,分别为输入部分和发音部分。输入部分:主要是由8255和8个常开型开关来完成。发音部分:CUP通过对定时器8253的通道2进行编程,使其I/O寄存器接收一个控制声音频率的16位计数值,端口61H的最低位控制通道2门控的开断,以产生特殊的音响。本文用到的是8253的方式3——方波发生器。计算机接口技术课程设计报告第一章方案设计1.1方案一首先利用了编程程序,编辑8255芯片控制字,对其进行初始化,使其工作在方式0,即基本输入输出状态,将8255的A端口设置为输出,C端口进行,经CPU运算后,输出到8254芯片的A端口中,由此实现对其的初始化。将8254芯片设置为工作在方式3,即输出对称方波状态。A端口为输入,“OUT”指令可将输出对应一定频率的方波送到扬声器中,由此实现发声[4]。本实验频率大小控制发出声音的高低,通过对延时程序的调用控制发出声音的长短。并通过所编程序实现对键盘的重复扫描,从而可以弹奏多个音符的试验目的。1.2方案二8253的CLK0接1MHz时钟,GATE0接+5V,OUT0接8255的PA0,K8跳线连接喇叭,使用汇编语言设计一个运行于计算机的电子琴程序,程序应实现弹奏功能。其中弹奏:用户每按一琴键弹奏相应音符;软件预想功能为:按数字1~8为弹奏功能,按下即发出相应的音阶。按键发音,当从键盘上敲击1~8时,音响发出哆、唻、咪、发、嗦、啦、唏、唗的音节。对比方案一,其实两个方案差不多,但是我对于8254不熟悉,所以最终决定此方案为我选择的最佳方案,并附上本次设计的设计框图如图1-1所示:图1-1设计框图系统总线8255芯片8253芯片扬声器发声键盘计算机接口技术课程设计报告第二章硬件电路设计2.1控制器80868086拥有一个外部的8位数据总线,允许便宜的芯片用途。它是以8080和8085的设计为基础,拥有类似的寄存器组,但是数据总线扩充为16位。总线界面单元(BusInterfaceUnit)透过6字节预存(prefecth)的队列(queue)位指令给执行单元(ExecutionUnit),所以取指令和执行是同步的,8086CPU有20条地址线,可直接寻址1MB的存储空间,每一个存储单元可以存放一个字节(8位)二进制信息2.2输入按键的设计控制部分主要是由8255和8个常开型开关来完成。常开型开关如右图。8个常开型开关K1~K8与8255的A口PA0~PA7相接,不触动开关时,为高电平输入,当按下开关时,就接地,为低电平输入。例如当K1键按下时,从8255中A口输入的数为11111110B,十六进制为0FEH。每一个开关按下时,都对应一个ASCII码,由于PC计算机的时钟晶振为1.1931816MHz,根据频率的公式:图2-1常开型开关f=1/T则频率周期为T=1/f定时器的计数器为16位计数器,则最大的计数值为65536,那么其定时时间为:t=65536*T=65536/f=0.0549254(秒)即:PC定时器每秒可中断18.2065次。表2-1开关K1K2K3K4K5K6K7K8对应数据0FEH0FDH0FBH0F7H0EFH0DFH0BFH7FH对应频率静音493Hz440Hz392Hz349Hz329Hz293Hz261Hz计算机接口技术课程设计报告图2—2控制按键硬件图2.38255应用设计8255的内部结构8255A是为Intel公司的微处理器配套的通用可编程并行接口芯片,其基本功能如下:(1)8255A接口芯片有3个8位并行输入/输出端口,可利用编程方法设置3个端口是作为输入端口还是作为输出端口;(2)8255A能适应CPU与I/O接口之间的多种数据传送方式的要求。如无条件传送,查询方式传送,中断方式传送。与此相应,8255A设置了方式0、方式1以及方式2。8255A的C口比较特殊,除作数据口外,在工作方式1和2下,它的部分信号线被分配作专用的联络应答信号。8255A的内部结构机外部引脚,它包括四个部分:数据总线缓冲器,读写控制逻辑,A组和B组控制电路。1.数据总线缓冲器2.读写控制逻辑3.A组和B组控制A和端口C的高4位(PC7~PC4)构成A组,由A组控制部件来对它进行控制;端口B和端口C的低4位(PC3~PC0)构成B组,由B组控制部件对它进行控制。计算机接口技术课程设计报告8255的