微机原理课程设计报告50977.docx

上传人:b****4 文档编号:5598014 上传时间:2023-05-08 格式:DOCX 页数:17 大小:106.65KB
下载 相关 举报
微机原理课程设计报告50977.docx_第1页
第1页 / 共17页
微机原理课程设计报告50977.docx_第2页
第2页 / 共17页
微机原理课程设计报告50977.docx_第3页
第3页 / 共17页
微机原理课程设计报告50977.docx_第4页
第4页 / 共17页
微机原理课程设计报告50977.docx_第5页
第5页 / 共17页
微机原理课程设计报告50977.docx_第6页
第6页 / 共17页
微机原理课程设计报告50977.docx_第7页
第7页 / 共17页
微机原理课程设计报告50977.docx_第8页
第8页 / 共17页
微机原理课程设计报告50977.docx_第9页
第9页 / 共17页
微机原理课程设计报告50977.docx_第10页
第10页 / 共17页
微机原理课程设计报告50977.docx_第11页
第11页 / 共17页
微机原理课程设计报告50977.docx_第12页
第12页 / 共17页
微机原理课程设计报告50977.docx_第13页
第13页 / 共17页
微机原理课程设计报告50977.docx_第14页
第14页 / 共17页
微机原理课程设计报告50977.docx_第15页
第15页 / 共17页
微机原理课程设计报告50977.docx_第16页
第16页 / 共17页
微机原理课程设计报告50977.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理课程设计报告50977.docx

《微机原理课程设计报告50977.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计报告50977.docx(17页珍藏版)》请在冰点文库上搜索。

微机原理课程设计报告50977.docx

微机原理课程设计报告50977

扬州大学

微机原理课程设计报告

题目键控音乐播放器

班级计科

学号

姓名

指导教师李云

成绩

 

课程设计的目的和意义

微机原理及应用是一门非常重要的课程,且实践性较强。

要求学生熟悉计算机的组成、内部结构、汇编语言程序设计、常用接口电路的使用,并具有一定的系统设计、开发、调试的能力。

课程设计是对学生的一种基本素质训练的较好形式,通过课程设计加强学生的实践能力、动手能力、和学习能力。

学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。

通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。

课程设计的要求

1.明确课设任务,复习与查阅有关资料

2.按要求完成课设内容,课设报告要求文字和图工整、思路清楚、正确。

3.按设计要求画出详细的电路接线图,并注名芯片等器件的名称和管脚。

4.做硬件内容的同学必须将所做的课设内容通过指导教师签字后,方可进行接线和调试。

5.写出完整的程序。

1.

2.设计并实现一个键控音乐播放器,要求如下:

3.①通过计数器8253产生方波信号作为音阶频率发生器,驱动喇叭放音。

4.②由并行接口8255控制扬声器的启停,根据不同按键,播放不同的音乐。

总体设计方案

所有音乐都是由各个不同频率的音阶和其延续时间的长短来实现的。

不同的音乐是由各个音阶按某种排列各自播放一定时间形成的,将各音乐音阶和其延续时间存在数据段中,然后根据不同按键值选择不同的音阶和时间表,再使用计数器产生该音阶频率。

而我们学过的有计数器可以产生各种频率,所以我们主要采用计数器8253产生各音符,用8255并行接口来控制扬声器的开关,达到播放音乐的功能。

把一个周期的波形分成32份,然后每份给8253一个值让他转换成模拟信号,不同的频率可以用8253计数器控制,比如要产生261Hz的频率,使用1MHz的话,周期就为1/261=3.83ms,分成32份,每份间隔时间就是3.83ms/32=0.12ms,换句话说就是送计数器0的初值为1M/261/32=120次。

5.

各个音符的对应频率表:

音符 频率/HZ半周期/us 音符 频率/HZ 半周期/us

低1DO  262     1908   #4FA#   740     0676

#1DO#  277     1805   中5SO   784     0638

低2RE  294     1700   #5SO#   831     0602

#2RE#  311     1608   中6LA   880     0568

低3M   330     1516   #6LA#   932     0536

低4FA  349     1433   中7SI   988     0506

#4FA#  370     1350   高1DO   1046    0478

