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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

微机原理课设.docx

1、微机原理课设自动化专业课程设计报告微机原理及应用课程设计题目 . 计算机仿真电子琴班 级 自动化10-3 姓 名 王帅 学 号 1005130313 时 间 12.12.24-28 地 点 电信实验中心第六实验室 指 导 教 师 李 向 军 大 连 水 产 学 院 信 息 工 程 学 院 自 动 化 教 研 室计算机仿真电子琴一. 课程设计的目的与要求1、 教学目的本课程的课程设计是自动化专业学生学习完微机原理及应用课程后,进行的一次以汇编语言为主,硬件设计为辅的综合训练。本课程设计的其目的在于加深对微机原理基本知识的理解,掌握汇编语言程序设计的基本方法;掌握运用微机原理开发系统的基本方法。2

2、、 教学要求从课程设计的目的出发,通过设计工作的各个环节,达到以下要求:1) 掌握汇编语言程序设计的基本方法。2) 进一步理解各种接口电路的应用。例如8255并行接口,8253定时器等。3) 掌握利用PC机扬声器发出不同频率声音的方法。4) 设计要求 ( 1 ) 掌握本课程设计所涉及到的基本理论。 (2)理解硬件电路的工作原理。 (3)自行设计软件流程图,编制程序。 (4)调试程序使其能正常运行。( 5 ) 设计完成后,必须写出设计总结。内容包括:原理介绍,简单的硬件电路图,较详细的程序流程图及完整的软件源程序清单。二. 课程设计课题分析 1. 电子琴的设计实际上就是要设计一个程序,能够通过该

3、程序控制PC机内扬声器的发声规律,按下相应的按键后,扬声器能发出指定频率的声音。PC机内的扬声器是通过并行接口芯片8255和定时芯片8253来控制发音的 1.19318MHZ 扬声器是由8253通道2产生的方波信号和8255的PB1 相与后驱动发声的,且通道2的门信号由8255的PB0提供,要想让扬声器发声,PB0和PB1必须同时为高电平,因此,可以通过对8255的PB0和PB1的设置来控制扬声器的开通和关断,而其发音频率可以通过对8253通道2的计数初值的设置来控制。所设计程序的任务就是要通过对按键的判断来设置8255的PB0和PB1输出电平的高低,以及8253通道2计数初值的设置。计数初值

4、N=时钟频率/音阶频率.各音阶的频率如下表所示。音符 1234567频率(低)131147165175196220247频率(中)262294330349392440494频率(高)5245886606987848809888255工作原理PC机内8255的A口,B口,C口和控制口的端口地址分别为:60H,61H,62H,63H。8253工作原理D7D6D5D4D3D2D1D0PC机内8253的通道0,通道1,通道2,控制口的端口地址分别为:40H,41H,42,43H。因为扬声器是由通道2来控制的,故应选择通道2,工作方式选为方式3,输出的信号则为方波信号。2.程序流程图 Y NY N Y音

5、乐播放子程序流程图YN发音子程序流程图 在弹奏和演奏时都需调用发音子程序,发音子程序的作用是控制扬声器的发音,其流程图如下: 三. 课程设计过程及结果 DATA SEGMENTINFO1 DB 0AH, 0DH, WELCOME YOU TO COME HERE!$ DB 0AH, 0DH, THIS IS A MUSIC PROGRAM!$ DB 0AH, 0DH, PLEASE SELECLT!$INFO2 DB 0AH, 0DH, INPUT ERROR!$INFO3 DB 0AH, 0DH, PLEASE INPUT AGAIN!$MUSLIST DB 0AH, 0DH, = DB 0

6、AH, 0DH, Press1 taihuchuan DB 0AH, 0DH, Press2 SCALE PLAY DB 0AH, 0DH, Press3 or ctrl+C EXIT DB 0AH, 0DH, = DB 0AH, 0DH, $MUS_FRQ1 DW 330,392,330,294,330,392,330,294,330 DW 330,392,330,294,262,294,330,392,294 DW 262,262,220,196,196,220,262,294,332,262,-1 MUS_TIM1 DW 3 DUP(50),25,25,50,25,25,100 DW 2

