欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    微机原理与汇编语言程序设计课程设计报告Word文件下载.docx

    • 资源ID:5096869       资源大小:23.63KB        全文页数:27页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    微机原理与汇编语言程序设计课程设计报告Word文件下载.docx

    1、硬件部分:利用伟福试验设备中的8253可编程定时/计数器,8259中断控制器,8255可编程并行接口芯片和七段数码管等设计一个电子钟电路,并编制一个程序使电子钟能正常运行。通过软硬件环节的设计和调试,巩固所学知识,增强动手能力,提高综合性工程素质。二、 主要内容1.熟悉编程环境,完善前期电话号码本设计的功能;2.显示器I/O程序设计,完成窗口控制程序;3.中断程序设计,完成内部中断服务程序和外部中断服务程序设计;4.发声系统设计;5.键盘程序设计。 硬件部分:1.总体模块设计,查阅资料,设计主程序和中断服务程序的流程;2.详细设计,完成软硬件模块的框架。3.调试,对前述工作进一步细化;4.完善

    2、功能,实现电子钟的准确运行,并进一步改进其功能;5.验收、实验报告撰写。三、 进度计划序号设计(实验)内容完成时间备注1熟悉环境,完善电话号码本设计的功能半天2显示器I/O程序设计1天3中断程序设计4发声系统设计5键盘程序设计6验收、实验报告总结、撰写7总体模块设计8详细设计1天半9调试10完善功能11系统验收、实验报告撰写四、 设计(实验)成果要求1.软件环节要求掌握各环节的设计原理、能实现各环节要求的功能。2.硬件环节要求利用相关接口芯片,实现电子钟的准确运行等功能。3.总结实验,撰写实验报告。五、 考核方式实验结果(60)+实验报告(30)+实验过程表现(10)1验收:完成课程设计题目后

    3、由指导老师验收,学生汇报上机题目完成情况,回答提出的问题。2撰写课程设计实验报告:完成课程设计题目后,应认真撰写课程设计报告,报告应内容全面、格式规范。 学生姓名: 指导教师: 年 月 日实验一电话号码本设计完善一、 课程设计(综合实验)的目的与要求1. 熟练掌握汇编语言程序设计环境,根据前期掌握程度,可选择Masm for windows集成实验环境(实验室配备),或自行安装masm5.0、masm6.0、Emu8086,Tasm等,软件开发环境可由学生根据使用爱好自选。2 .根据课内实验验收时指导教师提出的意见,以及和同学讨论的结果,设计实现一个功能比较完善的电话号码本,并在设计中体现自己

    4、的工作特色,即具备和其他设计不同之处。二、 设计(实验)正文1. 定义电话本的结构体2. 删除子程序CANCEL PROC ;删除记录的过程 newline MOV DX,OFFSET CZTS MOV AH,9H INT 21H MOV AH,01H ;输入学号 MOV BJ1,AL MOV AH,01H MOV BJ2,AL MOV BX,0 MOV DI,30ALCZ9:MOV SI,0 ;先检查是否有要删除的数据 MOV AH,BJ1 CMP AH,STUBX.NUMSI JNE ALCZ8 INC SI MOV AL,BJ2 CMP AL,STUBX.NUMSI JE ALSC1 ;

    5、有此学号就转到删除它 ALCZ8:ADD BX,TYPE STU DEC DI CMP DI,0 JNE ALCZ9 MOV DX,OFFSET NO ;没有就告知用户 CALL TO_DOES ALSC1:MOV BX,0 LSC4:MOV SI,0 JNE LSC1 JE LSC2 ;找到要删除的学生就删除 LSC1: JMP LSC4 LSC2:删除学生资料,即把它清零 MOV STUBX.NUMSI,0 MOV SI,0 MOV CX,20 LSC3:MOV STUBX.NAMSI,0 LOOP LSC3 MOV CX,12SC1: MOV STUBX.TLESI, LOOP SC1

    6、MOV AH,9 MOV DX,OFFSET SCCG ;显示删除成功 RETCANCEL ENDP3. 查找记录FIND PROC ;查找记录的过程输入查找的学号 MOV DI,30;循环次数 LCZ9: MOV SI,0 ;先检查是否有要查找数据 JNE LCZ8 CMP AL,STUBX.NUMSI JE LCZ7LCZ8: ADD BX,TYPE STU JNE LCZ9 MOV AH,9H ;没有数据就告知用户 MOV DX,OFFSET NOLCZ7: CALL LINE ;有要找的学号时先输出栏目名称 MOV DX,OFFSET ML mov ah,02h; MOV DL, MO

    7、V BX,0;从第1个学生开始查找LCZ4: CMP STUBX.NUMSI,AH JNE LCZ5 CMP STUBX.NUMSI,AL JZ LCZ2LCZ5: ADD BX,TYPE STU JMP LCZ4LCZ2:开始输出要找的学生的资料 MOV AH,02H MOV DL,STUBX.NUMSI ;输出学号 MOV DL,STUBX.NUMSI MOV CX,4;输出空格HG: LOOP HGLCZ3: MOV DL,STUBX.NAMSI ;输出姓名 CMP STUBX.NAMSI,0 JNE LCZ3 SUB CX,SI ;输出空格以便使数据输出时对齐 HG4: LOOP HG

    8、4LDY1: MOV DL,STUBX.TLESI ;输出电话号码 CMP DL, JE JJB JMP LDY1JJB: CALL LINEFIND ENDP5.浏览记录SKIM PROC ;浏览记录的过程YY1:检查是否一个数据都没有 JNE KK1 ;有数据时转输出 JNE YY1 MOV DX,OFFSET NODAKK1: MOV AH,9H;先输出栏目名称LL1:开始输出所有学生资料 JNZ PP1 JNE LL1 JMP DOES10PP1: INT 21H MOV DL,STUBX.NUMSI; MOV CX,4 MOV AH,02H HG3: LOOP HG3NA1: MOV

    9、 DL,STUBX.NAMSI; JNZ NA1 SUB CX,SIHG2: LOOP HG2 MOV SI,0 LDY2: MOV DL,STUBX.TLESI; JE JJ1 JMP LDY2JJ1:DOES10:CALL LINESKIM ENDP三、 课程设计(综合实验)总结或结论 通过本次课程设计,进一步掌握了汇编的程序设计方法,对原来学过的和没学过的知识都有了较深的理解,也深刻体会到用汇编语言编写代码却是不容易,汇编好几行语句在高级语言中只需要一条就可以完成,但事物总有两面行,存在即具其合理性,asm的优越的性能(时间和空间),高级语言是望尘莫及的,所以学号汇编也是为我们以后的成功

    10、奠定基础。相信通过这次汇编的课程实际,自己的分析问题和处理问题的能力都有了一次不小的提高,收获不少。同时也要感谢在课程设计中给予我帮助的老师。此次课程设计目的已经达到。实验二:一 课程设计(综合实验)的目的与要求示器I/O程序设计,完成屏幕窗口控制程序。要求在屏幕上开出三个窗口,它们的左上角和右下角的坐标分别是(5,10),(15,30)和(5,50),(15,70)和(18,15),(22,65),如从键盘输入字符,则显示在右窗口,同时也显示在下窗口的最下面一行。若需要将字符显示于左窗口,则先按下键,接着再从键盘输入字符,字符就会从左窗口的最下行开始显示,同时下窗口也显示出左窗口的内容。如果

    11、再按下键,输入字符就会接在先前输入的字符之后显示出来。当一行字符显示满后,窗口自动向上卷动一行,输入字符继续显示与最低一行,窗口最高一行向上卷动后消失。二 设计(实验)正文I/O窗口中自己达到的目的有:1.回车:通过获取回车键的接通码进入该程序段,进行卷一行,且光标设置,并进行分左右窗口设置,跳转不同。ENTERHUAN: SCROLL 18,15,22,65,1 MOV DWY,15 CMP WINDOWNUM,0 JZ ONE SCROLL 5,50,15,70,1 POS_CURSE 15,50 MOV RY,50 mov rx,15 JMP INPUTONE: SCROLL 5,10,

    12、15,30,1 POS_CURSE 15,10 MOV LY,10 mov lx,15 JMP INPUT 2.删除:通过int 10功能中03H获取光标位置,通过卷行,向前卷动,以达到删除效果。DEL: mov ah,03h int 10h dec dl push dx SCROLL dh,dl,dh,dl,0 pop dx pos_curse dh,dl mov ry,dl jmp input三 课程设计(综合实验)总结或结论此实验中是在别人的基础上进行改动,虽然自己编写的程序不太长,但是仍然存在很多困难。并且在此程序中仍然存在错误,如删除中,向前滚动,并不能达到删除,会出现输出第二个字母

    13、的时候向后跳显示,只是屏幕上显示删除,实际内存中并没删除。并且并没有判断到窗口的最左行想上一行跳。实验三:中断程序设计,完成内部中断服务程序和外部中断服务程序设计。具体要求为:(1).编写一个内部中断服务程序,使其能够显示以“0”结尾的字符串(利用显示器功能调用INT 10H)。字符串缓冲区首地址为入口参数,利用DS:DX传递此参数。(2).编写一个可屏蔽的外部中断服务程序,中断请求来自8259A的IRQ0,在新的外部中断服务程序(新08H中断)中,使得每55ms的中断在屏幕上显示一串信息“A 8259A Interrupt!”,显示10次后,恢复原中断服务程序,返回DOS。1. 内部中断2.

    14、 外部中断3. 其中增加了一小段进行延迟,及中断10次才输出一次inc counter1 cmp counter1,0ah jb stop mov counter1,0 inc counter通过本次试验,我了解了汇编程序的开发过程,能够在MASM for window环境下的进行编辑,变异,连接程序,掌握了INT 21H软件中的的调用DOS内部子程序的方法。但对于dos环境下的汇编程序的编辑编译连接使用还不是很熟悉,只能是在masm for window继承软件开发环境熟悉的编译连接运行。实验四:发声系统设计,参考教材中的例9.1,利用扬声器控制原理,编写一个简易乐器程序。要求当按下18数字

    15、键时,分别发出连续的中音17和高音i(对应频率依次为524Hz、588Hz、660Hz、698Hz、784Hz、880Hz、988Hz和1048Hz);当按下其他键时,暂停发声。如果时间允许,可在此基础上自行发挥,如增加按键功能、编辑歌曲等。1. 扬声器设置speaker proc push ax mov al,0b6h;10 11 011 0 out 43h,al pop ax out 42h,al mov al,ah retspeaker endpspeakon proc ;扬声器开 in al,61h or al,03h out 61h,alspeakon endpspeakoff pr

    16、oc ;扬声器关 push ax in al,61h and al,0fch out 61h,al pop ax retspeakoff endp2.输入判断,并调用first: mov ah,1h int 21h cmp al,1bh jz exit cmp al,31h jb close cmp al,38h ja close and al,0fh mov ah,00h add ax,ax mov si,ax mov bx,offset freq mov ax,bx+si mov cx,ax mov dx,0012h mov ax,34dch div cx call speaker cal

    17、l speakon jmp first close: call speakoff jmp first音符和频率之间有一定的对应关系,如果计算机键盘上的一些键和音符、频率也形成一种对应关系,则可通过键盘控制扬声器发出各种音符声音,这时计算机键盘就变成了钢琴键盘,就可以用他弹奏出简单的乐曲了。实验五:键盘程序设计 键盘程序设计,编写一个程序,每当在键盘上按下一个按键时,就显示其接通和断开扫描码。具体原理参见教材第十一章,并行接口。1. 输出接通扫描码的十位个位计算binihex proc mov ch,4rotate: mov cl,4 rol bx,cl ;循环左移 mov al,bl add

    18、al,30h cmp al,3ah jl print add al,7print: mov dl,al mov ah,2 dec ch jnz rotate retbinihex endp1 计算断开扫描码,在接通扫描码的基础上加80h并调用以上程序2 键盘上F1F9在字符上的输出,先输出F,再对其接通扫描码减去3bh,进行输出mov ah,2 ;是就输出F mov dl,46h sub ch,3bh add ch,30h mov dl,ch mov dl,0Dh mov dl,0Ah jmp againnext: mov dl,cl ;打印回车换行本实验中的要求是将输入的十六进制的数转换为十

    19、进制的数,并进行输出,结果是将十六进制的数按ASCII码转换而得的。在此程序中较为复杂的是进行转换,程序中,需要设定循环次数,以及跳转方向。同时,在输出字符时也需要进行判断,分类输出。实验六:电子钟设计利用伟福实验系统提供的8253计数器,8259中断控制器、七段数码管、8255并行接口芯片等,设计实现一个电子钟的电路,并编制一个程序使得该电子钟能正常工作。其中,8253计数器用于产生计时脉冲(如1s、100ms等),中断服务程序用于对时、分、秒的计数更新,并存入相应的存储单元,主程序设置相应芯片的工作方式、完成时、分、秒信息的显示等。在程序中自己进行完成的方面有:1. 闹钟到点报时NAOZH

    20、ONG PROC NEAR MOV AL,MINUTE ;将要进行调整的闹钟赋给闹钟的时间 MOV NMINUTE,AL MOV AL,HOUR MOV NHOUR,ALSHI2: MOV AL,NHOUR ;将时间数字转换赋给LED显示缓冲区 MOV AH,0 MOV CL,10 DIV CL MOV CH,AH MOV BX,OFFSET LEDMAP ADD BX,AX MOV AL,BX MOV LEDBUF,AL MOV AL,CH OR AL,80H MOV LEDBUF+1,AL MOV AL,NMINUTE MOV LEDBUF+2,AL MOV LEDBUF+3,AL MOV LEDBUF+4,3FH MOV LEDBUF+5,3FH CALL DISPLAYLED ;调用完LED显示 CALL TESTKEY ;测试是否有输入,有则判断,无则继续显示 JNE SHI1 JMP SHI2SHI1: CALL GETKEY CMP AL,0FH JZ NXIAOSHI CMP AL,0EH J


    注意事项

    本文(微机原理与汇编语言程序设计课程设计报告Word文件下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开