微机原理课程设计-电子琴设计_第1页
微机原理课程设计-电子琴设计_第2页
微机原理课程设计-电子琴设计_第3页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、、尸、 亠前言本实验是利用微机原理试验箱、 8255 芯片、 8254芯片、键盘、扬声器等硬 件设备,设计简易电子琴。首先利用了编程程序,编辑了 8255 芯片控制字 , 对其进行初始化,使其工 作在方式 0,即基本输入输出状态,将 8255 的 A 端口设置为输出 ,C 端口进行 , 经CPU运算后,输出到8254芯片的A端口中,由此实现对其的初始化。将8254芯片设置为工作在方式3,即输出对称方波状态。A端口为输入,“OUT 指令可将输出对应一定频率的方波送到扬声器中, 由此实现发声。 本实验通过频 率大小控制发出声音的高低, 通过对延时程序的调用控制发出声音的长短。 并通 过所编程序实现

2、对键盘的重复扫描,重而可以弹奏多个音符的试验目的。关键字 : 编程、工作方式、运算一、设计题目:简易电子琴设计二、设计内容:实验电路如图16-1 , 8253的CLKO接1MHZ寸钟,GATE(接8255的PA1, OUT0W 8255的PAO接到与门的两个输入端,K8跳线连接喇叭,编程使计算机的数字键1、2、3、4、5、6、7 作为电子琴按键,按下即发出相应的音阶。三、设计目的:1、通过8253产生不同的频率信号,使PC机成为简易电子琴。2、了解利用 8255 和 8253 产生音乐的基本方法。3、通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提 高应用微机解决问题的能力, 加

3、深对微机应用的理解。 通过查阅资料, 结合所学 知识进行软、 硬件的设计, 使学生初步掌握应用微机解决问题的步骤及方法。 为 以后学生结合专业从事微机应用设计奠定基础。四、设计要求:1 可以弹出 7 个音阶。2弹奏简短音乐。3通过改变键盘输入来改变 8254 输出频率,实现扬声器发音五、编程提示:1、利用8255的PAO口来施加控制信号给与门,用来控制扬声器的开关状态。再 利用设置不同的计数值,使 8253产生不同频率的波形,使扬声器产生不同频率 的音调,达到类似与音阶的高低音变换。对于音乐,每个音阶都有确定的频率。 各音阶标称频率值 :音 阶 1234 5671*低频率(单位:Hz) 262

4、 294 330 347 392 440 494 524高频率(单位:Hz) 524 588 660 698 784 880 988 1048六、设计原程序及注解.*.JJ;* 电子琴实验.*.data segmentio8255aequ 288hio8255bequ 28bhio8253a equ 280hio8253b equ 283htable 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:&

5、#39;,0dh,0ah,'$' data endscode segmentassume cs:code,ds:data start:mov ax,datamov ds,axmov dx,offset msgmov ah,9int 21h ;sing:mov ah,7int 21h;cmp al,1bhje finish;cmp al,'1'jl singcmp al,'8'jg sing;sub al,31hshl al,1;mov bl,al ;mov bh,0mov ax,4240H ; mov dx,0FHdiv word ptrtabl

6、e+bx mov bx,ax显示提示信息从键盘接收字符 , 不回显若为ESC键,则转finish若不在 '1'-'8' 之间转 sing转为查表偏移量保存偏移到 bx计数初值 = 1000000 / 频率 , 保存到 AXmov dx,io8253b设置 8253 计时器 0 方式 3, 先读写低字节 , 再读写高字节mov al,00110110Bout dx,almov dx,io8253amov ax,bxout dx,al;写计数初值低字节mov al,ahout dx,al;写计数初值高字节mov dx,io8255b ; 设置 8255 A 口输出m

7、ov al,10000000Bout dx,almov dx,io8255a mov al,03h out dx,al call delay mov al,0h out dx,al置 PA1PA0 = 11( 开扬声器 ) 延时置 PA1PA0 = 00( 关扬声器 )jmp singfinish:mov ax,4c00hint 21hdelay proc nearpush cxpush ax mov ax,15 x1: mov cx,0ffffh x2: dec cxjnz x2dec axjnz x1pop axpop cxret delay endp code ends end star

8、t延时子程序七、程序流程图:求出82刘龙时时|<1八、硬件连线图288HK9扬声器九、实验结果连接完线路后启动电路开关,然后运行程序,就会出现提示界面,然后键盘 输入数字即可有相应音阶音乐从喇叭处播放。十、实验中遇到了的问题及解决方法在实验中遇到了很多问题其主要是代码的编译类错误,在通过网上查阅相关 资料以及在老师同学帮助下这些困难都迎刃而解了。才使程序完美运行。总结这是一次成功的实训, 也是应值得远记住的一次实训, 在这次实训中我充分 感受到了集体的力量,在我组组员的共同努力下,我们的电子琴程序从无到有、 功能从弱到强,一步步的走向成功,同时也感谢陈老师给我这样一次锻炼的机会, 让我的人生经历有丰富了一些并且这段经历将成为我生活中一段宝贵的精神财参考文献:1、8088

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论