收藏 分享(赏)

微机原理与接口课设.docx

上传人:HR专家 文档编号:12067897 上传时间:2021-08-26 格式:DOCX 页数:36 大小:320.64KB
下载 相关 举报
微机原理与接口课设.docx_第1页
第1页 / 共36页
微机原理与接口课设.docx_第2页
第2页 / 共36页
微机原理与接口课设.docx_第3页
第3页 / 共36页
微机原理与接口课设.docx_第4页
第4页 / 共36页
微机原理与接口课设.docx_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、课程设计任务和目的1.1 课程设计目的课程设计的实现目的:本课程设计主要是通过汇编语言用软件编程的方法实现简单的音乐播放功能。通过在微机原理与接口技术课程上所学的汇编知识和 8253 芯片相关知识,来完成本课程设计;用汇编程序完成键控音乐播放器的,用 8253 定时器来产生声音。该播放器有若干首歌曲可以选择,开始时输出说明,要用户选择要播放的歌曲,然后根据用户按键进行播放、退出或出错提示。通过课程设计环节来加强对所学知识的理解和应用。本课程设计注重提高学生应用能力、创新能力。在掌握了基本的实验方法和实验技能且理论教学完成的基础上,要求学生通过一周的集中工作,初步锻炼综合运用所学知识的能力,通过

2、讨论与合作,完成一项完整的设计工作。更深入的了解微机芯片的用法和程序的完成过程,调试方法及技巧。通过这个环节来加深对微机原理与接口技术所学内容的理解和融会贯通。设计音乐播放器主要目的:1. 了解利用数模转换器产生音乐的基本方法。2. 掌握定时 / 计数器 8253A 的使用。71.2 课程设计任务本次课程设计题目是:音乐播放器。要求:1) 选用合适的芯片,和其他硬件。2) 自行设计电路并使用汇编语言编写程序完成键控音乐播放器功能。3) 该播放器有若干首歌曲可以选择, 开始时输出说明, 要用户选择要播放的歌曲,然后根据用户按键进行播放、退出或出错提示。4) 利用 8253 作为音阶频率发生器,对

3、一段音乐进行编码后存入音符表,程序中可调用音符表自动播放音乐,从中了解音乐播放的原理。(5)利用8253A和PCM,设计并实现简易音乐播放器6) 使用汇编语言编写音乐播放程序。7) 完成实验报告。二、课程设计相关知识2.1 定时 / 计数器 8253A在微机及控制系统中,经常要用到定时信号。如系统的日历时钟,动态存储器刷新。对外部执行机构控制时也需要定时中断、 定时检测、 定时查询等。 定时的方法主要是两种:软件定时:利用指令的执行时间设计循环程序,使CPU执行延迟子程 序的时间就是定时时间。缺点:执行延迟时,CPU一直被占用,降低了 CPU的效率。硬件定时: 用计数器 / 定时器作为主要硬件

4、, 在软件简单指令的控制下产生精确的时间延迟。突出优点为计数时不占用CPU时间,如利用定时器/计数器产生中断信号,可建立多作业环境,提高了 CPU效率。主要功能:(1) 每片上有 3 个独立的 16 位的减计数器通道。(2) 对于每个计数器, 都可以单独作为定时器或计数器使用, 并且都可以按照二进制或十进制来计数。(3) 每个通道都有6 种工作方式,都可以通过程序设置或改变。(4)每个计数器的速率可高达2MHz最高的计数时钟频率为2.6MHz2.2 8253A内部结构8253的内部结构如图所示,它主要包括以下几个主要部分:数据总统 缓冲器的内部结构(1) .数据总线缓冲器实现8253与CPUR

5、据总线连接的8位双向三态缓冲器,用以传送 CPU向8253的控制 信息、数据信息以及CPU从8253读取的状态信息,包括某时刻的实时计数值。(2) .读/写控制逻辑控制8253的片选及对内部相关寄存器的读/写操作,它接收CPU来的地址信号以实 现片选、内部通道选择以及对读/写操作进行控制。(3) .控制字寄存器在8253的初始化编程时,由CPU1入控制字,以决定通道的工作方式,此寄存器只能写入,不能读出。(4) .计数通道 0#、1#、2#:这是三个独立的,结构相同的计数器/定时器通道,每一个通道包含一个16位的计数 寄存器,用以存放计数初始值,一个16位的减法计数器和一个16位的锁存器,锁存

