项目4 制作简易计算器共55页文档
简单计算器的制作(实验版)

设计与实现
运算. (13)单个操作数的运算的处理,例如"1/x"运算.在按钮"1/x"的单击 )单个操作数的运算的处理,例如" 运算 在按钮" 的单击 事 件过程OnButton3Click中编写实现代码: 中编写实现代码: 件过程 中编写实现代码
注意: 注意:加,减,乘,除这些按钮都要做相应的处理!! 除这些按钮都要做相应的处理!!
设计与实现
(8)退格键(BackSpace)功能的实现.在按钮"BackSpace"的单击 )退格键( )功能的实现.在按钮" 的单击 事 件过程OnBackSpaceBtnClick中编写实现代码: 中编写实现代码: 件过程 中编写实现代码
设计与实现
当用户按下运算操作符按钮,在按钮" 单击事件过程中编写实现代码 单击事件过程中编写实现代码: 当用户按下运算操作符按钮,在按钮"+"单击事件过程中编写实现代码:
设计与实现
(4)定义一个可以根据不同的操作符进行不同运算的过程: 定义一个可以根据不同的操作符进行不同运算的过程: 定义一个可以根据不同的操作符进行不同运算的过程
设计与分析
混合运算的情况: 混合运算的情况 (1)在没有按下运算操作符按钮之前,通过按钮输入的数 字均作为第一个操作数,保存在opnum1变量中; (2)选择运算的种类,按下运算操作符按钮,首先对上一 次的运算进行求解,并把结果显示出来,同时把该计 算结果作为第一个操作数,存在到opnum1变量中,把 按下的运算操作符也保存在ca_operator变量中; (3)按下运算操作符按钮后(设置一个变量operated来记 录),通过按钮输入的数字均作为第二个操作数保存 在opnum2变量中; (4)按下"="按钮后,根据选择的运算操作符对两个操作数 进行运算,并把结果显示在edit编辑框中.
计算器课程设计--简易计算器

1 设计课题任务、功能要求说明及总体方案介绍1.1 设计课题任务课题:简易计算器任务:设计一个具有特定功能的计算器。
该计算器上电或按键复位后能自动显示系统提示界面,进入准备工作状态。
能实现基本的加、减、乘、除四则运算。
1.2 功能要求说明在本次工程实践中,主要完成如下方面的设计任务:(1)计算器上电或按键复位后能显示初始化界面(2)2秒后进入计算器界面(3)按键能进行加、减、乘、除运算并显示结果(4)按清零键后能进行下一次计算1.3 设计课题总体方案介绍及工作原理说明计算器的总体功能原理是以AT89S52单片机为主要控制核心,通过外接4*4行列式键盘作为控制信号输入源,一块12864液晶作为显示器件,通过按键控制,单片机实时地去执行,在12864液晶上显示界面。
系统控制原理图如图1所示。
图1系统控制原理图2 设计课题硬件系统的设计2.1 设计课题硬件系统各模块功能简要介绍2.1.1 AT89S52控制模块考虑到设计功能需要,控制器的功能用于外部键盘信号的接收和识别、液晶模块的显示控制、复位电路等,我们选择了AT89S52系列单片机,具有反应速度极快,工作效率特高的特点。
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。
使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。
简易加减计算器设计

