单片机加减法计算器_大神们!汇编,数码管显示简易加减计算器
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
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 ;溢出
单片机加减法计算器_大神们!汇编,数码管显示简易加减计算器相关推荐
- C语言科学计算器思路,大神教你如何用C语言实现科学计算器
i++; *len=i; return temp; } /*功能:翻译操作数 * 如果运算符非法,则返回0,合法则返回非零标志 */ int translateopt(char *p,int *len ...
- c51数码管显示汇编语言,单片机数码管显示数字加减汇编程序
用7SEG-MPX6-CA六位数码管显示 晶振=12MHZ,缓冲单元=30H,31H,32H,一个加一键减一键!没用31,32. MOV R7,#89H MOV DPTR,#TAB MOV 32H,# ...
- linux 计算器 c语言,大神教你如何用C语言实现科学计算器
原标题:大神教你如何用C语言实现科学计算器 用C实现的科学计算器 使用C语言写的科学计算器,可以实现四则运算.三角函数运算.指对数运算:优先级正确:能智能屏蔽空格,能识别输入错误和运算错误,能实现继续 ...
- 单片机、嵌入式的大神都平时浏览什么网站?
单片机.嵌入式的大神都平时浏览什么网站? 1.基础学习(C/C++,Linux基础等) 菜鸟教程(C语言学习) c语言中文网 计算机科学网站(C语言部分) QT快速入门 2.单片机学习 ST官网 正点 ...
- 8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8。
8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8. 程序: #include<reg51.h> #include<absacc.h> #def ...
- 易语言练习笔记-大叔篇(3)-加减计算器
易语言练习笔记-大叔篇(3)-加减计算器 省约时间,直接上代码,界面设计如下: 看代码输入效果,运行效果如下: 看懂的掌声.回复.关注,感谢! 以下没时间不需要看.... 到数值( ) 调用格式: 〈 ...
- python大神教程_大神python教程415集全套,拿走不谢
大神的教程 由北京尚学堂高淇老师亲自录制,2019Python自学教程全新升级为<Python+数据分析+机器学习>能力逐级提升,打造技能更全面的全栈工程师. Python作为一种编程语言 ...
- c语言 怎么访问64位地址_大神用10000字总结了嵌入式C语言必学知识点……
导读:怎么做好嵌入式?相信这个问题无论问谁你都会得到一句学好C语言!今天推荐一篇大佬写的嵌入式C语言知识点总结,非常值得一读. 从语法上来说C语言并不复杂, 但编写优质可靠的嵌入式C程序并非易事,不仅 ...
- 天线工程手册_“大神”给工控工程师快速成长的6点建议,看完你会少走弯路...
此前,我们发布了两篇关于技术工程师职场相关的文章[搞自动化也需要全栈工程师么?][工程师如何远离"技术性失业"?我的建议是--]均深受大家的关注,前后台也收到了许多的留言,比如: ...
最新文章
- 浅析网页界面设计——首页设计
- 湖南大学让晶体管小至3纳米,沟道长度仅一层原子 | Nature子刊
- python中文对齐_Python中英文对齐终极解决方案
- 最好的电脑系统_热键被占用怎么办?电脑系统 程序 游戏热键被占用冲突如何解决?...
- php mysql crud demo_基于php和mysql的简单的dao类实现crud操作功能_PHP教程
- grass gis怎么使用_使用GRASS GIS返回学校
- 求一个数的二进制逆序之后所对应的数
- 性能测试篇 :Jmeter HTTP代理服务器录制压力脚本
- 智能优化算法:野马优化算法-附代码
- BZOJ1566 [NOI2009]管道取珠 【dp】
- Mapreduce执行过程分析(基于Hadoop2.4)——(三)
- 解决Delphi 2010启动时卡死并报displayNotification堆栈溢出错误
- 火狐浏览器的同步问题
- 金山词霸2009牛津版完整破解版+绿色精简版下载
- SpringBoot的完整学习
- JavaCV图片和视频互转 视频添加文字
- 又一个程序员突然倒地,身体这件事一定要警钟长鸣!
- 又是一年金九银十!一起看看这些大厂面试真题查漏补缺吧,程序员翻身之路
- 《Fundamentals of Computer Grahpics》虎书第三版翻译——第一章 介绍
- 3.1.hole_behind_comprehensive_teaching_complex 综教楼后的那个坑
热门文章
- Leetcode 814.二叉树剪枝
- Python把类当做字典来访问
- App自动化测试前期准备---android SDK配置
- 安装vmware-tools遇the path is not valid path to the gcc binary和the path is not a valid path to th...
- 总结(5)--- Numpy和Pandas库常用函数
- unity, itween, closed path
- HDU 5510 Bazinga(kmp)
- Ubuntu 10.04 安装在 VMware Workstation 7 后,键盘无反应的解决方法
- 备份容灾相关概念总结
- 运维学习之自动化安装系统的配置