计算器---微机实验设计报告)_第1页
计算器---微机实验设计报告)_第2页
计算器---微机实验设计报告)_第3页
计算器---微机实验设计报告)_第4页
计算器---微机实验设计报告)_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、广东工业大学课程设计任务书题目名称 计算器(2)学生学院 自动化学院专业班级电气工程及其自动化姓 名 学 号 一、课程设计的内容1在显示器上显示任意6位十六进制数2.将8个键按实验室要求定义键值,按任意键在显示器上显示对应键值,要求显示值能够左移。3.实现:A)定义键盘按键,8个为数字键0,1,2,3,4,5,6,7和3个功能键:减号-,乘号,等号;B)可进行五位8进制减法运算; C)可进行三位8进制乘法运算。二、课程设计的要求与数据(1)巩固和加深对微机原理课程内容的认识和理解,提高应用水平。(2)掌握汇编语言程序的编制方法。(3)熟悉键盘控制和七段数码管的使用三、课程设计应完成的工作完成线

2、路的接线,编写三个程序并输入电脑中,把程序加载到W86学习机当中,运行程序验证结果。四、课程设计进程安排序号设计各阶段内容地点起止日期1了解键盘的工作原理,编写显示程序微机实验室 实二20610月14日2定义键盘数字和显示数字 微机实验室 实二20610月15日3设计8进制减法和8进制乘法的计算器 微机实验室实二20610月16、17日五、应收集的资料及主要参考文献1 许立锌等编.微型计算机原理及应用.北京:机械工业出版社,20032.许立梓等编微型计算机原理及应用 -习题解答、实验指导及课程设计.北京:机械工业出版社,2003发出任务书日期:2013年10月14日 指导教师签名:计划完成日期

3、: 2013年10月18日 基层教学单位责任人签章: 主管院长签章: 课程设计 1 (1)实现:在显示器上显示6位十六进制数 E F D 1 2 3。 (2)源程序: ;- STACK SEGMENT STACK DW 32 DUP(?) STACK ENDS DATA SEGMENT TABL0 DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H, DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH DATA1 DB 0EH,0FH,0DH,01H,02H,03H DATA2 DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DF

4、H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,0606H MOV AL,90H OUT DX,AL A1: LEA SI,DATA1 LEA DI,DATA2 MOV CX,0006H A2: MOV DX,0602H MOV AL,DI OUT DX,AL MOV DX,0604H MOV BX,OFFSET TABL0 MOV AL,SI XLAT TABL0 OUT DX,AL CALL DALLY INC SI INC DI LOOP L2 JMP A1DALLY:

5、PUSH CX MOV CX,0002H A3: MOV AX,00FFH A4: DEC AX JNZ A4 LOOP A3 POP CX RET CODE ENDS END START ;- 课程设计 2(1)实现:将8个键按实验室要求定义键值,按任意键在显示器上显示对应键值,要求显示值能够左移。键值分布如下: 3 2 F D B C 9 7 (2)源程序: ;- STACK SEGMENT STACK DW 64 DUP (?) STACK ENDS DATA SEGMENT TABL DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H, DB 0FEH,0

6、F6H,0EEH,3EH,9CH,7AH,9EH,8EH VA1 DB 0DFH,0EFH,0F7H,0FBH,0FDH,0FEH VA2 DB 0FCH,0FCH,0FCH,0FCH,0FCH,0FCH VA3 DB 00H,00H,00H,00H,00H00H,00H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV AL,90H MOV DX 0606H OUT DX,AL MOV BX,0000HSTT: MOV AL,00H MOV DX,0602H OUT DX,AL MOV

7、DX,0600H IN AL,DX AND AL,3CH CMP AL,3CH JNZ KEYABC CALL DISP ;调用显示程序 JMP STT;-KEYABC: CALL TIME ;延时,去抖动 MOV DX,0600H IN AL,DX AND AL,3CH CMP AL,3CH JNZ KEY JMP STT KEY: MOV DX,0602H MOV AL,0FEH ;键盘扫描识别 OUT DX,AL MOV DX,0600H IN AL,DX TEST AL,04H JNZ KEY_7 CALL KEY0 JMP STTKKEY_7: TEST AL,08H JNZ KEY

8、_1 CALL KEY4 JMP STTKKEY_1: MOV DX,0602H MOV AL,0FDH OUT DX,AL IN AL,DX TEST AL,04H JNZ KEY_6 CALL KEY1 JMP STTKKEY_6: TEST AL,08H NZ KEY_2 CALL KEY5 JMP STTK KEY_2: MOV DX,0602H MOV AL,0FBH OUT DX,AL MOV DX,0600H IN AL,DX TEST AL,04H JNZ KEY_5 CALL KEY2 JMP STTK KEY_5: TEST AL,08H JNZ KEY_3 CALL KE

