电子计算器设计

合集下载

最新多功能计算器的设计与实现设计(

最新多功能计算器的设计与实现设计(

最新多功能计算器的设计与实现设计(设计与实现一个最新的多功能计算器需要考虑以下几个方面:用户界面设计、功能模块设计、算法设计和实现、错误处理和测试。

1.用户界面设计用户界面应该简洁明了,易于使用。

可以采用图形界面设计,支持鼠标和键盘的交互方式。

主界面应该包含输入输出区域、功能按钮区域和历史记录显示区域。

输入输出区域可以支持长数字输入和显示,以满足大数据计算需求。

功能按钮区域应该有常用的数学运算和统计功能按钮,例如加减乘除、平方根、指数运算等。

历史记录显示区域应该显示最近的计算结果和运算历史,以便用户查看和复用。

2.功能模块设计多功能计算器应该支持常见的数学运算、统计功能和科学计算功能。

可以将不同的功能模块分别设计和实现,以提高代码的可维护性和扩展性。

例如可以设计一个数学运算模块,实现加减乘除等基本运算;设计一个统计功能模块,实现平均值、标准差等统计功能;设计一个科学计算模块,实现幂运算、三角函数等科学计算功能。

3.算法设计和实现针对不同的功能,需要设计和实现相应的算法。

例如加减乘除运算可以使用基本的四则运算算法;平方根可以使用牛顿迭代法或二分法求解;指数运算可以使用幂函数展开或迭代逼近法求解。

算法的设计要充分考虑数值的精度和性能的优化。

4.错误处理和测试在计算器的设计和实现过程中,需要考虑各种可能的错误情况,并进行相应的错误处理。

例如除数为零、输入数字错误等。

可以使用异常处理机制来捕获和处理错误。

同时,在设计和实现后,需要进行细致的测试,包括单元测试和集成测试,以验证计算器的正确性和性能。

总结来说,设计和实现一个最新的多功能计算器需要综合考虑用户界面设计、功能模块设计、算法设计和实现、错误处理和测试等多个方面。

在设计和实现的过程中,需要注重用户体验、代码的可维护性和性能的优化。

基于51单片机的简易计算器论文设计

基于51单片机的简易计算器论文设计

基于51单片机的简易计算器论文设计摘要:计算器是一种常见的电子设备,用于数学计算。

随着科技的迅速发展,计算器不再是一种巨大且笨重的机械设备。

相反,它们变得迷你、便携且功能强大。

本论文旨在设计和实现一种基于51单片机的简易计算器。

该设计利用了51单片机的优点,如低功耗、成本低廉和易于学习等特点。

本论文介绍了设计和实现的过程,包括硬件电路设计、软件程序编写以及性能测试等方面。

1.引言计算器广泛应用于日常生活和学习中,人们常常需要进行加减乘除等简单的数学计算。

为了提供便捷的计算功能,传统计算器使用专用的集成电路设计。

然而,这种计算器成本较高,体积较大,且功能有限。

为了满足市场需求,我们设计了一款基于51单片机的简易计算器。

2.硬件电路设计2.1键盘模块键盘模块采用矩阵键盘设计,包括数字键0-9、运算符键+、-、*、/以及等于键=。

采用矩阵建构可以减少IO口资源的使用,并简化设计。

2.2显示模块显示模块采用液晶显示器,能够清晰地显示数字、运算符和结果。

为了实现更好的用户交互体验,还可以添加背光模块。

2.3控制电路控制电路由51单片机和其他常用电子元件组成,可以通过编程控制键盘的输入和显示模块的输出。

其中,51单片机充当了控制中心的作用,负责接收键盘输入、解析用户命令、进行数学计算和控制显示模块的显示。

2.4电源电路电源电路用于提供稳定的电源给整个计算器系统。

电源电路由电池、稳压电路和滤波电路组成,能够为计算器提供稳定的电压和电流。

3.软件程序设计软件程序设计是整个计算器系统的核心。

主要功能包括接收键盘输入、解析输入、进行数学计算、控制显示模块的显示和处理异常情况。

3.1键盘输入接收软件程序通过扫描键盘矩阵来接收键盘输入。

当用户按下一些键时,软件程序会检测到相应的按键信号,并将其转换为数值或运算符。

3.2输入解析软件程序能够解析用户的输入,判断用户输入的是数字还是运算符,并将其保存在相应的变量中。

同时,软件还可以处理异常输入,如除以零等情况。

基于STC89C52单片机的计算器

基于STC89C52单片机的计算器

基于STC89C52单片机的计算器一、引言计算器作为一种常见的电子设备,经常被人们用于日常的数学计算。

本文将介绍一种基于STC89C52单片机的计算器的设计与实现。

该计算器具有基本的四则运算功能,并且支持浮点数的运算。

二、硬件设计1.单片机选择本文选择STC89C52单片机作为计算器的核心处理器。

STC89C52是基于8051架构的单片机,具有强大的计算和控制能力,适合用于计算器的设计。

2.显示器设计本文选用16x2LCD液晶显示器作为计算器的显示器。

液晶显示器具有容量小、功耗低、反射型等优点,非常适合计算器的显示要求。

3.按键设计本文选用矩阵按键设计。

通过矩阵按键设计,可以设计出较多的按键功能,并且能够节省IO口的使用。

4.电源设计计算器使用直流电源供电,可以选择使用电池或者外部电源适配器供电。

三、软件设计计算器的软件设计主要包括界面设计和计算功能设计两个方面。

1.界面设计计算器的界面设计主要包括显示数字和调用函数。

a.显示数字通过将用户输入的数字显示到LCD液晶屏上,实现数字的显示功能。

液晶屏可以显示16个字符,可以一次性显示一个较长的数字。

b.调用函数通过监测用户按键的输入,调用相应的函数实现计算功能。

可以设置加、减、乘、除等函数,并通过按键的组合调用相应的函数。

2.计算功能设计计算器的计算功能设计主要包括四则运算和浮点数运算两个方面。

a.四则运算通过四个函数实现加、减、乘、除的功能。

在用户按下相应的运算符号键后,调用相应的函数对输入的数字进行相应的运算,并将结果显示在LCD液晶屏上。

b.浮点数运算在用户输入的数字或运算结果存在小数的情况下,可以设计相应的浮点数运算函数,通过运算可以得到带有小数点的结果,并将结果显示在LCD液晶屏上。

四、系统实现五、总结基于STC89C52单片机的计算器设计和实现包括硬件设计和软件设计两个方面。

通过合理的硬件设计和功能完善的软件设计,可以实现一款功能强大的计算器。

PLC简易计算器设计

PLC简易计算器设计

PLC简易计算器设计设计任务书可编程控制器》课程设计设计题目:电子计算器设计XXX:学号:专业(方向)年级:11级电气工程及其自动化学生姓名:word文档可自由复制编辑可编程控制器课程设计任务书一)设计题目电子计算器设计二)情况简介在人们日常生活中,买东西、记账、研究等等,凡是与数有关的,我们都可以用到计算器,可见计算器真的很重要。

本文中基于PLC设计的电子计算器比传统计算器更可靠,更方便,性能更好,更容易适应当今高速发展的社会,方便了人们的生活。

这次设计中,将选用西门子S7-200系列PLC,通过梯形图和编程指令两种手段来实现简易计算器的加减乘除功能。

基于PLC设计的电子计算器能够完成简单的加减乘除功能,并能够用七段数码管显示相应的数字及结果,同时也能指示相应的运算类型。

该计算器将采用梯形图编写来实现4位数范围内的加减乘除基本的四则运算。

PLC是一个可进行数模、模数转换,可进行定位控制等一个功能强大的工业控制器,具有高可靠性,以它为基础制作的计算器将具有很高的可靠性。

(三)设计要求1.由按键输入的数值显示在7段数码管上,但只限4位数。

2.按加、减、乘、除键时,第一次输入的值被存放在缓冲区中,当做被加、减、乘、除数,且加、减、乘、除相对的运算指示灯会亮。

3.接着输入一个数,之后若是按下“=”键,则此加、减、乘、除数被存放于另一个缓冲区中,与刚才输入的数做运算,且相对应的运算指示灯熄灭。

4.将运算结果显示在7段数码管上。

四)设计步骤1.查找资料,了解和分析题目所要求具体工程项目控制的过程。

