ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:145.64KB ,
资源ID:11572541      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11572541.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(华北电力大学微机原理课程设计报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

华北电力大学微机原理课程设计报告.docx

1、华北电力大学微机原理课程设计报告课程设计报告( 20132014 年度第 一 学期)课 程: 微机原理及应用 题 目: 电子琴及电子播放器院 系: 自动化系 班 级: 自动化1103 学 号: 201111010122 201109010113 201102020331 学生姓名: 詹文超 靳朝阳 张晓 指导教师: 张妍 设计周数: 一周 成 绩: 日期:2014年 1 月 10 日微机原理及应用课程设计报告一、 目的与要求1 通过对微机系统分析和具体设计,使学生加深对所学课程的理解。2 掌握汇编语言程序设计的基本方法和典型接口电路的基本设计方法。3 培养学生分析问题、解决问题的能力。4 培养

2、学生对微型计算机应用系统的基本设计能力。5 提高学生的实践动手能力和创新能力。二、 主要内容1. 电子琴及电子播放器2. 系统介绍 本设计不仅可以实现小键盘电子琴演奏,还可以通过拨码开关播放不同的电子音乐,主要有小星星,两只老虎和欢乐颂。硬件设计用到8253和8255芯片,8253工作在方式3,产生一定的频率方波,同时对应着不同音调;8255为可编程接口芯片,用于整个系统的开关控制功能。3. 系统实现的功能 系统主要实现三个功能: 1、自动演奏3首歌曲; 2、利用小键盘手动演奏; 3、歌曲之间的相互切换。4.所用芯片的工作原理 (1)8253原理 8253有3个独立的计数通道,每个通道结构相同

3、,例若clk0给定频率,向控制字寄存器写入控制字,并向计数器0写入计数初值,采用不同的方式即可产生不同的频率。8253的内部结构(1)数据总线缓冲器实现8253与CPU数据总线连接的8位双向三态缓冲器,用以传送CPU向8253的控制信息、数据信息以及CPU从8253读取的状态信息,包括某时刻的实时计数值。(2)读/写控制逻辑控制8253的片选及对内部相关寄存器的读/写操作,它接收CPU发来的地址信号以实现片选、内部通道选择以及对读/写操作进行控制。(3)控制字寄存器在8253的初始化编程时,由CPU写入控制字,以决定通道的工作方式,此寄存器只能写入,不能读出。(4)计数通道0#、1#、2#:这

4、是三个独立的,结构相同的计数器/定时器通道,每一个通道包含一个16位的计数寄存器,用以存放计数初始值,一个16位的减法计数器和一个16位的锁存器,锁存器在计数器工作的过程中,跟随计数值的变化,在接收到CPU发来的读计数值命令时,用以锁存计数值,供CPU读取,读取完毕之后,输出锁存器又跟随减1计数器变化。(5)8253外部引脚8253芯片是具有24个引脚的双列直插式集成电路芯片,其引脚分布如图所示。8253芯片的24个引脚分为两组,一组面向CPU,另一组面向外部设备,各个引脚及其所传送信号的情况,介绍如下:1D7D0:双向、三态数据线引脚,与系统的数据线连接,传送控制、数据及状态信息。2:来自于

5、CPU的读控制信号输入引脚,低电平有效。3:来自于CPU的写控制信号输入引脚,低电平有效。4:芯片选择信号输入引脚,低电平有效。 (6). 8253端口地址(2)8255原理8255有3种工作方式:方式0,方式1,方式3,本次设计用方式0。在这种方式下,任何一个端口可以通过方式控制字规定作为输入口,也可作为输出口; 8255A有两个控制字:方式选择控制字和端口C置位/复位控制字。方式选择控制字的最高位总是1,而端口C置位复位控制字的最高位总是0,用来区分两个控制字。 8255初始化方式如下图5.系统分析(1)系统原理 在了解8253,8255工作原理之后,我们利用2个开关从8255芯片A口输入

6、不同数值,00,01,10,11.利用编程区分4中状态,跳入4个循环,即可演奏3首歌曲和手动电子琴。8253则是事先算好初值,送如计数器。每个频率可产生不同的音。每个音之间停顿相应时间,每个句子之间停顿相应时间,即可演奏完每首歌曲。 每首歌曲和每个句子末尾有数字1,2判断是否停顿或者跳入下一首歌,实现每首歌之间的转换。 小键盘演奏则是利用一些算法得知每个健的值会存入al寄存器中,利用al中的值,判断al大小,设置数据段7个健值,取出响应频率设置循环即可弹奏。(2)系统思路分析 系统从实现一个音开始,到完成一首歌的编曲,之后加入判断语句,进行第二首,第三首歌的编曲即已完成自动播放部分。之后单独进

7、行小键盘分析,取出主要部分,判断出运作原理利用最终al的值进行频率换算。融入前一部分完成的歌曲中,反复调试完成。6.系统流程图 3实验总结1.实验要点和问题分析(1)计数值足够,所以只采用1个计数器,计数初值在程序中计算不便,所以定义数据段,根据clk0的频率和要产生的频率,计算初值,写入数据段;(2)改变开关状态,读入数据相应跳转,3首固定歌曲都跳入同一循环W1进行演唱,简短程序;(3)演唱完一首歌曲才可以进入下首歌曲,所以要在这首歌曲演唱完之前,改变开关状态;(4)每首歌曲句末为1,2是判断是否加停顿和换歌;(4)为防止程序太长,超出跳转地址,每次判断都跳到Wo处,简短程序;(6)小键盘的

8、程序需要看懂如何判别是那个健,最终值存入al中,根据al的值为1-7定义数据段1-7的频率,用si+al*2的值作为地址即可取出相应频率。(7)1-7之外的数据不要等待,1-7的键入后,去掉停顿,按键长按则一直发生,可控制长短调。2.实验心得 本次试验从最开始的尝试到最后全部完成,历经很长时间,做了很多努力,让我们都非常欣慰,在做实验的过程中,不断尝试,优化,大大提高了我们的团队合作能力和专业知识的掌握,关键是学和玩相结合,设计的过程虽然有点辛苦,但都很开心,我认为这点很重要。希望每次的实验都可以从兴趣而发,以乐趣结束,不再为书本而苦恼。相信我们会越做越好。另外感谢老师的耐心指导,给了我们很大

9、的帮助。本次课设圆满成功。四参考文献微机原理及应用 马平 姚万业 王柄谦 中国电力出版社 2003年4月第一版附录程序代码设计DATA SEGMENTTIME_CTR EQU 0A003H ;8253地址TIME_R0 EQU 0A000HTIME_R1 EQU 0A001HOUTBIT equ 09002h ; 位控制口IN_KEY equ 09001h ; 键盘读入口Music dw 0,3816,3401,3030,2865,2551,2273,2024KeyTable: ; 键码定义 db 16h, 15h, 14h, 0ffh db 13h, 12h, 11h, 10h db 0dh

10、, 0ch, 0bh, 0ah db 0eh, 03h, 06h, 09h db 0fh, 02h, 05h, 08h db 00h, 01h, 04h, 07hFREQ1 DW 2,3816,3816,2551,2551,2273,2273,2551,2 ;小星星 DW 2865,2865,3030,3030,3401,3401,3816,2 DW 2551,2551,2865,2865,3030,3030,3401,2 DW 2551,2551,2865,2865,3030,3030,3401,2 DW 3816,3816,2551,2551,2273,2273,2551,2 DW 286

11、5,2865,3030,3030,3401,3401,3816,1FREQ2 DW 2,3816,3401,3030,3816,3816,3401,3030,3816,2 ;两只老虎 DW 3030,2865,2551,2,3030,2865,2551,2 DW 2551,2273,2551,2865,3030,3816,2 DW 2551,2273,2551,2865,3030,3816,1FREQ3 DW 2,3030,3030,2865,2551,2551,2865,3030,3401,3816,3816 ;欢乐颂 DW 3401,3030,3030,3401,3401,2 DW 303

12、0,3030,2865,2551,2551,2865,3030,3401,3816,3816 DW 3401,3030,3401,3816,3816,1DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV AL,00110111B ;8253初始化 MOV DX,TIME_CTR OUT DX,AL MOV DX,8003H ;8255初始化 MOV AL,90H OUT DX,AL W0: MOV DX,8000H ;开关判断 IN AL,DX AND AL,03H CMP AL,0 JNA

13、MLoop ;电子琴 CMP AL,01H JNA SONG1 ;歌曲1 CMP AL,02H JNA SONG2 ;歌曲2 JMP SONG3 ;歌曲3 SONG1: LEA SI,FREQ1 JMP W1 SONG2: LEA SI,FREQ2 JMP W1 SONG3: LEA SI,FREQ3 JMP W1W1: MOV AX,SI ;取节奏 MOV DX,TIME_R0 OUT DX,AL MOV AL,AH OUT DX,AL INC SI INC SI CALL DELAY1 MOV AX,2 ;关扬声器一次 MOV DX,TIME_R0 OUT DX,AL MOV AL,AH

14、OUT DX,AL CALL DELAY2 CMP SI, 2 ;判断句停顿 JZ W2 CMP SI,1 ;判断歌曲是否结束 JNZ W1 JMP W0 ;若歌曲结束 重新判断 W2: CALL DELAY2 JMP W1DELAY1 PROC NEAR ;音长 MOV BX,400 LP1:MOV CX,200 LP2:LOOP LP2 DEC BX JNZ LP1 RET DELAY1 ENDPDELAY2 PROC NEAR ;字间隔 MOV BX,100 LP11:MOV CX,200 LP22:LOOP LP22 DEC BX JNZ LP11 RET DELAY2 ENDPMLo

15、op: call TestKey ; 有键入? je MLoop ; 无键入, 继续显示 call GetKey ; 读入键码 cmp al,1 ;判断键盘是否为17 jl MLoop cmp al,7 ja MLoop mov si,offset Music ;取键盘节奏首地址 mov ah,0 mov bx,ax add bx,bx ;dw字 mov ax,bx+si mov dx,0a000h ;8253计数器0初值 out dx,al mov al,ah out dx,al call delay MOV AX,2 ;关扬声器一次 MOV DX,0a000h OUT DX,AL MOV

16、AL,AH OUT DX,AL JMP W0 ;判断开关TestKey proc near mov dx, OUTBIT mov al, 0 out dx, al ; 输出线置为0 mov dx, IN_KEY in al, dx ; 读入键 not al and al, 0fh ; 高四位不用 retTestKey endpGetKey proc near mov ch, 00100000b mov cl, 6KLoop: mov dx, OUTBIT mov al, ch ; 找出键所在列 not al out dx, al shr ch, 1 mov dx, IN_KEY in al,

17、dx not al and al, 0fh jne Goon_ ; 该列有键入 dec cl jnz KLoop mov cl, 0ffh ; 没有键按下, 返回 0ffh jmp Exit1Goon_: dec cl shl cl, 2 ; 键值 = 列 X 4 + 行 mov ch, 4LoopC: test al, 1 jnz Exit1 shr al, 1 inc cl dec ch jnz LoopCExit1: mov dx, OUTBIT mov al, 0 out dx, al mov ch, 0 mov bx, offset KeyTable add bx, cx mov al, bx ; 取出键码 retGetKey endpdelay PROC NEAR ;按键音长 push bx MOV BX,200 LP13:MOV CX,200 LP23:LOOP LP23 DEC BX

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1