7、 DUP(50,50,25,25),100 DW 3 DUP(50,25,25),100TABLE DW 262, 294, 330, 349, 392, 440, 494, 525 NUMB DB 0AH, 0DH, Keyboard number 18 keys play notes of the scale DB 0AH, 0DH, Enter to exit DB 0AH, 0DH, $DATA ENDSSTACK SEGMENT PARA STACK STACK STA DB 200 DUP(STACK) STACK ENDSCODE SEGMENTASSUME DS: DATA,

8、SS: STACK, CS: CODE, ES: DATASTART: MOV AX, DATA MOV DS, AX MOV ES, AX MOV AX, STACK MOV SS, AXSHOW MACRO B MOV DX, OFFSET B MOV AH, 09H INT 21HENDM SHOW INFO1 LOP: SHOW MUSLIST MOV AH, 01H INT 21H CMP AL, 33H JZ RETU CMP AL, 31H JNZ B0 CALL MUSIC1 JMP EXIT1B0: CMP AL, 32H JNZ EXIT SHOW NUMB CALL MU

9、SIC2EXIT1: SHOW INFO3 JMP LOPEXIT: SHOW INFO2 SHOW INFO3 JMP LOPRETU: MOV AX, 4C00H INT 21HMUSIC1 PROC LEA SI, MUS_FRQ1 LEA BP,DS: MUS_TIM1FREQ1: MOV DI, SI CMP DI,-1 JE END_MUS1 MOV BX, DS: BP CALL GENSOUND ADD SI,2 ADD BP,2 JMP FREQ1 END_MUS1:RETMUSIC1 ENDPMUSIC2 PROC NEAR PUSH AX PUSH BX PUSH CXL

10、OP1: MOV AH, 01H INT 21H CMP AL, 0DH JE EXIT2 CMP AL, 31H JB LOP1 CMP AL, 38H JA LOP1 AND AX, 0FH SHL AX, 1 SUB AX, 2 MOV SI, AX MOV BX, OFFSET TABLE MOV DI, BXSI MOV BX, 100 CALL GENSOUND JMP LOP1EXIT2: POP CX POP BX POP AX RETMUSIC2 ENDPGENSOUND PROC PUSH AX PUSH BX PUSH CX PUSH DX PUSH DI MOV AL,

11、 0B6H OUT 43H, AL MOV DX, 12H MOV AX, 533H*896 DIV DI OUT 42H, AL MOV AL, AH OUT 42H, AL IN AL, 61H MOV AH, AL OR AL, 3 OUT 61H, AL PUSH AXWAIT1: MOV CX,6000 DELA1: IN AL, 61H AND AL, 10H CMP AL, AH JE DELA1 MOV AH,AL LOOP DELA1 DEC BX JNZ WAIT1 POP AX MOV AL, AH OUT 61H, AL POP DI POP DX POP CX POP

12、 BX POP AX RETGENSOUND ENDPCODE ENDSEND START程序运行结果键入数字1,演奏歌曲欢乐颂键入数字2,执行弹奏功能,数字1-8为简谱里的1.2.3.4.5.6.7.1四.课程设计的心得与体会通过整整一个星期的摸索和编程,查资料,终于把程序完成了,虽说程序总体并不是我们设计的,但是和同学们一起发现问题,分析问题,解决问题,也收获了不少,我们的编程技术都有所提高,上课时有些懵懂的知识,在这次课设中,也有了更深的理解。最开始听到仿真电子琴是茫然的,到最后可以自己编曲,弹奏,感到很有成就感,在课设中也充满了乐趣。我也体会到要提高自己的编程能力,扩展自己的知识,就必须去实践,用你所学的知识,和你所查得不知道的知识做一些实物,这样才会得到提高。五.参考文献1.汇编语言程序设计教程(周艳萍 邹伟著) 清华大学出版社。2.刘卫国,陈昭平,张颖.MATLAB程序设计与应用.北京:高等教育出版社,2002年3. PC机汇编语言实战精解(李春生著) 南开大学出版社。

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

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