电子计算器设计

合集下载

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

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

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

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.硬件设计:选择适合的单片机,LCD显示屏,按键开关和电源电路,将它们连接在一起组成计算器的硬件。

2.软件设计:使用单片机的编程语言编写程序,实现计算器功能,如加法、减法、乘法、除法等运算,以及清零、退格、等号等功能。

二、硬件设计:选择单片机:在设计单片机计算器时,我们可以选择MCU,如STC89C52、ATmega32等。

这些单片机性能稳定,功能强大,适合用于计算器的设计。

LCD显示屏:选择合适尺寸和接口的LCD显示屏,用于显示计算结果和输入的数字。

按键开关:选择合适的按键开关,用于接收用户的按键输入,如数字、运算符等。

电源电路:设计适合的电源电路,为计算器提供稳定的电源。

三、软件设计:1.初始化功能:启动计算器时,进行相关初始化操作,如清屏、设置计算器状态等。

2.数字输入功能:通过按键输入,将数字输入到计算器中,同时刷新LCD显示屏上的内容。

3.运算功能:根据用户输入的数字和运算符,进行相应的运算操作,如加法、减法、乘法、除法等。

4.清零功能:按下清零按钮时,将计算器的状态重置为初始状态。

5.退格功能:当用户输入错误时,可以通过按下退格按钮,删除最后一个输入的数字或运算符。

6.等号功能:用户按下等号按钮时,计算器将完成运算,并将结果显示在LCD屏上。

7.错误处理功能:当用户输入错误时,计算器应该给出合适的错误提示。

四、程序实现:1.确定单片机的引脚分配,将LCD显示屏、按键开关和单片机的引脚连接起来。

2.使用单片机的编程语言编写程序,实现计算器的功能。

3.根据运算符和数字的不同,确定相应的运算方法,并在LCD显示屏上显示结果。

4.使用条件语句和循环结构,实现计算器的控制逻辑。

5.通过编程实现按键响应功能,当用户按下相应按键时,执行相应的操作。

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

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

基于51单片机的计算器设计一、引言计算器(Calculator)是一种专用的电子计算设备,用于简便地进行基本数学计算。

随着科技的发展,计算器的功能也逐渐丰富,并在日常生活中得到广泛应用。

本文将介绍一种基于51单片机的计算器设计方案,以满足人们对计算器的基本需求。

二、设计方案1.硬件设计(1)51单片机:作为计算器的核心,负责处理各项计算任务。

(2)显示屏:用于显示用户输入的数据和计算结果。

(3)按键模块:用于接收用户输入的数字和操作符。

(4)存储器:用于存储用户输入的数据和计算结果。

(5)电源模块:用于为计算器供电。

2.软件设计计算器的软件设计主要包括输入处理、运算处理和输出显示三个模块。

(1)输入处理:当用户按下数字键或操作符键时,计算器会根据当前输入的字符进行相应的处理。

例如,数字键按下后,将数字添加到当前输入的数字中;操作符键按下后,将当前输入的数字和操作符添加到存储器中。

(2)运算处理:当用户按下等号键时,计算器会根据存储器中的数字和操作符进行相应的运算处理。

例如,当存储器中包含两个数字和一个操作符时,计算器会根据操作符进行相应的运算,并将结果保存到存储器中。

(3)输出显示:当计算器完成运算处理后,将结果显示在显示屏上供用户查看。

同时,计算器还需要提供清除键和退格键等功能,以方便用户进行操作。

三、实现步骤1.初始化:将51单片机的各引脚设置为输入或输出,并设置相应的初始参数。

同时,初始化存储器、显示屏和按键模块等硬件设备。

2.输入处理:通过按键模块检测用户输入,并根据当前输入的字符进行相应的处理。

例如,当用户按下数字键时,将数字添加到当前输入的数字中;当用户按下操作符键时,将当前输入的数字和操作符添加到存储器中。

3.运算处理:当用户按下等号键时,计算器会根据存储器中的数字和操作符进行相应的运算处理。

例如,当存储器中包含两个数字和一个操作符时,计算器会根据操作符进行相应的运算,并将结果保存到存储器中。

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

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

基于单片机简易计算器的设计在我们的日常生活和工作中,计算器是一个非常实用的工具。

从简单的数学运算到复杂的科学计算,它都能为我们提供快速准确的结果。

