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

    微型计算机系统程序设计实验报告.docx

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

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

    微型计算机系统程序设计实验报告.docx

    1、微型计算机系统程序设计实验报告Part1.程序设计目求Part2.程序设计要求Part3.系统整体设计思路Part4.程序框图设计Part5.硬件电路设计Part6.课程设计体会Part7.程序设计的参考文献Part8.程序设计代码附录(总共三题)Part1:程序设计的目的:1.巩固和掌握对“微机原理”课程内容的认识和理解,提高应用水平.2.掌握汇编语言程序的编制方法.3.熟悉键盘控制和七段码管及74LS138芯片的使用.Part2:程序设计要求:本课程设计内容包括两个方面A.硬件设计:显示器用6个八段数码段显示.键盘采用4*4矩阵形式.由8255控制B.软件编程(上机编程内容)题目一 显示器

    2、工作于查询方式.键盘工作于中断方式 16个按键定位的键值为:0f,按任意键在显示器上现实对应的键值.lED显示器显示数值从右到左逐位显示题目二 定义键盘按键:10个数字键(09); 6个功能键:+(加),-(减),*(乘),/(除),=(等于),CLEAR(清零) 实现五位八进制数加法运算.可连续做加法.直接按=号结束,显示结果 实现五位八进制数乘法运算.可连续做乘法运算Part3:程序设计的整体设计思路:A.物理构想思路: 1)微型计算机由微处理器,存储器,接口电路以及连接在这些部件上的总线组成.微处理器,存储器和所有IO设备之间的信息交换都通过总线进行.总线包括地址总线,数据总线和控制总线

    3、,他们始于CPU或终于CPU,现代微机大部分都是这种以总线为中心的结构. 2)微型计算机及外围设备组成微型计算机系统的硬件,外围设备必须通过接口电路才能与系统总线相连,因此构建一个基于8255A的简单微型计算机系统,就是通过编译程序和物理连接让单片机拥有简单的计算器运算功能,因此系统总线上挂上一定规模的存储器和接口电路,然后在把合适的外围设备连接到接口电路上.解决物理连线方面的构想思路.就轮到程序设置的构想思路:B.软件构想思路: 1)首先.是建立一个蕴含所有段码的数据表(在程序中的体现是TABLE),作用是存储段码,为程序的相应调用提供对应的段码.避免在程序中实现调用显示功能的时候造成过多的

    4、赘余.因为这次实验套装的LED管是共阳极管.所以只有列出对应的16个(0F)适用于共阳极管的段码,才能满足显示的要求 2)其次.是建立选通信号的输出存储.也就是.在数据部分建立一个表格,里面能够告诉CPU的输出端要输出低电平的时候对应的代码指令:为什么是输出低电平?因为本次选用的LED管是共阳极管.所以要在CPU的输出端与显示器的输入端对应借口接入CPU输出的低电平.从而告诉是哪一个显示器被选中.对应要输出怎么样的段码(信息).方能准确进行数据的显示 3)在DATA设置完以后.就是功能键的自定义设计.这部分将会在物理连线框图里面提出(Part5) 4)进行主程序的编写思路部分,首先是对应4*4

    5、的键盘程序.在按下对应的键位以后.为了能在显示器中正确显示出对应的数值.必须进行扫描,首先是判断是否有按键.如果按得是数字键.那么就要在LED显示管上面对应的位数以及对应的数值进行显示.并且判断数字键之前是否已经按了运算的功能键.从而判断是否要进行运算.如果确认在数字键之前按了运算的功能键.则应该进行运算功能,并且将运算结果存储在内存单元里面.等待下一步的指令.并且重复检测.等到有在物理键上面检测到有等号.则将最终的结果释放在LED管子上进行显示 5)在运算结束后要实行放键功能,并且自动将所有的存储器(这里指的是RAM)上面的数据复位.等待实行重新的运算Part4:程序框图的设计:Part5.

    6、硬件电路设置:Part6.课程设计体会: 一个星期的微机课程设计,在这个星期之中通过不断找资料解决问题,回顾了上学期所学的内容,给了我们很好一个机会将所学内容综合应用实践,温故而知新,对未来的学习也有很大帮助. 但在课程设计之中也还发现一些不足的地方,我发现我能通过设计找出不足,更好的学习.并且给将来的学习提供一个好的解决榜样.所以通过这次程序设计的学习.我觉得我并不仅仅只学习到如何的运用汇编程序按照要求解答问题.而更是学习到了要怎么去思考.怎么去解决问题的方法.并且希望能够将这个所得应用在日后的学习之中.我觉得这才是本次课程设计的核心内容Part7:参考文献:微型计算机系统原理 -(教材)微

    7、型计算机系统程序设计指导书-(实验题目)微型计算机系统程序设计例题A-(实验例题)Part8:实验程序:设计代码part1:显示器工作于查询方式,键盘工作于中断方式 16个按键定义的键值:0-F,安任意键在显示器上现实对应的键值,LED显示器现实数值从右到左逐位现实STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSDATA SEGMENTVA1 DB 0DFH,0EFH,0F7H,0FBH,0FDH,0FEH ;A端口的6根控制线(控制6个LED显示屏)VB2 DB 3FH,3FH,3FH,3FH,3FH,3FHVB3 DB 00H,00H,00H,00H,00

    8、H,00HVB4 DB 00H,00H,00H,00H,00H,00HTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H;0F的显示段码DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DX,0606HMOV AL,88HOUT DX,AL :8255初始化MOV BX,0000H :BX清零STT: :键盘测试MOV AL,00HMOV DX,0600HOUT DX,ALMOV DX,0604HIN A

    9、L,DXAND AL,0F0HCMP AL,0F0HJNZ KEYABCCALL DISP :调用显示程序JMP STTKEYABC: CALL TIME :延时去抖动MOV DX,0604HIN AL,DXAND AL,0F0HCMP AL,0F0H JNZ KEYJMP STTKEY: :键盘扫描识别MOV DX,0600HMOV AL,0FEHOUT DX,ALMOV DX,0604HIN AL,DXKEY_3:TEST AL,10HJNZ KEY_7CALL KEY3JMP STTKKEY_7:TEST AL,20HJNZ KEY_BCALL KEY7JMP STTKKEY_B:TES

    10、T AL,40HJNZ KEY_FCALL KEYBJMP STTKKEY_F:TEST AL,80HJNZ KEY_2CALL KEYFJMP STTKKEY_2:MOV DX,0600HMOV AL,0FDHOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,10HJNZ KEY_6CALL KEY2JMP STTKKEY_6:TEST AL,20HJNZ KEY_ACALL KEY6JMP STTKKEY_A:TEST AL,40HJNZ KEY_ECALL KEYAJMP STTKKEY_E:TEST AL,80HJNZ KEY_1CALL KEYEJMP STT

    11、KKEY_1:MOV DX,0600HMOV AL,0FBHOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,10HJNZ KEY_5CALL KEY1JMP STTKKEY_5:TEST AL,20HJNZ KEY_9CALL KEY5JNP STTKKEY_9:TEST AL,40HJNZ KEY_DCALL KEY9JMP STTKKEY_D:TEST AL,80HJNZ KEY_0CALL KEYDJMP STTKKEY_0:MOV DX,0600HMOV AL,0F7HOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,10HJNZ KE

    12、Y_4CALL KEY0CALL STTKKEY_4:TEST AL,20HJNZ KEY_8CALL KEY4JMP STTKKEY_8:TEST AL,40HJNZ KEY_CCALL KEY8JMP STTKKEY_C:TEST AL,80HJNZ KEY_GCALL KEYCKEY_G:JMP STTKKEY0:CALL LP1MOV AL,3FHMOV SI+5,ALMOV AL,00HMOV DI+5,ALCALL DISPRETKEY1:CALL LP1MOV AL,06HMOV SI+5,ALMOV AL,01HMOV DI+5,ALCALL DISPRETKEY2:CALL

    13、LP1MOV AL,5BHMOV SI+5,ALMOV AL,02HMOV DI+5,ALCALL DISPRETKEY3:CALL LP1MOV AL,4FHMOV SI+5,ALMOV AL,03HMOV DI+5,ALCALL DISPRETKEY4:CALL LP1MOV AL,66HMOV SI+5,ALMOV AL,04HMOV DI+5,ALCALL DISPRETKEY5:CALL LP1MOV AL,6DHMOV SI+5,ALMOV AL,05HMOV DI+5,ALCALL DISPRETKEY6:CALL LP1MOV AL,7DHMOV SI+5,ALMOV AL,0

    14、6HMOV DI+5,ALCALL DISPRETKEY7:CALL LP1MOV AL,07HMOV SI+5,ALMOV AL,07HMOV DI+5,ALCALL DISPRETKEY8:CALL LP1MOV AL,7FHMOV SI+5,ALMOV AL,08HMOV DI+5,ALCALL DISPRETKEY9:CALL LP1MOV AL,6FHMOV SI+5,ALMOV AL,09HMOV DI+5,ALCALL DISPRETKEYA:CALL LP1MOV AL,77HMOV SI+5,ALMOV AL,0AHMOV DI+5,ALCALL DISPRETKEYB:CA

    15、LL LP1MOV AL,7CHMOV SI+5,ALMOV AL,0BHMOV DI+5,ALCALL DISPRETKEYC:CALL LP1MOV AL,39HMOV SI+5,ALMOV AL,0CHMOV DI+5,ALCALL DISPRETKEYD:CALL LP1MOV AL,5EHMOV SI+5,ALMOV AL,0DHMOV DI+5,ALCALL DISPRETKEYE:CALL LP1MOV AL,79HMOV SI+5,ALMOV AL,0EHMOV DI+5,ALCALL DISPRETKEYF:CALL LP1MOV AL,71HMOV SI+5,ALMOV A

    16、L,0FHMOV DI+5,ALCALL DISPRET;上面是键盘键位的设置以及对应子程序的编写LP1: (数据段以为保存子程序,前移6位)MOV SI,0FFSET VA2MOV DI,OFFSET VA3MOV CX,0005HLP2:MOV AL,SI+4MOV SI+5,ALMOV AL,DI+4MOV DI+5,ALDEC SIDEC DILOOP LP2RETDISP: (6位显示程序)MOV SI,OFFSET VA1MOV DI,OFFSET VA2MOV DL,DI+5CMP DL,3FHJNZ DIR5MOV DL,DI+4CMP DL,3FHJNZ DIR4MOV DL

    17、,DI+3CMP DL,3FHJNZ DIR3MOV DL,DI+2CMP DL,3FHJNZ DIR2MOV DL,DI+1CMP DL,3FHJNZ DIR1JMP DIR0DIR5:MOV CX,0006HJMP DIRDIR4:MOV CX,0005HJMP DIRDIR3:MOV CX,0004HJMP DIRDIR2:MOV CX,0003HJMP DIRDIR1:MOV CX,0002HJMP DIRDIR0:MOV CX,0001HDIR:MOV DX,0600HMOV AL,SIOUT DX,ALMOV DX,0602HMOV AL,DIOUT DX,ALCALL TIMEI

    18、NC SIINC DILOOP DIRRETTIME: (延时程序)PUSH AXPUSH CXMOV CX,0005HTIME1:MOV AX,00F0HTIME2:DEC AXJNZ TIME2LOOP TIME1POP CXPOP AXRETSTTK: (按键测试程序)CALL DISPMOV AL,00HMOV DX,0600HOUT DX,ALMOV DX,0604HIN AL,DXAND AL,0F0HCMP AL,0F0HJNZ STTKJMP STTCODE ENDSEND STARTPart2:显示器工作于查询方式,键盘工作于中断方式 定义键盘按键:10个数字键(09); 6

    19、个功能键:+(加),-(减),*(乘),/(除),=(等于),CLEAR(清零) 实现五位八进制数加法运算.可连续做加法.直接按=号结束,显示结果STACK SEGMENT STACK DW 64 DUP(?)STACK ENDSDATA SEGMENT VA1 DB 0DFH,0EFH,0F7H,0FBH,0FDH,0FEH VA2 DB 3FH,3FH,3FH,3FH,3FH,3FH VA3 DB 00H,00H,00H,00H,00H,00H VA4 DB 00H,00H,00H,00H,00H,00H SUM DB 00H,00H,00H,00H,00H,00H TABLE DB 3F

    20、H,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,0606H MOV AL,88H OUT DX,AL MOV BX,0000HSTT: MOV AL,00H MOV DX,0600H OUT DX,AL MOV DX,0604H IN AL,DX AND AL,0F0H CMP AL,0F0H JNZ KEYABC CALL DISP JMP STTKEYABC:

    21、CALL DELAY MOV DX,0604H IN AL,DX AND AL,0F0H CMP AL,0F0H JNZ KEY JMP STT KEY: MOV DX,0600H MOV AL,0FEH OUT DX,AL MOV DX,0604H IN AL,DX KEY_0: TEST AL,10H JNZ KEY_1 CALL KEY0 JMP STTK KEY_1: TEST AL,20H JNZ KEY_4 CALL KEY1 JMP STTK KEY_4: TEST AL,40H JNZ KEY_7 CALL KEY4 JMP STTK KEY_7: TEST AL,80H JN

    22、Z KEY2C CALL KEY7 JMP STTKKEY2C: MOV DX,0600H MOV AL,0FDH OUT DX,AL MOV DX,0604H IN AL,DX KEY_CLEAR:TEST AL,10H JNZ KEY_2 CALL KEYCLEAR JMP STTKKEY_2: TEST AL,20H JNZ KEY_5 CALL KEY2 JMP STTKKEY_5: TEST AL,40H JNZ KEY_8 CALL KEY5 JMP STTK KEY_8: TEST AL,80H JNZ KEY3C CALL KEY8 JMP STTK KEY3C: MOV DX

    23、,0600H MOV AL,0FBH OUT DX,AL MOV DX,0604H IN AL,DXKEY_QUAL: TEST AL,10H JNZ KEY_3 CALL KEYEQUAL JMP STTK KEY_3: TEST AL,20H JNZ KEY_6 CALL KEY3 JMP STTK KEY_6: TEST AL,40H JNZ KEY_9 CALL KEY6 JMP STTK KEY_9: TEST AL,80H JNZ KEY4C CALL KEY9 JMP STTK KEY4C: MOV DX,0600H MOV AL,0F7H OUT DX,AL MOV DX,06

    24、04H IN AL,DX KEY_PLUS: TEST AL,10H JNZ KEY_MINUS CALL KEYPLUS JMP STTK KEY_MINUS: TEST AL,20H JNZ KEY_MUL JMP STTKKEY_MUL: TEST AL,40H JNZ KEY_DIV JMP STTKKEY_DIV: TEST AL,80H KEY_G: JMP STTK;结束按键扫描,下面是按键处理函数(与第一个程序不同的地方是功能键的设置问题)KEY0: CMP BH,00H JZ KEY0_1 CALL CLEARKEY0_1: CALL LP1 MOV AL,3FH MOV S

    25、I+4,AL MOV AL,00H MOV DI+4,AL CALL DISP RETKEY1: CMP BH,00H JZ KEY1_1 CALL CLEARKEY1_1: CALL LP1 MOV AL,06H MOV SI+4,AL MOV AL,01H MOV DI+4,AL CALL DISP RET KEY2: CMP BH,00H JZ KEY2_1 CALL CLEARKEY2_1: CALL LP1 MOV AL,5BH MOV SI+4,AL MOV AL,02H MOV DI+4,AL CALL DISP RET KEY3: CMP BH,00H JZ KEY3_1 CA

    26、LL CLEARKEY3_1: CALL LP1 MOV AL,4FH MOV SI+4,AL MOV AL,03H MOV DI+4,AL CALL DISP RET KEY4: CMP BH,00H JZ KEY4_1 CALL CLEARKEY4_1:CALL LP1 MOV AL,66H MOV SI+4,AL MOV AL,04H MOV DI+4,AL CALL DISP RET KEY5: CMP BH,00H JZ KEY5_1 CALL CLEARKEY5_1: CALL LP1 MOV AL,6DH MOV SI+4,AL MOV AL,05H MOV DI+4,AL CA

    27、LL DISP RET KEY6: CMP BH,00H JZ KEY6_1 CALL CLEARKEY6_1: CALL LP1 MOV AL,7DH MOV SI+4,AL MOV AL,06H MOV DI+4,AL CALL DISP RET KEY7: CMP BH,00H JZ KEY7_1 CALL CLEARKEY7_1: CALL LP1 MOV AL,07H MOV SI+4,AL MOV AL,07H MOV DI+4,AL CALL DISP RET KEY8: CMP BH,00H JZ KEY8_1 CALL CLEARKEY8_1: CALL LP1 MOV AL,7FH MOV SI+4,AL MOV AL,08H MOV DI+4,AL CALL DISP RET KEY9: CMP BH,00H JZ KEY9_1 CALL CLEARKEY9_1: CALL LP1 MOV AL,6FH MOV SI+4,AL MOV AL,09H MOV DI+4,AL CALL DISP RET KE


    注意事项

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

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




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

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

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


    收起
    展开