2.确定I/O点数,选择PLC的型号,并根据需要进行硬件系统配置。

3.绘制外部I/O接线图及相干的电气原理图。

4.编程。

word文档可自由复制编辑5.调试。

6.编写设想说明书。

五)设想说明书请求①.完整的设想义务书。

②.确定I/O点数,选择PLC的型号,完成系统组态或硬件配置。

③.正确合理地进行编程元件的地址分配。

基于PLC电子计算器课程设计

基于PLC电子计算器课程设计

PLC课程设计第1章电子计算器控制工艺流程分析1.1 电子计算器控制过程描述控制要求如下:1.由按键输入的数值显示在7段数码管上,但只限4位数。

2.按加、减、乘、除键时,第一次输入的值被存放在缓冲区中,当做被加、减、乘、除数,且加、减、乘、除相对的运算指示灯会亮。

3.接着输入一个数,之后若是按下“=”键,则此加、减、乘、除数被存放于另一个缓冲区中,与刚才输入的数做运算,且相对应的运算指示灯熄灭。

4.将运算结果显示在7段数码管上。

1.2 电子计算器控制工艺分析PLC控制系统设计和调试的一般步骤如图所示。

图1-1 设计PLC控制系统的一般步骤PLC课程设计1.根据生产的工艺过程分析控制要求。