而基于单片机设计的简易计算器,不仅具备基本的计算功能,还具有体积小、成本低、易于实现等优点。

一、设计背景随着电子技术的不断发展,单片机的应用越来越广泛。

它在控制、测量、通信等领域都发挥着重要作用。

而将单片机应用于计算器的设计,可以实现更加智能化和个性化的计算功能。

同时,对于学习电子技术的人来说,设计一个基于单片机的简易计算器也是一个很好的实践项目,可以帮助我们更好地理解单片机的工作原理和编程方法。

二、系统总体设计1、功能需求简易计算器应具备基本的四则运算(加、减、乘、除)功能,能够处理整数和小数的运算。

同时,还应具备清零、退位、等号等操作功能。

2、硬件设计硬件部分主要包括单片机最小系统、键盘输入模块、显示模块等。

单片机最小系统是整个系统的核心,负责控制和处理数据。

键盘输入模块用于接收用户的输入指令,显示模块用于显示计算结果。

3、软件设计软件部分主要采用 C 语言进行编程。

通过编写程序,实现对键盘输入的识别和处理,以及对计算结果的输出显示。

三、硬件电路设计1、单片机最小系统单片机选用常见的 STC89C52 芯片,它具有价格低廉、性能稳定等优点。

最小系统包括单片机芯片、晶振电路和复位电路。

晶振电路为单片机提供时钟信号,复位电路用于系统的初始化。

2、键盘输入模块键盘采用4×4 矩阵键盘,通过行列扫描的方式获取用户的输入信息。

键盘上的按键分别对应数字 0-9、四则运算符号、清零、退位和等号等功能。

3、显示模块显示模块选用 1602 液晶显示屏,它可以显示两行字符,每行 16 个字符。

通过单片机的控制,将计算结果和输入的算式显示在屏幕上。

四、软件程序设计1、主程序主程序主要负责初始化系统、扫描键盘、处理输入和计算结果等。

首先,对单片机的各个端口进行初始化设置,然后进入一个无限循环,不断扫描键盘,当检测到有按键按下时,根据按键值进行相应的处理。

(完整)基于51单片机的简易计算器设计

(完整)基于51单片机的简易计算器设计

(完整)基于51单片机的简易计算器设计基于51单片机的简易计算器设计计算器作为一种常见的电子设备,既能满足日常生活的计算需求,又能帮助人们提高工作效率。

本文将介绍基于51单片机的简易计算器的设计。

该计算器具备加减乘除的基本计算功能,并支持用户输入和结果显示。

下面将从材料准备、电路连接和程序设计三个方面详细介绍该计算器的设计。

一、材料准备在设计计算器之前,我们需要准备以下材料:1. 51单片机开发板:用于控制计算器的整个运行过程;2. 液晶显示屏:用于显示用户输入的数字和计算结果;3. 数字按键:用于用户输入数字和运算符;4. 连接线:用于连接51单片机开发板、液晶显示屏和数字按键。

二、电路连接1. 连接液晶显示屏和51单片机开发板:将液晶显示屏的VCC、GND、SCL和SDA引脚分别与开发板上对应的引脚连接。

2. 连接数字按键和51单片机开发板:将数字按键的引脚依次与开发板上的IO口引脚连接,其中有一根引脚需要连接到开发板的中断口。

三、程序设计1. 初始化设置:在程序开始时,进行液晶显示屏和数字按键的引脚初始化设置,以及相应的中断设置。

2. 输入处理:通过数字按键输入,获取用户输入的数字和运算符,并将其保存到相应的变量中。

3. 运算处理:根据用户输入的运算符,对相应的数字进行加、减、乘、除的运算,并将结果保存到一个变量中。

4. 结果显示:将运算结果显示在液晶显示屏上,以便用户查看计算结果。

5. 重置处理:在每次运算结束后,对相关变量进行重置,以便下一次计算。

通过以上程序设计,我们可以完成基于51单片机的简易计算器的设计。

在实际使用过程中,用户只需要通过数字按键输入相应的数字和运算符,计算器就可以自动进行运算,并将结果显示在液晶显示屏上,方便用户进行查看。

总结本文介绍了基于51单片机的简易计算器的设计。

通过合理的材料准备、电路连接和程序设计,我们可以实现一个具备加减乘除功能的计算器。

该计算器不仅能满足人们日常的计算需求,还能帮助提高工作效率。

简易计算器设计与实现

简易计算器设计与实现

