电子计算器设计范文
NTC计算器范文
NTC计算器范文NTC(Negative Temperature Coefficient)计算器是一种用于温度测量的电子设备。
它采用了负温度系数的热敏电阻作为传感器,并通过计算电阻值与温度之间的关系来准确测量温度。
NTC计算器通常具有简单易用、高精度、快速响应和便携等特点,广泛应用于工业自动化、电子仪表、医疗设备等领域。
NTC计算器的基本工作原理是利用热敏电阻电阻值与温度呈负相关的特性。
当热敏电阻受到温度变化时,其电阻值会发生相应的变化。
NTC计算器通过测量热敏电阻的电阻值,并利用预先设定的温度-电阻曲线,计算出当前温度值。
测量模块是NTC计算器的核心部件,它包含一个热敏电阻传感器和相关的电路。
热敏电阻是一个特殊的电阻,在不同的温度下具有不同的电阻值。
测量模块的电路会读取热敏电阻的电阻值,并将其转换为相应的温度值。
显示模块用于显示测量结果,通常采用数字显示器或液晶屏。
它将计算出的温度值以数字或图像的形式呈现给用户。
控制模块用于控制和管理NTC计算器的各种功能。
通过控制模块,用户可以设置温度单位、调整亮度、选择需要显示的温度范围等。
电源模块则用于为NTC计算器提供电力需求。
常见的电源方式有内置电池、充电电池、外接电源等。
电源模块通常还具备低电量提醒、充电提示等功能。
使用NTC计算器非常简单。
首先,将NTC计算器置于欲测量的物体或环境中,确保热敏电阻能够与环境充分接触。
接下来,打开NTC计算器的电源并等待一段时间,以使热敏电阻达到与环境温度一致的稳定状态。
最后,查看NTC计算器的显示屏,即可读取到当前的温度值。
如果需要切换温度单位,NTC计算器通常会提供相应的按钮或菜单选项。
用户可以按下按钮或选择对应的选项,将温度单位从摄氏度切换为华氏度或其他单位。
1.精度高:NTC计算器采用了负温度系数的热敏电阻,能够实现高精度的温度测量。
2.响应快:NTC计算器具有快速响应的特点,能够即时反映环境温度的变化。
3.便携方便:NTC计算器通常体积小巧,便于携带和使用。
基于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输入解析软件程序能够解析用户的输入,判断用户输入的是数字还是运算符,并将其保存在相应的变量中。
同时,软件还可以处理异常输入,如除以零等情况。
NPV计算器范文
NPV计算器范文NPV(Net Present Value)是一种投资评估的方法,用于衡量投资项目的价值和可行性。
NPV计算器是一种工具,用于计算NPV值.以下是一个关于NPV计算器的详细介绍,共计1200字。
第一部分:介绍NPV计算器是一种计算NPV值的工具。
NPV是一种评估投资项目的方法,它通过将项目的现金流量与折现率相结合,计算项目的净现值。
具体来说,NPV计算器可以帮助投资者在决策投资时,估计投资项目的生产力和可行性。
第二部分:NPV的计算公式NPV是通过项目的现金流量以及折现率来计算的。
NPV的计算公式如下:NPV = (CF1 / (1+r)^1) + (CF2 / (1+r)^2) + (CF3 / (1+r)^3) + ... + (CFn / (1+r)^n) - Initial Investment其中,NPV代表净现值,CF代表现金流量,r代表折现率,n代表现金流量发生的时间。
第三部分:NPV计算器的功能1.输入现金流量:NPV计算器允许用户输入投资项目的现金流量,以及折现率。
用户需要根据投资项目的不同时间点的现金流量输入相应的数值。
2.计算净现值:NPV计算器通过使用输入的现金流量和折现率,计算投资项目的净现值。
计算结果将显示在计算器的屏幕上。
3.比较不同投资项目:NPV计算器允许用户比较不同投资项目的净现值。
用户可以输入多个投资项目的现金流量和折现率,并计算它们的净现值。
计算器将显示每个投资项目的净现值,以便用户可以更好地比较它们的价值和可行性。
4.灵活的折现率设置:NPV计算器允许用户设置灵活的折现率。
用户可以根据具体的投资项目和市场情况,自由选择合适的折现率。
第四部分:NPV计算器的应用场景1.投资项目评估:NPV计算器可以帮助投资者评估各种投资项目的价值和可行性。
通过计算不同投资项目的净现值,投资者可以对项目的潜在回报和风险有更清晰的认识。
2.决策支持:NPV计算器可以作为决策支持工具,帮助管理层评估不同决策对组织的影响。
下浮率计算器范文
下浮率计算器范文在中国,房屋抵押贷款通常采用LPR(贷款市场报价利率)作为基准利率,并根据借款人的信用状况和借款金额确定利率折扣。
下浮率是指相对于LPR基准利率进行的利率优惠,借款人可以根据自身情况和市场需求进行谈判以获取更有利的下浮利率。
下面是一个简单的下浮率计算器示例,可以帮助借款人快速计算出实际支付利率和每月还款额。
假设LPR为4.65%,借款金额为100万元,下浮率为10%:步骤1:计算实际支付利率实际支付利率=LPR*(1-下浮率)实际支付利率=4.65%*(1-10%)=4.65%*0.9=4.185%步骤2:计算每月还款额假设贷款期限为20年,还款方式为等额本息,则每月还款额可以使用等额本息还款公式计算:每月还款额=贷款本金*月利率*(1+月利率)^还款月数/((1+月利率)^还款月数-1)月利率=实际支付利率/12还款月数=还款年数*12假设还款年数为20年:还款月数=20*12=240月利率=4.185%/12=0.3492%每月还款额=100万元*0.3492%*(1+0.3492%)^240/((1+0.3492%)^240-1)根据上述公式计算,可以得到每月还款额。
除了以上的计算步骤,下浮率计算器还可以提供一些附加功能,用于帮助借款人更好地理解贷款相关的费用和条件。
例如,它可以计算出贷款期间总还款额、总支付利息、还款计划表、可接受的最大房贷利率等。
这些功能可以帮助借款人更全面地了解贷款费用和条件,做出更明智的决策。
另外,下浮率计算器还可以允许用户进行自定义参数设置,如贷款金额、贷款期限、还款方式、利率浮动范围等,从而满足不同借款人的个性化需求。
总而言之,下浮率计算器对于房屋抵押贷款借款人来说是一种非常有用的工具。
它可以帮助借款人快速计算出实际支付利率和每月还款额,为借款人提供更准确的贷款费用估算,并支持个性化设置和附加功能,帮助借款人做出更明智的贷款决策。
51单片机简易计算器论文
51单片机简易计算器论文摘要:本篇论文基于51单片机设计并实现了一款简易计算器。
该计算器具有基本的加、减、乘、除四则运算功能,并支持小数点运算和括号运算。
通过设计合理的菜单界面和使用者友好的操作方式,使得计算器更加易用。
本文介绍了计算器的硬件设计和软件设计,并对其进行了功能测试和性能评估。
实验结果表明,该计算器具有较好的计算精度和运算速度,能够满足一般计算需求。
关键词:51单片机,简易计算器,四则运算,菜单界面1.引言随着计算机技术的发展和普及,计算器作为一种便携式计算工具得到了广泛应用。
无论是学生、工程师还是商务人士,都离不开计算器的帮助。
本文旨在设计一款基于51单片机的简易计算器,以满足用户日常计算需求。
2.硬件设计本文采用51单片机作为计算器的主控芯片,搭配LCD显示屏、按键和外部存储器等外围电路。
通过合理的电路连接和引脚设置,实现计算器的功能。
3.软件设计3.1主程序设计计算器的主程序采用C语言编写。
主程序主要包括菜单界面设计、按键响应和运算处理等功能。
通过LCD显示屏输出菜单选项,并通过按键输入执行相应的功能。
3.2加法运算加法运算是计算器最基本的功能之一、在软件设计中,通过读取按键输入的数值,并使用加法运算符将数值累加,最后显示结果。
3.3减法运算减法运算与加法运算类似,通过读取按键输入的数值,并使用减法运算符将数值相减,最后显示结果。
3.4乘法运算乘法运算是计算器的扩展功能之一、在软件设计中,定义乘法运算函数,通过读取按键输入的数值,并使用乘法运算符将数值相乘,最后显示结果。
3.5除法运算除法运算也是计算器的扩展功能之一、在软件设计中,定义除法运算函数,通过读取按键输入的数值,并使用除法运算符将数值相除,最后显示结果。
3.6小数点运算和括号运算为了提高计算器的实用性,本文还添加了小数点运算和括号运算功能。
在软件设计中,通过读取按键输入的数值,并进行相应的运算处理和显示结果。
4.功能测试和性能评估为了验证计算器的功能和性能,本文进行了一系列的功能测试和性能评估。
课程设计——电子计算器设计1
××大学××学院××系××课程设计电子计算器设计学生姓名学号所在系专业名称班级指导教师成绩××大学××学院二○一二年七月摘要:智能仪器是计算机技术与测量技术以及仪器仪表技术相结合的产物。
它具有传统仪器无法比拟的优点。
在精度,可靠性方面都有了本质性的改变。
仪器硬件都趋于采用嵌入式系统、片上系统等结构。
电子计算器是能进行数学运算的手持机器,拥有集成电路芯片,采用来实现电子计算器的各个功能。
该电子计算器由按键输入的数值显示在7段数码管上,但只限4位数;按加、减、乘、除键时,第一次输入的值被存放在缓冲区中,当做被加、减、乘、除数,且加、减、乘、除相对的运算指示灯会亮;接着输入一个数,之后若是按下“=”键,则此加、减、乘、除数被存放于另一个缓冲区中,与刚才输入的数做运算,且相对应的运算指示灯熄灭;运算结果显示在7段数码管上。
关键字:智能仪器片上系统电子计算器集成电路芯片缓冲区Abstract:Intelligent instrument is the computer technology and measurement technology and instrumentation technology combined with the product. It has the incomparable advantage of traditional instruments. In the accuracy, reliability are all essential changes. Instrument hardware are tending to use embedded system, system on chip structure. An electronic calculator is able to perform mathematical operations on handheld machine, has integrated circuit chip, used to realize each function of the electronic calculator. The electronic calculator from the key input values displayed in the7digital tube, but only4 digits; according to plus or minus, multiplication, addition to the key, the first input value is stored in the buffer, as is plus or minus, multiplication, addition, subtraction, division, and, in addition to take relative operation indicator light; and then enter a number, then press" if = " button, the plus, minus, multiplication, the divisor is stored in a buffer, and just the number of inputs to do arithmetic, and the corresponding operation indication lamp is extinguished; calculation results in the7 digital tube on.Key words: Intelligent instrument system on chip electronic calculator integrated circuit chip buffer目录前言 (1)1. 概述 (1)1.1 应用背景 (1)1.2 课题设计目标 (1)1.3 课题设计任务与思路 (1)2. 设计方案论述 (2)2.1 系统总体方案设计 (2)2.2 系统设计框图 (2)3. 系统硬件设计 (3)3.1 单片机最小系统 (3)3.2 矩阵键盘 (3)3.3 显示部分 (4)4. 程序设计 (4)4,1 具体设计内容 (5)4.1.1 四则运算 (5)4.1.2 键盘 (5)4.1.3 执行过程 (5)4.1.4 错误提示 (5)4.2 主程序流程图 (5)4.3 算数运算程序设计 (7)5.系统调试 (7)6. 设计总结 (8)7. 参考文献 (9)附录 (9)前言智能仪器是一种先进的技术产品,是计算机技术与测试技术相结合的产物,仪器内部带有处理能力很强的智能软件。
使用计算器计算范文
使用计算器计算范文计算器是一种用来进行数学计算的电子设备。
它能够进行基本的四则运算,同时还能完成一些复杂的科学和统计计算。
计算器的使用方便快捷,无论是在学习、工作还是日常生活中都起到了重要的作用。
计算器可以完成四则运算,即加减乘除。
例如,计算1+2,只需要在计算器上按下1、加号和2,然后按下等号即可得到结果。
对于较复杂的运算,如9×8-6÷3,也可以轻松完成。
计算器还可以进行多次运算,如计算1+2+3+4+5,只需要按下1、加号、2、加号、3、加号、4、加号、5,最后按下等号即可得到结果。
计算器还可以进行科学计算,如幂运算、开方、三角函数等。
这对于物理学、化学、工程学等科学领域的学习和实践非常有帮助。
例如,计算2的平方,只需要按下2、平方的符号,然后按下等号即可得到4、计算器还可以计算三角函数,如正弦、余弦、正切等。
例如,计算30°的正弦值,只需要按下30、sin的符号,然后按下等号即可得到0.5除了基本的数学计算,计算器还可以进行统计计算。
它可以计算一组数据的平均值、标准差、方差等。
这对于统计分析和数据处理非常有用。
例如,计算一组数字的平均值,只需要将这些数字输入到计算器中,然后按下对应的计算键即可得出结果。
计算器还具有存储和回溯功能。
这意味着用户可以将中间结果存储起来,然后在需要时回溯使用。
例如,计算一个长方形的面积,用户可以先将长和宽存储在计算器中,然后按下面积的计算键得出结果。
计算器还可以存储多个中间结果,这对于复杂的计算非常有帮助。
计算器还具有显示功能,它可以显示输入的数字和运算过程中的中间结果。
这使得计算器的使用更加方便和直观。
有些计算器还具有背光显示和大屏幕设计,这使得在光线不好的环境下和老年人使用更加方便。
总而言之,计算器是一种非常实用的工具,它可以进行基本的四则运算、科学计算和统计计算。
它的使用方便快捷,对于学习、工作和日常生活都起到了重要的作用。
简易计算器设计范文
简易计算器设计范文首先,我们需要决定计算器的基本功能。
一个简易计算器通常应该具备加法、减法、乘法和除法的功能。
此外,我们还可以添加开方、求平方以及取模等功能。
在设计计算器之前,我们需要确定用户界面。
对于一个简易计算器来说,我们可以使用命令行界面或者图形用户界面。
在本文中,我们将使用命令行界面。
接下来我们需要设计计算器的算法。
为了实现加、减、乘、除这些基本运算,我们可以编写四个函数来完成。
比如,加法函数可以接收两个数并返回它们的和,减法函数可以接收两个数并返回它们的差,乘法函数可以接收两个数并返回它们的乘积,除法函数可以接收两个数并返回它们的商。
同时,我们还需要添加一些辅助函数来处理开方、求平方以及取模等功能。
比如,开方函数可以接收一个数并返回它的平方根,求平方函数可以接收一个数并返回它的平方,取模函数可以接收两个数并返回它们的余数。
在设计计算器时,我们还要考虑到用户输入的错误处理。
如果用户输入无效的操作或者除数为零,我们需要给出错误的提示信息。
接下来,我们来设计主要的程序流程。
首先,我们需要显示一个欢迎信息,告诉用户如何使用计算器。
然后,在一个循环中,我们会要求用户输入要执行的操作,然后读取用户输入的操作和操作数。
根据用户的选择,我们会调用相应的函数来执行计算,并输出结果。
接着,我们会继续询问用户是否要继续进行计算。
如果用户选择退出,我们会结束循环并显示一个退出信息。
最后,我们需要编写测试用例来确保计算器的功能正常。
我们可以输入一些固定的操作和操作数,然后验证计算器返回的结果是否正确。
如果测试用例中出现错误,我们需要进行修复。
在编写代码之前,我们还需要选择一个编程语言。
对于一个简易计算器来说,Python是一个非常适合的选择。
Python具有简单易读的语法,能够轻松地实现我们的设计。
下面是本文的设计示例:```python#导入所需的库import math#加法函数def add(x, y):return x + y#减法函数def subtract(x, y):return x - y#乘法函数def multiply(x, y):return x * y#除法函数def divide(x, y):if y == 0:raise ValueError("除数不能为零") return x / y#开方函数def square_root(x):if x < 0:raise ValueError("不能对负数开方") return math.sqrt(x)#求平方函数def square(x):return x ** 2#取模函数def modulo(x, y):if y == 0:raise ValueError("除数不能为零") return x % y#欢迎信息print("欢迎使用简易计算器!")print("请按以下方式输入操作:")print("加法:'a 数1 数2'")print("减法:'s 数1 数2'")print("乘法:'m 数1 数2'")print("除法:'d 数1 数2'")print("开方:'r 数'")print("求平方:'q 数'")print("取模:'o 数1 数2'")#主程序循环while True:#用户输入operation = input("输入操作:")data = operation.splitif data[0] == "a":result = add(float(data[1]), float(data[2])) print("结果为:", result)elif data[0] == "s":result = subtract(float(data[1]), float(data[2])) print("结果为:", result)elif data[0] == "m":result = multiply(float(data[1]), float(data[2])) print("结果为:", result)elif data[0] == "d":try:result = divide(float(data[1]), float(data[2])) print("结果为:", result)except ValueError as e:print("错误:", str(e))elif data[0] == "r":try:result = square_root(float(data[1]))print("结果为:", result)except ValueError as e:print("错误:", str(e))elif data[0] == "q":result = square(float(data[1]))print("结果为:", result)elif data[0] == "o":try:result = modulo(float(data[1]), float(data[2]))print("结果为:", result)except ValueError as e:print("错误:", str(e))else:print("无效的操作")#判断是否继续计算choice = input("是否继续计算?(y/n)")if choice == "n":breakprint("谢谢使用,再见!")```通过以上设计,我们可以在命令行中使用这个简易计算器来执行加、减、乘、除、开方、求平方和取模等操作。
简单计算器编程范文
简单计算器编程范文编写一个简单的计算器程序是一个很好的编程练习,可以帮助你理解控制流、函数和条件语句等编程概念。
以下是一个示例的计算器程序,使用Python编写:```pythondef add(x, y):"""相加"""return x + ydef subtract(x, y):"""相减"""return x - ydef multiply(x, y):"""相乘"""return x * ydef divide(x, y):"""相除"""if y == 0:raise ValueError("除数不能为零")return x / ydef calculator(:print("选择运算:")print("1. 相加")print("2. 相减")print("3. 相乘")print("4. 相除")choice = input("输入选择(1/2/3/4): ")num1 = float(input("输入第一个数字: "))num2 = float(input("输入第二个数字: "))if choice == '1':print(num1, "+", num2, "=", add(num1, num2))elif choice == '2':print(num1, "-", num2, "=", subtract(num1, num2)) elif choice == '3':print(num1, "*", num2, "=", multiply(num1, num2)) elif choice == '4':try:print(num1, "/", num2, "=", divide(num1, num2)) except ValueError as e:print(e)else:print("无效的选择")calculator```上述的代码中,我们定义了四个基本的数学运算函数:`add`、`subtract`、`multiply`、`divide`,分别对应加法、减法、乘法和除法。
简单计算器的设计文档
姓名:雷永阳
学号:2010221105200194 年级:10电信二班
学院:物电学院
简单计算器的设计文档
一设计意义
选择做这个计算器的意义在于引导我学会设计简单的科学计算器,进一步掌握Visual C++应用程序。
统地学习面向对象编程思想,了解MFC架构,逐步熟悉可视化编程环境Visual C++,并在此环境下设计并实现一个简单计算
该计算器能实现加、减、乘、除、乘方等简单计算。
二设计目标
使计算器含有以下功能:
(1)、基本运算功能:可以进行加、减、乘、除等基本运算。
(2)、删除功能:可以在输入错误时删除已输入的数值。
(3)、归零功能:可以在计算完成后清空编辑框中的已有数值。
基本运算功能:可以进行加、减、乘、除等基本运算。
三程序设计与实现
(1)程序结构
本计算器首先是通过在计算器的界面上按下相应的按钮,来进行基本的加,减,乘,除等基本运算,计算器还能够进行平方运算,求平方根运算,乘方运算。
(2)界面介绍
四设计难点与解决方法
设计难点1:遇到一些复杂的函数计算时,设计的代码不能很好的反映出该有的功能。
解决策略:通过看书、上网查资料和与同学讨论,自己再反复修改代码,运行程序,直到实际效果满意为止。
设计难点2:在编译程序时,出现类型不匹配的错误,查找是Cstring和double类型之间没有转换。
解决策略:查找到Format()和atof()函数可以进行他们之间的转换。
简易计算器设计毕业设计论文
目录第一章计算器设计内容 (2)(一)任务内容 (2)(二)任务分析 (2)第二章方案的设计 (3)(一)方案设计论证 (3)(二)方案概述与原理硬件电路图 (3)第三章计算器设计基本原理 (5)(一)AT89C51系列单片机 (5)(二)LCD显示模块 (7)(三)运算模块 (7)(四)键盘接口电路 (8)第四章主程序设计 (9)第五章结论 (17)第六章致谢 (18)第七章参考文献 (19)第一章计算器设计内容(一)任务内容本设计就是充分利用了8051芯片的I/O引脚。
系统以采用MCS-51系列单片机Intel8051为中心器件来设计计算器控制器,实现了能根据实际输入值显示并存储的功能,计算程序则是参照教材。
至于位数和功能,如果有需要可以通过设计扩充原系统来实现。
具体设计如下:1.由于要设计的是简单的计算器,可以进行四则运算,为了得到教好的显示效果,采用LED显示数据和结果。
2.另外键盘包括数字键(0-9)、符号键(+、-、*、/)、等号键,故只需要16个按键即可,设计中采用手焊接的4*4矩阵键盘。
3.执行程序:开机显示零,等待键入数值,当键入数字,通过LED显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值后将显示键入的数值,按等号就会在LED上输出运算结果。
本计算器是以MCS-51系列8051单片机为核心构成的简易计算器系统。
该系统通过单片机控制,实现对4*4键盘扫描进行实时的按键检测,并把检测数据存储下来。
整个计算器系统的工作过程为:首先存储单元初始化,显示初始值和键盘扫描,判断按键位置,查表得出按键值,单片机则对数据进行储存与相应处理转换,之后送入LED显示器动态显示。
整个系统可分为三个主要功能模块:功能模块一,实时键盘扫描;功能模块二,数据转换成显示器显示;功能模块三,显示器动态显示。
(二)任务分析在本次设计中,主要完成如下方面的设计任务:1.简要阐述单片机技术发展的国内外现状及LED动态显示和矩阵键盘基本原理;2.掌握51系列某种产品的最小电路及外围扩展电路的设计方法;3.了解单片机数据转换功能及工作过程;4.完成主要功能模块的硬件电路设计及必要的参数确定;5.用PROTEUS软件完成原理电路图的绘制;通过本次课题设计,应用《单片机应用基础》、《计算机应用基础》等所学相关知识及查阅资料,完成简易计算器的设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。
计算器需求分析范文
计算器需求分析范文一、需求背景和目标随着计算机科技的发展,计算器已经成为人们日常生活中不可或缺的工具之一、无论是在学习、工作还是生活中,我们都需要计算器来进行简单或复杂的数学计算。
然而,市面上的计算器种类繁多,功能各异。
因此,我们有必要进行计算器的需求分析,以确定用户的具体需求,并设计出满足这些需求的计算器。
本次需求分析旨在设计一个功能全面、简单易用的计算器,满足用户在各个方面的计算需求,并提高用户的计算效率。
二、用户需求分析1.简单易用:计算器需要具备简单易懂的操作界面和直观的按键设计,以方便用户快速上手和使用,尽可能减少用户的学习成本。
2.基本计算功能:计算器应具备基本的四则运算功能,包括加、减、乘、除等,以满足用户进行简单的计算需求。
3.复杂计算功能:计算器还应具备复杂的数学计算功能,如平方、平方根、阶乘、三角函数等,以满足用户在数学学习和科学计算方面的需求。
4.单位换算功能:计算器还应具备单位换算功能,包括长度、面积、体积、时间、重量等各个领域的常见单位换算,方便用户进行各种单位之间的转换。
5.历史记录功能:计算器应具备历史记录功能,记录用户最近的计算操作,方便用户查看和复用之前的计算结果。
6.自定义函数功能:计算器还应具备自定义函数的功能,允许用户根据自己的需求定义和使用特定的函数,方便用户进行复杂的计算。
7.数据统计功能:计算器还应具备数据统计功能,包括求平均值、求和、最大值、最小值等,方便用户对一组数据进行统计和分析。
8.图形显示功能:计算器还应具备图形显示功能,允许用户绘制并显示简单的二维图形,如折线图、饼图等,方便用户进行数据可视化展示。
9.数据存储功能:计算器还应具备数据存储功能,允许用户将重要的计算结果或数据保存在计算器内部的存储器中,方便日后查看和使用。
10.多语言支持:计算器还应具备多语言支持功能,方便用户选择和使用自己熟悉的语言进行计算。
三、技术需求分析1.采用合适的开发平台和编程语言进行开发,以保证计算器的稳定性和可靠性。
硬件课程设计(电子计算器)报告
电子计算器的设计主要分为键盘的编码、七段LED 数码管的显示及四则运算法则的编写三部分。
设计中我们用可编程外围接口芯片8255A 连接键盘和七段LED 数码管,用七段LED 数码管显示键盘输入信号及运算结果,利用简单的汇编语言编写相应程序进行四位自然数的有效四则运算。
由于本次实验中,实验箱是HUSYE3-MIT-16/32微机接口实验仪采用模块化、积木式的结构,各实验模块互不影响。
但可通过连线将各实验模块有机组合起来,进行微机外围接口实验。
实验箱中8279已经集成了键盘和LED数码管显示的功能。
因此,本次实验是采用了硬件设计更为简单而功能强大的8279辅助完成实验。
关键词:8279;七段LED 数码管;汇编语言;四则运算目录1选题与需求分析 (1)1.1选题 (1)1.2需求分析 (1)1.2.1课题的功能需求 (1)2总体设计 (2)2.1硬件方案 (2)2.2软件方案 (2)3详细设计 (5)3.1硬件实现 (5)3.2软件实现 (5)4设计结果 (10)5收获与体会 (15)6参考文献 (16)7附录....................................................................................... 错误!未定义书签。
1 选题与需求分析1.1 选题我选的题目是电子计算器。
电子计算器的设计主要分为键盘的编码、七段LED 数码管的显示及四则运算法则的编写三部分。
设计中我们用可编程外围接口芯片8255A 连接键盘和七段LED 数码管,用七段LED 数码管显示键盘输入信号及运算结果,利用简单的汇编语言编写相应程序进行四位自然数的有效四则运算。
由于本次实验中,实验箱是HUSYE3-MIT-16/32微机接口实验仪采用模块化、积木式的结构,各实验模块互不影响。
但可通过连线将各实验模块有机组合起来,进行微机外围接口实验。
实验箱中8279已经集成了键盘和LED数码管显示的功能。
简易计算器的设计
简易计算器的设计一、引言计算器是一种常见的电子设备,用于进行数学运算。
然而,现在的计算器功能复杂,有时不易使用。
因此,为了满足用户的需求,我设计了一款简易计算器,以提供简单、直观和用户友好的界面。
二、设计目标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____________,________,________,__________。
计算器设计思路范文
计算器设计思路范文设计一个计算器需要考虑以下几个方面:1.用户界面设计:首先,计算器需要提供清晰易懂的用户界面,以便用户能够方便地使用。
界面应该包括数字键盘、运算符键盘、清除键、等号键以及显示屏等功能区域。
2.输入处理:计算器应该能够接受用户的输入。
在用户按下数字键时,输入的数字应该显示在显示屏上。
如果用户按下运算符键,应该保存运算符并清空显示屏上的数字。
在用户按下等号键时,应该根据保存的运算符进行相应的运算。
3.运算功能:计算器应该支持基本的数学运算,包括加法、减法、乘法和除法。
在用户按下等号键后,计算器应该根据保存的运算符进行相应的运算,并显示计算结果在显示屏上。
4.错误处理:计算器应该能够处理输入错误的情况,例如除数为零等。
在发生错误时,计算器应该给出错误提示并清空显示屏。
5.高级功能:设计一个计算器时,可以考虑添加一些高级功能,如括号运算、开方、幂运算、百分比计算和取反等。
这些功能可以通过额外的功能键实现。
6.存储功能:计算器可以提供存储功能,允许用户将值存储在存储器中,并在需要时进行检索和使用。
这可以通过添加存储键和检索键来实现。
7.单元转换功能:一些计算器还提供单元转换功能,可以将输入的数值从一个单位转换为另一个单位。
例如,将温度从摄氏度转换为华氏度或将长度从英寸转换为厘米等。
这可以通过添加单位转换键和一个简单的转换算法来实现。
总结起来,设计一个计算器需要考虑用户界面设计、输入处理、运算功能、错误处理、高级功能、存储功能和单元转换功能等方面。
在设计过程中,应该根据实际需求和用户习惯来确定功能和界面的设计,并且要注意处理输入错误和提供友好的错误提示。
电子技术课程设计报告-简单计算器设计.docx
海工浆以会•乂豚Shanghai University of Engineering Science电子技术课程设计报告设计名称:简单计算器设计姓名学号:同实验者:指导老师:—完成学期:2014-15 (二)摘要计算器在人们的日常中是比较的常见的电子产品之一。
可是它还在发展之中,以后必将出现功能更加强大的计算器,基于这样的理念,本次设计是用单片机来设计的八位计算器。
该设计系统是以AT89C51为单片机,用74LS245为显示位控制,P1 口作为输入端,外接4X4的键盘,通过键盘扫描来对输入数的控制,并外接驱动电路,系统采用LED 数码管作为显示器,软件程序采用均采用C++编写,便于移植与升级。
报告详细介绍了整个系统的硬件组成结构、工作原理和系统的软件程序设计。
计算器将完成的功能有整数的加,减,乘,除等功能。
关键字:计算器数码管74LS245晶振51单片机目录第一章设计目的与意义第二章方案论证与设计2.1实现方法2.2方案论证与设计第三章硬件模块介绍3.1运算模块3.1. 1 单片机(AT89C51)3.1. 1.1单片机引脚介绍3. 1. 2741s245 芯片3. 1. 2. 1 741s245 芯片详解3. 2输入模块3. 2. 1键盘介绍3. 3显示模块第四章仿真及调试第五章总结参考文献第1章设计的指标1.设计目的和意义1.1设计目的设计4*4的键盘,其中10个数字键0~9,其余6个为“ + ” “-” “*” “/”“=”和“C”,最大显示实现6位数,可以基本的运算(加减乘除),数据归零。
1.2意义计算器在人们的日常中是比较的常见的电子产品之一。
可是它还在发展之中,以后必将出现功能更加强大的计算器,基于这样的理念,本次设计是用单片机来设计的八位计算器。
第二章方案论证与设计2.1方案论证2.1.1方案1根据功能和指标要求,本系统选用MCS-51系列单片机AT89C51为主控机。
通过扩展必要的外围接口电路,实现对计算器的设计。
LC频率计算器范文
LC频率计算器范文
LC频率计算器是一种用来计算电感电容电路中共振频率的工具。
在电子电路设计和调试中,经常需要计算电感和电容的数值与频率之间的关系。
而LC频率计算器可以帮助我们快速准确地计算出电感电容电路的共振频率,从而指导我们设计和调试电路。
在电路中,电感和电容是非常重要的元件。
电感是一种储存电能的元件,它通过电流的变化来产生磁场。
而电容则是一种储存电能的元件,它通过电压的变化来储存电能。
当电感和电容组合在一起,就形成了一个谐振电路。
谐振电路是一种电路,其在特定频率下具有非常高的响应,并形成共振现象。
而共振频率则是谐振电路中的一个重要参数,它表示了谐振电路的响应频率。
在设计和调试电路时,我们需要知道谐振电路的共振频率,以便选择合适的电感和电容数值。
f=1/(2π√(LC))
除了计算共振频率,LC频率计算器还可以用来计算其他相关参数。
例如,根据谐振频率可以计算出共振电阻的数值,该电阻导致谐振电路在共振频率处具有最大响应。
此外,LC频率计算器还可以帮助我们分析电路的频率响应特性,以及优化电路设计。
总结起来,LC频率计算器是一种非常有用的工具,用于计算电感电容电路的共振频率。
它可以帮助我们快速准确地计算出电路的共振频率,从而指导我们设计和调试电路。
在电子电路设计和调试中,LC频率计算器是一个不可或缺的工具。
电子计算器设计范文
电子计算器设计组员:陆鹏飞(组长)谭义严广信电学院电气10-9班目录1. 课题任务…………………………………………………………………………2. 方案比较与选择………………………………………………………………3. 电路设计………………………………………………………………………4. 程序设计………………………………………………………………………………5.测试方案………………………………………………………………………………6. 系统调试……………………………………………………………………………7. 数据测试与处理………………………………………………………………8.总结……………………………………………………………………………………9.参考文献………………………………………………………………………………10.附录……………………………………………………………………………………1.课题任务本次设计是用AT89S51单片机、LCD显示器、控制按键为元件来设计的计算器。
利用此设计熟悉单片机微控制器及C语言编程,对其片资源及各个I/O端口的功能和基本用途的了解。
掌握keil应用程序开发环境,常用的LCD显示器的使用方法和一般键盘的使用方法。
本次设计的电子计算器主要完成加/减/乘/除运算,使用1602LCD显示器显示数据,具体如下:1.具备删除功能:如数字输入错误,可以通过删除键,对错误的数字进行删除操作。
2.具备括号内运算功能:如((1+2)*3+4)/53.具备连续计算的功能,可以使得计算具有一定的方便性。
4.具备日期时钟显示功能5.具备蜂鸣器按键提示功能6.计算结果可保留至小数点后六位7.具备复位功能8.可进行小数运算22.方案比较与选择根据本次课题设计任务与目标,我们小组选用AT89S51单片机、LCD显示器、控制按键为元件来设计电子计算器。
2.1 系统总体设计方案本设计以AT89C51型号单片机为控制核心进行设计。
读书郎计算器范文
读书郎计算器范文导读:随着科技的发展,计算器已经成为了人们生活中不可或缺的工具之一、而为了满足读书爱好者对计算器的需求,读书郎计算器应运而生。
读书郎计算器不仅具备了基本的计算功能,还集成了图书馆查询系统、阅读推荐功能等。
本文将详细介绍读书郎计算器的功能和特点。
一、计算功能:读书郎计算器基于最先进的计算技术,具有强大的计算功能。
它可以进行常见的四则运算,包括加法、减法、乘法、除法等。
此外,它还支持复杂的科学计算,包括指数、对数、三角函数等。
用户只需输入相应的数学表达式,读书郎计算器即可快速计算出结果,并显示在屏幕上。
二、图书馆查询系统:三、阅读推荐功能:四、语音输入和输出:读书郎计算器支持语音输入和输出功能,大大提高了使用的便利性。
用户只需通过语音输入,即可快速输入计算表达式或图书查询关键字。
读书郎计算器会通过语音输出将计算结果或图书查询结果念给用户听,免去了繁琐的手动输入和查看的步骤。
五、远程同步功能:读书郎计算器还提供了远程同步功能,方便用户在不同设备上进行数据共享和备份。
用户只需登录自己的账户,即可在多个设备上同步使用读书郎计算器,无需再次输入个人信息和设置。
而且,用户在一台设备上添加的读书记录、计算历史等数据,会自动同步到其他设备上,确保数据的完整性和一致性。
六、用户界面个性化定制:读书郎计算器允许用户对界面进行个性化定制,以满足不同用户的审美和使用习惯。
用户可以选择不同的主题、字体大小和颜色等,打造属于自己的专属计算器。
这种个性化的设计不仅使计算器更具个性,还让用户在使用过程中更加得心应手。
七、安全性保障:读书郎计算器注重用户数据的安全性和隐私保护。
它采用先进的数据加密和隐私保护技术,确保用户的个人信息和计算历史等数据不被非法获取或滥用。
同时,读书郎计算器还提供了账户登录和密码保护功能,只有经过授权的用户才能访问自己的账户和数据。
八、便携性:九、价格优势:与其他高端计算器相比,读书郎计算器具有明显的价格优势。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子计算器设计组员:陆鹏飞(组长)谭义严广信电学院电气10-9班目录1. 课题任务…………………………………………………………………………2. 方案比较与选择………………………………………………………………3. 电路设计………………………………………………………………………4. 程序设计………………………………………………………………………………5.测试方案………………………………………………………………………………6. 系统调试……………………………………………………………………………7. 数据测试与处理………………………………………………………………8.总结……………………………………………………………………………………9.参考文献………………………………………………………………………………10.附录……………………………………………………………………………………1.课题任务本次设计是用AT89S51单片机、LCD显示器、控制按键为元件来设计的计算器。
利用此设计熟悉单片机微控制器及C语言编程,对其片资源及各个I/O端口的功能和基本用途的了解。
掌握keil应用程序开发环境,常用的LCD显示器的使用方法和一般键盘的使用方法。
本次设计的电子计算器主要完成加/减/乘/除运算,使用1602LCD显示器显示数据,具体如下:1.具备删除功能:如数字输入错误,可以通过删除键,对错误的数字进行删除操作。
2.具备括号内运算功能:如((1+2)*3+4)/53.具备连续计算的功能,可以使得计算具有一定的方便性。
4.具备日期时钟显示功能5.具备蜂鸣器按键提示功能6.计算结果可保留至小数点后六位7.具备复位功能8.可进行小数运算22.方案比较与选择根据本次课题设计任务与目标,我们小组选用AT89S51单片机、LCD显示器、控制按键为元件来设计电子计算器。
2.1 系统总体设计方案本设计以AT89C51型号单片机为控制核心进行设计。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
结果显示采用LCD1602液晶,也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。
液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。
软件设计采用C语言编程实现,使用Keil开发环境,Keil C51是美国Keil Software 公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
2.2 系统设计框图为体现总体设计方案,我们绘制了如图1的系统设计框图,在设计中,单片机处理从键盘输入的数字并进行计算,计算结果显示在LCD上。
LCD1602液晶4图1 系统设计框图3.电路设计3.1单片机最小系统本系统以AT89C51型号单片机为控制核心, AT89C51是一种可编程可擦除的低电压,高性能8位微处理器,由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,AT89C51是一种高效微控制器,其最小系统电路如图2所示。
图2单片机最小系统3.2矩阵键盘 AT89C51单片机 电 源 矩阵键盘在按键输入方面,我们采用4*5的矩阵键盘来实现,具体连接电路如图3所示。
通过基于状态机的按键扫描程序设计可实现4*5矩阵键盘的按键监控。
图3 LCD1602连接图3.3显示部分在显示计算结果上,我们采用字符型液晶LCD1602来显示结果,LCD1602能够同时显示16x2即32个字符(16列2行),LCD1602的使用很普遍了,市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此HD44780写的控制程序可以很方便地应用于市面上大部分字符型液晶。
字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)地线GND(16脚),其控制原理与14脚的LCD完全一样。
其连接电路如图4所示。
图4 LCD1602连接图4.程序设计系统的软件设计采用C语言编写,对单片机进行编程实现各功能。
程序是在Wnidows 环境下采用Keil uVision4编写的,软件的设计主要完成以下的功能: 计算模块:主要实现计算器的所有数据计算功能。
按键模块:主要是实现按键的输入功能,并根据按键值选择相应的操作。
显示模块:主要是对输出的结果在LCD屏上的显示功能。
4.1 具体设计内容4.1.1 四则运算:由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。
4.1.2 矩阵键盘:另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、小数点、删除键、左括号、右括号、复位键和等号键,故只需要20个按键即可。
4.1.3 执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。
4.2主程序流程图6图5主程序流程图如图5所示为主程序流程:当电源打开的时候,CPU进行复位,寄存器清零,接着LCD显示清零,这时候我们可以输入数值、功能键,数据送到CPU进行运算,再转换成BCD码送到显示部分。
这时候程序循环检测是否有按键信号,如果矩阵键盘中有任意键按下,再将数据传送至CPU运算,再将结果送至LCD显示,如此循环下去。
4.3算数运算程序设计5.测试方案2 用Proteus 对于本设计的仿真操作步骤如下:(1)进入proteus ISIS 集成环境,在工作前,在systerm菜单下设置界面的颜色、图形界面大小等项目,也可采用了系统默认值。
(2)通过工具栏中的(从库中选择元件命令)命令,在pick devices窗口中选择电路所需的元件,放置元件到编辑区并调整其相对位置,进行元件参数设置,元器件间连线。
(3)连线并加上设置参数,并完成仿真原理图,如图5-2所示。
(4)加载程序。
将编译调试完成的简易计算器机器码程序(hex文件)加载到AT89C51单片机中。
(5)单击仿真工具栏中的仿真键,观察仿真结果。
可以按暂停、继续、单步、等按钮,查看效果。
图7系统仿真截图操作说明:1) 本计算器实现4位数的加减,2位数乘除运算。
2)按下数值键,显示按下的“数字”,按运算符,显示符号,按第2个操作数,显示,按“=”键,得到运算结果。
3)按“清零”键清除运算结果,可重新开始。
(6)调试与思考86.系统调试调试步骤1. 采用KEIL 开发的89c51单片机应用程序调试步骤:(1)在uVision 集成开发环境中创建新项目(Project),扩展文件名为.UV2,并为该项目选定合适的单片机CPU器件(本设计采用ATMEL 公司下的AT89C51)(2)用uVision 的文本编辑器编写源文件,可以是汇编文件(.ASM),也可以使C语言文件(扩展名.C),并将该文件添加到项目中去。
一个项目文件可以包含多个文件,除了源程序文件外,还可以是库文件、头文件或文本说明文件。
(3)通过uVision 2 的相关选择项,配置编译环境、连接定位器以及Debug调试器的功能。
(4)对项目中的源文件进行编译连接,生成绝对目标代码和可选的HEX文件,如果出现编译连接错误则返回到第2步,修改源文件中的错误后重构整个项目。
7.数据测试与处理8.总结在大家不断努力下,我们终于圆满完成了这次设计!每一次的课程那个设计都是在让我不断的提升自己亲自动手解决问题的能力,充分运用理论和实践相结合的锻炼.随着科学技术发展的日新日异,片上系统已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握智能仪器的开发技术是十分重要的。
这一次的课程设计,无论是选题还是写稿,从理论到实践,学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
在刚接触无从下手到后来逐步完善,时刻在每道工序上的不放弃,要求做到自己最好,这一些都得到了回报。
一个人能力与精力是有限的,但是团队则不一样,我们小组齐心协力也让我们更轻松来做,培养我们的团队合作意识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,不仅要掌握理论知识,而且要把理论和实践相结合起来,从理论中得出结论,才能学好这技能,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,以后一定会努力学习。
本课题的重点、难点是:(1)对电子计算器的原理、结构、应用等各方面从头开始琢磨;(2)以单片机为控制核心,采用矩阵键盘输入数据,LCD显示结果;(3)软件仿真做实验;这次系统的开发可能该系统还存在着许多不尽如人意的地方,尤其是对于以前学过得知识遗忘了很多,在综合应用上面也缺乏练习,有待进一步改善。
9.参考文献[1] 李群芳,张士军,黄建(编著).单片微型计算机与接口技术,北京:电子工业出版社,2008[2] 《例说51单片机(C语言版)》张义和、王敏男等人民邮电出版社 2003.4[3] 《单片机原理与接口技术》(第3版)李朝青编著北京航空航天大学出版社 2007.6[4] 《MCS-51 系列单片机应用系统设计系统配置与接口技术》何利民北京航空航天大学出版社[5] 《MCS-51 系列单片机接口电路与应用程序实例》沈德金北京航空航天大学出版社 1999.8[6] 《C语言程序设计》黄明大连理工大学出版社1997:201-211[7] 王选民.智能仪器原理及设计北京:清华大学出版社,200810.程序附录:/****************************************************************//计算程序,完成带括号的四则运算,返回计算结果****************************************************************/10#include"lcd.h"extern unsigned char l_tmpdata[30]; extern unsigned char n,token; extern unsigned char ac;//extern display(char *temp); double exp();double term();double factor();char ggetchar(){return l_tmpdata[n++];}void gungetc(){n--;}int panduan(char ch){if(ch=='.')return -1;if(ch>='0'&&ch<='9')return ch-47;return 0;}double getdb(){int t=0,tp,flag=0;int r=1;double s;char ch;while(1){ch=ggetchar();tp=panduan(ch);if(tp==0) break;if(tp<0){flag=1;continue;}if(flag) r*=10;t=t*10+tp-1;}gungetc();s=(double)t/(double)r;return s;}char gisalnum(char ch){if(ch>='0'&&ch<='9')return 1;return 0;}void error(){display("error!");ac=1;}void match( char expectedToken ){if ( token == expectedToken )token=ggetchar();12elseerror();}double factor( void ){double temp;if(ac==1) return 0;if ( token == '(' ){match( '(' );if(ac==1) return 0;temp = exp();match(')');if(ac==1) return 0;}else if ( gisalnum(token)) {gungetc();temp=getdb();token=ggetchar();}else{error();return 0;}return temp;}double term( void ){double div,temp;if(ac==1) return 0;temp = factor();while (( token == '*' ) || ( token == '/' ))switch ( token ){case '*':match('*');if(ac==1) return 0;temp *= factor();break;case '/':match('/');if(ac==1) return 0;div = factor();if ( div == 0 ){error();return 0;}temp /= div;break;}return temp;}double exp(void){double temp ;if(ac==1) return 0;temp = term();14while (( token == '+' ) || ( token == '-' ))switch ( token ){case '+':match('+');if(ac==1) return 0;temp += term();break;case '-':match('-');if(ac==1) return 0;temp -= term();break;}return temp;}/*####################################################LCD显示1, 初始化设置:lcden=0;//默认开始状态为关使能端,见时序图lcdrw=0;//选择状态为写write_com(0x38);//显示模式设置,默认为0x38,不用变。