版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计课程名称微机课程设计题目名称 计算器( 1) 学生学院 自动化学院 专业班级学号学生姓名指导教师 李传芳2013 年 10 月 17 日广东工业大学课程设计任务书题目名称 计算器( 1)学生学院 自动化专业班级姓名学号、课程设计的目的1、巩固和加深对微机原理及应用 课程内容的认识和理解, 提高应用水平;2、掌握汇编语言程序的编程方法;3、熟悉键盘控制和七段数码管的使用。、课程设计的内容1. 在显示器上显示六位十六进制数: 5 6 7 A B C 。2将 8 个健按实验室要求定义健值,按任意键在显示器上显示对应键值, 要求显示值能够实现左移功能:AB9346FC3. 实现: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
3、月 14 日 指导教师签名:计划完成日期: 2013 年 10 月 18 日基层教学单位责任人签章:主管院长签章:目录一、源程序 6 1程序一 61.1 题目 61.2 流程图 61.3 源程序 62程序二 72.1 题目 72.2 流程图 82.3 源程序 9 3程序三 113.1 题目 113.2 流程图 123.3 源程序 11二、心得与体会 19三、参考文献 191. 程序一1.1 在显示器上显示六位十六进制数: 5 6 7 A B C1.2 流程图 .1.3 源程序:STACK SEGMENT STACKDW 32 DUP(?)STACK ENDSDATA SEGMENTSHUJU
4、DB 0FCH,06H,0DAH,0F2H,66H,0B6H,0BEH,0E0H; 数码管的位选DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH;设置 0 F的十六位数码管段码VA1 DB 0FEH,OFDH,0FBH,0F7H,0EFH,0DFFVA2 DB 05H,06H,07H,0AH,0BH,0CH ;设置四位查询位 DATA ENDSMOV DX,0604HCODE SEGMENTASSUMEOUT DX,ALCS:CODE,DS:DATA,S:SSTACKSTART: MOV AX,DATAMOV DS,AXMOV DX,0606HMOV AL,80H ;
5、 8255初始化OUT DX,ALA: LEA SI,VA2LEA DI,VA1MOV CX,0006HA1: MOV DX,0600HMOV AL,0FFHOUT DX,ALMOV AL,DIMOV BX,OFFSET SHUJUXLAT SHUJU ;查表取出数码管的段码END START2. 程序一MOV DX,0600H;查表的段码送 A口显示 MOV AL,SI OUT DX,AL CALL DALLY INC SI INC DILOOP A1JMP ADALLY: PUSH CX ;延时程序MOV CX,0001HA3: MOV AX,00FFHA4: DEC AXJNZ A4LO
6、OP A3POP CXRETCODE ENDS按任意键在显示器上显示对应键值,2.1 题目:将 8 个健按实验室要求定义健值 要求显示值能够实现左移功能:AB9346FC2.2流程图 .2.3 源程序:STACK SEGMENT STACKDW 32 DUP (?) STACK ENDS DATA SEGMENT TABLE DB 0FCH,06H,0DAH,0F2H,66H,0B6H,0BEH,0E0HDB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EHVA1 DB 0FEH,OFDH,0FBH,0F7H,0EFH,0DFFVA2 DB 0FCH,0FCH,0FCH,0
7、FCH,0FCH,0FCHVA3 DB 00H,00H,00H,00H,00H,00H,00HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DX,0606HMOV AL,82HOUT DX,AL;8255初始化MOV BX,0000HSTT: MOV AL,00H;键盘测试MOV DX,0600HOUT DX,ALMOV DX,0602HIN AL,DXAND AL,18HCMP AL,18HJNZ KEYABCCALL DISP;调用显示程序JMP STTKEYABC: CALL TIME
8、;延时,去抖动MOV DX,0602HIN AL,DXAND AL,18HCMP AL,18HJNZ KEYJMP STTKEY: MOV DX,0600HMOV AL,0FEH ;键盘扫描识别OUT DX,AL MOV DX,0602H IN AL,DX TEST AL,08H JNZ KEY_7 CALL KEY0 JMP STTK KEY_7: TEST AL,10HJNZ KEY_2CALL KEY4JMP STTK KEY_2: MOV DX,0600HMOV AL,0FDHOUT DX,AL MOV DX,0602HIN AL,DX TEST AL,08H JNZ KEY_6 CA
9、LL KEY1 JMP STTKKEY_6: TEST AL,10HJNZ KEY_1 CALL KEY5 JMP STTKKEY_1: MOV DX,0600HMOV AL,0FBHOUT DX,AL MOV DX,0602HIN AL,DX TEST AL,08H JNZ KEY_5 CALL KEY2 JMP STTKKEY_5: TEST AL,10HJNZ KEY_0 CALL KEY6 JMP STTKKEY_0: MOV DX,0600H MOV AL,0F7H OUT DX,AL MOV DX,0602HIN AL,DXTEST AL,08H JNZ KEY_4 CALL KE
10、Y3JMP STTKKEY_4: TEST AL,10HJNZ KEY_C1CALL KEY7 KEY_C1: JMP STTK;按键 0处理子程序KEY0: CALL LP1MOV AL,0EEHMOV SI+5,AL MOV AL,00HMOV DI+5,AL CALL DISPRET;按键 1处理子程序KEY1: CALL LP1 MOV AL,3EHMOV SI+5,ALMOV AL,01HMOV DI+5,AL CALL DISPRET;按键 2处理子程序KEY2: CALL LP1MOV AL,0F6HMOV SI+5,ALMOV AL,02HMOV DI+5,ALCALL DIS
11、PRET;按键 3处理子程序KEY3: CALL LP1MOV AL,0F2HMOV SI+5,ALMOV AL,03HMOV DI+5,ALCALL DISP;显示;返回;显示;返回;显示;返回显示RET;返回RET;返回;显示;返回;显示;按键 4处理子程序KEY4: CALL LP1MOV AL,66HMOV SI+5,ALMOV AL,04HMOV DI+5,ALCALL DISP;显示RET ;返回;按键 5处理子程序KEY5: CALL LP1MOV AL,0BEHMOV SI+5,ALMOV AL,05HMOV DI+5,ALCALL DISP;显示RET ;返回;按键 6处理子
12、程序KEY6: CALL LP1MOV AL,8EHMOV SI+5,ALMOV AL,06HMOV DI+5,ALCALL DISPRET;按键 7处理子程序KEY7: CALL LP1MOV AL,9CHMOV SI+5,ALMOV AL,07HMOV DI+5,ALCALL DISP;数据移位保存子程序LP1: MOV SI,OFFSET VA2 MOV DI,OFFSET VA3 MOV CX,0005HLP2: MOV AL,SI+4MOV SI+5,ALMOV AL,DI+4MOV DI+5,ALDEC SIDEC DILOOP LP2RET;显示子程序DISP: MOV SI,O
13、FFSET VA1 MOV DI,OFFSET VA2 MOV DL,DI+5 CMP DL,0FCH JNZ DIR5MOV DL,DI+4CMP DL,0FCH JNZ DIR4MOV DL,DI+3CMP DL,0FCH JNZ DIR3MOV DL,DI+2CMP DL,0FCH JNZ DIR2 MOV DL,DI+1 CMP DL,0FCH JNZ DIR1 JMP DIR0DIR5: MOV CX,0006HJMP DIRDIR4: MOV CX,0005HJMP DIRDIR3: MOV CX,0004HJMP DIRDIR2: MOV CX,0003H10JMP DIRDIR
14、1: MOV CX,0002HJMP DIRDIR0: MOV CX,0001H DIR: MOV DX,0600HMOV AL,SI OUT DX,ALMOV DX,0604H MOV AL,DI OUT DX,AL CALL TIME INC SI INC DI LOOP DIR RET;延时程序TIME: PUSH AX PUSH CX MOV CX,0005HTIME1: MOV AX,00F0HTIME2: DEC AXJNZ TIME2LOOP TIME1POP CXPOP AXRET;放键测试程序 STTK: CALL DISPMOV AL,00HMOV DX,0600HOUT
15、DX,ALMOV DX,0602H IN AL,DX AND AL,18H CMP AL,18H JNZ STTK JMP STT CODE ENDSEND START3. 程序一3.1 题目:实现:除号÷,等a)定义键盘按键, 13个为数字键 0-F ,3个功能键:加号 +, 号;b)可进行四位 10 进制加法运算;c)可进行四位 16 进制除法运算。3.2 流程图113.3 源程序:STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSDATA SEGMENTVA1 DB 0DFH,0EFH,0F7H,0FDH,0FEH,VA2 DB 0FC,0FCH
16、,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCHVAR3DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00HVAR4DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00HTABLDB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0FEH,0F6H,DB 0EEH,3EH,9CH,7AH,9EH,8EHDATA ENDS12CODE : SEGMENTASSUME CS:CODE,DS,DA TASTART:MOV AX,DATAMOV DS,AXMOV DX,0606HMOV A
17、L ,82HOUT DX,ALMOV BX,0000HSTT: MOV AL,00HMOV DX,0600HOUT DX,ALOUT DX,0602HIN AL,DXAND AL,78HCMP AL,78HJNZ KEYABCCALL DISPJMP STTKEYABC:CALL TIMEMOV DX,0602HIN AL,DXAND AL,78HCMP AL,78HJNZ KEYJMP STT; 第一列键盘扫描;按键键码确定程序 ,采用扫描法确定按键 的键码KEY: MOV DX,0600HMOV AL,OFEHOUT DX,ALMOV DX,0602HIN AL,DXTEST AL,08H
18、JNZ KEY_BCALL KEYFJMP STTKKEY_B:TEST AL,10HJNZ KEY_7CALL KEYBJMP STTKKEY_7:TEST AL,20HJNZ KEY_JIACALL KEY7 JMP STTK KEY_JIA:TEST AL,40H JNZ KEY_E CALL KEYABB JMP STTK; 第二列键盘扫描 KEY_E:MOV DX,0600HMOV AL,OFDH OUT DX,ALMOV DX,0602H IN AL,DX TEST AL,08H JNZ KEY_A CALL KEYF JMP STTK KEY_A:TEST AL,10HJNZ K
19、EY_6CALL KEYA JMP STTK KEY_6:TEST AL,20HJNZ KEY_JIACALL KEY6 JMP STTK KEY_2:TEST AL,40HJNZ KEY_DCALL KEYCHU JMP STTK第三列键盘扫描 KEY_D:MOV DX,0600HMOV AL,OFBHOUT DX,ALMOV DX,0602HIN AL,DXTEST AL,08HJNZ KEY_9CALL KEYD JMP STTK KEY_9:TEST AL,10H13JNZ KEY_5CALL KEY9 JMP STTK KEY_5:TEST AL,20HJNZ KEY_1CALL K
20、EY5 JMP STTK KEY_1:TEST AL,40HJNZ KEY_D CALL KEYDEN JMP STTK; 第四列键盘扫描KEY_C:MOV DX,0600HMOV AL,OFBHOUT DX,ALMOV DX,0602HIN AL,DXTEST AL,08HJNZ KEY_8CALL KEY8JMP STTKKEY_8:TEST AL,10HJNZ KEY_4CALL KEY8JMP STTKKEY_4:TEST AL,20HJNZ KEY_3CALL KEY4JMP STTKKEY_3:TEST AL,40HJNZ KEY_CCALL KEYCHUJMP STTKKEY_C
21、1:JMP STTK; 每一个子程序KEYF:CMP BH,00H ;按键 F 处理子程序JZ KEYF_1CALL CLEARKEYF_1:CALL LP1MOV AL,8EHMOV SI+5,ALMOV AL,0FHMOV DI+5,ALCALL DISPRETKEYB:CMP BH,00H ;按键 B 处理子程序JZ KEYF_BCALL CLEARKEYB_1:CALL LP1MOV AL,3EHMOV SI+5,ALMOV AL,0BHMOV DI+5,ALCALL DISPRETKEY7:CMP BH,00H ;按键 7 处理子程序JZ KEY7_1CALL CLEARKEY7_1
22、:CALL LP1MOV AL,0E0HMOV SI+5,ALMOV AL,07HMOV DI+5,ALCALL DISPRETKEYADD:CMP BH,00H;按键 + 处理子程序JZ KEYADD_1CALL CLEARKEYADD_1:MOV BX,0101HRET; 每一个子程序KEYE:CMP BH,00H ;按键 E 处理子程序JZ KEYE_1CALL CLEARKEYE_1:CALL LP1MOV AL,9EHMOV SI+5,ALMOV AL,0EHMOV DI+5,ALCALL DISPRET14KEYA: ;按键 A 处理子程序CMP BH,00HJZ KEYA_1CA
23、LL CLEARKEYA_1:CALL LP1MOV AL,0EEHMOV SI+5,ALMOV AL,0AHMOV DI+5,ALCALL DISPRETKEY6:CMP BH,00H ;按键 6 处理子程序JZ KEY7_1CALL CLEARKEY6_1:CALL LP1MOV AL,0BEHMOV SI+5,ALMOV AL,06HMOV DI+5,ALCALL DISPRETKEYCHU:CMP BH,00H ;按键 /处理子程序JZ KEYADD_1CALL CLEARKEYCHU_1:MOV BX,0102HRET; 每一个子程序KEYD:CMP BH,00H ;按键 =处理子程
24、序JZ KEYD_1CALL CLEARKEYD_1:CALL LP1MOV AL,7AHMOV SI+5,ALMOV AL,0DHMOV DI+5,ALCALL DISPRETKEY9:CMP BH,00H ;按键 9 处理子程序JZ KEYF_B CALL CLEARKEY9_1:CALL LP1MOV AL,0F6HMOV SI+5,ALMOV AL,09HMOV DI+5,AL CALL DISPRETKEY5:CMP BH,00H ; JZ KEY7_1 CALL CLEARKEY5_1:CALL LP1MOV AL,0B6HMOV SI+5,ALMOV AL,05HMOV DI+5
25、,AL CALL DISPRETKEYDEN:MOV BH,01H ; CMP BL,01HJZ K1CMP BL,02HJMP CLEAR ;STTE: RETK1:CALL ADD1JMP STTEK2: CALL CHUJMP STTE按键 5 处理子程序按键 =处理子程序不进行运算时就清零15KEYC:CMP BH,00HJZ KEYC_1CALL CLEARKEYC_1:CALL LP1MOV AL,9CHMOV SI+5,ALMOV AL,0CHMOV DI+5,AL CALL DISP RET KEY8:CMP BH,00HJZ KEYF_B每一个子程序;按键 C 处理子程序按键
26、 8 处理子程序MOV BH,00HRET;4 位十六进制加法子程序 ADD1:LEA SI,DATA3LEA DI,DA TA4CLCMOV CX,0004H ADD2:MOV AL,DIADD AL,SI CMP AL,10H JL ADD3 SUB AL,10HMOV BL,01HADD DI+1,BLADD3:MOV DI,ALINC SIINC DI LOOP ADD2CALL CHANGE CALL DISPRET;4位10 进制除法子程序CHU: MOV SI,OFFSET V A3MOV DI,OFFSET V A4CLCMOV CL,04HMOV AL,DI+3 SHL AL
27、,CL ADD AL,DI+2 MOV AH,ALMOV AL,DI+1 SHL AL,CL ADD AL,DIMOV BL,SI+3 SHL BL,CLADD BL,SI+2 MOV BH,BLMOV BL,SI+1 SHL BL,CL ADD BL,SI XOR DX,DXCALL CLEARKEY8_1:CALL LP1MOV AL,0FEHMOV SI+5,ALMOV AL,08HMOV DI+5,ALCALL DISP RETKEY4:CMP BH,00H ;按键 4 处理子程序 JZ KEY7_1CALL CLEARKEY4_1:CALL LP1MOV AL,66HMOV SI+5
28、,ALMOV AL,04HMOV DI+5,ALCALL DISP RETKEY3:CMP BH,00H ;按键 3 处理子程序JZ KEY3_1CALL CLEARKEY3_1:CALL LP1MOV AL,0F2HMOV SI+5,ALMOV AL,03HMOV DI+5,ALCALL DISP RET;数据清零子程序CLEAR: MOV SI,OFFSET VA2MOV DI,OFFSET V A3MOV CX,000AHCLEAR1: MOV AL,0FCHMOV SI,ALMOV AL,00HMOV DI,ALINC SIINC DILOOP CLEAR116DIV DXMOV BX
29、,AXAND BH,0F0HCMP DL,0FCHJNZ DIR5MOV DL,DI+4CMP DL,0FCHSHR BH,CLAND AH,0F0HJNZ DIR4SHR BL,CLMOV DL,DI+3AND AL,0F0HCMP DL,0FCHMOV DI+3,BHJNZ DIR3MOV DI+2,AHMOV DL,DI+2MOV DI+1,BLCMP DL,0FCHMOV DI,ALJNZ DIR2CALL CHANGEMOV DL,DI+1CALL DISPCMP DL,0FCHRETJNZ DIR1JMP DIR0CHANGE:MOV SI,OFFSET V A2MOV DI,OF
30、FSET V A4JMP DIR0MOV BX,OFFSET TABLDIR5:MOV CX,0006HMOV CX,0006HJMP DIRCOMP0:MOV AL,DIXLATDIR4:MOV CX,0005HMOV SI,ALJMP DIRINC SIDIR3:MOV CX,0004HINC DIJMP DIRLOOP COMP0DIR2:MOV CX,0003HRETJMP DIRDIR1:MOV CX,0002HJMP DIR;保存上一次数据子程序DIR0:MOV CX,0001HLP3:MOV CX,0006HDIR:MOV AL,SIMOV SI,OFFSET V A3OUT 60H,ALMOV DI,OFFSET V A4MOV AL,DILP4:MOV AL,SIOUT 61H,ALMOV DI,ALCALL TIMEINC SIINC SIINC DIINC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 47171-2026烟花爆竹吐珠
- 2026年人形机器人“夏澜”在深圳市养老护理院互动实践案例复盘
- 湖南省长沙市明徳旗舰2025-2026学年初三下学期二模考试生物试题试卷含解析
- 江苏省通州区金郊初级中学2025-2026学年下学期初三生物试题第二次月考考试试卷含解析
- 2026年湖南省怀化市初三下学期(5月)三调化学试题试卷含解析
- 山东省临沂市罗庄区、河东区、高新区三区2026届初三元月调研测试生物试题试卷含解析
- 内蒙古阿拉善2026届初三5月月考(二统模拟)生物试题含解析
- 山西省运城市芮城县2025-2026学年初三中考化学试题系列模拟卷(10)含解析
- 2026年地下空间空气品质保障与通风空调设计
- 2026年浙江省温州市苍南县初三下学期化学试题分类汇编含解析
- T/CECS 10214-2022钢面镁质复合风管
- 绿色船舶拆除-绿色船舶拆除技术
- 马工程西方经济学(精要本第三版)教案
- 北京市朝阳区2024-2025学年高三下学期一模试题化学试卷(含答案)
- 2025年江苏财经职业技术学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2025年江苏农林职业技术学院高职单招(数学)历年真题考点含答案解析
- 企业事故隐患内部报告奖励制度
- 大连重工:中企华评报字(2024)第5436号资产评估报告
- 【人教版化学】选择性必修2 知识点默写小纸条(空白默写版)
- JBT 14449-2024 起重机械焊接工艺评定(正式版)
- 农村土地转让协议正规版范本合集
评论
0/150
提交评论