简易加减计算器设计一、引言计算器是一种用于进行数学计算的设备,它可以帮助我们进行各种加减乘除等运算。
本篇文章将介绍如何设计一个简易的加减计算器,该计算器基于数字电路的原理,通过逻辑门电路实现加法和减法运算。
二、设计思路1.确定输入和输出2.设计加法电路加法可以通过逻辑门电路实现,其中最基本的逻辑门是异或门。
我们可以使用多个异或门来实现加法,具体的实现方法如下:-使用8个异或门分别对两个二进制数的对应位进行异或运算,得到8个中间结果;-使用7个与门分别对中间结果和进位信号进行与运算,得到7个进位信号;-使用7个或门分别对进位信号进行或运算,得到进位输出;-使用一个或门对中间结果和进位输出进行或运算,得到最终的结果。
3.设计减法电路减法可以通过将减数取反然后与被减数进行加法运算来实现。
具体的实现方法如下:-对减数取反,可以使用8个反相器实现;-将取反后的减数和被减数输入到加法电路中进行加法运算,得到结果。
三、电路实现根据上述设计思路,我们可以使用数字集成电路来实现加减计算器。
以下是一个基于数字集成电路74LS83A的简易加减计算器电路图:```______________,---,A+B,----,S_______,,_____________,______---,M,---_______,,_________________-----------,B'+1=B__________```在上述电路图中,A和B分别表示两个8位二进制数的输入,S表示计算结果的输出,M表示减号操作符的输入,B'+1表示减数的取反。
四、测试与验证为了验证电路的正确性,我们需要进行测试。
我们可以编写一个测试程序,将各种情况的输入输入到电路中,并检查输出结果是否符合预期。
测试例子如下:输入:M=0预期输出:输入:M=1预期输出:通过编写测试程序,并根据预期结果检查输出结果,可以验证电路设计的正确性。
五、总结本篇文章介绍了如何设计一个简易的加减计算器,该计算器基于数字电路的原理,通过逻辑门电路实现加法和减法运算。
课程设计 简易计算器的设计制作

1一. 设计任务简易计算器的设计制作二.设计内容利用16个4脚按键开关组合成4×4的键盘,4根行线和4根列线接至单片机的另一并行输出口上,作为输出设备;再配合使用电源,时钟电路,复位电路即可构成一基于51单片机的最小输入,输出系统。
三.设计要求1、设计简易计算器,要求能对0-99之间的数进行加、减、乘、除运算。
2、用4×4的键盘作为输入设备。
3、用LED 或LCD 进行显示。
4、编写无符号数加、减、乘、除运算、输入和显示的程序。
5、对系统的进行综合和调试,使其具有对0-99之间的数进行加、减、乘、除运算的功能。
6、编写课程设计的总结 四.参考选取元器件见附录1 五.设计方案论证液晶显示模块与单片机的连接方式通常有两种,一种为直接访问方式(总线方式),另一种为间接控制方式(模拟口线)。
直接访问方式就是将液晶显示模块的接口作为存储器或I/O 设备直接挂在单片机总线上,单片机以访问存储器或I/O 设备的方式控制液晶显示模块的工作。
间接控制方式是单片机通过自身的或系统中的并行接口与液晶显示模块连接,单片机通过 对这些接口的操作,达到对液晶显示模块的控制。
间接控制方式的特点是电路简单,可省略单片机外围的数字逻辑电路,控制时序由软件产生,可以实现高速单片机与液晶显示模块的接口,故本次设计采用间接控制方式。
(1)模拟口线2图2-2-1(2)总线方式图2-2-2六.设计原理1.逻辑框图(由于实际电路与任务电路有部分出入,但原理相同,见图2-2-3)图2-2-3 2.键盘结构及其原理图2-2-4如图2-2-4所示,键盘中有无键按下是由列线送入全扫描字,然后读LCD 显示AT89C51矩阵键盘输入时钟电路 复位电路入行线状态来判断。
具体是:向列线输出全扫描字00H,将全部列线置为低电平,然后将行线的电平状态读入累加器A中。
如果有键按下,总会有一根行线电平被拉至低电平,从而使输入不全为1。
键盘中哪一个键被按下是通过将列线逐列置低电平后,检查行输入状态实现的。
简易电子计算器项目制作