简易计算器设计与实现一、引言计算器是一种广泛应用的工具,可以进行基本的算数运算和一些科学计算,能够极大地方便人们的日常生活和工作。

本文将介绍一个简易的计算器的设计和实现方案。

二、设计思路1.功能选择:通过提供菜单供用户选择,以实现计算器常见功能如加法、减法、乘法、除法等。

2.输入输出处理:用户通过键盘输入待计算的数字和操作符,计算器将结果输出到屏幕上。

3.算术运算:根据用户选择的功能,进行相应的算术运算,如加法、减法、乘法、除法等。

4.错误处理:对于非法的输入,如除数为0,需要给出错误提示。

三、详细设计1.界面设计:计算器通过命令行界面展示,用户通过菜单选择功能。

界面可以提供以下功能选择菜单:1)加法2)减法3)乘法4)除法5)退出2.输入输出处理:在命令行界面上提示用户输入数字和操作符,并读取用户输入的数据。

用户输入格式为两个数字和一个操作符,操作符为"+","-","*"或"/"。

3.算术运算:a)加法运算:将两个数字相加,得到结果。

b)减法运算:将第一个数字减去第二个数字,得到结果。

c)乘法运算:将两个数字相乘,得到结果。

d)除法运算:将第一个数字除以第二个数字,得到结果。

在执行除法运算前,需要检查除数是否为0,如果为0,则给出错误提示。

4.错误处理:在用户选择除法运算时,需要检查除数是否为0。

如果为0,则输出错误提示信息,提示用户输入合法操作数。

五、实现以下为Python语言实现的简易计算器代码示例:```pythondef add(a, b):return a + bdef subtract(a, b):return a - bdef multiply(a, b):return a * bdef divide(a, b):if b == 0:raise ValueError("除数不能为0")return a / bdef calculator(:while True:print("请选择功能:")print("1) 加法")print("2) 减法")print("3) 乘法")print("4) 除法")print("5) 退出")choice = int(input()if choice == 1:a = float(input("请输入第一个数字:"))b = float(input("请输入第二个数字:")) result = add(a, b)print("计算结果:%f" % result)elif choice == 2:a = float(input("请输入第一个数字:"))b = float(input("请输入第二个数字:")) result = subtract(a, b)print("计算结果:%f" % result)elif choice == 3:a = float(input("请输入第一个数字:"))b = float(input("请输入第二个数字:")) result = multiply(a, b)print("计算结果:%f" % result)elif choice == 4:a = float(input("请输入第一个数字:"))b = float(input("请输入第二个数字:")) try:result = divide(a, b)print("计算结果:%f" % result)except ValueError as e:print("错误:%s" % str(e))elif choice == 5:breakelse:print("无效的选择,请重新选择功能。

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

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

基于51单片机的简易计算器设计设计一个基于51单片机的简易计算器,主要功能包括加减乘除四则运算和百分数计算。

下面是设计的详细步骤:1.硬件设计:-使用51单片机作为主控芯片。

-连接16x2的LCD显示屏,用于显示输入和计算结果。

-连接16个按键开关,用于输入运算符和数字。

-连接4个LED灯,用于指示四则运算的选择。

2.软件设计:-初始化LCD显示屏,并显示欢迎信息。

-监听按键输入,在接收到输入后,根据输入的按键值判断操作类型。

-如果按键值对应数字键,保存输入的数字,并在LCD上显示当前输入的数字。

-如果按键值对应四则运算符(+、-、*、/),保存当前输入的数字,并保存运算符。

-如果按键值对应等号(=),根据保存的数字和运算符进行相应的运算,计算结果保存并显示在LCD上。

-如果按键值对应清零(C),将所有保存的数据清空,并显示初始状态。

-如果按键值对应百分号(%),将当前数字除以100并显示在LCD上。

3.主要函数说明:- void init_lcd(:初始化LCD显示屏。

- void display_lcd(char* str):将指定字符串显示在LCD上。

- void clear_lcd(:清空LCD显示屏。

- char get_key(:获取按键输入的值。

- void calculate(:根据保存的数字和运算符进行计算。

- void add_digit(char digit):将输入的数字添加到当前数字中。

- void set_operator(char op):保存运算符。

- void clear_data(:清空所有保存的数据。

4.主要流程:-初始化LCD显示屏并显示欢迎信息。

-在循环中监听按键输入,并根据输入的按键值进行相应的操作。

-根据不同的按键值,调用不同的函数进行处理。

-最后计算结果显示在LCD上。

以上是基于51单片机的简易计算器设计的详细步骤和主要函数说明。

你可以根据这个设计框架进行具体的代码实现。

简易计算器的设计

简易计算器的设计

简易计算器的设计一、引言计算器是一种常见的电子设备,用于进行数学运算。

然而,现在的计算器功能复杂,有时不易使用。

因此,为了满足用户的需求,我设计了一款简易计算器,以提供简单、直观和用户友好的界面。

二、设计目标1.提供基本数学运算功能,包括加、减、乘、除。

2.确保用户友好的界面设计,使用户易于操作。

3.提供结果的显示,并能够滚动以适应较长的计算结果。

4.支持清零功能,以便用户开始新的计算。

三、设计方案1.界面设计(1)计算器外观:采用手持式设计,与传统计算器外观类似,包括一个屏幕和一组按键。

(2)屏幕设计:使用液晶显示屏,具有高分辨率和抗眩光功能。

屏幕的大小根据实际需求来确定。

2.功能设计(1)基本运算功能:设计四个基本运算按键(加、减、乘、除)和一个等于键用于运算结果的计算。

(2)数字输入:提供0-9数字按键,以(3)小数点输入:提供小数点按键,以便用户输入小数。

(4)清零功能:提供一个清零键,以便用户能够轻松开始新的计算。

(5)结果显示:设计一个屏幕用于显示计算结果,并且能够滚动显示较长的结果。

3.系统设计(1)按钮交互:当用户按下数字、运算符或者清零键时,系统会根据不同按键的输入执行相应的操作。

(2)数学运算:系统在接收到运算符时,会将当前数字和运算符保存起来,当接收到等于键时,执行相应的数学运算并将结果显示在屏幕上。

(3)界面更新:系统根据用户输入时时更新屏幕上的数字和运算符。

四、流程图1.设计输入部分的流程图:(系统等待用户输入)↓(用户输入数字和运算符)↓(显示用户输入的结果)2.设计运算部分的流程图:(系统等待用户输入)↓(用户输入数字和运算符)↓(按下等于键)↓(执行数学运算)↓(显示计算结果)3.设计清零部分的流程图:(系统等待用户输入)↓(用户按下清零键)↓(清除屏幕上的显示内容)五、功能展示```_________________________________________ 2024计算器________________7,8________,________4,5________,________1,2________,________0,.________,________+,-________,________*,/________,________=,C____________,________,________,__________。

