《2022年微机原理课程设计-电子琴设计 .pdf》由会员分享,可在线阅读,更多相关《2022年微机原理课程设计-电子琴设计 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、简单的电子琴设计1 前言本实验是利用微机原理试验箱、8255芯片、8254芯片、键盘、扬声器等硬件设备,设计简易电子琴。首先利用了编程程序,编辑了8255 芯片控制字 , 对其进行初始化,使其工作在方式 0,即基本输入输出状态,将8255 的 A 端口设置为输出 ,C 端口进行 ,经 CPU 运算后 , 输出到 8254 芯片的 A端口中,由此实现对其的初始化。将8254芯片设置为工作在方式3, 即输出对称方波状态。A端口为输入, “OUT ”指令可将输出对应一定频率的方波送到扬声器中,由此实现发声。 本实验通过频率大小控制发出声音的高低, 通过对延时程序的调用控制发出声音的长短。并通过所编程
2、序实现对键盘的重复扫描,重而可以弹奏多个音符的试验目的。关键字 : 编程、工作方式、运算精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 7 页简单的电子琴设计2 一、设计题目:简易电子琴设计二、设计内容:实验电路如图 16-1,8253 的 CLK0接 1MHZ 时钟,GATE0 接 8255的 PA1 ,OUT0 和8255 的 PA0接到与门的两个输入端,K8跳线连接喇叭,编程使计算机的数字键1、2、3、4、5、6、7 作为电子琴按键,按下即发出相应的音阶。三、设计目的:1、通过 8253 产生不同的频率信号,使PC机成为简易电子琴
3、。2、了解利用 8255 和 8253 产生音乐的基本方法。3、通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力, 加深对微机应用的理解。 通过查阅资料, 结合所学知识进行软、 硬件的设计, 使学生初步掌握应用微机解决问题的步骤及方法。为以后学生结合专业从事微机应用设计奠定基础。四、设计要求:1可以弹出 7 个音阶。2弹奏简短音乐。3通过改变键盘输入来改变8254 输出频率,实现扬声器发音五、编程提示:1、利用 8255的 PA0口来施加控制信号给与门, 用来控制扬声器的开关状态。再利用设置不同的计数值,使8253 产生不同频率的波形,使扬声器产生不同频率
4、的音调,达到类似与音阶的高低音变换。对于音乐,每个音阶都有确定的频率。各音阶标称频率值 : 音 阶1 2 3 4 5 6 7 1* 低频率 ( 单位:Hz) 262 294 330 347 392 440 494 524 高频率 ( 单位:Hz) 524 588 660 698 784 880 988 1048 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 7 页简单的电子琴设计3 六、设计原程序及注解;*; ;* 电子琴实验 *; ;*; data segment io8255a equ 288h io8255b equ 28bh
5、io8253a equ 280h io8253b equ 283h table dw 524,588,660,698,784,880,988,1048;高音的;table dw 262,294,330,347,392,440,494,524;低音的msg db Press 1,2,3,4,5,6,7,8,ESC:,0dh,0ah,$ data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov dx,offset msg mov ah,9 int 21h ;显示提示信息sing: mov ah,7
6、int 21h ;从键盘接收字符 , 不回显 cmp al,1bh je finish ;若为 ESC键, 则转 finish cmp al,1 jl sing cmp al,8 jg sing ;若不在 1-8之间转 sing sub al,31h shl al,1 ;转为查表偏移量 mov bl,al ;保存偏移到 bx mov bh,0 mov ax,4240H ;计数初值 = 1000000 / 频率, 保存到 AX mov dx,0FH div word ptrtable+bx mov bx,ax 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - -
7、 -第 3 页,共 7 页简单的电子琴设计4 mov dx,io8253b ;设置 8253计时器 0 方式 3, 先读写低字节 , 再读写高字节 mov al,00110110B out dx,al mov dx,io8253a mov ax,bx out dx,al ;写计数初值低字节 mov al,ah out dx,al ;写计数初值高字节 mov dx,io8255b ;设置 8255 A 口输出 mov al,10000000B out dx,al mov dx,io8255a mov al,03h out dx,al ;置 PA1PA0 = 11(开扬声器 ) call dela
8、y ;延时 mov al,0h out dx,al ;置 PA1PA0 = 00(关扬声器 ) jmp sing finish: mov ax,4c00h int 21h delay proc near ;延时子程序 push cx push ax mov ax,15 x1: mov cx,0ffffh x2: dec cx jnz x2 dec ax jnz x1 pop ax pop cx ret delay endp code ends end start 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 7 页简单的电子琴设计5
9、七、程序流程图:八、硬件连线图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 7 页简单的电子琴设计6 九、实验结果连接完线路后启动电路开关,然后运行程序,就会出现提示界面,然后键盘输入数字即可有相应音阶音乐从喇叭处播放。十、实验中遇到了的问题及解决方法在实验中遇到了很多问题其主要是代码的编译类错误,在通过网上查阅相关资料以及在老师同学帮助下这些困难都迎刃而解了。才使程序完美运行。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 7 页简单的电子琴设计7 总 结这是一次成功的实训, 也是应值得远记住的一次实训,在这次实训中我充分感受到了集体的力量,在我组组员的共同努力下,我们的电子琴程序从无到有、功能从弱到强,一步步的走向成功,同时也感谢陈老师给我这样一次锻炼的机会,让我的人生经历有丰富了一些并且这段经历将成为我生活中一段宝贵的精神财富。参考文献:1、 汇编语言程序设计中央广播电视大学出版社2、 微机原理与接口技术北京航空航天大学出版社3、 微型计算机原理与汇编语言电子工业出版社4、 微机原理与应用大连理工大学出版社5、 现代微机原理与接口技术电子工业出版社精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 7 页
限制150内