该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

YJ EQU 50H ;结果存放

YJ1 EQU 51H ;中间结果存放

GONG EQU 52H ;功能键存放

ORG 0000H

LJMP START

ORG 0100H

START:MOV R3,#0 ;初始化显示为空

MOV GONG,#0 ;功能键清空

MOV 34H,#00H

MOV 33H,#00H

LOOP1:LCALL DISP ;调显示子序

LOOP2:LCALL TKEY ;判断有无按键

JZ LOOP2

LCALL KEY ;读键

INC R3 ;KEY返回,按键次数自加1

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:LJMP E3 ;判断是否为清除键

E1: CJNE R3,#1,N1 ;判断第几次按键

LJMP E11 ;为第一个数字

N1: CJNE R3,#2,N2

LJMP E12 ;为第二个数字

N2:LJMP E3 ;第三个数字转溢出

E11: MOV R4,A ;输入值暂存R4

MOV 34H,A ;输入值送显示缓存

MOV 33H,#00H

LJMP LOOP1 ;等待再次输入

E12:MOV R7,A ;个位数暂存R7

MOV B,#10

MOV A,R4

MUL AB ;十位数

ADD A,R7

MOV R4,A ;输入值存R4

MOV 33H,34H ;输入值送显示缓存

MOV 34H,R7

LJMP LOOP1

E3: MOV R3,#0 ;按键次数清0

MOV R4,#0 ;输入值清0

MOV YJ,#0 ;计算结果清0

MOV GONG,#0 ;功能键设为0

MOV 34H,#00H ;显示清空

MOV 33H,#00H

LJMP LOOP1

E2: MOV 34H,#00H

MOV 33H,#00H

MOV R0,GONG ;与上次功能键交换

MOV GONG,A

MOV A,R0

CJNE A,#10,N21 ;判断功能键

LJMP JIA ;“+”

N21: CJNE A,#11,N22

LJMP JIAN ;“-”

N22: CJNE A,#0,N23

LJMP FIRST ;首次按功能键即A=#0

N23:LJMP DENG ;“=”

N4: LJMP E3

FIRST:MOV YJ,R4 ;输入值送结果

MOV R3,#0 ;按键次数清0

LJMP DISP1 ;结果处理

JIA:MOV A,YJ ;上次结果送累加器

ADD A,R4 ;上次结果加输入值

JB CY,N4 ;溢出

单片机加减法计算器_大神们!汇编,数码管显示简易加减计算器相关推荐

  1. C语言科学计算器思路,大神教你如何用C语言实现科学计算器

    i++; *len=i; return temp; } /*功能:翻译操作数 * 如果运算符非法,则返回0,合法则返回非零标志 */ int translateopt(char *p,int *len ...

  2. c51数码管显示汇编语言,单片机数码管显示数字加减汇编程序

    用7SEG-MPX6-CA六位数码管显示 晶振=12MHZ,缓冲单元=30H,31H,32H,一个加一键减一键!没用31,32. MOV R7,#89H MOV DPTR,#TAB MOV 32H,# ...

  3. linux 计算器 c语言,大神教你如何用C语言实现科学计算器

    原标题:大神教你如何用C语言实现科学计算器 用C实现的科学计算器 使用C语言写的科学计算器,可以实现四则运算.三角函数运算.指对数运算:优先级正确:能智能屏蔽空格,能识别输入错误和运算错误,能实现继续 ...

  4. 单片机、嵌入式的大神都平时浏览什么网站?

    单片机.嵌入式的大神都平时浏览什么网站? 1.基础学习(C/C++,Linux基础等) 菜鸟教程(C语言学习) c语言中文网 计算机科学网站(C语言部分) QT快速入门 2.单片机学习 ST官网 正点 ...

  5. 8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8。

    8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8. 程序: #include<reg51.h> #include<absacc.h> #def ...

  6. 易语言练习笔记-大叔篇(3)-加减计算器

    易语言练习笔记-大叔篇(3)-加减计算器 省约时间,直接上代码,界面设计如下: 看代码输入效果,运行效果如下: 看懂的掌声.回复.关注,感谢! 以下没时间不需要看.... 到数值( ) 调用格式: 〈 ...

  7. python大神教程_大神python教程415集全套,拿走不谢

    大神的教程 由北京尚学堂高淇老师亲自录制,2019Python自学教程全新升级为<Python+数据分析+机器学习>能力逐级提升,打造技能更全面的全栈工程师. Python作为一种编程语言 ...

  8. c语言 怎么访问64位地址_大神用10000字总结了嵌入式C语言必学知识点……

    导读:怎么做好嵌入式?相信这个问题无论问谁你都会得到一句学好C语言!今天推荐一篇大佬写的嵌入式C语言知识点总结,非常值得一读. 从语法上来说C语言并不复杂, 但编写优质可靠的嵌入式C程序并非易事,不仅 ...

  9. 天线工程手册_“大神”给工控工程师快速成长的6点建议,看完你会少走弯路...

    此前,我们发布了两篇关于技术工程师职场相关的文章[搞自动化也需要全栈工程师么?][工程师如何远离"技术性失业"?我的建议是--]均深受大家的关注,前后台也收到了许多的留言,比如: ...

最新文章

  1. 浅析网页界面设计——首页设计
  2. 湖南大学让晶体管小至3纳米,沟道长度仅一层原子 | Nature子刊
  3. python中文对齐_Python中英文对齐终极解决方案
  4. 最好的电脑系统_热键被占用怎么办?电脑系统 程序 游戏热键被占用冲突如何解决?...
  5. php mysql crud demo_基于php和mysql的简单的dao类实现crud操作功能_PHP教程
  6. grass gis怎么使用_使用GRASS GIS返回学校
  7. 求一个数的二进制逆序之后所对应的数
  8. 性能测试篇 :Jmeter HTTP代理服务器录制压力脚本
  9. 智能优化算法:野马优化算法-附代码
  10. BZOJ1566 [NOI2009]管道取珠 【dp】
  11. Mapreduce执行过程分析(基于Hadoop2.4)——(三)
  12. 解决Delphi 2010启动时卡死并报displayNotification堆栈溢出错误
  13. 火狐浏览器的同步问题
  14. 金山词霸2009牛津版完整破解版+绿色精简版下载
  15. SpringBoot的完整学习
  16. JavaCV图片和视频互转 视频添加文字
  17. 又一个程序员突然倒地,身体这件事一定要警钟长鸣!
  18. 又是一年金九银十!一起看看这些大厂面试真题查漏补缺吧,程序员翻身之路
  19. 《Fundamentals of Computer Grahpics》虎书第三版翻译——第一章 介绍
  20. 3.1.hole_behind_comprehensive_teaching_complex 综教楼后的那个坑

热门文章

  1. Leetcode 814.二叉树剪枝
  2. Python把类当做字典来访问
  3. App自动化测试前期准备---android SDK配置
  4. 安装vmware-tools遇the path is not valid path to the gcc binary和the path is not a valid path to th...
  5. 总结(5)--- Numpy和Pandas库常用函数
  6. unity, itween, closed path
  7. HDU 5510 Bazinga(kmp)
  8. Ubuntu 10.04 安装在 VMware Workstation 7 后,键盘无反应的解决方法
  9. 备份容灾相关概念总结
  10. 运维学习之自动化安装系统的配置