单片机原理课程设计OLED电子计算器

单片机原理课程设计OLED电子计算器
技术进步:OLED技术不断进步,显示效果更佳 应用领域:OLED电子计算器将应用于更多领域,如智能家居、物联网等 智能化:OLED电子计算器将更加智能化,具备更多功能 环保节能:OLED电子计算器将更加环保节能,降低能耗
感谢您的观看
汇报人:
接口编程:初始化、数据传输、显示控制 等
接口信号:数据线、时钟线、控制线等
接口测试:数据传输、显示效果等
单片机对OLED显示器的控制程序实现
单片机与OLED显 示器的连接方式
单片机对OLED显 示器的控制指令
单片机对OLED显 示器的显示效果控 制
单片机对OLED显 示器的亮度、对比 度等参数的调整
单片机的定义和作用
添加项标题
定义:单片机是一种集成电路芯片,将微处理器、存储器、输 入/输出接口等集成在一起,可以独立完成特定的任务。
添加项标题
作用:单片机广泛应用于各种电子设备中,如家电、汽车、工 业控制等领域,具有体积小、功耗低、可靠性高等优点。
添加项标题
特点:单片机具有可编程性,可以通过编程实现各种功能,具 有很高的灵活性和扩展性。
解决方案: 通过查阅 资料和请 教老师, 逐步掌握 硬件设计 技能
问题:软 件编程难 度大,需 要掌握多 种编程语 言
解决方案: 通过实践 和练习, 逐步掌握 软件编程 技能
问题:项 目进度控 制困难, 容易拖延
解决方案: 制定详细 的项目计 划,定期 检查进度, 及时调整 计划
OLED电子计算器的发展趋势和未来展望
添加项标题
应用:单片机在电子计算器中的应用,可以实现计算、存储、 显示等功能,提高计算器的性能和可靠性。
单片机的分类和特点
单片机分类:根 据功能、性能、 应用领域等不同, 可以分为8位、 16位、32位等不 同类型