如需要完成的动作(动作顺序、动作条件及必须的保护和联锁等)、操作方式(手动、自动;连续、单周期及单步等)。

2.根据控制要求确定所需的用户输入、输出设备。

据此确定PLC的I/O点数。

3.PLC机型的选择。

4.分配PLC的I/O点,设计I/O电气接口连接图(这一步也可结合第2步进行)。

5.进行PLC程序设计,同时可进行控制台(柜)的设计和现场施工。

在设计传统继电器控制系统时,必须在控制线路(接线程序)设计完成后,才能进行控制台(柜)设计和现场施工。

可见,采用PLC控制,可以使整个工程的周期缩短。

PLC程序设计的步骤:①对于较复杂的控制系统,需绘制系统流程图,用以清楚的表明动作的顺序和条件。

对于简单的控制系统,也可省去这一步。

②设计梯形图。

这是程序设计的关键一步,也是比较困难的一步。

要设计好梯形图,首先要十分熟悉控制要求,同时还要有一定的电气设计的实践经验。

③根据梯形图编制程序清单。

④用编程器将程序键入到PLC的用户存储器中,并检查键入的程序是否正确。

⑤对程序进行调试和修改,直到满足要求为止。

6.待控制台(柜)及现场施工完成后,就可以进行联机调试。

如不满足要求,再回去修改程序或检查接线,直到满足为止。

7.编制技术文件。

基于51单片机的简易计算器设计

基于51单片机的简易计算器设计

基于51单片机的简易计算器设计基于51单片机的简易计算器设计一、引言随着微电子技术和嵌入式技术的发展,越来越多的智能化设备被应用于日常生活中。

其中,基于51单片机的简易计算器设计具有广泛的应用价值。

本文将介绍如何使用51单片机设计一个简易计算器,实现加减乘除的基本运算功能。

二、设计方案1.硬件组成:本设计采用51单片机作为主控芯片,与键盘、显示器等外围设备相连。

键盘用于输入数字和运算符,显示器则用于显示运算结果。

2.软件设计:软件部分包括主程序和子程序。

主程序负责初始化硬件、读取键盘输入和显示运算结果。

子程序包括加减乘除的运算子程序,可根据输入的运算符和操作数进行相应的运算。