低5SO  392     1276   #DO#    1109    0451

#5SO#  415     1205   高2RE   1175    0426

低6LA  440     1136   #2RE#   1245    0402

#6LA#  466     1072   高3M    1318    0372

低7SI  494     1012   高4FA   1397    0358

中1DO  523     0956   #4FA#   1480    0338

#1DO#  554     0903   高5SO   1568    0319

中2RE  578     0842   #5S0#   1661    0292

#2RE#  622     0804   高6LA   1760    0284

中3M   659     0759   #6LA#   1865    0268

中4FA  698     0716   高7SI   1976    0253

部分电路设计及功能解说

1、频率发生电路

使用8253产生音符频率。

8253采用方式3,产生方波信号,根据输入计数初值的不同产生不同频率的方波信号来驱动扬声器。

设某音符频率为fHz,而CLK脉冲是1MHz,则计数初值N=1M/f。

8253的控制端口为28BH,控制字为36H。

2、扬声器开关控制电路

使用8255并行接口芯片来控制扬声器的开和关,PC0始终接低电平,PA0和8253的OUT0接在与门上,这样只有PA0=1时扬声器才有可能开通,否则不发声。

关闭扬声器的方法是:

从PC口读入数据再从PA口输出;而开扬声器时只要在输出PA口数据前对数据进行一个取反操作就可以了。

 

硬件接线图

 

软件设计流程图

1、总流程图

2.音乐播放子程序流程图

程序段功能汇总

MAIN程序

MAIN程序是总程序,输出说明,等待用户按键并读取键值。

根据不同的按键选择调用播音子程序播放不同的歌曲。

PLAY子程序

PLAY子程序是播音子程序,SI指向音节表中的频率,BP指向音节表中的时间。

从SI的指向的音节表中取一个频率,只要不是-1,即有效就再读取时间,然后计算计数初值送入计数器,产生各种频率。

开启扬声器,根据所取的时间调用若干次延时子程序。

这段时间扬声器就发出该频率的声音,延时结束,就关闭扬声器,调用音节之间的小延时程序。

最后修改SI和BP,指向下一个频率,重复上面的工作。

DELAY子程序和DELAY_OFF子程序

两个都是子程序,采用空操作循环多次的方法,只是第二个延时时间较短,大概为5ms。

试验结果展示:

1.菜单界面展示

2.选择歌曲,播放

3.选择0退出

4.输入错误数字,展示错误选择界面

课程设计总结和体会

通过这次课程设计,我们对各个芯片有了进一步的了解,对各个芯片的功能有了更深刻的认识和体会,平时上课的理论知识只是停留在理论的层面,只有通过了这样的试验才能更好的体会到,做到了理论和实际的相结合,使理论知识真正运用到了实践中去。

在课程设计过程中,同组人员之间相互合作,共同研究使我更加坚信了团体的力量。

在团体的共同协作和努力下,任何的难题都可以被解决!

我们大家在实验的时候都团结合作,遇到问题时候一起探讨,增强了我们的合作精神。

经过这次课程设计,我受益匪浅,我会在今后的学习中更好的提升自己的动手能力和思考能力。

感谢老师给我们这次锻炼的机会,实验过程中碰到了很多的难题和障碍,我认识到平时基础知识的重要性,只有能够熟练的掌握才能在实验过程中得心应手,否则一步错则整个试验都会陷入困境,因而,严谨的态度是试验成功的重要保障!

 

程序清单

SSEGSEGMENTPARASTACK'stack'

dw4000hdup(0)

SSEGENDS

DSEGSEGMENT

INFO1DB0DH,0AH,'--------------------------',0DH,0AH,'HEREARE6SONGS:

',0DH,0AH,0DH,0AH,'$'

INFO2DB'1.CANON',0DH,0AH,'$'

INFO3DB'2.LOVEBUDGET',0DH,0AH,'$'

INFO4DB'3.BEAUTIFUL',0DH,0AH,'$'

INFO5DB'4.NIGHTOFSHANGHAI',0DH,0AH,'$'

INFO6DB'0.EXIT',0DH,0AH,'$'

INFO9DB'YOUHAVECHOSEN:

$'

INFOADB'THANKYOUFORYOURUSE',0DH,0AH,'$'