简易电子计算器项目制作一、总体要求请你在四小时(240分钟)内,用YL-236型单片机应用实训考核装置制作成电子计算器模拟装置,具体要求如下:1. 请你仔细阅读并理解电子计算器的工作要求和有关说明,根据你的理解,选择你所需要的控制模块和元器件。
2. 在赛场提供的图纸上画出电子计算器的电气接线方框图,并在标题栏的“工位”上填写你的竞赛工位号。
3. 根据你画出的电气原理图,连接电子计算器的电路。
4. 编写电子计算器的控制程序。
5. 调试你编写的程序,检测和调整有关元器件设置,完成电子计算器的整体调试,使该电子计算器能实现要求的设计功能。
6. 功能调试完毕后,把程序烧写到单片机当中。
二、简易电子计算器基本描述电子计算器由显示单元、运算单元和数字输入单元组成,整体框架如图1所示:1.显示单元显示单元采用8位LED 数码管。
输出形式如图2所示。
当有数字键按下时在数码管个位显示该数字,先前的数字左移一位;输入的数码最高位的“0”不得显示。
如输入“013”三个数字时,显示屏只能显示“13”。
2.运算单元⑴ 要求该计算器能够完成100以内整数(含100)的加减乘除四则运算。
见图3所示;即四则运算符两边参与运算的数字为整数,且不能大于100。
⑵当输入数字大于100或违反运算法则时,在显示屏最高位显示“E ”。
见图4所示;图1 电子计算器系统组成图2 显示要求举例图3 要求参与计算的数都不能大于100⑶运算结果为有小数时,小数部分舍去。
见图5所示;⑷运算结果是负数时要求显示负数。
见图6所示;⑸不要求有连续输入运算功能。
如果计算87-6×12,则只能先算6×12,然后按“CLR ”,再输入87-72(6×12的计算结果)。
换句话说,参与运算的两个数必需手工输入,不得利用先前运算的结果而省去输入一个待运算的数。
(注意:优先级是输入者判断的)如果计算23×56×98,当运算到与98相乘时,需要手工输入23×56的运算结果,由于23×56的值大于100,则不能计算与98相乘的结果。
简易计算器设计范文

