微型计算机原理及其应用课程设计_第1页
微型计算机原理及其应用课程设计_第2页
微型计算机原理及其应用课程设计_第3页
微型计算机原理及其应用课程设计_第4页
微型计算机原理及其应用课程设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1课 程 设 计课程名称 微机课程设计 题目名称_ 计算器 学生学院_ _ 自动化_专业班级_ 13 自动化()班_ 学 号 学生姓名_ _ _指导教师_ _ _2015 年 12 月 30 日2实验任务.一.目的1 巩固和加深对微机原理及应用课程内容的认识和理解,提高应用水平;2 掌握汇编语言程序的编程方法;3 熟悉键盘控制和七段数码管的使用。二.设计要求课程设计内容上机编程:1 在显示器上显示任意六位十六进制数;2 将 8 个键按实验室要求定义键值,按任意键在显示器上显示对应键值,要求显示值能左移;3 实现:a) 定义键盘按键,12 个为数字键 1E,4 个功能键:加号,除号,等号,CLEAR 清零键;b) 可进行四位 10 进制加法运算;c) 可进行四位 16 进制除法运算。4 电路框图74LS0774LS07P A 3P A 2P B 7P B 0+ 5 V+ 5 V4 . 7 K 2ABCDEFGDP=D 0D 7A 0C SW RR D4 . 7 K 4P A 1P A 0P C 2P C 3P C 4P C 5P C 6P C 78 2 5 5Y 1Y 2Y 3Y 4X 1X 2X 3X 4X 5X 6A 1X D 0X D 7X A 1X A 2I O W #I O R #I O Y 0系统总线567c l e a r123489BD E5.课程设计报告3目录1.程序一 .41.1 问题: .41.2 代码: .42.程序二 .42.1 问题: .52.2 代码: .53.程序一 .93.1 问题: .93.2 代码: .9二、系统设计说明 .21三、程序流程设计图 .21四、个人总结 .22附录: .2341.程序一1.1 问题:在显示器上显示以下六位十六进制数:1 D 3 B 5 C1.2 代码:STACK SEGMENT STACK DW 64 DUP(?)STACK ENDSDATA SEGMENTTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H ;TABLE DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H; DB 0FEH,0E6H,0EEH,2EH,9CH,7AH,9EH,8EH ;设置 0F 数码管段码VA1 DB 01H,0DH,03H,0BH,05H,0CH DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATA ;8255 初始化MOV DS,AXMOV DX,0606H ;信号线设为 IOY0MOV AL,90H ;端口 A、B 为输出 OUT DX,AL ;DX 为控制端口地址A1: LEA SI,VA1 MOV CX,0006HMOV AL,0FBH ;11111011A2: MOV DX,0604H OUT DX,AL ;B 口上拉?PUSH AX ;利用 AX 移位MOV BX,OFFSET TABLE MOV AL,SIXLAT ; 把以 DS:BX+AL为地址的待查表格的一个字节内容送到 AL 累加器中。;在执行该指令前,将数据表偏移址送 BX 中,将待查字节在数据表的偏移指针送 ALMOV DX,0602HOUT DX,AL ;查表代码送 C 口显示INC SI ;SI+1CALL DALLY POP AXROL AL,1LOOP A2JMP A1DALLY: PUSH CX ;延时MOV CX,0002H5A3: MOV AX,00FFHA4: DEC AXJNZ A4LOOP A3POP CXRETCODE ENDSEND START2.程序二2.1 问题:将 8 个键按实验室要求定义键值,按任意键在显示器上显示对应键值,要求显示值能左移;D 6 2 E5 F 1 02.2 代码:STACK SEGMENT STACKDW 32 DUP(?)STACK ENDSDATA SEGMENTVA1DB 7FH,0BFH,0DFH,0EFH,0F7H,0FBH;VA1 DB 0FBH,0F7H,0EFH,0DFH,0BFH,7FH;VA1 DB 0DFH,0EFH,0F7H,0FBH,0FDH,0FEHVA2 DB 00H,00H,00H,00H,00H,00HTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AL,90H MOV DX,0606H OUT DX,ALMOV BX,0000HSTT: MOV AL,00HMOV DX,0604HOUT DX,ALMOV DX,0600HIN AL,DXAND AL,0CHCMP AL,0CH; AND AL,0C6H; CMP AL,0C6HJNZ KEYXD6CALL DISP JMP STTKEYXD:CALL TIMEMOV DX,0600HIN AL,DXAND AL,0CHCMP AL,0CH; AND AL,0C6H; CMP AL,0C6HJNZ KEY_JIANJMP STTKEY_JIAN:MOV DX,0604HMOV AL,0FBHOUT DX,ALMOV DX,0600HIN AL,DXTEST AL,04HJNZ KEY_DCALL KEY5JMP STTKKEY_D: TEST AL,08HJNZ KEY_FCALL KEYDJMP STTKKEY_F: MOV DX,0604HMOV AL,0F7HOUT DX,ALMOV DX,0600HIN AL,DXTEST AL,04HJNZ KEY_6CALL KEYFJMP STTKKEY_6: TEST AL,08HJNZ KEY_1CALL KEY6JMP STTKKEY_1: MOV DX,0604HMOV AL,0EFHOUT DX,ALMOV DX,0600HIN AL,DXTEST AL,04HJNZ KEY_2CALL KEY1JMP STTKKEY_2: TEST AL,08HJNZ KEY_0CALL KEY27JMP STTKKEY_0: MOV DX,0604HMOV AL,0DFHOUT DX,ALMOV DX,0600HIN AL,DXTEST AL,04HJNZ KEY_ECALL KEY0JMP STTKKEY_E: TEST AL,08HJNZ ABCCALL KEYE ABC: JMP STTK;-KEY0: CALL LP1MOV AL,3FH;-MOV DI+5,ALCALL DISPRET KEY1: CALL LP1MOV AL,06H;-MOV DI+5,ALCALL DISPRETKEY2: CALL LP1MOV AL,5BH;-MOV DI+5,ALCALL DISPRETKEY5: CALL LP1MOV AL,6DH;-MOV DI+5,ALCALL DISPRETKEY6: CALL LP1MOV AL,7DH;-MOV DI+5,ALCALL DISPRET KEYD: CALL LP1MOV AL,5EH;MOV AL,0DH;-MOV DI+5,ALCALL DISPRET 8KEYE: CALL LP1MOV AL,79H;-MOV DI+5,ALCALL DISPRETKEYF: CALL LP1MOV AL,71H;-MOV DI+5,ALCALL DISPRET ;- ;-LP1: MOV DI,OFFSET VA2MOV CX,0005HLP2:MOV AL,DI+4MOV DI+5,ALDEC SIDEC DILOOP LP2RETDISP: MOV SI,OFFSET VA1MOV DI,OFFSET VA2MOV BX,OFFSET TABLEMOV DL,DI+5CMP DL,3FHJNZ DIR5MOV DL,DI+4CMP DL,3FHJNZ DIR4MOV DL,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 DIR DIR3: MOV CX,0004HJMP DIR DIR2: MOV CX,0003HJMP DIRDIR1: MOV CX,0002H9JMP DIR DIR0: MOV CX,0001HDIR : MOV DX,0604HMOV AL,SIOUT DX,ALMOV DX,0602HMOV AL,DIOUT DX,ALCALL TIMEINC SIINC DILOOP DIRRETTIME : PUSH AXPUSH CXMOV CX,0005HTIME1: MOV AX,00F0HTIME2: DEC AXJNZ TIME2LOOP TIME1POP CXPOP AXRET;-STTK: CALL DISPMOV AL,00HMOV DX,0604HOUT DX,ALMOV DX,0600HIN AL,DXAND AL,0CHCMP AL,0CHJNZ STTKJMP STTCODE ENDSEND START 3.程序一3.1 问题:实现:a) 定义键盘按键,12 个为数字键 1E,4 个功能键:加号,除号,等号,CLEAR 清零键;b) 可进行四位 10 进制加法运算;c) 可进行四位 16 进制除法运算。3.2 代码:STACK SEGMENT STACK10DW 32 DUP(?)STACK ENDSDATA SEGMENTVA2 DB 0FCH,0FCH,0FCH,0FCH,0FCH,0FCH;检测非0VA1 DB 7FH,0BFH,0DFH,0EFH,0F7H,0FBH;位选VA3 DB 00H,00H,00H,00H,00H,00HVA4 DB 00H,00H,00H,00H,00H,00HTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H;0-F的显示段选DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AL,90H MOV DX,0606H OUT DX,ALMOV BX,0000H ;初始化8255CALL CLEARSTT: MOV AL,00HMOV DX,0604HOUT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论