微机原理课程设计-电子琴设计
简单的电子琴设计
前言
本实验是利用微机原理试验箱、8255芯片、8254芯片、键盘、扬声器等硬件设备,设计简易电子琴。
首先利用了编程程序,编辑了8255芯片控制字, 对其进行初始化,使其工作在方式0,即基本输入输出状态,将8255的A端口设置为输出,C端口进行,经CPU运算后, 输出到8254芯片的A端口中,由此实现对其的初始化。
将8254芯片设置为工作在方式3,即输出对称方波状态。A端口为输入,“OUT”指令可将输出对应一定频率的方波送到扬声器中,由此实现发声。本实验通过频率大小控制发出声音的高低,通过对延时程序的调用控制发出声音的长短。并通过所编程序实现对键盘的重复扫描,重而可以弹奏多个音符的试验目的。
关键字: 编程、工作方式、运算
1
简单的电子琴设计
一、设计题目:
简易电子琴设计
二、设计内容:
实验电路如图16-1,8253的CLK0接1MHZ时钟,GATE0接8255的PA1,OUT0和8255的PA0接到与门的两个输入端,K8跳线连接喇叭,编程使计算机的数字键1、2、3、4、5、6、7作为电子琴按键,按下即发出相应的音阶。
三、设计目的:
1、通过8253产生不同的频率信号,使PC机成为简易电子琴。 2、了解利用8255和8253产生音乐的基本方法。
3、通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。为以后学生结合专业从事微机应用设计奠定基础。
四、设计要求:
1.可以弹出7个音阶。 2.弹奏简短音乐。
3.通过改变键盘输入来改变8254输出频率,实现扬声器发音
五、编程提示:
1、利用8255的PA0口来施加控制信号给与门,用来控制扬声器的开关状态。再利用设置不同的计数值,使8253产生不同频率的波形,使扬声器产生不同频率的音调,达到类似与音阶的高低音变换。对于音乐,每个音阶都有确定的频率。 各音阶标称频率值:
音 阶 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
简单的电子琴设计
六、设计原程序及注解
;*******************************; ;* 电子琴实验 *; ;*******************************;
data segment
io8255a equ 288h io8255b equ 28bh 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
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 / 频率, mov dx,0FH
div word ptr[table+bx] mov bx,ax
保存到AX 3
简单的电子琴设计
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 ; mov al,10000000B out dx,al
mov dx,io8255a mov al,03h
out dx,al ; call delay ; mov al,0h
out dx,al ;
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
写计数初值高字节 设置8255 A口输出 置PA1PA0 = 11(开扬声器) 延时 置PA1PA0 = 00(关扬声器) 延时子程序 4
简单的电子琴设计
七、程序流程图:
八、硬件连线图
5
简单的电子琴设计
九、实验结果
连接完线路后启动电路开关,然后运行程序,就会出现提示界面,然后键盘输入数字即可有相应音阶音乐从喇叭处播放。
十、实验中遇到了的问题及解决方法
在实验中遇到了很多问题其主要是代码的编译类错误,在通过网上查阅相关资料以及在老师同学帮助下这些困难都迎刃而解了。才使程序完美运行。
6
简单的电子琴设计
总 结
这是一次成功的实训,也是应值得远记住的一次实训,在这次实训中我充分感受到了集体的力量,在我组组员的共同努力下,我们的电子琴程序从无到有、功能从弱到强,一步步的走向成功,同时也感谢陈老师给我这样一次锻炼的机会,让我的人生经历有丰富了一些并且这段经历将成为我生活中一段宝贵的精神财富。
参考文献:
1、《8088/8086汇编语言程序设计》中央广播电视大学出版社2、《微机原理与接口技术》北京航空航天大学出版社 3、《微型计算机原理与汇编语言》电子工业出版社 4、《微机原理与应用》大连理工大学出版社 5、《现代微机原理与接口技术》电子工业出版社
7
…… 此处隐藏:951字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [建筑文档]2018年公需课:专业技术人员创新能力与
- [建筑文档]2013年福建教师招考小学数学历年真题
- [建筑文档]高中信息技术课flash知识点总结 - 图文
- [建筑文档]电工实训 - 图文
- [建筑文档]最高院公告案例分析100篇(民商篇)
- [建筑文档]南开中学高2017级14-15学年(上)期末
- [建筑文档]五粮液集团战略分析
- [建筑文档]鲁教版(2012秋季版)九年级化学 酸碱
- [建筑文档]超星尔雅2017中国哲学概论自整理题库答
- [建筑文档]关于成为海口金盘饮料公司材料独家供货
- [建筑文档]LNG学习资料第一册 基础知识 - 图文
- [建筑文档]四年级品社下册《好大一个家》复习资料
- [建筑文档]现阶段领导权力腐败的特点及发展趋势
- [建筑文档]魏晋南北朝诗歌鉴赏—嵇康
- [建筑文档]坚持追求真爱是理智的行为 正方一辩稿
- [建筑文档]湘西州刑释解教人员帮教安置工作存在的
- [建筑文档]园林工程试题库及答案
- [建筑文档]计算机长期没有向WSUS报告状态
- [建筑文档]日语最新流行语
- [建筑文档]B62-016 景观进场交底专题会议
- 2018年中考语文课内外古诗词鉴赏专题复
- 高考试题研究心得体会
- C语言基础题及答案
- 电气控制及PLC习题及答案
- 都昌小学家长学校汇报材料
- GMAT作文模板正确使用方法
- 俄军办坦克大赛:中国99式有望与豹2A6
- 成本会计练习题
- 酒店餐饮业最流行的5S管理方法
- 2014-2015学年山东省菏泽市高二(下)
- 《黄鹤楼送孟浩然之广陵》教案、说课、
- 2013年结构化学自测题 有答案版
- 2011西安世界园艺博览会游览解说词(附
- 窗口文明单位示范单位创建活动总结
- 2018满分超星尔雅就业课后练习期末答案
- 韶山市城市总体规划-基础资料
- 苏教版第三单元知识点归纳
- 第4章 曲轴模态分析
- 加大查办案件力度的思考
- 武汉CPC导轨介绍