6、器在 计数器工作的过程中,跟随计数值的变化,在接收到CPLK来的读计数值命令时,用以锁 存计数值,供CPU实取,读取完毕之后,/&出锁存器又跟随减 1计数器变化。2.3 8253A外部引脚8253芯片是具有24个引脚的双列直插式集成电路芯片,具引脚分布如图所示。8253芯片的24个引脚分为两组,一组面向CPU另一组面向外部设备,各个引脚及其所传送信 号的情况,介绍如下:(1) . D7D0:双向、三态数据线引脚,与系统的数据线连接,传送控制、数据及状态信息。(2) . RD :来自于CPU勺读控制信号输入引脚,低电平有效。(3) . WR:来自于CPU勺写控制信号输入弓唧,低电平有效。(4)

7、. CS:芯片选择信号输入引脚,低电平有效。控制威电源,三三二 0-1234567 DDDDDDDDI csVcc地87654321222319202124123528TFI1O 543 867 _00 11 J1 11 11 11 1- 1EclkdGATED OUTOEclkiGATE1 OUT1CLKZ 1 GATE2 0UT2计数器。号计数器1号,计数器2号图2 2 8253的引脚(6). VCc(5) . A、Ao:地址信号输入引脚,用以选择 8253芯片的通道及控制字寄存器及GND +5V电源及接地引脚(7) . CLK: i=0,1,2,第i个通道的计数脉冲输入引脚,8253规定

8、,加在CLK弓I脚的输入时钟信号的频率不得高于2.6MH乙即时钟周期不能小于380ns。(8) . GATE i=0,1,2,第i个通道的门控信号输入引脚,门控信号的作用与通道的工作方(9) . OUT: i=0,1,2,第i个通道的定时/计数到信号输出弓I脚,输出信号的形式由通道的工作方式确定,此输出信号可用于触发其它电路工作, 或作为向CPUK出的中断请求信号。2.4计数器内部结构每个计数器由一个16位可预置的减1计数器组成,计数初值可保存在 16位的锁存器中,该锁存器只写不能读。在计数器工作时,初值不受影响,以便进行重复计数。图中每个计数器有一个时钟输入端 CLK作为计数脉冲源,计数方式

9、可以是二进制,计数范围110000H也可以是十进制,计数范围16553a Hi$端GAT刖于控制计数开始和停止。输出OU琢当计数器计数值减到零时,该端输出标志信号。oLSB锁存器2.7 8253A控制字/CS/WRAlA2寄存器选择与操作01Q为0写入计数器#0010手1写入计数器#101010写入计数器#201011写入控制寄存器00$0读计数器利001;:Q1读计数器#1001i0读计薮器#200111无操作(三态)1XXXX禁止(二念)011XX无操作(三态)图24 8253A端口地址2.6 8253A 功能8253 A既可作定时器又可作计数器:(1) 计数:计数器装入初值后,当GAT助

10、高电平时,可用外部事件作为 CLK脉冲对 计数值进行减1计数,每来一个脉冲减1,当计数值减至0时,由OUT端输出一个标志信 号。(2)定时:计数器装入初值后,当GAT助高电平时,由CLK脉冲触发开始自动计数, 当计数到零时,发计数结束定时信号。除上述典型应用外,8253A还可作频率发生器、分频器、实时钟、单脉冲发生器等。765432109数制控制:0 =二进制=BCD工作方式选择皿口方式0001 放 1xlO 2xii 超3100方式4101方式500选计数器0 01选计数器1 10选计数器211非法- 00计数器锁存命令_ 01只读后低8位高8位自动置0- 10只读写高8位低8位自动置0-

11、11先写低3位后写高8位图2 5 8253A控制字说明:(1) 8253 A每个通道对输入CLK按二进制或二十进制从预置值开始减1计数,减到0时从OUT俞出一个信号。(2) 8253 A编程时先写控制字,再写时间常数。2.8 8253A工作方式(1)方式0:计数结束产生中断方式当写入控制字后,OUT变为低电平,当写入初值后立即开始计数,当计数结束时,变 成高电平。(2) 方式1:可编程单次脉冲方式当初值装入后且GAT时低变高时,OU校为低电平,计数结束变为高电平。(3) 方式2:频率发生器方式当初值装入时,OUT变为高;计数结束,OUT变为低。该方式下如果计数未结束,但 GATEM氐时,立即停