3.算法实现:在加减乘除的运算子程序中,采用基本的数学运算方法实现。

对于加法,直接将两个操作数相加;对于减法,将两个操作数相减;对于乘法,采用循环相乘的方法;对于除法,采用循环相除的方法。

三、实验结果在实验中,我们成功地使用51单片机设计了一个简易计算器,实现了加减乘除的基本运算功能。

在测试过程中,我们输入了不同的数字和运算符,得到了正确的运算结果。

同时,我们也测试了计算器的稳定性,发现其在连续运算时表现良好,没有出现明显的误差或故障。

四、结论基于51单片机的简易计算器设计具有简单易行、实用性强等优点。

通过实验测试,我们验证了其可行性和稳定性。

此外,该设计还可以根据需要进行扩展和优化,例如增加更多的运算功能、优化算法等。

未来,我们可以进一步研究如何提高计算器的运算速度和精度,以及如何将其应用于更多的实际应用场景中。

五、改进意见与展望1.增加更多的运算功能:例如实现括号、开方、指数等高级运算,满足更复杂的数学计算需求。

2.优化算法:针对现有的加减乘除运算算法进行优化,提高运算速度和精度。

例如采用更高效的除法算法,减少运算时间。

3.增加存储功能:在计算器中加入存储单元,使得用户可以在多个步骤之间进行数据传递和保存。

4.增强人机交互界面:优化显示器的显示效果,增加用户输入的便捷性,提高用户体验。

毕业设计(论文)-基于AT89C51单片机的简易计算器设计

毕业设计(论文)-基于AT89C51单片机的简易计算器设计

计算器(Calculator)是微型电子计算机的一种特殊类型。

它与一般通用计算机的主要区别在于程序输入方式的不同。

计算器的程序一般都已经固定,只需按键输入数据和运算符号就会得出结果,很容易就能掌握。

而一般计算机的程序可以根据需要随时改动,或重新输入新的程序。

简易计算器主要用于加减乘除;科学计算器,又增添了初等函数运算(有的还带有数据总加、求平均值等统计运算)。

现代电子计算器首次问世是1963年。

那时的计算器是台式的,在美国波士顿的电子博览会上展出过。

与计算机相比,它小巧玲珑,计算迅捷,一般问题不必事先编写复杂的程序。

随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。

这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的简易智能机器人。

随着社会需求,计算器也从原有单一的数字加减计算演变为复杂的多种运算。

现在不在单一的在某一方面而是涉及到生活的方方面面.由于我对知识掌握的不够熟练,重点不够清楚,导致在重点与非重点处花费的时间不成比例,进度缓慢,这是设计没能全部完成的部分原因。

目前只做到按键与显示的结合(即在显示器上可以显示数字键还有命令键+-*/ =清零);加法子程序已经编写成功并严整无误,但在整体调试中未能圆满实现,本部分正在调试中。

等调试成功后,其它运算子程序的问题将迎刃而解。

引言 (1)目录 (2)1.简易计算器的设计方案 (3)1.1硬件部分设计方案 (3)1.2软件部分设计 (3)1.3 硬件设计原理图 (4)2. 简易计算器部分电路设计 (5)2.1 AT89C51常用指令 (5)2.2 显示及显示接口 (11)2.3 键盘、液晶显示的组合接口 (15)2.4 算术逻辑运算处理 (18)3.总设计电路及调试 (19)致谢 (21)参考文献 (22)1.简易计算器的设计方案1.1硬件部分设计方案1 单片机部分单片机以AT89C51来做为核心元器件。

计算器设计实验报告

计算器设计实验报告

计算器设计实验报告《计算器设计实验报告》摘要:本实验旨在设计一个简单的计算器,并测试其功能和准确性。

实验过程中,我们使用了基本的电子元件和逻辑门电路来实现计算器的各种功能。

经过测试,我们发现设计的计算器能够准确地进行加减乘除等运算,并且在使用过程中表现稳定可靠。