基于PLC实现的电子计算器毕业设计

基于PLC实现的电子计算器毕业设计

本科生毕业论文(设计)基于PLC实现的电子计算器设计*名:***指导教师:**院系:信息工程学院专业:自动化学号:***********提交日期:2012年4月23日目录中文摘要 (4)英文摘要 (5)1引言 (6)1.1 课题来源 (6)1.2 电子计算器的发展 (6)1.2.1 电子计算器的起源 (6)1.2.2 电子计算器的构成 (7)1.2.3 电子计算器的分类 (8)1.3 PLC简述... (9)1.4 OMRON系列PLC (9)1.4.1 数据传送指令 (10)1.4.2 四则运算指令 (10)1.4.3 七段译码指令 (12)2 控制要求及设计要求 (12)2.1 控制要求 (12)2.2 设计要求 (13)2.3 方案对比 (13)3 硬件结构图和模块设计 (14)3.1 数字键盘连接 (14)3.2 程序流程图 (14)3.3 模块设计 (16)3.3.1 按键模块设计 (16)3.3.2 显示模块设计 (16)3.3.3 运算程序和清屏显示设计 (18)4 程序编写 (18)4.1 PLC选定 (18)4.2 I/O点分配 (18)4.3 外部接线图 (18)4.2 梯形图编写 (19)4.2 指令编写 (24)5 性能分析 (25)5.1 程序测试 (25)5.2 结果分析 (26)6 课题总结及展望 (26)6.1课题总结 (26)6.2 课题展望 (27)参考文献 (28)致谢 (29)基于PLC实现的电子计算器设计指导老师:鲍婕(黄山学院信息工程学院,黄山,安徽245041)摘要:在人们日常生活中,买东西、记账、学习等等,凡是与数有关的,我们都可以用到计算器,可见计算器真的很重要。

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

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

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

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

基于51单片机的简易计算器设计一、引言计算器是一种执行基本数学运算的电子设备,现在市面上有各种类型的计算器,从小型的手持计算器到大型的科学计算器。

本设计基于51单片机设计了一种简易计算器,可以实现加法、减法、乘法和除法等基本运算。

二、设计思路1.系统硬件设计本设计使用的51单片机芯片选择了常用的STC89C52芯片,具有强大的功能和稳定性。

外设有键盘、数码管和LCD液晶显示屏。

2.系统软件设计系统的软件设计基于C语言进行,使用51单片机的汇编语言和C语言进行编程。

软件主要分为键盘输入处理、运算处理和结果显示三个部分。

三、系统硬件设计1.键盘输入部分使用4x4矩阵键盘作为输入设备,将键盘的4行4列分别接入到51单片机的4个IO口上,通过行列扫描的方式来检测按键的状态。

2.数码管显示部分使用共阳极的数码管来显示结果,通过提供适当的电压和信号控制来显示所需的数字。

3.LCD液晶显示屏为了方便用户查看输入和结果,本设计还使用了LCD液晶显示屏。

通过串口通信将结果传输到液晶显示屏上进行显示。

四、系统软件设计1.键盘输入处理通过行列扫描的方式检测键盘的按键状态,当检测到按键按下时,将对应的按键值存储起来。

2.运算处理根据用户的输入进行相应的运算处理。

根据检测到的按键值进行不同的运算操作,如加法、减法、乘法和除法。

3.结果显示将运算的结果通过串口通信传输到LCD液晶显示屏上进行显示。

五、系统实现1.硬件连接将键盘的行列引脚接到51单片机的对应IO口上,数码管和LCD液晶显示屏也分别连接到单片机的IO口上。

2.软件编码通过C语言编写系统软件,包括键盘输入处理、运算处理和结果显示三个模块。

3.调试测试将编写好的软件烧录到单片机上,通过键盘输入进行测试,并观察数码管和LCD液晶显示屏上的输出结果。

六、总结本设计基于51单片机实现了一个简易计算器,通过键盘输入进行基本的运算操作,并将结果通过数码管和LCD液晶显示屏进行显示。

单片机的简易计算器毕业设计

单片机的简易计算器毕业设计

单片机的简易计算器毕业设计设计题目:基于单片机的简易计算器设计目的和意义:计算器是人们日常生活中必不可少的工具之一、通过设计一个基于单片机的简易计算器,可以帮助学生更好地理解计算机的原理和工作原理,同时也能提高他们的计算能力和逻辑思维能力。