INFOBDB'---------------------------',0DH,0AH,'PRESSTHEKEYTOSELECTSONG!

',0DH,0AH,'$'

INFOCDB0DH,0AH,'-------------------',0DH,0AH,'|INVALIDSELECTION|',0DH,0AH,'-------------------',0DH,0AH,'$'

FREG1DW1568,1318,1397,1568,1318,1397,1568,784,880,998,1046,1175,1318,1397,1318,1046,1175,1318,659,698,784,880,784

DW698,784,659,698,784,698,880,784,698,659,578,659,578,659,578,698,784,880,698,880,784,880,998,1046

DW784,880,998,1046,1175,1318,1397,1568,1318,1046,1175,1318,1175,1046,1175,998,1046,1175,1318,1175,1046,998,1046

DW880,998,1046,523,578,659,698,659,578,659,1046,998,1046,880,1046,998,880,784,698,784,698,659,698,784,880,998

DW523,880,1046,998,1046,998,880,998,1046,1175,1046,998,1046,880,998,-1

TIME1DW2,1,1,2,10DUP

(1),2,1,1,2,10DUP

(1),2,1,1,2,10DUP

(1),2,1,1,2,10DUP

(1),2,1,1,2,10DUP

(1),2,1,1,2

DW10DUP

(1),2,1,1,2,10DUP

(1),2,1,1,2,10DUP

(1)

FREG2DW659,880,1046,1046,659,880,1046,998,998,880,784,659,578,578,578,440,578,659,784,659,998,998,784,659,659,880

DW1046,1046,659,880,1046,1318,1318,1175,1046,1175,1318,1318,1175,1046,1175,1175,1046,998,784,659,784,880,880,-1

TIME2DW6DUP

(2),4,4DUP

(2),4,6DUP

(2),4,4DUP

(2),4,6DUP

(2),4,4DUP

(2),4,12DUP

(2),4

FREG3DW330,392,392,330,392,392,440,523,523,330,392,392,440,440,440,659,578,578,392,392,578,523,523

DW330,330,392,392,392,392,262,294,294,294,330,392,392,330,392,392,440,523,523,330,392,392,440,440,440

DW659,578,578,392,392,578,523,523,440,440,494,523,523,523,523,578,578,578,330,392,440,523

DW523,440,440,392,294,392,392,330,330,330,330,294,294,262,294,262,262,440,440,330,392,440,523,523,440

DW440,392,294,392,392,330,330,330,330,294,294,262,440,440,392,392,392,330,392,440,523,523,440,440,392

DW294,294,392,330,330,330,330,294,294,262,294,262,262,440,440,330,392,440,523,523,440,440,392,294,392

DW392,330,330,330,330,294,294,262,294,294,262,262,262,330,392,440,440,440,392,440,392,294,392,330,330,392

DW440,440,-1

TIME3DW2,2,6,2,8,12,2,2,6,2,8,4,2,2,4,2,2,6,2,4,2,2,4,6DUP

(2),4,2,2,8,12,2,2,6,2,8,12,2,2,6,2,8,4,2,2,4,2,2,6

DW2,4,2,2,4,6DUP

(2),4,2,2,8,4,11DUP

(2),6,4,2,2,2,4,2,4,4,2,6,4,11DUP

(2),6,4,2,2,2,4,2,4,2,2,8,4,11DUP

(2)

DW6,4,2,2,2,4,2,4,4,2,6,4,11DUP

(2),6,4,2,2,2,4,2,4,2,2,8,12,10DUP

(2),5DUP(8)

FREG4DW523,659,392,659,659,1318,659,494,523,578,523,494,440,440,392,392,349,349,330,440,392,578,440,392,578

DW659,578,659,494,440,392,330,523,440,659,523,440,578,659,784,659,659,578,523,523,784,659,578,523,494,440

DW392,440,523,523,330,578,494,440,392,330,392,440,494,440,392,392,523,440,392,330,494,523,578,659,578,523,494

DW440,494,523,578,392,578,392,330,440,392,578,440,392,578,659,578,659,494,440,392,330,523,440,659,523,440

DW578,659,784,659,659,578,523,523,-1

TIME4DW4DUP