通过本实验,我们对计算器的设计和原理有了更深入的了解,并且掌握了一定的电子电路设计和测试技能。

引言:计算器是现代生活中不可或缺的工具,它能够帮助人们进行各种数学运算,提高工作和学习效率。

在本实验中,我们将设计一个简单的计算器,并测试其功能和准确性。

通过这个实验,我们可以更深入地了解计算器的原理和设计,为今后的电子电路设计和实验打下基础。

材料和方法:1. 电子元件:逻辑门、电阻、电容、LED等2. 电路板和连接线3. 电源和示波器4. 计算器设计图纸和电路原理图实验步骤:1. 根据设计图纸和电路原理图,连接各种电子元件,组装成一个计算器电路。

2. 使用电源给电路供电,并使用示波器测试电路的输出波形和稳定性。

3. 进行加减乘除等运算测试,记录计算器的准确性和稳定性。

4. 对计算器进行长时间稳定性测试,观察其在长时间使用中的表现。

实验结果:经过测试,我们发现设计的计算器能够准确地进行加减乘除等运算,并且在使用过程中表现稳定可靠。

电路的输出波形清晰,没有明显的波动和噪声。

在长时间稳定性测试中,计算器表现良好,没有出现明显的故障和失效现象。

讨论:通过本实验,我们对计算器的设计和原理有了更深入的了解,并且掌握了一定的电子电路设计和测试技能。

在今后的学习和工作中,我们可以根据这些知识和技能,设计和制作更复杂和功能更强大的计算器和其他电子设备。

结论:本实验设计了一个简单的计算器,并测试了其功能和准确性。

经过测试,我们发现设计的计算器能够准确地进行加减乘除等运算,并且在使用过程中表现稳定可靠。

通过这个实验,我们对计算器的设计和原理有了更深入的了解,并且掌握了一定的电子电路设计和测试技能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机课程设计报告书课题名称电子计算器姓名学号院、系、部电气系专业指导教师焦咏梅马丽高艳玲2011年7 月3日电子计算器设计一、设计目的简易计算器的原理与设计是单片机课程设计课题中的一个。

在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。

我们这次设计的题目是简易加减计算器,实现一位数的加减法,通过键盘扫描第一个数,然后扫描有没有加减功能键按下,如果功能键按下则继续扫描第二个数字,扫完第二个数字之后然后确定是加法键还是减法键按下,然后调用加减法子程序最后扫描有没有等于号按下,如果有等号键按下则结果输出数码管显示。

学习和掌握单片机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。

通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。

二、设计要求单片机课程设计既要让我们巩固课本学到的理论,还要学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,数字计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高对单片机的兴趣,同时学习查阅资料、参考资料的方法。

通过实践更好的了解单片机,巩固了键盘扫描,数码管,等一系列单片机的知识。

本次设计我们需要AT89C51芯片,要充分理解各个管脚的用途;还是用了一个四位一体的共阴极的数码管,要知道其位控和字控的引脚位置;还用了4*4的键盘;采用手电复位。

本课程设计要求:1.扩展4*4键盘,其中10个数字,3个功能键,1个清零2.强化对于电路的焊接3.使用四位数码管接口电路4.完成十进制的四则运算(加、减);5.实现结果低于五位的连续运算;6.使用伟福6000 软件编写程序,使用汇编语言;7.最后用ptotel模拟仿真;8.学会对电路的调试三、硬件电路设计四、使用说明本设计是一个实现加、减的计算器,它的硬件主要由七部分组成,一个主单片机芯片,一个四位一体的共阴极的数码管,一个4*4的键盘,一个数码管锁存器74H573,一个复位电路,一个电源电路,一个晶振电路,它可以实现加、减运算。

首先.显示部分,让P2.0口做位扫描,P2.1口做段码输出,设置一个单元用来记录输入数字的位数,这样可以不用循环扫描每一位,而是根据输出位数判断扫描哪些位。

