标题:
计算器单片机课设汇编语言程序+仿真 超过255清零
[打印本页]
作者:
yangyanru
时间:
2017-9-24 17:12
标题:
计算器单片机课设汇编语言程序+仿真 超过255清零
计算器单片机课设仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.png
(14.63 KB, 下载次数: 49)
下载附件
2017-9-25 01:38 上传
0.png
(42.47 KB, 下载次数: 56)
下载附件
2017-9-25 01:38 上传
单片机汇编语言源程序如下:
YJ EQU 50H ;结果存放
YJ1 EQU 51H ;中间结果存放
GONG EQU 52H ;功能键存放
ORG 00H
START: MOV R3,#0 ;初始化显示为空
MOV GONG,#0
MOV 38H,#00H
MOV 37H,#00H
MOV 36H,#00H
MOV 35H,#00H
MOV 34H,#00H
MOV 33H,#00H
MOV 32H,#00H
MOV 31H,#00H
MLOOP: CALL DISP ;调显示子程序
WAIT: CALL TESTKEY ;判断有无按键
JZ WAIT
CALL GETKEY ;读键
INC R3 ;按键个数
CJNE A,#0,NEXT1 ;判断是否数字键
LJMP E1 ;转数字键处理
NEXT1: CJNE A,#1,NEXT2
LJMP E1
NEXT2: CJNE A,#2,NEXT3
LJMP E1
NEXT3: CJNE A,#3,NEXT4
LJMP E1
NEXT4: CJNE A,#4,NEXT5
LJMP E1
NEXT5: CJNE A,#5,NEXT6
LJMP E1
NEXT6: CJNE A,#6,NEXT7
LJMP E1
NEXT7: CJNE A,#7,NEXT8
LJMP E1
NEXT8: CJNE A,#8,NEXT9
LJMP E1
NEXT9: CJNE A,#9,NEXT10
LJMP E1
NEXT10: CJNE A,#10,NEXT11 ;判断是否功能键
LJMP E2 ;转功能键处理
NEXT11: CJNE A,#11,NEXT12
LJMP E2
NEXT12: CJNE A,#12, NEXT13
LJMP E2
NEXT13: CJNE A,#13,NEXT14
LJMP E2
NEXT14: CJNE A,#14,NEXT15
LJMP E2
NEXT15: LJMP E3 ;判断是否清除键
E1: CJNE R3,#1,N1 ;判断第几次按键
LJMP E11 ;为第一个数字
N1: CJNE R3,#2,N2
LJMP E12 ;为第二个数字
N2: CJNE R3,#3,N3
LJMP E13 ;为第三个数字
N3: LJMP E3 ;第四个数字转溢出
E11: MOV R4,A ;输入值暂存R4
MOV 38H,A ;输入值送显示缓存
MOV 37H,#00H
MOV 36H,#00H
MOV 35H,#00H
MOV 34H,#00H
MOV 33H,#00H
MOV 32H,#00H
MOV 31H,#00H
LJMP MLOOP ;等待再次输入
E12: MOV R7,A ;个位数暂存R7
MOV B,#10
MOV A,R4
MUL AB ;十位数
ADD A,R7
MOV R4,A ;输入值存R4
MOV 31H,#00H
MOV 32H,#00H
MOV 33H,#00H
MOV 34H,#00H
MOV 35H,#00H
MOV 36H,#00H ;输入值送显示缓存
MOV 37H,38H
MOV 38H,R7
LJMP MLOOP
E13: MOV R7,A
MOV B,#10
MOV A,R4
MUL AB
JB OV,E3 ;输入溢出
ADD A,R7
JB CY,E3 ;输入溢出
MOV R4,A
MOV 36H,37H ;输入值送显示缓存
MOV 37H,38H
MOV 38H,R7
LJMP MLOOP
E3: MOV R3,#0 ;按键次数清零
MOV R4,#0 ;输入值清零
MOV YJ,#0 ;计算结果清零
MOV GONG,#0 ;功能键设为零
MOV 31H,#00H
MOV 32H,#00H
MOV 33H,#00H
MOV 34H,#00H
MOV 35H,#00H
MOV 36H,#00H ;输入值送显示缓存
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
计算器--单片机课设.rar
(16.79 KB, 下载次数: 44)
2017-9-24 17:12 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1