此外,通过此设计可以加深对单片机的了解,并能提高学生的动手实践能力。

设计内容和要求:1.设计一个基于单片机的简易计算器,能完成基本的四则运算;2.能够输入和显示数字和运算符号;3.根据输入的数字和运算符号进行运算,得到正确的计算结果;4.能够处理异常情况,如除数为零等;5.设计一个简单的界面,使用户能够方便地进行操作;6.设计合理的电源管理系统,能够延长电池寿命;7.系统要求具有一定的误差范围,能够容忍一定的计算误差。

设计原理和方法:1.首先,选择一个合适的单片机作为主控制器,例如常用的51单片机;2.设计合适的输入和输出电路,使用户能够方便地输入和显示数字和运算符号;3.利用单片机的IO口进行数字和运算符号的输入和输出控制;4.设计算法,根据输入的数字和运算符号进行正确的四则运算,并得到正确的计算结果;5.根据实际情况进行运算结果的显示和存储,可以使用LCD液晶显示模块或LED数码管进行显示;6.设计异常处理程序,处理除数为零等异常情况;7.设计合理的电源管理系统,合理利用低功耗模式和休眠模式,延长电池寿命;8.对计算结果进行一定的误差范围控制,使其能够容忍一定的计算误差。

设计步骤和流程:1.确定设计的硬件平台和软件开发环境;2.进行电路设计,包括输入和输出电路的设计;3.进行程序开发,包括输入和输出控制、四则运算和异常处理程序的编写;4.进行整体系统调试,测试输入和输出的功能是否正常;5.进行算法调试,测试四则运算的正确性;6.进行界面设计,设计一个简单易用的用户界面;7.进行电源管理系统的设计和调试,测试功耗和电池寿命;8.完善设计文档,撰写设计报告。

设计结果和展示:通过以上设计,完成了一个基于单片机的简易计算器。

计算器设计实验报告

计算器设计实验报告

一、实验目的1. 熟悉数字电路的基本原理和设计方法。

2. 培养学生的动手能力和创新意识。

3. 设计并实现一个功能齐全的计算器。

二、实验原理计算器是一种常见的电子设备,其核心部件为运算单元。

本实验通过设计并实现一个计算器,使学生掌握以下原理:1. 按键扫描电路:用于读取按键信息。

2. 数据存储电路:用于存储输入的数值和运算符。

3. 运算电路:根据输入的运算符进行相应的运算。

4. 显示电路:用于显示运算结果。

三、实验仪器与材料1. 数字电路实验箱2. 计算器原理图3. 连接导线4. 按键5. LED显示器6. 电阻、电容等元件四、实验步骤1. 按键扫描电路设计(1)设计按键扫描电路原理图,包括按键、电阻、二极管等元件。

(2)根据原理图,搭建实验电路,并进行调试。

2. 数据存储电路设计(1)设计数据存储电路原理图,包括寄存器、计数器等元件。

(2)根据原理图,搭建实验电路,并进行调试。

3. 运算电路设计(1)设计运算电路原理图,包括加法器、减法器、乘法器、除法器等元件。

(2)根据原理图,搭建实验电路,并进行调试。

4. 显示电路设计(1)设计显示电路原理图,包括LED显示器、译码器等元件。

(2)根据原理图,搭建实验电路,并进行调试。

5. 整体电路设计(1)根据以上四个部分的设计,设计整体电路原理图。

(2)根据原理图,搭建实验电路,并进行调试。

五、实验结果与分析1. 按键扫描电路按键扫描电路能够正确读取按键信息,实现按键功能。

2. 数据存储电路数据存储电路能够存储输入的数值和运算符,为后续运算提供数据支持。

3. 运算电路运算电路能够根据输入的运算符进行相应的运算,实现加、减、乘、除等基本运算。

4. 显示电路显示电路能够将运算结果正确显示在LED显示器上。

5. 整体电路整体电路能够实现计算器的功能,满足实验要求。

六、实验总结1. 通过本次实验,掌握了数字电路的基本原理和设计方法。

2. 提高了动手能力和创新意识,培养了团队协作精神。

  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图,经过反复实践,反复修改程序,终于在板子上可以实现加减法了,这种喜悦无法言语。

相关文档
最新文档