通过键盘扫描第一个数,然后扫描有没有加减功能键按下,如果功能键按下则继续扫描第二个数字,扫完第二个数字之后然后确定是加法键还是减法键按下,然后调用加减法子程序最后扫描有没有等于号按下,如果有等号键按下则结果输出数码管显示。

其次是设计键盘扫描程序,这里采用4*4矩阵键盘,通过软件识别,行和列可接在同个端口上,也可接在不同端口上,本设计行接在P3口的高四位,列接在P1口的低四位,通过循环扫描行,读取列的数据判断是否有键按下,如果有则调用按键识别程序识别是哪个键,执行相应的操作,按键识别是根据按键时得到的列代码与行代码组合,来判断是哪个键的。

按键识别后,如果是数字键则直接放入数码管显示缓冲区,如果再次有数字键按下,则应将缓存区的数字向高位移一位,将刚输入的数放入最低位,并且记录按键次数,每输入一个键值都调用显示程序显示出来,如果是运算符,则执行相应的运算,然后在调用显示程序显示结果。

最后是运算程序的加入,运算程序很简单,只要把+、-分别做成模块,用到时即可调用,本设计的难点是键盘识别和数值显示,因为这里边涉及到键盘输入的数值在内部要转换成10进制运算,运算结果要转换成各个位的显示数字输出。

五、流程图设计小于10 YES 不小于10NO NOYES YES开始调用显示子程序键盘扫描 得键值CJNE OAH 次数标志位置1存第一个数存第二个数 CJNEOFH CJNE OEH CJNE ODH CJNE OCH 相应的标志位置1是ADDD=1还是SUB=1NO NO YESYES 减法SUB=1NOADDD=1加法结果送显示六、程序设计如下:ADDD BIT 00H ;ADDD相当于位寄存器00HSUB BIT 01H ;SUB相当于位寄存器01HCISHU BIT 02H ;CISHU相当于位寄存器02HORG 0000HAJMP STARORG 0030HSTAR:MOV R0,#40H ;存放第一个数地址MOV 30H,#3FH ;没有按键时的数码管值0MOV R5,#00H ;CLR ADDD ;清除寄存器00HCLR SUB ;清除寄存器01HCLR CISHU 清除寄存器02HMAIN: LCALL DISPLAY;调用显示子程序MOV A,#0FFH ;键盘扫描开始LP: MOV P3,#00001111B;扫描子程序MOV A,P3JNB ACC.0,LP0 ;判断0列,是0跳到lLP0得到列键值JNB ACC.1,LP1 ;判断1列......JNB ACC.2,LP2 ;判断2列.....JNB ACC.3,LP3 ;判断3列......LCALL DELAY1 ;调用延时CJNEA,#0FH,XLS1XLS1:AJMP LPLP0:MOV B,#0;得到列值0AJMP LP15;跳到LP15得到判断行值LP1:MOV B,#1;得到列值1AJMP LP15;跳到LP15得到判断行值LP2:MOV B,#2;得到列值2AJMP LP15;....LP3:MOV B,#3;得到列值3LP15:MOV P3,#0FFH 初始化一下P3口MOV P3,#11110000B ;给高四位置一,为下步读值MOV A,P3;读回P3口值LCALL DELAY;调用延时JNB ACC.4,LP4;判断第四位,不唯1时,跳LP4读行值JNB ACC.5,LP5;判断第5位,不唯1时,跳LP5读行值JNB ACC.6,LP6;。

JNB ACC.7,LP7;。