9、Y6 JMP STTK KEY_3: MOV DX,0602H MOV AL,0F7H OUT DX,AL MOV DX,0600H IN AL,DX TEST AL,04H JNZ KEY_4 CALL KEY3 JMP STTK KEY_4: TEST AL,08H JNZ KEY_C1 CALL KEY7 KEY_C1: JMP STTK;- KEY0: CALL LP1 ;按键 3处理子程序 MOV AL,0F2H MOV SI+5,AL MOV AL,00H MOV DI+5,AL CALL DISP ;显示 RET ;返回;- KEY1: CALL LP1 MOV AL,0DAH

10、MOV SI+5,AL MOV AL,01H MOV DI+5,AL CALL DISP RET ;- KEY2: CALL LP1 ;按键F处理子程序 MOV AL,8EH MOV SI+5,AL MOV AL,02H MOV DI+5,AL CALL DISP ;显示 RET ;返回;- KEY3: CALL LP1 ; 按键3处理子程序 MOV AL,7AH MOV SI+5,AL MOV AL,03H MOV DI+5,AL CALL DISP ;显示 RET ;返回;- KEY4: CALL LP1 ;按键3处理子程序 MOV AL,3EH MOV SI+5,AL MOV AL,04

11、H MOV DI+5,AL CALL DISP ;显示 RET ;返回;- KEY5: CALL LP1 ;按键B处理子程序 MOV AL,9CH MOV SI+5,AL MOV AL,05H MOV DI+5,AL CALL DISP ;显示 RET ;返回;- KEY6: CALL LP1 ;按键3处理子程序 MOV AL,0F6H MOV SI+5,AL MOV AL,06H MOV DI+5,AL CALL DISP ;显示 RET ;返回;- KEY7: CALL LP1 ;按键3处理子程序 MOV AL,0E0H MOV SI+5,AL MOV AL,07H MOV DI+5,AL

12、 CALL DISP ;显示 RET ;返回;- LP1: MOV SI,OFFSET VA1 MOV DI,OFFSET VA2 MOV CX,0005H ;数据移位保存子程序(前移5位) LP2: MOV AL,SI+4 MOV SI+5,AL MOV AL,DI+4 MOV DI+5,AL DEC SI DEC DI LOOP LP2 RET;- DISP: MOV SI,OFFSET VA1 ;显示子程序 MOV DI,OFFSET VA2 MOV DL,DI+5 CMP DL,0FCH JNZ DIR5 MOV DL,DI+4 CMP DL,0FCH JNZ DIR4 MOV DL,

13、DI+3 CMP DL,0FCH JNZ DIR3 MOV DL,DI+2 CMP DL,0FCH JNZ DIR2 MOV DL,DI+1 CMP DL,0FCH JNZ DIR1 JMP DIR0 DIR5: MOV CX,0006H JMP DIR DIR4: MOV CX,0005H JMP DIR DIR3: MOV CX,0004H JMP DIR DIR2: MOV CX,0003H JMP DIR DIR1: MOV CX,0002H JMP DIR DIR0: MOV CX,0001H DIR: MOV DX,0602H MOV AL,SI OUT DX,AL MOV 060

14、4H MOV AL,DI OUT DX,AL CALL TIME INC SI INC DI LOOP DIR RET;- TIME: PUSH AX ;延时程序 PUSH CX MOV CX,0005H TIME1: MOV AX,00F0H TIME2: DEC AX JNZ TIME2 LOOP TIME1 POP CX POP AX RET;- STTK: CALL DISP ;放键测试程序 MOV AL,00H MOV DX,0602H OUT DX,AL MOV DX,0600H IN AL,DX AND AL,3CH CMP AL,3CH JNZ STTK JMP STT COD

15、E ENDS END START;- 课程设计 3实现:(1)定义键盘按键,8个为数字键0,1,2,,3、4、5、6、7个功能键:减号,乘号*, 等号;(2)可进行五位8进制减法运算;(3)可进行三位8进制乘法运算。源程序:;- STACK SEGMENT STACK DW 64 DUP (?) STACK ENDS DATA SEGMENT TABL DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH VA1 DB 0DFH,0EFH,0F7H,0FBH,0FDH,0FEH VA2 DB

16、 0FCH,0FCH,0FCH,0FCH,0FCH,0FCH VA3 DB 00H,00H,00H,00H,00H00H,00H VA4 DB 00H,00H,00H,00H,00H00H,00H VA5 DB 1,8,64,512,4096 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV AL,90H MOV DX 0606H OUT DX,AL MOV BX,0000HSTT: MOV AL,00H ;键盘测试 MOV DX,0602H OUT DX,AL MOV DX,0600H

17、IN AL,DX AND AL,3CH CMP AL,3CH JNZ KEYABC CALL DISP ;调用显示程序 JMP STT ;- KEYABC: CALL TIME ;延时,去抖动 MOV DX,0600H IN AL,DX AND AL,3CH CMP AL,3CH JNZ KEY_0 JMP STT;-KEY_0: MOV DX,0602H MOV AL,0FEH ;键盘扫描识别 OUT DX,AL MOV DX,0600H IN AL,DX TEST AL,04H JNZ KEY_4 CALL KEY0 JMP STTKKEY_4: TEST AL,08H JNZ KEY_J

