

下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、宣城校区Fi*r*l UntY*r) )ity Of T*rbtiko( (y Xnnchra ampm合肥工业大学宣城校区信息工程系课程设计课程:微机原理与接口技术设计专业班级:学 号:XXXXXX姓 名:XX设计题目及要求模拟计算器运算(加,减,乘,括号)1.1. 通过小键盘做加、减、乘、括号运算。七段数码管显示器作输入 数据和结果数据的显示。2.2. 按键规定:(1) 数字用小键盘 0909 输入。(2) 功能按键设定:A A ” +”B B ”D D, * * ”E_括号”F-= =C C”始运算(包括撤消运算),屏幕显示 0 0”。3.3. 运算要求:(1) 输入一原始数据,显示器跟
2、随显示。(2)按+ + ”、- -” * *”或 括号”时,显示器内容不变。(3) 再输入数据时,显示器跟随显示。(4) 按= =”时,显示器显示最终结果数据。(5) 按 C C”时,屏幕显示 0 0”。(6) 需要考虑运算的优先级问题。(7) 可以只考虑正整数运算,不考虑负数和实数运算。注:输入数据时,若超出显示范围则不响应超出部分。在计算结果超 出显示范围时,则显示 F F”二、设计思想调用键盘扫描子程序不断扫描键盘是不是有输入,如果没有就一直 扫描,如果有就停止扫描,完成输入,并将输入的数字通过调用显示 子程序显示到 LEDLED 显示器上。利用汇编的程序核对输入键的数值, 通过调用加,
3、减,乘,括号,子程序实现一位十进制数以内的及加、 减、乘以及括号法运算。运算完成后将运算的结果储存并显示到 LEDLED 显示器上。三、功能流程图1保攵据11r显示1开始8255 初始化N有无按键Y扫描数子键调用加法子程序清除标志及数据进行加减乘运算并存结果显示四、纟 吉果讨论及心得Y减NY乘调用减法子程序调用乘法子程序NY清零N括A/r 口调用括号子程序分到这个课设题目第一反应是比较简单,但仔细一思考有没多大头 绪,又感觉挺复杂,尤其是实现括号运算一点思路都没有。后来经过 网上找相关资料和队友讨论渐渐有了思路。经过一个星期的反复实验终于完成了这次课设,在实验箱上可以完成一位数的加减乘以及括号
4、 运算。这次课设中遇到很多问题,让我看到了自己的很多不足比如汇 编能力不足,对芯片不了解等等。同时这次课设让我巩固了所学的课 本知识,提高了动手实践能力和团队合作能力,自己感觉收获还是很 大的。附录:实验代码(完整的源程序).MODEL TINYCOM_8255 EQU 0273H;8255 控制口PA_8255 EQU0270HPB_8255 EQU0271HPC_8255 EQU0272H.STACK 100.DATAZ1DB8 DUPbuffer DB 8 DUP(?) ;8 个字节显示缓冲区SEG_TAB DB 0C0H,0F9H,0A4H,0B0H, 99H, 92H, 82H,0F
5、8HDB 080H, 90H, 88H, 83H,0C6H,0A1H, 86H, 8EH,0FFH.CODESTART: MOV AX,DA TAMOV DS,AXMOV ES,AXNOPCLD;0-DF,地址自动递增MOV DX,COM_8255MOV AL,89Hgg: OUT DX,AL ;PA、PB 输出,PC 输入LEA DI,bufferMOV AL,10HMOV CX,08HREP STOSBCALL DIRMAIN3:LEA DI,bufferMAIN2:CALLkeyiCMP AL,0AH+JZ e3CMP AL,0DH*JZ Q3CMP AL,0CHJ一JZ ggCMP A
6、L,0BHJJZ E4CMP AL,0EH;()JZ E5QQ: STOSBQQQ:CALL DIRCMP Dl,offset buffer+8JNZ MAIN2JMP MAIN3 e3:JMP Q1E4:JMP Q6E5:JMP Q7Q3:CALL KEYICMP AL,0AHJZ Q1CMP AL,0DHJZ Q3CMP AL,0CHJZ ggCMP AL,0BHJZ E7CMP AL,0EHJZ Q5BSTOSBCALL DIRCMP DI,OFFSET BUFFER+8MOV BL,ALLEA SI,BUFFERLODSBMUL BLLEA DI,BUFFERSTOSBMOV BL,A
7、LCALL KEYIJMP FE8:JMP ggE7:JMP Q6Q5B:JMP Q5AQx:CALL KEYICMP AL,0AHJZ Q1CMP AL,0DHJZ Q3CMP AL,0CHJZ E8CMP AL,0BHJZ Q6CMP AL,0EHJZ M3STOSBCALL DIRCMP DI,OFFSET BUFFER+8MOV BL,ALLEA SI,BUFFER+4LODSBMUL BLLEA DI,BUFFERSTOSBMOV BL,ALCALL KEYIJMP FM3:JMP Q5ASA:JMP S9Q1:CALLkeyiSTOSBCALLDIRCMP Dl,offset bu
8、ffer+8S1:CALL KEYICMP AL,0EHJZ RCMP AL,0DHJZ SLEA DI,BUFFER+3STOSBLEA SI,BUFFERLODSBMOV BL,ALLEA SI,BUFFER+1LODSBADD AL,BLLEA DI,BUFFERSTOSBMOV BL,ALJMP DYQC:JMP Q3Q6:JMP Q2Q7:JMP Q5S:CALL KEYIMOV BL,ALLEA SI,BUFFER+1LODSBMUL BLLEA DI,BUFFER+1STOSBJMP S1DY:LEA SI,BUFFER+3LODSBF:CMP AL,0AHJZ Q1CMP AL
9、,0BHJZ Q2CMP AL,0DHJZ QCJMP QQ2M1:JMP e3M2:JMP QxQ5A:JMP Q56M4:JMP ggM5:JMP E4M6:JMP E5R:LEA DI,BUFFER+3STOSBLEA SI,BUFFERLODSBMOV BL,ALLEA SI,BUFFER+1LODSBADD AL,BLLEA DI,BUFFERSTOSBMOV BL,ALLEA DI,BUFFER+4STOSBCALL keyiCMP AL,0AHJZ M1CMP AL,0DHJZ M2CMP AL,0CHJZ M4CMP AL,0BHJZ M5CMP AL,0EHJZ M6Q2:C
10、ALLkeyiSTOSBCALLDIRCMP Dl,offset buffer+8S3:CALL keyiCMP AL,0EHJZ R2CMP AL,0DHJZ S2LEA DI,BUFFER+3STOSBLEA SI,BUFFER+1LODSBMOV BL,ALLEA SI,BUFFERLODSBSUB AL,BLLEA DI,BUFFERSTOSBMOV BL,ALJMP DYS2:CALL KEYIMOV BL,ALLEA SI,BUFFER+1LODSBMUL BLLEA DI,BUFFER+1STOSBJMP S3SH:JMP SASC:JMP SSB:JMP RQ8:JMP Q1Q
11、9:JMP Q3QA:JMP ggQB:JMP Q2SJ:JMP SBR2:LEA DI,BUFFER+3STOSBLEA SI,BUFFER+1LODSBMOV BL,ALLEA SI,BUFFERLODSBSUB AL,BLLEA DI,BUFFERSTOSBMOV BL,ALJMP DYJMP MAIN3QQ2: MOV AL,BLMOV AL,10HLEA DI,BUFFER+1STOSBMOV AL,10HLEA DI,BUFFER+2STOSBMOV AL,10HLEA DI,BUFFER+3STOSBMOV AL,10HLEA DI,BUFFER+4STOSBMOV AL,10H
12、LEA DI,BUFFER+5STOSBMOV AL,10HLEA DI,BUFFER+6STOSBMOV AL,10HLEA DI,BUFFER+7STOSBJMP QQQSF:JMP SCSW:JMP SHQ5:CALL KEYISTOSBCALLDIRCMP Dl,offset buffer+8CALLkeyiCMP AL,0AHJZ Q8CMP AL,0DHJZ Q9CMP AL,0CHJZ QACMP AL,0BHJZ QBCMP AL,0EHJZ Q5SE:JMP SJRT:JMP ggV1:JMP Q9V2:JMP QBV3:JMP QAQ56:CALL KEYISTOSBCAL
13、L DIRCMP DI,offset buffer+8LEA DI,BUFFER+5STOSBCALL keyiCMP AL,0AHJZ SWCMP AL,0DHJZ V1CMP AL,0CHJZ V3CMP AL,0BHJZ V2CMP AL,0EHJZ Q56QU:JMP Q6QP:JMP Q3S9:CALL KEYICALL DIRCMP DI,offset buffer+8STOSBCALL KEYICMP AL,0EHJZ SQCMP AL,0DHJZ SFSTOSBCALL DIRCMP Dl,offset buffer+8LEA DI,BUFFER+7STOSBLODSBMOV
14、BL,ALLEA SI,BUFFER+5LODSBADD AL,BLLEA DI,BUFFER+4STOSBMOV BL,ALSQ:LEA SI,BUFFER+6LODSBMOV BL,ALLEA SI,BUFFER+1LODSBADD AL,BLLEA DI,BUFFER+4STOSBMOV BL,ALJMP DZPP:JMP FDZ:LEA SI,BUFFERLODSBMOV BL,ALLEA SI,BUFFER+4LODSBMUL BLLEA DI,BUFFERSTOSBCALL KEYICMP AL,0FHJZ PPDIR PROCNEARPUSHAXPUSHBXPUSHDXLEA S
15、l,buffer ;置显示缓冲器初值MOVAH,0FEHLEA BX,SEG_TABLD0:MOV DX,PA_8255LODSBXLAT;取显示数据OUTDX,AL;段数据-8255 PA 口INC DX;扫描模式-8255 PB 口MOVAL,AHOUTDX,ALCALLDL1 ;延迟 1msMOVDX,PB_8255MOVAL,0FFHOUTDX,ALTESTJZ LD1AH,80HROLAH,01HJMP LD0LD1:POP DXPOP BXPOP AXRETDIR ENDPDL1 PROC NEAR;延迟子程序PUSH CXMOV CX,500LOOP $POP CXRETDL1
16、ENDPKEYI PROC NEARPUSH BXPUSH DXLK: CALL AllKey;调用判有无闭合键子程序JNZ LK1CALL DIRCALL DIR ;调用显示子程序,延迟 6msJMP LKLK1:CALLDIRCALLDIRCALLAllKey;调用判有无闭合键子程序JNZ LK2CALLDIRJMP LKLK2:MOVBL,0FEH;R2MOVBH,0;R4LK4:MOVDX,PB_8255MOVAL,BLOUTDX,ALINC DXIN AL,DXTEST AL,01HJNZ LONEXOR AL,AL;0 行有键闭合JMP LKPLONE:TEST AL,02HJNZ NEXTMOV AL,08H ;1 行有键闭合LKP:ADDBH,ALLK3:CALLDIR ;判断释放否
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 华为转型内部培训
- 2025年法律服务行业资格考试试卷及答案
- 2025年电子商务战略与管理课程的考试试题及答案
- 2025年城市设计与空间规划专业知识全面考试卷及答案
- 2025年茶艺师资格考试试题及答案
- 2025年创新思维与问题解决能力考试试题及答案
- 2025年房地产管理考试卷及答案展示
- 2025财务培训课件
- 2025年北京出租汽车考试题
- 2025年佛山出租车从业资格证考试模拟题
- GB/T 27806-2011环氧沥青防腐涂料
- GB/T 17949.1-2000接地系统的土壤电阻率、接地阻抗和地面电位测量导则第1部分:常规测量
- 梦幻西游古龙服务端安装教程
- 《出生医学证明》单亲母亲情况声明
- 4配电柜安全风险点告知牌
- 旋挖机操作手知识试卷含参考答案
- GB∕T 22590-2021 轧钢加热炉用耐火浇注料
- 研发部程序文件bom管理
- 大件运输管理制度
- Q∕GDW 11445-2015 国家电网公司管理信息系统安全基线要求
- 材料科学基础 第2章 晶体结构
评论
0/150
提交评论