AJMP LP8;都没有按下跳lp8LP4:MOV R3,#0;得到行值0AJMP LP8;跳到算出键值LP5:MOV R3,#4AJMP LP8LP6:MOV R3,#8AJMP LP8LP7:MOV R3,#12LP8:MOV A,BADD A,R3;行列相加LCALL DELAY ;调用延时MOV R4,A ;存键值MOV A,R4 ;键值放到aCJNE A,#0AH,N;和10比较AJMP N1 ;=与10跳到N:JNC N1 ;大于10(功能键)跳n1MOV A,R4 ;小于10存数JB CISHU,LL2 ;是1的话存第二个数MOV R0,#40H ;存第一个数MOV @R0,AAJMP LLLL2:MOV R0,#50H ;存第二数MOV @R0,ALL:LCALL CHABIAO ;查数码管表LCALL DISPLAY;调用显示函数N1:CJNE A,#0FH,NEXT;判断是不是清零键,不是清零键跳转MOV 30H,#3FH;清除数据缓冲区CLR ADDD;清除加号标志位CLR SUB;清除减号标志位MOV 40H,A;清除第1个数缓冲区MOV 41H,AMOV R0,#40H清除第二个数缓冲区MOV A,#3FH;送0的数码管数给显示缓冲区MOV 30H,ASJMP NEXT4;跳到结束NEXT:CJNE A,#0EH,NEXT1;判断是不是加键,不是加键跳转SETB ADDD;置加号标志位SETB CISHU,置次数标志位,为了判断存第二个数SJMP NEXT4;跳到NEXT4NEXT1:CJNE A,#0DH,NEXT2;判断是不是减键,不是减键跳转SETB SUB;置减号标志位SETB CISHUSJMP NEXT4NEXT2:CJNE A,#0CH,NEXT4;判断是不是等于键,不是等于跳转EQUAL:CLR CISHUJB ADDD,JIA;按下的是加号,调用加法子程序JB SUB,JIAN;按下的是减号,调用减法子程序AJMP NEXT4JIA:MOV R1,#40H;加法子程序MOV A,@R1;取第一个数MOV R1,#50H;取第二个数地址ADD A,@R1;两数相加LCALL CHABIAO;调用查表指令AJMP NEXT4;JIAN:CLR C;减法子程序MOV R1,#40HMOV A,@R1;取第一个数MOV R1,#50H;取第二个数地址SUBB A,@R1;两数相加MOV R4,ALCALL CHABIAO;调用查表子程序LCALL DISPLAY;调用显示NEXT4:AJMP MAINCHABIAO:MOV DPTR,#TAB ;查表子程序MOVC A,@A+DPTRMOV 30H,ARETDISPLAY:MOV A,#11110111B;显示子程序SETB P2.1;位选MOV P1,A;传位码MOV A,30H;取要显示的数码管值SETB P2.0;段选MOV P1,ACLR P2.0LCALL DELAY;调用延时DELAY:MOV R7,#0FFH;延时子程序LP11: DJNZ R7,LP11RETDELAY1:MOV R7,#9CHLP12: DJNZ R7,LP12RETTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H;数码管值RETEND七、设计总结:我们这次设计的课题是简易加减计算器,要求实现加减运算,由于能力有限我们最后的成果只是可以实现一位数的加减法,在实验过程中我遇到了很多问题。

当我刚刚接到这个课题时,觉得加减计算器就是实现加减法,以前我们都接触过,应该没有什么问题,但是当我真正开始编程时,遇到的第一个问题就是如何进行键盘扫描,经过查阅课本和课外资料我把这个问题解决了。

第二个问题是当我做protel图时也遇到了不少问题,例如我要十分清楚我的加减计数器的各个元件,引脚接线图如何分配,必须对引脚作用什么清楚,我也向同学请教了,与同组的同学进行了讨论,最后做出了protel图。

第三个问题时焊板子,我觉得这是一项考验耐心的实践,如果没有耐心的话你的板子就会出问题,我的板子第一次就出现了问题,最后检查出是由于某处虚焊了,我也总结了教训,做什么事情都要有耐心,很可能就以为粗心的问题整个程序就无法实现了。

最后一个难题也是我自认为遇到的最大问题,在两天时间里,一直在研究这个问题,就是如何把我的程序在板子上实现,因为试验箱和板子是不同的,所以我们的程序必须修改,这真的是一项严峻的考验,要求必须对你的程序和你的引脚什么熟悉,在两天时间里我仔细分析我的程序,对照我的protel图,经过反复实践,反复修改程序,终于在板子上可以实现加减法了,这种喜悦无法言语。

相关文档
最新文档