12、止计数,强制 OU彼高,当GATES变高时,便启动一次新的计数周 期。(4) 方式3:方波发生器当装入初值后,在GATEt开沿启动计数,OUT输出高电平;当计数完成一半时,OUT 输出低电平。clk juuuuuuinnn. juvuuuuvuvuwuumji JUt(II-ItII*Vf ItIV V I f I tWH r NM r *H :_I! 4I1:;: ll5I11:;:*P A 曾曜?a上 1 工 一 一 1 L B _ T _ Ji _ f + 1 _ *MA I I F* 事t 44 I 1|I_Ti: .;*yit#f| flft1 1 * f fr n V 4 ,. t

13、 f I t 图2 6方波图方式3与方式2的工作方式类似,也是在初始化完成后能重复循环计数,只是输出的 波形不同 计数过程当把方式3的控制字写入控制字寄存器后,输出端 OU彼成高电平,作为初始电 平。再将计数初值写入计数初值寄存器CR 中,再经过一个时钟周期,计数初值被移入计数执行单元CE中,从下一个时钟脉冲开始作减1计数,方式3的计数过程分为两种情况:第一种情况:计数初值为偶数,当作减1计数减到N/2时,输出端OUTS变成低电平,减到0时,输出端OU侬成高电平,并重新从初值开始新的计数过程。若GAT助高电平,则一直重复同样的计数过程。可见,输出端 OUT俞出连续的方波,故称方波发生器。第二种

14、情况:计数初值为奇数,当作减 1计数减到(N+1) /2以后,输出端OU侬成 低电平,减到0时,输出端OUTX变成高电平。并重新从初值开始新的计数过程。这时输 出端的波形为连续的近似方波。门控信号的影响工作在方式3时,门控信号GATE勺功能与工作方式2一样,即GATE为高电平时,允 许计数;GATE为低电平时停止计数。GATE引脚上的信号从低电平跳到高电平时,将会重 新把计数初值寄存器CR中的内容移入计数执行单元 CE中,并以新装入的值重新开始计数。新的计数初值对计数过程的影响如果在计数过程中写入新的初值,而GATE信号一直维持高电平,则新的初值不会影响当前的计数过程,只有在计数结束后的下一个

15、计数周期,才按新的初值计数。若写入新的初值后,遇到门控信号的上升沿,则结束现行的计数过程,从下一个时钟脉冲下降沿开始按新的计数初值进行计数。可见,工作在方式3时,当计数初值为偶数,OUT输出连续的标准方波;当计数初 值为奇数,在每个计数周期内,有(N+1) /2 个周期输出高电平, ( N-1) /2 个时钟周期输 出低电平,OU嘲输出连续的近似的方波。三、总体设计方案3.1 总体设计方案一所有音乐都是由各个不同频率的音阶和其延续时间的长短来实现的。不同的音乐是由各个音阶按某种排列各自播放一定时间形成的,将各音乐音阶和其延续时间存在数据段中,然后根据不同按键值选择不同的音阶和时间表,再使用计数

16、器产生该音阶频率。而我们学过的有计数器可以产生各种频率,所以我主要采用计数器8253产生各音符,用8255并行接口来控制扬声器的开关,达到播放音乐的功能。设计用到相关硬件:(本课程设计主要在个人PC机上Windows XP系统实现)1 .定时/计数器8253A2 .个人PC机扬声器和喇叭驱动模块硬件连接:1 .定时/计数器8253A芯片模块的CLK2接时钟频率,分频器的频率源为 5000Hz2 .定时/计数器8253A芯片模块的GATE2t + 5V,提供高电平。NS1扬声器驱动3 .定时/计数器8253A芯片模块的OUT2接喇叭驱动驱动模块的SIN端口。5000HZ CLK20UT2+5V

17、GATE2图31硬件连接框架图Vbf |THERE ARE 3 SONGS:LHAPPY BIR1HDHV2.SHFEPB.RIVERO.EMITPRESS THE KEV TO SELECT SONG*如果按错了键,会出现如下界面如果选择正确,将出现如下界面:如果按1,出现如下界面:苣C:window55y5tem 2 2cmd .exe - bfqTHERE RRE 3 SONGS:1 IIAPPV BIRTHDAV2.SHEEP3.RIVER0 EMITPRESS THE KEY TO SELECT SONG!111222411222411222211222THERE ORE 3 SON

18、GS;l.HAPPV BIRTHDAY2 SHEEP3.RIVER0,EHITPRE3g THE KEV TO SELECT SONG如果按2,出现如下界面:rSJ员:C:wi nciowsVsyst-e m 32cmd, exe - bfq3,RIVER 0 EXITPRESS THE KEV TO SELECT SONG?1112224112224112222411222THERE ARE 3 SONGS:Lhappv BIRTHDAV2.SHEEP3.RIVER0 EXITPRESS THE KEY TO SELECT SONG?2111111211211211111111111UTHE

19、RE ARE 3 SONGS:LHAPPV BIRTHDAV2.SHEEP9.RIVER0 EXITPRESS THE KEV TO SELECT SONG?如果按3出现如下界面:SI =S5: CwindQm5ystcm J2cmdLcw - trfqTHERE ARE 3 SONGS:LHAPPV BIRTHDAV2,SHEEP3.RIVER3,FXirPRFSS TH卜 KEM TO SELECT SONG!3222112114221122114211121112THEBE ARE 3 SONGS:l.HAPPV BIRTIIDAV2.SHEEP3.RIVER0,EKIIPRESS TH

20、E KEV TO StLtCl SONG!9.2分析这是按照方案一做的结果,按13分别播放“生日快乐”等歌,但由于我对音乐都是 外行,各音阶频率的排序和延时时间搭配不好,导致音乐严重走调,但基本能听出不是噪 音。按照方案二做的电路和程序,无论怎么样都不出声,后来我直接送数据到0832产生三角波信号。还是无法让扬声器发出声音,因此按这个方案失败了。十 .课程设计总结和体会这次微型计算机接口技术与应用课程设计历时将近两星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常

21、强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必要,很浪费时间。但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。其次, 以前对于编程工具的使用还处于一知半解的状态上, 但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提

22、高。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指导下,同学的耐心帮助下,终于完成了。同时,在老师的身上我学得到很多实用的知识,在此我表示感谢!. 参考文献1 微机原理与接口技术 (第二版)

23、人民邮电出版社 周明德主编2 汇编语言程序设计 中国水利水电出版社 相伟主编3 DVCC(列单片机微机仿真实验指导书启东计算机厂有限公司著4 单片机接口技术复旦大学出版社王修才编著5 单片机原理及其接口技术( 第二版 ) 清华大学出版社 胡汉才编著6 单片微机原理及应用 机械工业出版社丁元杰主编7 单片机原理及接口技术( 修订版 ) 北京航空航天大学出版社李朝青编著8 单片机原理及应用 北京希望电子出版社 成都木马科技编著9 单片机原理及接口技术学习辅导 电子工业出版社 朱定华编著10 单片微机接口与系统设计 哈工大出版社高明编著一 课程设计任务和目的 1.1.1 课程设计目的 11.2 课程

24、设计任务2.二、课程设计相关知识 3.2.1 定时 / 计数器 8253A3.2.2 8253A内部结构 4.2.3 8253A外部引脚 5.2.4 计数器内部结构6.2.5 8253A 端口地址 7.2.6 8253A功能 72.7 8253A控制字 8.2.8 8253A工作方式 9.三、总体设计方案1.1.3.1 总体设计方案一1.1.3.2 总体设计方案二1.2.3.3 各个音符的对应频率表1.3.四 .部分电路设计及功能解说1.4.4.1 频率发生电路1.4.4.2 扬声器开关控制电路1.4.5 .硬件接线图 1.5.6 .软件设计流程图 1.6.6.1 总流程图 1.6.七.程序段功能汇总 1.8.7.1 MAIN 程序 1.8.7.2 PLAY 子程序 1.8.7.3 DELAY 子程序和 DELAY_OFF程序188 .程序清单 1.9.9 .试验结果和分析2.6.9.1 试验结果 2.6.9.2 分析 2.8.十.课程设计总结和体会2.9.十一 .参考文献 3.0.2

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

当前位置:首页 > 网络科技 > 计算机原理

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报