




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课 程 设 计 课程名称 微机课程设计 题目名称 计算器(1) 学生学院 自动化学院 专业班级 学 号 学生姓名 指导教师 李传芳 2013 年 10月 17日广东工业大学课程设计任务书题目名称计算器(1)学生学院自动化专业班级 姓 名学 号 一、课程设计的目的1、巩固和加深对微机原理及应用课程内容的认识和理解,提高应用水平;2、掌握汇编语言程序的编程方法;3、熟悉键盘控制和七段数码管的使用。二、课程设计的内容 1.在显示器上显示六位十六进制数:5 6 7 A B C 。2将8个健按实验室要求定义健值,按任意键在显示器上显示对应键值,要求显示值能够实现左移功能:AB9346FC 3.实现:a)
2、定义键盘按键,13个为数字键3-F,3个功能键:加号+,除号÷,等号;b)可进行四位10进制加法运算;c)可进行四位16进制除法运算。三、课程设计应完成的工作1.搜集、整理和研究资料,可参考教材后的实例。2.按电路框图连接电路,编写程序完成各个程序设计要求,并完成调试。3.完成课程设计的报告书一份。四、课程设计进程安排序号设计各阶段内容地点起止日期1领取任务书实2-20410.142收集,整理资料图书馆、宿舍10.153上机编写调试程序实2-20410.15-10.174撰写课程设计报告宿舍10.18五、应收集的资料及主要参考文献发出任务书日期:2013年 10月 14日 指导教师签
3、名:计划完成日期: 2013 年 10月 18日 基层教学单位责任人签章:主管院长签章:目录一、源程序61程序一61.1 题目61.2 流程图61.3 源程序62程序二72.1题目72.2 流程图82.3 源程序93程序三113.1题目113.2流程图123.3源程序11二、心得与体会19三、参考文献191.程序一1.1在显示器上显示六位十六进制数:5 6 7 A B C 。1.2 流程图.1.3源程序:STACK SEGMENT STACK DW 32 DUP(?)STACK ENDSDATA SEGMENTSHUJU DB 0FCH,06H,0DAH,0F2H,66H,0B6H,0BEH,
4、0E0H ;数码管的位选 DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH ;设置0F的十六位数码管段码VA1 DB 0FEH,OFDH,0FBH,0F7H,0EFH,0DFFVA2 DB 05H,06H,07H,0AH,0BH,0CH ;设置四位查询位DATA ENDS18CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV DX,0606H MOV AL,80H ;8255初始化 OUT DX,ALA: LEA SI,VA2 LEA DI,VA1 MOV CX,00
5、06HA1: MOV DX,0600H MOV AL,0FFH OUT DX,AL MOV AL,DI MOV BX,OFFSET SHUJU XLAT SHUJU ;查表取出数码管的段码 MOV DX,0604H OUT DX,AL MOV DX,0600H ;查表的段码送A口显示 MOV AL,SI OUT DX,AL CALL DALLY INC SI INC DI LOOP A1 JMP ADALLY: PUSH CX ;延时程序 MOV CX,0001HA3: MOV AX,00FFHA4: DEC AX JNZ A4 LOOP A3 POP CX RETCODE ENDS END
6、START2. 程序一2.1题目:将8个健按实验室要求定义健值,按任意键在显示器上显示对应键值,要求显示值能够实现左移功能:AB9346FC2.2流程图. 开始8255初始化是否按健显示扫描保存数据是否放键显示扫描NYNY2.3源程序:STACK SEGMENT STACK DW 32 DUP (?)STACK ENDSDATA SEGMENTTABLE DB 0FCH,06H,0DAH,0F2H,66H,0B6H,0BEH,0E0H DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EHVA1 DB 0FEH,OFDH,0FBH,0F7H,0EFH,0DFFVA2 DB
7、0FCH,0FCH,0FCH,0FCH,0FCH,0FCHVA3 DB 00H,00H,00H,00H,00H,00H,00HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,0606H MOV AL,82H OUT DX,AL ;8255初始化 MOV BX,0000HSTT: MOV AL,00H ;键盘测试 MOV DX,0600H OUT DX,AL MOV DX,0602H IN AL,DX AND AL,18H CMP AL,18H JNZ KEYABC CALL DISP
8、 ;调用显示程序 JMP STT;-KEYABC: CALL TIME ;延时,去抖动 MOV DX,0602H IN AL,DX AND AL,18H CMP AL,18H JNZ KEY JMP STTKEY: MOV DX,0600H MOV AL,0FEH ;键盘扫描识别 OUT DX,AL MOV DX,0602H IN AL,DX TEST AL,08H JNZ KEY_7 CALL KEY0 JMP STTKKEY_7: TEST AL,10H JNZ KEY_2 CALL KEY4 JMP STTKKEY_2: MOV DX,0600H MOV AL,0FDH OUT DX,A
9、L MOV DX,0602H IN AL,DX TEST AL,08H JNZ KEY_6 CALL KEY1 JMP STTKKEY_6: TEST AL,10H JNZ KEY_1 CALL KEY5 JMP STTKKEY_1: MOV DX,0600H MOV AL,0FBH OUT DX,AL MOV DX,0602H IN AL,DX TEST AL,08H JNZ KEY_5 CALL KEY2 JMP STTKKEY_5: TEST AL,10H JNZ KEY_0 CALL KEY6 JMP STTKKEY_0: MOV DX,0600H MOV AL,0F7H OUT DX
10、,AL MOV DX,0602H IN AL,DX TEST AL,08H JNZ KEY_4 CALL KEY3 JMP STTKKEY_4: TEST AL,10H JNZ KEY_C1 CALL KEY7KEY_C1: JMP STTK;- ;按键0处理子程序KEY0: CALL LP1 MOV AL,0EEH MOV SI+5,AL MOV AL,00H MOV DI+5,AL CALL DISP ;显示 RET ;返回;- ;按键1处理子程序KEY1: CALL LP1 MOV AL,3EH MOV SI+5,AL MOV AL,01H MOV DI+5,AL CALL DISP ;
11、显示 RET ;返回;-;按键2处理子程序KEY2: CALL LP1 MOV AL,0F6H MOV SI+5,AL MOV AL,02H MOV DI+5,AL CALL DISP ;显示 RET ;返回;-;按键3处理子程序KEY3: CALL LP1 MOV AL,0F2H MOV SI+5,AL MOV AL,03H MOV DI+5,AL CALL DISP ;显示 RET ;返回 ;- ;按键4处理子程序KEY4: CALL LP1 MOV AL,66H MOV SI+5,AL MOV AL,04H MOV DI+5,AL CALL DISP ;显示 RET ;返回 ;- ;按键
12、5处理子程序KEY5: CALL LP1 MOV AL,0BEH MOV SI+5,AL MOV AL,05H MOV DI+5,AL CALL DISP ;显示 RET ;返回 ;-;按键6处理子程序KEY6: CALL LP1 MOV AL,8EH MOV SI+5,AL MOV AL,06H MOV DI+5,AL CALL DISP ;显示 RET ;返回 ;-;按键7处理子程序KEY7: CALL LP1 MOV AL,9CH MOV SI+5,AL MOV AL,07H MOV DI+5,AL CALL DISP ;显示 RET ;返回 ;-;数据移位保存子程序 LP1: MOV
13、SI,OFFSET VA2 MOV DI,OFFSET VA3 MOV CX,0005H 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,DI+3 CMP DL,0FCH JNZ DIR3 MOV DL,DI+2 CMP DL,0FCH JNZ
14、 DIR2 MOV DL,DI+1 CMP DL,0FCH JNZ DIR1 JMP DIR0DIR5: MOV CX,0006H JMP DIRDIR4: MOV CX,0005H JMP DIRDIR3: MOV CX,0004H JMP DIRDIR2: MOV CX,0003H JMP DIRDIR1: MOV CX,0002H JMP DIRDIR0: MOV CX,0001HDIR: MOV DX,0600H MOV AL,SI OUT DX,AL MOV DX,0604H MOV AL,DI OUT DX,AL CALL TIME INC SI INC DI LOOP DIR R
15、ET;-;延时程序TIME: PUSH AX PUSH CX MOV CX,0005HTIME1: MOV AX,00F0HTIME2: DEC AX JNZ TIME2 LOOP TIME1 POP CX POP AX RET;- ;放键测试程序STTK: CALL DISP MOV AL,00H MOV DX,0600H OUT DX,AL MOV DX,0602H IN AL,DX AND AL,18H CMP AL,18H JNZ STTK JMP STTCODE ENDS END START 3.程序一3.1题目:实现:a)定义键盘按键,13个为数字键0-F,3个功能键:加号+,除号
16、÷,等号;b)可进行四位10进制加法运算;c)可进行四位16进制除法运算。3.2 流程图 开始8255初始化有无压键显示扫描是数字键?标有志?加号?除号?设加好标志设除好标志清零显示器,清标志位保存数据放键?显示扫描清零显示器进行加、乘运算,存结果等号?YYYYYYYNNNNNN3.3源程序:STACK SEGMENT STACK DW 64 DUP(?)STACK ENDSDATA SEGMENT VA1 DB 0DFH,0EFH,0F7H,0FDH,0FEH, VA2 DB 0FC,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH VAR3
17、 DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H VAR4 DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H TABL DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0FEH,0F6H, DB 0EEH,3EH,9CH,7AH,9EH,8EHDATA ENDSCODE:SEGMENT ASSUME CS:CODE,DS,DATA START:MOV AX,DATA MOV DS,AX MOV DX,0606H MOV AL ,82H OUT DX,AL MOV BX,0000H STT: MOV
18、 AL,00H MOV DX,0600H OUT DX,AL OUT DX,0602H IN AL,DX AND AL,78H CMP AL,78H JNZ KEYABC CALL DISP JMP STTKEYABC:CALL TIME MOV DX,0602H IN AL,DX AND AL,78H CMP AL,78H JNZ KEY JMP STT;-第一列键盘扫描;按键键码确定程序,采用扫描法确定按键的键码KEY: MOV DX,0600H MOV AL,OFEH OUT DX,AL MOV DX,0602H IN AL,DX TEST AL,08H JNZ KEY_B CALL K
19、EYF JMP STTK KEY_B:TEST AL,10H JNZ KEY_7 CALL KEYB JMP STTK KEY_7:TEST AL,20H JNZ KEY_JIA CALL KEY7 JMP STTK KEY_JIA:TEST AL,40H JNZ KEY_E CALL KEYABB JMP STTK ;- ; 第二列键盘扫描 KEY_E:MOV DX,0600H MOV AL,OFDH OUT DX,AL MOV DX,0602H IN AL,DX TEST AL,08H JNZ KEY_A CALL KEYF JMP STTK KEY_A:TEST AL,10H JNZ K
20、EY_6 CALL KEYA JMP STTK KEY_6:TEST AL,20H JNZ KEY_JIA CALL KEY6 JMP STTK KEY_2:TEST AL,40H JNZ KEY_D CALL KEYCHU JMP STTK ;- ; 第三列键盘扫描 KEY_D:MOV DX,0600H MOV AL,OFBH OUT DX,AL MOV DX,0602H IN AL,DX TEST AL,08H JNZ KEY_9 CALL KEYD JMP STTK KEY_9:TEST AL,10H JNZ KEY_5 CALL KEY9 JMP STTK KEY_5:TEST AL,
21、20H JNZ KEY_1 CALL KEY5 JMP STTK KEY_1:TEST AL,40H JNZ KEY_D CALL KEYDEN ;等号 JMP STTK ;- ; 第四列键盘扫描KEY_C:MOV DX,0600H MOV AL,OFBH OUT DX,AL MOV DX,0602H IN AL,DX TEST AL,08H JNZ KEY_8 CALL KEY8 JMP STTK KEY_8:TEST AL,10H JNZ KEY_4 CALL KEY8 JMP STTK KEY_4:TEST AL,20H JNZ KEY_3 CALL KEY4 JMP STTK KEY_
22、3:TEST AL,40H JNZ KEY_C CALL KEYCHU JMP STTK KEY_C1:JMP STTK;- 每一个子程序 KEYF:CMP BH,00H ;按键F处理子程序 JZ KEYF_1 CALL CLEARKEYF_1: CALL LP1 MOV AL,8EH MOV SI+5,AL MOV AL,0FH MOV DI+5,AL CALL DISP RETKEYB:CMP BH,00H ;按键B处理子程序 JZ KEYF_B CALL CLEARKEYB_1: CALL LP1 MOV AL,3EH MOV SI+5,AL MOV AL,0BH MOV DI+5,AL
23、 CALL DISP RET KEY7:CMP BH,00H ;按键7处理子程序 JZ KEY7_1 CALL CLEARKEY7_1: CALL LP1 MOV AL,0E0H MOV SI+5,AL MOV AL,07H MOV DI+5,AL CALL DISP RET KEYADD:CMP BH,00H ;按键+处理子程序 JZ KEYADD_1 CALL CLEARKEYADD_1: MOV BX,0101H RET;- 每一个子程序 KEYE:CMP BH,00H ;按键E处理子程序 JZ KEYE_1 CALL CLEARKEYE_1: CALL LP1 MOV AL,9EH M
24、OV SI+5,AL MOV AL,0EH MOV DI+5,AL CALL DISP RETKEYA: ;按键A处理子程序CMP BH,00H JZ KEYA_1 CALL CLEARKEYA_1: CALL LP1 MOV AL,0EEH MOV SI+5,AL MOV AL,0AH MOV DI+5,AL CALL DISP RET KEY6:CMP BH,00H;按键6处理子程序 JZ KEY7_1 CALL CLEARKEY6_1: CALL LP1 MOV AL,0BEH MOV SI+5,AL MOV AL,06H MOV DI+5,AL CALL DISP RET KEYCHU
25、:CMP BH,00H;按键/处理子程序 JZ KEYADD_1 CALL CLEARKEYCHU_1: MOV BX,0102H RET ;- 每一个子程序 KEYD:CMP BH,00H;按键=处理子程序 JZ KEYD_1 CALL CLEARKEYD_1: CALL LP1 MOV AL,7AH MOV SI+5,AL MOV AL,0DH MOV DI+5,AL CALL DISP RETKEY9:CMP BH,00H;按键9处理子程序 JZ KEYF_B CALL CLEARKEY9_1: CALL LP1 MOV AL,0F6H MOV SI+5,AL MOV AL,09H MO
26、V DI+5,AL CALL DISP RET KEY5:CMP BH,00H;按键5处理子程序 JZ KEY7_1 CALL CLEARKEY5_1: CALL LP1 MOV AL,0B6H MOV SI+5,AL MOV AL,05H MOV DI+5,AL CALL DISP RET KEYDEN:MOV BH,01H;按键=处理子程序 CMP BL,01H JZ K1 CMP BL,02H JMP CLEAR ;不进行运算时就清零 STTE: RET K1:CALL ADD1 JMP STTE K2: CALL CHU JMP STTE;- 每一个子程序 KEYC:CMP BH,00
27、H;按键C处理子程序 JZ KEYC_1 CALL CLEARKEYC_1: CALL LP1 MOV AL,9CH MOV SI+5,AL MOV AL,0CH MOV DI+5,AL CALL DISP RETKEY8:CMP BH,00H;按键8处理子程序 JZ KEYF_B CALL CLEARKEY8_1: CALL LP1 MOV AL,0FEH MOV SI+5,AL MOV AL,08H MOV DI+5,AL CALL DISP RET KEY4:CMP BH,00H ;按键4处理子程序 JZ KEY7_1 CALL CLEARKEY4_1: CALL LP1 MOV AL,
28、66H MOV SI+5,AL MOV AL,04H MOV DI+5,AL CALL DISP RET KEY3:CMP BH,00H;按键3处理子程序 JZ KEY3_1 CALL CLEARKEY3_1: CALL LP1 MOV AL,0F2H MOV SI+5,AL MOV AL,03H MOV DI+5,AL CALL DISP RET;- -;数据清零子程序CLEAR: MOV SI,OFFSET VA2 MOV DI,OFFSET VA3 MOV CX,000AHCLEAR1: MOV AL,0FCH MOV SI,AL MOV AL,00H MOV DI,AL INC SI
29、INC DI LOOP CLEAR1 MOV BH,00H RET ;-;4位十六进制加法子程序 ADD1:LEA SI,DATA3 LEA DI,DATA4CLCMOV CX,0004HADD2:MOV AL,DIADD AL,SICMP AL,10HJL ADD3SUB AL,10HMOV BL,01HADD DI+1,BLADD3:MOV DI,ALINC SIINC DILOOP ADD2CALL CHANGECALL DISPRET ;- ;4位10进制除法子程序CHU: MOV SI,OFFSET VA3 MOV DI,OFFSET VA4 CLC MOV CL,04H MOV A
30、L,DI+3 SHL AL,CL ADD AL,DI+2 MOV AH,AL MOV AL,DI+1 SHL AL,CL ADD AL,DI MOV BL,SI+3 SHL BL,CL ADD BL,SI+2 MOV BH,BL MOV BL,SI+1 SHL BL,CL ADD BL,SI XOR DX,DX DIV DX MOV BX,AX AND BH,0F0H SHR BH,CL AND AH,0F0H SHR BL,CL AND AL,0F0H MOV DI+3,BH MOV DI+2,AH MOV DI+1,BL MOV DI,AL CALL CHANGE CALL DISP RE
31、T;-CHANGE: MOV SI,OFFSET VA2 MOV DI,OFFSET VA4 MOV BX,OFFSET TABL MOV CX,0006HCOMP0: MOV AL,DI XLAT MOV SI,AL INC SI INC DI LOOP COMP0 RET ;-;保存上一次数据子程序LP3: MOV CX,0006H MOV SI,OFFSET VA3 MOV DI,OFFSET VA4LP4: MOV AL,SI MOV DI,AL INC SI INC DI LOOP LP4 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,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 JMP DIR0DIR5: MOV CX,0006H JMP DIR DIR4: MOV CX,0005H JMP DIRDIR3: MOV CX,0004H JMP DIRDIR2:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江苏南航金城学院代华南农业大学珠江学院招聘人才备考题库及答案解析
- 2025甘肃陇南市直单位招聘公益性岗位人员的笔试备考试题及答案解析
- 2025福建省特安安全技术服务中心有限公司招聘2人备考题库及答案解析
- 2025贵州观山湖区第十中学临聘教师招聘笔试备考题库及答案解析
- 2025贵阳国家高新区选聘区管国有企业领导人员备考题库及答案解析
- 2025广西南宁市良庆区“点对点”送工和乡村公岗专管员招聘3人笔试备考试题及答案解析
- 2025贵州贵阳市花溪第二中学秋季学期教师招聘8人备考试题及答案解析
- 高密度植被乔木养护管理技术措施
- 2025年传染病传染源追踪与隔离措施评估模拟测试卷答案及解析
- 2025年护理学急救护理流程操作考核模拟考试卷答案及解析
- 湖北省高中名校联盟2026届高三上学期第一次联合测评物理试题(含答案)
- 影楼销售基础知识培训课件
- 第2课+西方国家古代和近代政治制度的演变2025-2026学年高二上学期历史统编版(2019)选择性必修1
- 公钥可搜索加密协议:设计原理、安全分析与前沿探索
- 肿瘤常见急症及处理
- 2025年体彩代销者考试题库
- 田螺姑娘课文讲解
- 云南迪庆香格里拉市招聘治安联防人员80人笔试模拟试题及参考答案详解1套
- 2025中国医药集团有限公司二级子公司及重点三级子公司高管岗位选聘笔试历年参考题库附带答案详解
- 广西田林八渡金矿 资源储量核实报告
- 新版高中物理必做实验目录及器材-(电子版)
评论
0/150
提交评论