18、IAN CALL KEY4 JMP STTKKEY_JIAN: TEST AL,10H JNZ KEY_1 CALL KEYJIAN JMP STTK;- KEY_1: MOV DX,0602H MOV AL,0FDH OUT DX,AL MOV DX,0600H IN AL,DX TEST AL,04H JNZ KEY_5 CALL KEY1 JMP STTK KEY_5: TEST AL,08H JNZ KEY_CHEN CALL KEY5 JMP STTKKEY_CHEN:TEST AL,10H JNZ KEY_2 CALL KEY5 JMP STTK;-KEY_2: MOV DX,06

19、02H MOV AL,0FBH OUT DX,AL MOV DX,0600H IN AL,DX TEST AL,04H JNZ KEY_6 CALL KEY2 JMP STTKKEY_6: TEST AL,08H JNZ KEY_DEN CALL KEY6 JMP STTKKEY_DEN: TEST AL,10H JNZ KEY_3 CALL KEYDEN JMP STTK;-KEY_3: MOV DX,0602H MOV AL,0F7H OUT DX,AL MOV DX,0600H IN AL,DX TEST AL,04H JNZ KEY_7 CALL KEY3 JMP STTKKEY_7:

20、 TEST AL,10H JNZ KEY_C1 CALL KEY7KEY_C1: JMP STTK;- KEY0: CMP BH,00H ;按键 0 处理子程序 JZ KEY0_1 CALL CLEAR KEY0_1: CALL LP1 MOV AL,0FCH MOV SI+5,AL MOV AL,00H MOV DI+5,AL CALL DISP ;显示 RET ;返回;- KEY1: CMP BH,00H ;按键 1 处理子程序 JZ KEY1_1 CALL CLEAR KEY1_1: CALL LP1 MOV AL,60H MOV SI+5,AL MOV AL,01H MOV DI+5,

21、AL CALL DISP ;显示 RET ;返回;- KEY2: CMP BH,00H ;按键 2 处理子程序 JZ KEY2_1 CALL CLEAR KEY2_1: CALL LP1 MOV AL,0DAH MOV SI+5,AL MOV AL,02H MOV DI+5,AL CALL DISP ;显示 RET ;返回;- KEY3: CMP BH,00H ;按键 3 处理子程序 JZ KEY3_1 CALL CLEAR KEY3_1: CALL LP1 MOV AL,0F2H MOV SI+5,AL MOV AL,03H MOV DI+5,AL CALL DISP ;显示 RET ;返回

22、;- KEY4: CMP BH,00H ;按键 4 处理子程序 JZ KEY4_1 CALL CLEAR KEY4_1: CALL LP1 MOV AL,66H MOV SI+5,AL MOV AL,04H MOV DI+5,AL CALL DISP ;显示 RET ;返回;- KEY5: CMP BH,00H ;按键 5 处理子程序 JZ KEY5_1 CALL CLEAR KEY5_1: CALL LP1 MOV AL,0B6H MOV SI+5,AL MOV AL,05H MOV DI+5,AL CALL DISP ;显示 RET ;返回;- KEY6: CMP BH,00H ;按键 6

23、 处理子程序 JZ KEY6_1 CALL CLEAR KEY6_1: CALL LP1 MOV AL,0BEH MOV SI+5,AL MOV AL,06H MOV DI+5,AL CALL DISP ;显示 RET ;返回;- KEY7: CMP BH,00H ;按键 7 处理子程序 JZ KEY7_1 CALL CLEAR KEY7_1: CALL LP1 MOV AL,0E0H MOV SI+5,AL MOV AL,07H MOV DI+5,AL CALL DISP ;显示 RET ;返回;-KEYJIAN: CMP BH,00H ;按键 - 处理子程序 JNZ KEYJIAN_1 C

24、ALL LP3KEYJIAN_1: MOV BX,0101H RET;-KEYCHEN: CMP BH,00H ;按键 * 处理子程序 JNZ KEYCHEN1 CALL LP3KEYCHEN_1: MOV BX,0102H RET;-KEYDEN: MOV BH,01H ;按键 = 处理子程序 CMP BL,01H JZ K1 CMP BL,02H JZ K2 CALL CLEAR STTE: RET K1: CALL JIAN MOV BL,00H JMP STTEK2: CALL CHEN MOV BL,00H JMP STTE;- JIAN: PUSH BX ;5位8进制 减法子程序 MOV SI,OFFSET VA4 MOV DI,OFFSET VA5 MOV CX,5 XOR BX,BX SUB2: MOV AL,SI MOV AH,00H MOV DX,DI MUL DX SUB BX,AX INC SI INC DI INC DI

温馨提示

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

评论

0/150

提交评论