(2),8,8,4,4DUP

(1),2,2,3,1,2,2,3DUP(4),8,4,4,8,6,2,6,2,4,4,8,4,4,8,4,4,8,4,2,2,4,2,2,8,8,6,2,4,4,4DUP

(2)

DW5DUP(4),2,2,4,2,2,6,2,8,10,4,4,4,2,6,2,3,1,3,1,3,1,2,2,6DUP(4),8,4,4,8,6,2,6,2,4,4,8,4,4,8,4,4,8,2,2,4,2,2,8,8

DSEGENDS

CSEGSEGMENT

assumecs:

CSEG,ds:

DSEG,es:

DSEG,ss:

SSEG

INITPROC

movax,dseg

movds,ax

moves,ax

ret

INITENDP

MAINPROC

callINIT

RE:

MOVDX,28BH

MOVAL,89H

OUTDX,AL

MOVDX,28AH

INAL,DX

MOVDX,288H

OUTDX,AL

LEADX,INFO1

MOVAH,09H

INT21H

LEADX,INFO2

INT21H

LEADX,INFO3

INT21H

LEADX,INFO4

INT21H

LEADX,INFO5

INT21H

LEADX,INFO6

INT21H

LEADX,INFOB

INT21H

MOVAH,01H

INT21H

CMPAL,'1'

JEMUSIC1

CMPAL,'2'

JEMUSIC2

CMPAL,'3'

JEMUSIC3

CMPAL,'4'

JEMUSIC4

CMPAL,'0'

JEEXIT

LEADX,INFOC

MOVAH,09H

INT21H

JMPRE

MUSIC1:

MOVSI,OFFSETFREG1

MOVBP,OFFSETTIME1

CALLPLAY

JMPRE

MUSIC2:

MOVSI,OFFSETFREG2

MOVBP,OFFSETTIME2

CALLPLAY

JMPRE

MUSIC3:

MOVSI,OFFSETFREG3

MOVBP,OFFSETTIME3

CALLPLAY

JMPRE

MUSIC4:

MOVSI,OFFSETFREG4

MOVBP,OFFSETTIME4

CALLPLAY

JMPRE

EXIT:

MOVDX,28BH

MOVAL,89H

OUTDX,AL

MOVDX,28AH

INAL,DX

MOVDX,288H

OUTDX,AL

LEADX,INFOA

MOVAH,09H

INT21H

movax,4c00h

int21h

MAINENDP

PLAYPROC

L1:

MOVBX,DS:

[SI]

CMPBX,-1

JEL0

MOVCX,DS:

[BP]

MOVDL,CL

ADDDL,30H

MOVAH,02H

INT21H

MOVDX,0FH

MOVAX,4240H

DIVBX

MOVBX,AX

MOVDX,283H

MOVAL,36H

OUTDX,AL

MOVDX,280H

MOVAX,BX

OUTDX,AL

MOVAL,AH

OUTDX,AL

MOVDX,28BH

MOVAL,89H

OUTDX,AL

MOVDX,28AH

INAL,DX

NOTAL

MOVDX,288H

OUTDX,AL

ROD:

CALLDELAY

LOOPROD

MOVDX,28BH

MOVAL,89H

OUTDX,AL

MOVDX,28AH

INAL,DX

MOVDX,288H

OUTDX,AL

CALLDELAY_OFF

ADDSI,2

ADDBP,2

JMPL1

L0:

RET

PLAYENDP

DELAYPROC

PUSHAX

PUSHBX

PUSHCX

PUSHDX

MOVBX,09FH

LL1:

MOVCX,0FFFFH

LOP:

LOOPLOP

DECBX

JNZLL1

POPDX

POPCX

POPBX

POPAX

RET

DELAYENDP

DELAY_OFFPROC

PUSHAX

PUSHBX

PUSHCX

PUSHDX

MOVBX,0FH

LL2:

MOVCX,0CFFFH

LOP2:

LOOPLOP2

DECBX

JNZLL2

POPDX

POPCX

POPBX

POPAX

RET

DELAY_OFFENDP

CSEGENDS

ENDMAIN

 

Welcome!

!

!

欢迎您的下载,

资料仅供参考!

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2