微机原理实验简易计算器计算机计算机原理计算机计算机原理.pdf
《微机原理实验简易计算器计算机计算机原理计算机计算机原理.pdf》由会员分享,可在线阅读,更多相关《微机原理实验简易计算器计算机计算机原理计算机计算机原理.pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验题目】简易计算器设计 实验目的】综合测试学生微机接口技术及应用能力,包括系统构思设计、电路设计搭建、软件调试等;结合应用实际,培养学生运用微机技术服务应用、服务实际的能力。基本要求】1)利用实验箱上的 4x4 键盘及 6 位数码管,实现两个 16 位宽的非负整数(065535)进行、运算,计算结果限制在范围-6553565535,超过范围在数码管最低位显示 E;2)16 个按键的分配可以自行指定;扩展要求】2)增加的功能,有小数显示;【实验程序】;该程序实现了基本要求及扩展要求的 2)COUNT DB 0 CMP FLAG,1 JZ OK FLAG DB 0 NEGTI DB 0;是否有键
2、按下的标志;是否为负数的标志 NEXT2:CALL SHOW NUM DW 0 CALL SCAN;判断是否有按键按下 TAG DB 0 POINT DB 0;运算种类标志;除法结果添加小数点标志 JMP NEXT2 OK:RESULT DW 0 DSEG ENDS CSEG SEGMENT ASSUME DS:DSEG,CS:CSEG START:MOV AX,DSEG MOV DS,AX MOV DX,300CH;8255 初始化 MOV AL,81H OUT DX,AL LEA SI,BUFF MOV FLAG,0 MOV POINT,0 MOV DX,3000H MOV AL,0FFH
3、 OUT DX,AL MOV CH,-1 MOV CL,07FH XL:ROL CL,1 INC CH MOV DX,3000H MOV AL,CL 7;判断是哪一个键被按下;CH 用于保存当前被扫描的列号 1)按基本要求保持输入的范围不变(16 位宽)超过-65535999999 时,显示 E;扩展计算结果的范围到用足 6 位数码管,当计算结果 DSEG SEGMENT BUFF DB 6 DUP(?)LED_7 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,00H,40H POSITION DB 0DFH,0
4、EFH,0F7H,0FBH,0FDH,0FEH UNIT10 DW 10000,1000,100,10,1 NEWNUM DB 0 DB MOV CX,6 NEXT:MOV BYTE PTRSI,16 INC SI LOOP NEXT CALL SHOW 显示出来 MOV COUNT,0;将显示缓冲区中内容在 LED上一次;记按下了几位数 NUM1 DW 0 NUM2 DW 0 OUT DX,AL MOV AL,0FFH MOV DX,3008H OUT DX,AL IN AL,DX CALL DELAY2 AND AL,0FH JMP NEXT2 CMP AL,0FH JZ XL;选中下一列
5、被扫描 JIAFA:CMP AL,0EH MOV TAG,1 JNZ FOUR CALL TO_DEC MOV CL,0;CL保存行号 MOV AX,NUM JMP FREE MOV NUM1,AX FOUR:JMP START CMP AL,0DH JIANFA:JNZ BA MOV TAG,2 MOV CL,4 CALL TO_DEC JMP FREE MOV AX,NUM BA:MOV NUM1,AX CMP AL,0BH JMP START JNZ SHIER CHENGFA:MOV CL,8 MOV TAG,3 JMP FREE CALL TO_DEC SHIER:MOV AX,NU
6、M CMP AL,07H MOV NUM1,AX JNZ XL JMP START MOV CL,12 CHUFA:FREE:MOV TAG,4 ADD CH,CL;行列值相加为按键代表的值 CALL TO_DEC MOV AX,NUM CMP CH,9 MOV NUM1,AX JBE SHUZI JMP START CMP CH,12;加法 CLEAR:JZ JIAFA JMP START CMP CH,13;减法 JZ JIANFA YUNSUAN:CMP CH,14;乘法 CALL TO_DEC JZ CHENGFA 数保存 CMP CH,15;除法 MOV AX,NUM JZ CHUF
7、A MOV NUM2,AX CMP CH,11;等号时进行运算 CMP TAG,1 JZ YUNSUAN JZ SJIAF CMP CH,10;此键清屏重新输入 CMP TAG,2 JZ CLEAR JZ SJIANF SHUZI:CMP TAG,3 INC COUNT JZ SCHENGF MOV NEWNUM,CH CMP TAG,4 JZ SCHUF CALL COPY;将新输入的按键值送入显 示缓冲区的最末位 YEAH:MOV DX,3000H;将 LED关显示 CALL CHULI ;置加法标志;将输入的数转化为十进制数保存;继续输入第二个按键数;将结果中零的位置 16 关显示;将第
8、二次输入的数转化为十进制 试等结合应用实际培养学生运用微机技术服务应用服务实际的能力基本要求利用实验箱上的键盘及位数码管实现两个位宽的非负整数进行运算计算结果限制在范围超过范围在数码管最低位显示个按键的分配可以自行指定扩展要求按显示实验程序该程序实现了基本要求及扩展要求的显示出来将显示缓冲区中内容在上一次是否有键按下的标志是否为负数的标志运算种类标志除法结果添加小数点标志初化记按下了几位数判断是否有按键按下判断是哪一个键被按下运算此键清屏重新输入示缓冲区的最末位将新输入的按键值送入显将关显示数保存置加法标志将输入的数转化为十进制数保存继续输入第二个按键数将第二次输入的数转化为十进制将结果中零的
9、位置关显示溢出结果为负数延时使一 MOV TAG,0 MOV NEGTI,0 CALL SHOW JMP NEXT2 SJIAF:CALL JIA JMP YEAH SJIANF:CALL JIAN JMP YEAH SCHENGF:CALL CHENG JMP YEAH SCHUF:CALL CHU JMP YEAH MOV AH,4CH INT 21H JIA PROC NEAR PUSH AX PUSH CX PUSH SI MOV AX,NUM1 ADD AX,NUM2 JC YC1;溢出 MOV RESULT,AX CALL TO_SHOWSHU JMP OVER1 YC1:LEA
10、SI,BUFF MOV BYTE PTRSI,14 INC SI MOV CX,5 SS0:MOV BYTE PTRSI,16 INC SI LOOP SS0 OVER1:POP SI POP CX POP AX RET JIA ENDP JIAN PROC NEARPUSH AX PUSH CX PUSH SI MOV AX,NUM1 CMP AX,NUM2 JA POSITIVE MOV NEGTI,1 MOV AX,NUM2 SUB AX,NUM1 JC YC2 JMP OV POSITIVE:MOV AX,NUM1 SUB AX,NUM2 JC YC2 OV:MOV RESULT,AX
11、 CALL TO_SHOWSHU JMP OVER2 YC2:LEA SI,BUFF MOV BYTE PTRSI,14 INC SI MOV CX,5 SS2:MOV BYTE PTRSI,16 INC SI LOOP SS2 OVER2:POP SI POP CX POP AX RET JIAN ENDP CHENG PROC NEAR PUSH AX PUSH CX PUSH SI MOV AX,NUM1 MUL NUM2 JC YC3 MOV RESULT,AX CALL TO_SHOWSHU JMP OVER3 YC3:LEA SI,BUFF MOV BYTE PTRSI,14;结果
12、为负数 试等结合应用实际培养学生运用微机技术服务应用服务实际的能力基本要求利用实验箱上的键盘及位数码管实现两个位宽的非负整数进行运算计算结果限制在范围超过范围在数码管最低位显示个按键的分配可以自行指定扩展要求按显示实验程序该程序实现了基本要求及扩展要求的显示出来将显示缓冲区中内容在上一次是否有键按下的标志是否为负数的标志运算种类标志除法结果添加小数点标志初化记按下了几位数判断是否有按键按下判断是哪一个键被按下运算此键清屏重新输入示缓冲区的最末位将新输入的按键值送入显将关显示数保存置加法标志将输入的数转化为十进制数保存继续输入第二个按键数将第二次输入的数转化为十进制将结果中零的位置关显示溢出结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 实验 简易 计算器 计算机
限制150内