《微机原理与接口技术电子琴实验mimi.doc》由会员分享,可在线阅读,更多相关《微机原理与接口技术电子琴实验mimi.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、信息工程学院微机原理与接口技术 课程考核论文(设计)题目:电子琴指导教师: 史先桂 专业班级: 10计科特色班B组 学号姓名: 陈效龙 (组长) 程蜜蜜 杜欢欢 日 期: 2012年5月28日 摘要随着科学技术的迅猛发展,计算机在各个领域的应用越来越广泛。计算机已成为人们生活、学习、工作的必备工具,计算机技术成为每一个专业技术人员必备的知识。本次专业课程设计作为前阶段学习知识的一个检验,培养了我们的动手能力以及独立思考设计的能力,也是大学培养的一个重要实践步骤。设计初期,我们通过网络,图书馆以及利用所学知识等资源查找设计制作电子琴的相关信息,对不同的方案进行细致的分析比较。并且按照题意与实际情
2、况进行改进,使之符合要求。制作过程中发现的一些问题通过共同的分析研究得到的解决,此次课程设计巩固了前期的理论知识,增强了动手实践能力。本电子琴实验包括了对8253、8255等可编程器件的编程,电子琴是由8253计数器、8255A以及扬声器和键盘的数字键组成的,8255对播放的控制以及键盘对声音的控制等操作。设计先从硬件,软件入手,逐步进行研究和完善,能够基本实现设计任务的要求。关键字: 频率; 电子琴;键盘;8255A;8253计数器 ABSTRACTAlong with the rapid development of scientific technology,computer appli
3、cation in all fields more and more widely. The computers have become a people life, study, work the necessary tools, the computer technology to become every professional technology personnel the necessary knowledge. The professional course design as the first stage of the study knowledge one inspect
4、ion, and train our practical ability and the ability of independent thinking design, is also one of the important university training practice steps. The early design, we through the network, the library and the use of knowledge resources such as search design of electronic information, to a differe
5、nt plan we analyzed and compared. And according to the actual conditions and improved cet4, to comply with the requirements. The production process found some questions through joint analysis research settled, the course design of the consolidated the knowledge, enhance the practical capability. Thi
6、s keyboard experiment included the 8253, 8255A, the programmable device of programming, keyboard is from 8253 to 8255 A counter, and the speaker and the keyboard keys of composition, 8255 to play and the control of the keyboard to sound control operation. First the design of the hardware and softwar
7、e of study and improve gradually, to realize the basic tasks for design.KEYWORDS:frequency ;electronic keyboard ;keyboard ;8255A8253 counter目 录摘要IABSTRACTII1 功能设计与要求11.1实现功能11.2设计要求12电路原理图与说明22.1音阶频率表22.2电路原理图23软件设计33.1主要模块流程图33.2源程序清单与注释43.3运行结果的分析7小结7参考资料81 功能设计与要求1.1实现功能利用微机键盘上的数字键17作为电子琴键,具有发出do
8、 re mi fa sol la si 7个音的功能,对输入的信号,首先判断是否为ESC键,若是直接退出程序,若不是判断是否是17键中的任意数字键,若是,程序用键值得到各个音阶的频率值发出相应的音调,按1键发出do音,按2键发出re音,按3键发出mi音,按4键发出fa音,按5键发出sol音,按6键发出la音,按7键发出si音,按其他数字键均不发音且按ESC退出程序。1.2设计要求1根据音阶频率表,利用定时器可以产生相应频率的脉冲信号,不同频率的脉冲信号经驱动电路放大后,就会发生不同的音调。2对于每个按键的音调发音时间由软件延时控制,如键一直按下,就会连续发音各音阶标称频率值:要使扬声器发出不同
9、的音调,就得输入不同频率的波形。通过给8253定时/计数器装入不同的计数值,可以使其输出不同频率的方波。经过放大器的放大作用,便可驱动扬声器发出不同的音调,只要插入一段延时程序之后,再将扬声器切断,音调的声音就可以持续一端时间。通过计算机的不同按键输出不同的音调,需要使用系统调用功能以接收键入字符,并且要建立一张表,使键入字符与频率构成一个对应关系。 2电路原理图与说明2.1音阶频率表电子琴发出的音阶是通过17当中各个数字键所对应的频率才发出相应的音调的。表2.1音阶频率表按键12 345 6 7音阶 1 2 3 4 5 6 7频率值(hz)5235786596987848809802.2电路
10、原理图利用实验板上的8253计数/定时器和8255并行接口,定时器8253利用工作方式3产生一定频率信号,通过可编程的并行外围接口芯片8255控制频率信号的断。8255的B口设置为输出,8255的B口的低两位用来控制扬声器驱动,当输出端口的PB0位为“1”或为“0”时,将使控制驱动器的与门电路接通或关闭,使8253所发出的音频信号能到达驱动器或被阻断。这样通过控制PB0的变化,可使扬声器接通和断开,控制扬声器是否能发出声音。此外,通过控制PB0的通断时间,就能发出不同的音长。8255的PB1位为“1”时,控制8253定时器产生驱动扬声器发声的音频信号,该位为“0”则不发信号。8253有三个定时
11、器,分为0号、1号和2号定时器,驱动扬声器的是2号定时器,该定时器工作在方式3,是一个频率发生器,它负责向扬声器发送指定频率的脉冲信号。当8255的PB0和PB1都为1时,8253发出指定频率的声音信号的前提下,声音信号过与门到达驱动器驱动扬声器发声图2.2总体电路图3软件设计3.1主要模块流程图通过键盘输入数字到赋给8253,然后根据8086的程序,将不同的分频数与数字键一一对应,通过程序从8086给8253赋个初值(即不同的分频数),用分频电路给8253提供一个2MHZ的时钟脉冲,将得到的音频数据通过8253传到扬声器,发出声音 图3.1主要模块流程图3.2源程序清单与注释DATAS SE
12、GMENTmenu DB0AH, 0DH, -DB0AH, 0DH, Number pianoDB0AH, 0DH, -, 0AH, 0DHDB0AH, 0DH, Please use the key 1 2 3 4 5 6 7 to control the pianoDB0AH, 0DH, the key ESC to exit, 0AH, 0DH,$DATASENDSCODE SEGMENTASSUME CS:CODE, DS: DATAS;宏定义 字符串输出stroutMACRO STRINGOUT;将字符串STRINGOUT输出LEA DX, STRINGOUT;将STRIN的偏移地址
13、送到DX寄存器MOV AH, 9;09H字符串输出功能INT 21H;调用系统中断ENDMSTART: MOV AX, DATAS;将数据段地址送到AX中MOV DS, AX;由AX转送到送到DSstrout menuMOV AL,B;初始化8253 的2号寄存器工作在方式3(方波发生器) OUT 43H, AL;将控制字送到控制寄存器 MOV AL, 1;自行输入第一个字符1,跳过第一个字符的输入过程 JMPPS2 PS:MOV AH, 01H;输入一个字符INT 21H;字符默认输入到AL中PS2: CMP AL, 1;判断是否输入1 JE P1;为1时跳转P1 CMP AL, 2;判断是
14、否输入2 JE P2;为2时跳转P2 CMP AL, 3;判断是否输入3 JE P3;为3时跳转P3 CMP AL, 4;判断是否输入4 JE P4;为4时跳转P4 CMP AL, 5;判断是否输入5 JE P5;为5时跳转P5 CMP AL, 6;判断是否输入6 JE P6;为6时跳转P6 CMP AL, 7;判断是否输入7 JE P7;为7时跳转P7 CMP AL, 27;判断是否输入ESC JE E;为ESC时跳转结束 JMP PS;都不是跳转PS 待重新输入字符 E:MOV AH,4CH;结束 INT 21H P1: MOV BX, 523;对应的输出频率 523,578,659,69
15、8,784,880,980 JMP D ;跳转除法操作 P2: MOV BX, 578 JMP D P3: MOV BX, 659 JMP D P4: MOV BX, 698 JMP D P5: MOV BX, 784 JMP D P6: MOV BX, 880 JMP D P7: MOV BX, 980 JMP D D: MOV DX, 12H;将时钟的主频率送至被除数 MOV AX, 34DEH DIV BX;进行除法操作 商保存在AX中 OUT 42H, AL;将AX中的计数次数送至8253的存储器2,送低位 MOV AL, AH; OUT 42H, AL;送高位 MOV AL, B;设
16、置B组端口的低两位为1OUT 61H, AL ;将AL中内容送至8255的B端口 允许喇叭发声 MOV BX, 1000 ;延时一段时间 让喇叭持续输发声 DELAY1:MOV CX, 0CFFFH ;延时DELAY2: LOOP DELAY2 DEC BX JNZ DELAY1 MOV AL, B;设置B组端口的低两位为0OUT 61H, AL ;将AL中内容送至8255的B端口 终止喇叭发声 JMP PS;跳转PS以待按下下一个键CODE ENDSEND START3.3运行结果的分析通过设计的电路图接线,编译程序并运行程序,就可以实现通过键盘,按中17的任何一个键就可以发出相应的do r
17、e mi fa sol la si 7个音调,它本来就是一个简易的电子琴,也可以用它来弹奏美好的音乐,因此可以选择不同的按键组合,实现电子琴的基本功能,用户可自编曲目。小结通过这次的实验,我发现了我们还有好多不足的地方,许多东西我们还必须去学习,以及以前学过的东西不能学过丢过,在做实验的时候我们揶揄道了许多问题,比如对8253,8255芯片我们刚开始没有弄懂它的原理,以至于写文档时不知该如何着手,通过老师的提示,以及上网查资料和上课老师讲解的内容,感觉自己有学到了一些知识。通过参考内容更好的把握了设计的整体思路及各个模块的细节。同时,我们也知道了设计一个项目,应该如何下手。应该先对项目要求有个
18、全面的了解,知道要做什么,然后根据要求所要涉及到的知识我们要主动去摄取,结合自己已学过的,在通过上网查资料,再对整体框架有个感知,然后再进行设计。设计时用流程图,这很重要,这样整个思路就很清晰,而且是按照软硬件语言的逻辑顺序进行,就很方便。设计过程可以分模块,不要一开始就想把所有的功能都实现了,应该一个模块一个模块地实现,再总的连起来,实现最后的总模块。在每个模块设计时,尽量想到比较简单的设计,简化编程和电路,也可少出错参考资料1沈美明,温冬婵.汇编语言程序设计.清华大学出版社,2007,9-182吴秀清,周荷琴.微型计算机原理与接口技术.中国科学技术大学出版社,2008,1-43 李大友.微机接口技术.机械工业出版社,1996,11-94周明德.微机原理与接口技术.人民邮电出版社,1970,1-15相伟.汇编语言程序设计.中国水利水电出版社,2006,4-306葛纫秋.实用微机接口技术.高等教育出版社,2007,3-147何超.微型计算机原理及应用.中国水利水电出版社,2007,6-18田艾平.微型计算机技术.清华大学出版社,2005,1-19郑岚,王洪海.微机原理与接口技术.北京理工大学出版社2012,2-1