计算器模拟系统设计-毕业设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算器模拟系统设计
学生:XXX 指导教师:XXX
内容摘要:本设计是基于51系列的单片机进行的简易计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED 上相应的显示结果。
设计过程在硬件与软件方面进行同步设计。
硬件选择AT89C51单片机和
74lS164,输入用4×4矩阵键盘。
显示用5位7段共阴极LED静态显示。
软件从分析计算器功能、流程图设计,再到程序的编写进行系统设计。
选用编译效率最高的Keil 软件用汇编语言进行编程,并用proteus仿真。
关键词:LED 计算器 AT89C51芯片 74LS164
Calculator simulation system desig n
Abstract:The design is a simple calculator based on 51 series microcontroller system design, to complete the calculator keyboard input, add, subtract, multiply, and in addition to three unsigned numeric simple four operations, and the corresponding result will be displayed on the LED.
The design process of hardware and software aspects of the synchronous design. Hardware choose AT89C51 microcontroller and 74ls164--enter the 4 × 4 matrix keyboard. Static display with five 7-segment common cathode LED display. Software calculator function from the analysis, flow charts, design, and then program the preparation of system design. Selected to compile the most efficient Keil software in assembly language programming, and with proteus simulation.
Keywords: LED calculator AT89C51 chip 74LS164
目录
前言 (1)
1 设计任务和要求 (1)
1.1 设计要求 (1)
1.2 设计方案的确定 (2)
2 单片机简要原理 (2)
2.1 AT89c51介绍 (2)
2.2 芯片74LS164介绍 (5)
3 硬件设计 (6)
3.1 键盘电路的设计 (6)
3.2 显示电路的设计 (7)
3.3 其他电路设计 (7)
3.3.1 复位、时钟电路设计 (7)
3.3.2 多位数码管电路显示的驱动电路 (8)
4 软件设计 (9)
4.1 主程序的设计 (9)
4.2 显示、读键模块的设计 (10)
4.3 其他内容说明 (11)
4.3.1 定时查键的程序设计 (11)
4.3.2 软件的可靠性设计 (12)
4.4 源程序代码(见附录) (12)
5 调试与仿真 (12)
5.1 Keil C51单片机软件开发系统 (12)
5.2 proteus的操作 (12)
5.2.1 硬件电路图的接法操作 (12)
5.2.2单片机系统PROTEUS设计与仿真过程 (13)
6 结束语 (13)
附录:计算器程序代码 (15)
参考文献: (23)
计算器模拟系统设计
前言
近年来,单片机以其体积小、价格廉、面向控制等独特优点,在各种工业控制、仪器仪表、设备、产品的自动化、智能化方面获得了广泛的应用。
与此同时,单片机应用系统的可靠性成为人们越来越关注的重要课题。
影响可靠性的因素是多方面的,如构成系统的元器件本身的可靠性、系统本身各部分之间的相互耦合因素等。
其中系统的抗干扰性能是系统可靠性的重要指标。
本设计采用AT89C51 芯片,实现了利用单片机进行了一个简单计算器设计。
允许对输入数据进行加减乘除运算及LED 显示。
如果设计对象是更为复杂的计算器系统,其实际原理与方法与本设计基本相同。
另外,实例所设计的计算器是用LED 数码管显示的,当然也可以用其他的器件显示,如LED 显示屏,这样就可以显示出更多的字符,在此基础上,还可以编写更加完善的程序来实现更多的计算功能。
设计的关键所在,必须非常熟悉单片机的原理与结构,同时还要对整个设计流程有很好的把握,将单片机和其他模块完整的衔接。
简易计算器的原理与设计是单片机课程设计课题中的一个。
在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用和单片机完整程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。
单片机课程设计既巩固了课本学到的理论,还学到了单片机硬件电路和程序设计,简易计算器课程设计通过自己动手用计算机电路设计软件,编写和调试,最后仿真,来加深对单片机的认识,充分发挥我们的个人创新和动手能力,并提高我们对单片机的兴趣,时学习查阅资料、参考资料的方
1 设计任务和要求
1.1 设计要求
本次课程设计,我选择的课题是单片机数字计算器硬软件设计,设计任务为:◊扩展4*4键盘,其中10个数字,5个功能键,1个清零;
◊使用五位数码管接口电路;
◊完成十进制的四则运算(加、减、乘、除);
◊实现低于三位小于255数字的连续运算;
◊使用keil软件编写程序;
◊最后用ptoteus仿真;
1.2 设计方案的确定
按照设计要求,本课题需要使用数码管显示和扩展4*4键盘,由于实验箱的硬件电路已经固定,故选择串行静态显示和用P1口扩展4*4键盘,扩展的4*4键盘定义十个数字键,六个功能键,使用串行静态显示显示运算结果。
主程序进行初始化,采用定时器0进行查键,每次按键后调用显示子程序。
2 单片机简要原理
2.1 AT89c51介绍
图2.1-1 AT89C51管脚图
芯片AT89C51的外形结构和引脚图如2—1所示。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
主要特性:
◊8051 CPU与MCS-51 兼容
◊4K字节可编程FLASH存储器(寿命:1000写/擦循环)
◊全静态工作:0Hz-24KHz
◊三级程序存储器保密锁定
◊128*8位内部RAM
◊32条可编程I/O线
◊两个16位定时器/计数器
◊5个中断源
◊可编程串行通道
◊低功耗的闲置和掉电模式
◊片内振荡器和时钟电路
管脚说明
◊VCC:供电电压(图中未画出)
◊GND:接地。
◊P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
◊P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
◊P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,
当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
◊P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
管脚备选功能
◊P3.0 RXD(串行输入口)
◊P3.1 TXD(串行输出口)
◊P3.2 /INT0(外部中断0)
◊P3.3 /INT1(外部中断1)
◊P3.4 T0(记时器0外部输入)
◊P3.5 T1(记时器1外部输入)
◊P3.6 /WR(外部数据存储器写选通)
◊P3.7 /RD(外部数据存储器读选通)
◊P3口同时为闪烁编程和编程校验接收一些控制信号。
◊RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
◊ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令时才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
◊/PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
◊/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),
不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当
/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用
于施加12V编程电源(VPP)。
◊XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
◊XTAL2:来自反向振荡器的输出引脚。
2.2 芯片74LS164介绍
74LS164是一个串入并出的8位移位寄存器,他常用于单片机系统中,下面结束一下这个元件的基本知识。
74LS164外部结构和引脚如图2—2所示:
图2.2-1 74LS164引脚图
主要特性:
◊串行输入带锁存
◊时钟输入,串行输入带缓冲
◊异步清除
◊最高时钟频率可高达36Mhz
◊功耗:10mW/bit
◊74系列工作温度: 0C to 70C
◊Vcc最高电压:7V
◊输入最高电压:7V
◊最大输出驱动能力:高电平:-0.4mA ; 低电平:8mA
引脚功能:
◊在单片机系统中,如果并行口的IO资源不够,而串行口又没有其他的作用,
那么我们可以用74LS164来扩展并行IO口,节约单片机资源。
74LS164是一个
串行输入并行输出的移位寄存器。
并带有清除端。
◊其中,Q0—Q7 并行输出端; A,B串行输入端; MR 清除端,为0时,输出
清零。
CP 时钟输入端。
3硬件设计
3.1 键盘电路的设计
键盘可分为两类:编码键盘和非编码键盘。
编码键盘是较多按键(20个以上)和专用驱动芯片的组合,当按下某个按键时,它能够处理按键抖动、连击等问题,直接输出按键的编码,无需系统软件干预。
通用计算机使用的标准键盘就是编码键盘。
在智能仪器中,使用并行接口芯片8279或串行接口芯片HD7279均可以组成编码键盘,同时还可以兼顾数码管的显示驱动,其相关的接口电路和接口软件均可在芯片资料中得到。
当系统功能比较复杂,按键数量很多时,采用编码键盘可以简化软件设计。
但大多数智能仪器和电子产品的按键数目都不太多(20个以内),为了降低成本和简化电路通常采用非编码键盘。
非编码键盘的接口电路有设计者根据需要自行决定,按键信息通过接口软件来获取。
本课题需要的是16个按键,故选择用非编码键盘,为了减少所占用的端口,由P1口采用4*4矩阵式键盘。
具体电路连接如图3.1-1所示。
图3.1-1 4*4键盘输入
3.2 显示电路的设计
当系统需要显示少量数据时,采用LED数码管进行显示是一种经济实用的方法。
数码管显示有静态显示和动态显示两种方法。
为了减少端口的使用,故选择静态显示,并采用共阴极接法电路。
LED数码管显示块是由发光二极管显示字段的显示器件。
在单片机应用中通常使用七段LED。
这种显示块有共阴极和共阳极两种。
3.3 其他电路设计
3.3.1 复位、时钟电路设计
当使用内部振荡电路时,XTAL1.XTAL2引脚外接石英晶体和微调电容,如图所示,图中C2.C3大小一般为30PF。
还加了复位/备用电源引脚的接线方法,任何单片机在工作之前都要进行复位,以便CPU以及其他功能部件都处于一个确定的初始化状态,并从这个状态开始工作,也就是程序开始执行之前,单片机做好准备工作。
如何进行复位呢?只用在单片机的RST引脚上保持两个。
图3.3.1-1时钟电路图3.3.1-2复位电路
机器周期(24个时钟周期)的高电平即可对单片机实现复位操作。
当主电源Vcc发生掉电或者是电压降低到电平规定值时,VPD上外接的备用电源自动启用,为单片机内部RAM提供电源,以保护片内RAM中的信息不丢失,使系统在恢复上电后能正常运行。
3.3.2 多位数码管电路显示的驱动电路
单片机应用中只有一位的的数字显示是不常见的,即要同时驱动多个数码管显示,就必须要同时让多个数码管加上各自不同的选片段,这个属于静态显示。
所谓静态显示,就是每一个显示器,都要占用单独的具有封锁功能的I/O接口用于笔画字段形代码,单片机只要把显示的字形代码发送到接口电路,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小,可以提高单独锁存的I/O接口电路很多,这里以常用的串并转化电路74LS164为例介绍一种常用静态显示电路。
图3.3.2-1 五位数码管静态显示框图及接法
5片74LS164首尾相串,而时钟端接在一起,这样,当输入8个脉冲时,从单片机RXD 端输出的数据就进入到第一个74LS164中了,当第二个8个脉冲到来时,这个数据就进入了第二个片74LS164,新的数据则进入了第一个74LS164。
这样,当第五个脉冲完成后,首次送出的数据被送入到最左面的74LS164中,其他数据依次出现在第一、第二、第三、第四片74LS164中。
入口:把要显示的数分别放在显示缓冲区60H-64H共五个单元中,并且分别对应五个数码管LED1-LED4。
出口:蒋预置在显示缓冲区中的五个数组成相应的现实字形码,然后输出到显示器中显示。
图3.3.2-2 计算器设计图
4 软件设计
在软件规划要求下,简易计算器的程序主要包括以下功能模块:主模块,为系统初始化。
显示与读键模块,分显示子程序,判键程序段、运算操作子程序等部分;
4.1主程序的设计
数字送显示缓冲程序设计:
简易计算器所显示的数值最大位三位。
要显示数值,先判断数值大小和位数,如果是超过三位或大于255,将不显示数字。
可重新输入数字,再次计算。
运算程序的设计:
首先初始化参数,送LED低位显示“0”,高位不显示。
然后扫描键盘看是否有键输入,若有,读取键码判断键码是数字键、清零键还是功能键,是数值键则送LED显示并保存数值,是清零键则做清零处理,是功能键则又判断是“=”还是运算键,若是“=”则计算最后结果并送LED显示,若是运算键则保存相对运算程序的首地址。
4.2 显示、读键模块的设计
LED显示器由七段发光二极管组成,排列成8字形状,因此也称为七段LED显示器。
简易计算器用到的数字0~9的共阴极字形代码如下表:
表4.2-1 共阴极字形代码表
为了实现键盘的输入功能,每个键都有其处理子程序,为此每个键都对应一个码——键码。
为了得到被按键的键码,使用行扫描法识别按键。
4.3 其他内容说明
4.3.1 定时查键的程序设计
进入定时器0的中断程序后,首先重新付初值,然后调用读键程序,如果有键按下,则判断按键是否与上次按键相同,如果相同则判断按键相应位是否为一,如果不为一,说明这不是持续按键导致的按键相应,并且进行相应的程序。
如果不是则退出中断程序。
读键程序使用的是反转法读键,不管键盘矩阵的规模大小,均进行两次读键。
第一次所有行线均输出低电平,从所有读入键盘信息(列信息);第二次所有列线均输出低电平,从所有行线读入键盘信息(行信息)。
将两次读键信息进行组合就可以得到按键的特征编码,然后通过查表得到按键的顺序编码。
将各特征编码按希望的顺序排成一张表,然后用当前读得的特征码来查表。
当表中有该特征码时,它的位置就是对应的顺序编码;当表中没有该特征码时,说明这是一个没有定义的键码,与没有按键(0FFH)同等看待。
数字键按下则将相应的数字送入缓存区,功能键按下则执行相应的程序。
首先对数字键的程序段进行相应的设计,如果运算键(+、-,*,/)响应标志不为一,则将输入的数字送入第一个操作数缓存区,并且清空所有响应位。
否则送入第二个操作数缓存区。
其次对功能键的程序段进行相应的设计。
如果功能键(+、-,*,/)第一次被按下,则置相应的标志位为一,并且将运算键响应标志位置一,清空第二个操
作数的缓存区,为输入操作数做准备,如果是第二次按下则先调用运算操作子程序,执行上次按下的运算键的运算,置相应的标志位为一,并且将运算键响应标志位置一,清空第二个操作数的缓存区,为输入操作数做准备。
如果是’C’键按下,则先判断运算键响应位是否为一,如果不为一,则清空第一个操作数,否则清空第二个操作数。
如果是’=’键按下,则调用运算操作子程序。
4.3.2 软件的可靠性设计
提高本仪器的可靠性措施主要有:
◊为防止程序跑飞,软件中设置了软件陷阱
◊为防止键盘抖动造成按键错误,采取了软件防
◊为了保证结果的正确性,结果溢出时显示错误代码0
4.4 源程序代码(见附录)
5 调试与仿真
下面用Keil与 porteus仿真软件介绍数字计算器的仿真与调试。
5.1 Keil C51单片机软件开发系统
采用KEIL 开发的89c51单片机应用程序步骤:
◊在keil 集成开发环境中创建新项目(Project),扩展文件名为.UV2,并为该
项目选定合适的单片机CPU器件(本设计采用ATMEL 公司下的AT89C51)
◊用keil的文本编辑器编写源文件,可以是汇编文件(.ASM),并将该文件添
加到项目中去。
一个项目文件可以包含多个文件,除了源程序文件外,还可
以是库文件、头文件或文本说明文件。
◊通过keil的相关选择项,配置编译环境、连接定位器以及Debug调试器的功能。
◊对项目中的源文件进行编译连接,生成绝对目标代码和可选的HEX文件,如果
出现编译连接错误则返回到第2步,修改源文件中的错误后重构整个项目。
◊对没有语法错误的程序进行仿真调试,调试成功后将HEX文件写入到单片机应
用系统的ROM中。
5.2 proteus的操作
5.2.1 硬件电路图的接法操作
◊放置选择(删除)元器件
◊移动元器件
◊缩放视图
◊连接导线
◊仿真,调试
5.2.2单片机系统PROTEUS设计与仿真过程
Proteus强大的单片机系统设计与仿真功能,使它可成为单片机系统应用开发和改进手段之一。
全部过程都是在计算机上通过Proteus来完成的。
其过程一般也可分为三步:
◊在ISIS平台上进行单片机系统电路设计、选择元器件、接插件、连接电路和
电气检测等。
简称Proteus电路设计。
◊在Keil平台上进行单片机系统程序设计、编辑、汇编编译、代码级调试,最
后生成目标代码文件(*.hex)。
简称Proteus源程序设计和生成目标代码文件。
◊在ISIS平台上将目标代码文件加载到单片机系统中,并实现单片机系统的实
时交互、协同仿真。
它在相当程度上反映了实际单片机系统的运行情况。
简
称Proteus仿真。
6 结束语
基于单片机的设计至今为止已经进入了令人鼓舞的阶段,在进行了两周时间的摸索与设计,使我不仅仅对于单片机软件与硬件的常用设计与功能有所认识,还使我对于一项设计研究的制作过程所需要的详细步骤和具体实现方法有了进一步的掌握。
由于我们的初步尝试,当中的缺点是无可非议地存在着。
当然在这次宝贵的设计活动中,经验才是对于我们最大的收获,而且还增强了自身对未知问题以及对知识的深化认识的能力,但是,仅仅是完成了作品还是不可以自我满足的,我们要认真的思考设计过程中遇到的问题,多查资料,将理论与实际相结合思考,并在以后的学习中更要加倍注意犯过的错误。
总之,这次设计从软件编写调试到软硬件联机调试,发现了自己的许多不足,在以后的学习中,我将一定回注意。
课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。
因此作为自动化专业的学生来说掌握单片机的开发技术是十分重要的。
我的题目是计算器模拟系统的设计,对于我们这些工科学生来说,这是一次考验。
怎么才能找到课堂所学与实际应用的最佳结合点?怎样让自己的业余更接近专业?怎样让自己的计划更具有序性,而不会忙无一用?这都是我们所要考虑和努力的。
这次课程设计我学到很多很多的东西,学会了怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。
不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不够好。
这次课程设计通过自己的努力,同学的帮助,网络资料的收集,最终顺利完成了。
最后,对我们的XX老师,表示感谢!谢谢他半年来对我的帮助和指导。
同时,对帮助我的所有同学表示衷心的感谢!
附录:计算器程序代码
DBUF EQU 30H
TEMP EQU 40H
YJ EQU 50H ;结果存放
YJ1 EQU 51H ;中间结果存放GONG EQU 52H ;功能键存放
DIN BIT 0B0H ;P3.0
CLK BIT 0B1H ;P3.1
ORG 00H
START: MOV R3,#0 ;初始化显示为空
MOV GONG,#0
MOV 30H,#10H
MOV 31H,#10H
MOV 32H,#00H
MOV 33H,#10H
MOV 34H,#10H
MLOOP: CALL DISP ;PAN调显示子程序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 34H,A ;输入值送显示缓存
MOV 33H,#10H。