简易计算器设计范文首先,我们需要决定计算器的基本功能。
一个简易计算器通常应该具备加法、减法、乘法和除法的功能。
此外,我们还可以添加开方、求平方以及取模等功能。
在设计计算器之前,我们需要确定用户界面。
对于一个简易计算器来说,我们可以使用命令行界面或者图形用户界面。
在本文中,我们将使用命令行界面。
接下来我们需要设计计算器的算法。
为了实现加、减、乘、除这些基本运算,我们可以编写四个函数来完成。
比如,加法函数可以接收两个数并返回它们的和,减法函数可以接收两个数并返回它们的差,乘法函数可以接收两个数并返回它们的乘积,除法函数可以接收两个数并返回它们的商。
同时,我们还需要添加一些辅助函数来处理开方、求平方以及取模等功能。
比如,开方函数可以接收一个数并返回它的平方根,求平方函数可以接收一个数并返回它的平方,取模函数可以接收两个数并返回它们的余数。
在设计计算器时,我们还要考虑到用户输入的错误处理。
如果用户输入无效的操作或者除数为零,我们需要给出错误的提示信息。
接下来,我们来设计主要的程序流程。
首先,我们需要显示一个欢迎信息,告诉用户如何使用计算器。
然后,在一个循环中,我们会要求用户输入要执行的操作,然后读取用户输入的操作和操作数。
根据用户的选择,我们会调用相应的函数来执行计算,并输出结果。
接着,我们会继续询问用户是否要继续进行计算。
如果用户选择退出,我们会结束循环并显示一个退出信息。
最后,我们需要编写测试用例来确保计算器的功能正常。
我们可以输入一些固定的操作和操作数,然后验证计算器返回的结果是否正确。
如果测试用例中出现错误,我们需要进行修复。
在编写代码之前,我们还需要选择一个编程语言。
对于一个简易计算器来说,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("谢谢使用,再见!")```通过以上设计,我们可以在命令行中使用这个简易计算器来执行加、减、乘、除、开方、求平方和取模等操作。
简易计算器

摘要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
计算器是人们的日常最常见的电子产品之一,它应用极广,发展迅猛,并且不断出现着拥有强大功能的计算器。
此次课程设计实现四位数的加减乘除运算的简易计算器,实现键盘输入,程序都是根据教材内和网络中的程序参考编写而成,在功能上还并不十分完善,限制也较多。
完成的计算器经过检验能够完整的实现预设功能,各种细节完善。
具有很高的使用价值。
目录摘要 (1)第一章设计要求 (2)第二章设计思路及原理图 (2)a 思路 (2)b 原理图 (2)c 单片机引脚图 (3)第三章程序图 (3)第四章源程序 (4)第五章课程设计的心得体会 (10)第一章设计要求本次的设计是利用单片机设计简单的计算器,本设计利用单片机的I/O接口设计4×4键盘,8个键依次对应0~3、“+”、“-”、“=”和清除键。
通过检测不同数字键、功能键的按下,可以进行加减乘除运算,并可连续运算。
对应每一个数字键按下的同时,LED显示按下键的值,并显示最后的运算结果。
试验设备:8051单片机、七段四显示数码管一个、导线若干、12MHz晶振一个、计算机。
第二章设计思路及原理图a 思路:首先初始化参数,送LED低位显示“0”,高位不显示。
然后扫描键盘看是否有键输入,若有,读取键码。
判断键码是数字键、清零键还是功能键(“+”“-”“*”“/”“=”),是数值键则送LED显示并保存数值,是清零键则做清零处理,是功能键则又判断是“=”还是运算键,若是“=”则计算最后结果并送LED显示,若是运算键则保存相对运算程序的首地址。
利用单片机的I/O接口设计4×4键盘,两行四列分别由单片机的P2.4\P2.5及P2.0-P2.3输入输出数据。
简单计算器

学院课程设计设计课程:信息系统分析与设计题目简单计算器姓名姓名学院学院专业指导教师二O一五年6月20 日目录一、概述 (4)1.1 设计名称 (4)1.2 编写目的 (4)1.3 参考资料 (4)二、需求概述 (4)2.1 功能需求 (5)2.2 响应需求 (5)2.3 精度需求 (5)2.4 故障处理 (5)三、环境 (5)3.1 运行环境 (5)3.2 开发环境 (5)四、可行性分析 (5)五、总体设计 (6)5.1 第一层 (6)5.2 第二层 (6)5.3 第三层 (6)六、详细设计 (6)6.1 逻辑设计 (7)6.2 总体流程图 (7)七、用户界面设计 (9)7.1 界面设计 (9)7.2 操作方式 (10)八、调试与测试 (10)九、源程序清单 (14)十、小结 (17)一、概述1.1 设计名称简单计算器1.2 编写目的设计一个计算器,具有以下功能:1.2.1用图形界面设计一个计算器;1.2.2系统界面上面一行是数字输入对话框和运算符号的下拉列表;数字输入框用来编辑并显示所输入的数字,运算符号下拉列表里面有运算符号+ — * / =,用来实现运算的进行和结束;1.2.3系统界面下面是一个文本框,用来显示输入的操作数和参与运算的运算符号,直到运算符号为等号,输出等号和运算结果。
1.2.4对操作数与运算符号的逻辑输入和循环输入进行处理,实现四则运算的连续运算,并且能对各个操作数和运算符号进行有效的输出;1.2.5当运算符号选择为“=”时,算法结束,输出最后一个操作数、“=”和最终的运算结果。
1.3 参考资料1.3.1 项目来源市场上出现的各种计算器虽然具有强大的功能,但是使用操作上也增加了技术性,并且价格较贵,所以有必要用自己学习的知识来开发一个实用的计算器,使之能在界面和功能上尽量模拟windows操作系统。
应用所学的有关知识,将书面知识和实际需求和应用结合起来,以达到学以致用的目的。