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

单片机的简易计算器单片机简易计算器的设计与实现一、引言计算器是一种用于计算数学运算的工具,现在已经成为人们日常生活中必不可少的设备之一、在这个数字化的时代,我们经常需要进行简单的数学运算,如加、减、乘、除等。
为了满足人们的需求,我们可以使用单片机来设计和实现一个简易的计算器。
二、设计目标我们的设计目标是实现一个能够进行基本的加减乘除四则运算的简易计算器。
具体来说,我们希望计算器能够实现以下功能:1.输入两个数字进行计算,并显示结果。
2.支持加法、减法、乘法和除法运算。
3.具备简单的误操作处理能力,如输入错误提示等。
三、设计思路我们将使用8051系列单片机来设计和实现计算器。
具体的设计思路如下:1.使用矩阵键盘作为输入设备,通过扫描矩阵键盘来获取输入的数字和运算符。
2.通过数码管来显示计算结果。
3.使用中断处理器来处理键盘输入和计算结果的显示。
4.根据输入的运算符进行相应的运算,然后将结果显示在数码管上。
四、硬件设计1.选择合适的单片机,如STC89C52,AT89S52等,它们都是基于8051核心的单片机。
2.连接矩阵键盘到单片机的IO口,通过矩阵键盘的扫描来获取输入的数字和运算符。
3.连接数码管到单片机的IO口,用于显示计算结果。
五、软件设计1.在主程序中初始化单片机的IO端口和中断向量。
2.编写中断服务程序,用于处理键盘输入和计算结果的显示。
3.设计一个状态机来处理键盘输入和计算结果的显示。
4.根据状态机的状态来进行相应的运算和显示。
六、实现步骤1.编写主程序,包括对IO口和中断向量的初始化。
2.编写中断服务程序,用于处理键盘输入和计算结果的显示。
3.设计一个状态机,并实现状态机的状态转换和运算结果的计算。
4.测试并调试系统,确保计算结果的准确性。
七、总结通过使用单片机,我们成功地设计并实现了一个简易的计算器。
这个计算器不仅能够进行基本的加减乘除四则运算,还具备了简单的误操作处理能力。
在实际使用中,我们可以通过添加更多的功能和改进设计来进一步完善这个简易计算器。
单片机的简易计算器毕业设计

单片机的简易计算器毕业设计简易计算器是一种基本、常见的电子设备,它能够对数字进行简单的加减乘除运算。
单片机作为一种小型、低功耗的微型计算机,非常适合用于设计和实现计算器的功能。
在本文中,我们将以单片机为基础,设计和实现一个简易计算器。
一、设计思路1.硬件设计:-使用单片机作为主控制器。
-接入键盘矩阵和显示器。
-使用LED灯作为指示灯,用于显示运算符和结果。
2.软件设计:-通过键盘输入数字和运算符。
-将输入的数字和运算符转换成相应的控制信号。
-进行运算,并将结果显示在屏幕上。
3.功能实现:-实现加法、减法、乘法和除法运算。
-提供清零、退格和等号等功能。
-支持小数和负数的输入和运算。
-提供错误提示功能,例如除数不能为零等。
二、具体实现1.硬件实现:-将键盘矩阵的行和列与单片机的IO口相连,通过扫描来检测按键的输入。
-将显示器与单片机的IO口相连,通过控制引脚来发送和接收数据。
-将LED灯与单片机的IO口相连,设置相应的引脚状态来显示不同的指示信号。
2.软件实现:-使用C语言编写程序,通过中断和轮询的方式,实现键盘输入的检测和数据的读取。
-将读取到的数据进行解析,并根据不同的按键进行相应的操作。
-根据输入的数字和运算符,进行相应的运算并输出结果。
3.功能实现:-加法、减法、乘法和除法运算可以通过相应的算法实现,例如加法可以通过循环和位运算来实现。
-清零功能可以将运算结果和输入的数字都清零,退格功能可以删除输入的最后一个数字或运算符。
-支持小数运算可以在运算过程中进行进位和进位操作,支持负数运算可以通过判断运算符来进行相应的处理。
-错误提示功能可以通过对输入的数据进行检查和判断来实现,例如判断除数是否为零。
三、总结通过上述的设计和实现,我们可以成功地设计和制作一个单片机的简易计算器。
通过这个计算器,用户可以进行简单的加减乘除运算,同时还具备清零、退格、小数和负数等功能。
这个计算器可以应用在日常生活中的计算场景,方便用户进行各种简单的运算操作。
单片机简易计算器的设计

目录1系统的总体设计 (1)1.1 设计概述 (1)1.2 系统总体模块图 (1)1.3 系统方案 (1)2硬件系统设计 (2)2.1 各个功能模块的介绍 (2)2.1.1 主控芯片单片机 (2)2.1.2 FYD12864液晶显示屏 (5)2.1.3 矩阵键盘模块 (10)2.1.4 独立按键模块 (11)3软件系统设计 (12)3.1 Keil简介 (12)3.2 液晶流程图 (13)3.3 键盘流程图 (14)3.4 总流程图 (15)4实验调试 (16)总结 (17)参考文献 (18)附录一:原理总图 (33)摘要单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛应用到我们生活的各个领域,电子、科技、汽车、工业、通信等。
这次设计主要选用A T89S52单片机为主控单元,按照系统设计的功能要求,确定设计系统由单片机、显示模块、输入模块、运算模块这四个模块组成。
显示模块可通过调用FYD12864液晶内部自带的字库(包含8192个标准中文汉字)显示16×16点的中文汉字、16×8的数字及英文字符,该过程只需要像DDRAM中写入要显示的字符的ASCII码,当事先指定显示数据的位置,即可将所需显示的字符显示在液晶的指定位置,输入模块主要采用4*4矩阵键盘和四个独立的按键组成,4*4矩阵键盘作为计算机的数字以及运算符输入, 四个独立的按键作为功能按键;软件方面使用C语言编程。
关键词:单片机,FYD12864液晶;矩阵键盘;独立的按键1系统的总体设计1.1 设计概述本次设计使用AT89S52单片机作为主控芯片,通过4*4的矩阵键盘进行数据的输入,进行相应的两位整数的加减乘除运算,并在液晶上显示相应的结果。
另外还具有3组结果存贮功能,增加了MR+、MR-、列式运算等功能。
1.2 系统总体模块图图1 系统总体框图1.3 系统方案经过反复推敲最终决定系统采用以下方案:(1)采用AT89S52作为主控芯片;(2)显示模块使用FYD12864液晶显示屏;(3)输入模块使用4*4的矩阵键盘;(4)功能模块使用独立的按键;2硬件系统设计2.1 各个功能模块的介绍2.1.1 主控芯片单片机AT89S52是一种低功耗、高性能的CMOS8位微控制器,具有8K的系统可编程DIP封装Flash存储器。
基于单片机的简易计算器的设计

基于单片机的简易计算器的设计引言:计算器作为一种常见的便携式计算设备,在我们的生活中扮演着重要的角色。
基于单片机的简易计算器凭借其小巧的体积、低功耗和简单易用的特点,成为了很多人的选择。
本文将介绍一种基于单片机的简易计算器的设计。
一、设计思路设计思路如下:1.显示部分设计使用4位共阴数码管来作为计算结果的显示和反馈。
单片机通过控制不同的引脚,将待显示的数字依次输出到数码管的不同位上,实现显示。
2.控制部分设计使用独立按键作为用户输入,并通过行列扫描的方式进行检测。
通过分析用户输入的按键,识别出相应的操作,并进行相应的计算。
根据不同的按键组合,可以实现加、减、乘、除等运算。
二、硬件设计1.单片机选择为了实现计算器的功能,选择一种性能良好、资源丰富的单片机是很重要的。
根据需求,选择一款采用8051内核的单片机,如AT89S51或AT89C51、这两款单片机具有5V供电、8位数据总线、4KB内存和32个I/O口等特点,并且广泛应用于各种嵌入式开发领域。
2.数码管显示设计为了显示计算结果,采用4位共阴数码管。
通过将各段控制端接通高电平或低电平,实现不同数字的显示。
3.按键设计使用独立按键作为用户输入,通过行列扫描的方式进行检测。
使用矩阵键盘可以减少I/O口的使用,避免使用太多的引脚。
4.电源设计计算器可以通过外接电源供电,同时还可以使用电池作为备用电源。
为了延长电池寿命,可以使用低功耗的工作模式,并在无操作时自动进入休眠状态。
5.外设接口设计为了增加计算器的功能,可以添加一些扩展模块,如蓝牙模块、USB 接口等。
这样可以实现与其他设备的通信和数据传输。
三、软件设计1.按键检测和解码将行列扫描的结果通过软件进行解码,识别用户输入的按键。
通过判断不同的按键组合,可以实现加、减、乘、除等运算。
2.计算实现根据用户输入的数字和操作符,进行相应的计算。
将结果显示到数码管上,并可以通过串口输出到其他设备。
3.界面设计设计简洁、友好的用户界面,提供用户输入和计算结果的显示。
单片机简易计算器设计

单片机简易计算器设计一、引言:计算器是一种用于进行数学运算的工具,可以提供基本的算术运算功能。
单片机是一种集成电路,具有微处理器、存储器、计数器和输入/输出接口等功能,适合用于设计和实现计算器。
本篇文章将介绍如何设计和实现一款基于单片机的简易计算器。
二、设计目标:本文设计的简易计算器具有以下功能:1.能够进行四则运算,包括加法、减法、乘法和除法;2.具有输入和输出功能,可以输入运算表达式,并输出计算结果;3.采用简单直观的按键输入方式,便于用户操作。
三、设计原理:1.系统框图:```_______________输入/输接口I______________\/_______________单片机芯(CPU______________```2.硬件设计:使用单片机来处理计算表达式和输出计算结果。
输入/输出接口IC负责处理用户输入和显示输出。
单片机芯片是整个计算器系统的核心,负责执行算术运算的逻辑。
3.软件设计:(1)初始化:设置单片机芯片工作环境,包括引脚配置、定时器设置等。
(2)输入处理:使用按键输入方式获取用户输入的数值和运算符,按下等号键时开始计算。
(3)运算处理:根据输入的数值和运算符进行相应的运算操作,得出计算结果。
(4)输出显示:将计算结果输出到显示装置上。
四、实现步骤:1.硬件实现:根据设计原理中的系统框图,采购和连接合适的输入/输出接口IC以及单片机芯片。
2.软件编程:(1)初始化:根据单片机芯片的型号和文档,编写初始化程序,包括引脚配置、定时器设置等。
(2)输入处理:编写输入处理程序,包括按键输入方式、数值和运算符的提取等。
(3)运算处理:编写运算处理程序,根据输入的数值和运算符,实现相应的运算逻辑。
(4)输出显示:编写输出显示程序,将计算结果输出到显示装置上。
3.实验验证:将硬件和软件进行调试和验证,确保计算器可以正常工作并满足设计目标。
4.优化改进:根据实验结果,对计算器进行优化和改进,提升计算器的性能和用户体验。
基于单片机简易计算器的设计说明

基于单片机简易计算器的设计说明一、设计目的计算器是人们日常生活中常用的工具之一,而基于单片机的简易计算器则是计算器的一种应用形式。
本设计旨在利用单片机的强大功能,实现一款功能简单但使用方便的计算器。
二、设计原理1.硬件部分本设计使用单片机作为计算器的核心处理器,通过外接的键盘进行输入,然后通过液晶显示屏进行结果的输出。
电路部分需要将键盘和液晶显示屏与单片机相连接,通过单片机与外设之间的通信实现输入和输出。
2.软件部分计算器的软件部分主要包括输入处理和输出显示两个模块:(1)输入处理:根据键盘输入的按键,通过单片机进行扫描和判断,根据按键的不同采取不同的策略进行处理。
例如,如果输入的是数字键,则将其添加到当前输入的数字序列中;如果输入的是运算符号,则判断当前表达式是否符合运算规则,如果符合则进行计算。
并通过液晶显示屏实时显示输入的数字和表达式。
(2)输出显示:根据输入处理模块的计算结果,通过液晶显示屏进行显示。
根据液晶显示屏的大小和显示效果,进行合适的显示格式和布局,保证计算结果的清晰可读。
三、设计要点1.按键输入处理在设计按键输入处理模块时,需要考虑按键的布局和功能划分。
可以根据计算器的基本功能,将按键分为数字键、运算符键和功能键等,然后根据功能的不同设置不同的处理策略。
2.表达式的计算计算器的核心功能是根据输入的表达式进行实时计算和显示结果。
在设计表达式计算模块时,需要考虑多种表达式的情况,例如加减乘除、括号等,以及运算的优先级和顺序等。
可以利用栈等数据结构来实现表达式的计算。
3.结果的显示设计结果的显示模块时,要考虑到数字的位数以及小数的精确度。
可以设置合适的显示格式,例如科学计数法等,以保证计算结果的准确性和可读性。
四、设计优点1.功能简单:本设计主要实现了计算器的基本功能,包括数字输入、四则运算和结果显示等。
不涉及复杂的高级运算,使得计算器的使用更加简单方便。
2.使用方便:由于采用了单片机进行处理,使得计算器的体积小巧且可以携带,用户可以随时进行计算,满足各种场合的需求。
单片机简易计算器的设计

单片机简易计算器的设计设计一个单片机简易计算器,我们首先需要明确计算器的功能和要求。
在这个设计中,我们将实现基本的四则运算功能和一些其他的功能,如开方、求倒数等。
我们将采用Keil C51来编写程序,并在STC89C52单片机上进行实现。
首先,我们需要定义一些输入和输出的接口。
我们将使用4个按键作为操作输入,它们分别是加、减、乘和除。
此外,我们还需要一个用于计算结果的显示屏,并使用一个7段数码管来显示输出结果。
在连接电路图中,我们需要将4个按键分别连接到P0口的4个IO引脚上,并将7段数码管的引脚连接到P2口。
此外,我们还需要将一个用于切换输入的按键连接到P1口。
接下来,我们将定义一些全局变量和函数来实现我们的计算器功能。
首先,我们需要定义一些常量,如加、减、乘和除的符号。
然后,我们需要定义一些变量来存储输入的数字和操作符号,以及存储计算结果的变量。
接下来,我们需要定义一些函数来实现不同的计算功能。
我们将实现加、减、乘和除的函数,并在这些函数中将数字和操作符号作为参数进行传递。
然后,我们需要定义一个主函数来对按键进行读取和执行不同的操作。
我们将使用一个无限循环来不断读取按键输入,根据不同的按键进行不同的操作。
在主函数中,我们还需要使用一个延时函数来防止按键的抖动效应。
最后,我们需要将计算结果显示在数码管上。
我们将编写一个函数来将计算结果转换为7段数码管上的数字,并将其显示出来。
在这个函数中,我们将使用一个循环来依次点亮不同的数码管段。
整个程序的流程如下:1.初始化所有的IO口2.定义常量和全局变量3.定义计算函数4.定义显示函数5.定义主函数-读取按键输入-根据不同的按键执行不同的操作-调用计算函数进行计算-调用显示函数显示结果在这个设计中,我们使用了一个简单的计算例子,这只是一个基础框架。
如果要实现更多功能,如开方、求倒数等,只需要在函数中进行相应的修改即可。
此外,我们还可以添加一些其他的功能,如存储和读取计算结果等。
基于51单片机的简易计算器设计

基于51单片机的简易计算器设计基于51单片机的简易计算器设计一、引言随着微电子技术和嵌入式技术的发展,越来越多的智能化设备被应用于日常生活中。
其中,基于51单片机的简易计算器设计具有广泛的应用价值。
本文将介绍如何使用51单片机设计一个简易计算器,实现加减乘除的基本运算功能。
二、设计方案1.硬件组成:本设计采用51单片机作为主控芯片,与键盘、显示器等外围设备相连。
键盘用于输入数字和运算符,显示器则用于显示运算结果。
2.软件设计:软件部分包括主程序和子程序。
主程序负责初始化硬件、读取键盘输入和显示运算结果。
子程序包括加减乘除的运算子程序,可根据输入的运算符和操作数进行相应的运算。
3.算法实现:在加减乘除的运算子程序中,采用基本的数学运算方法实现。
对于加法,直接将两个操作数相加;对于减法,将两个操作数相减;对于乘法,采用循环相乘的方法;对于除法,采用循环相除的方法。
三、实验结果在实验中,我们成功地使用51单片机设计了一个简易计算器,实现了加减乘除的基本运算功能。
在测试过程中,我们输入了不同的数字和运算符,得到了正确的运算结果。
同时,我们也测试了计算器的稳定性,发现其在连续运算时表现良好,没有出现明显的误差或故障。
四、结论基于51单片机的简易计算器设计具有简单易行、实用性强等优点。
通过实验测试,我们验证了其可行性和稳定性。
此外,该设计还可以根据需要进行扩展和优化,例如增加更多的运算功能、优化算法等。
未来,我们可以进一步研究如何提高计算器的运算速度和精度,以及如何将其应用于更多的实际应用场景中。
五、改进意见与展望1.增加更多的运算功能:例如实现括号、开方、指数等高级运算,满足更复杂的数学计算需求。
2.优化算法:针对现有的加减乘除运算算法进行优化,提高运算速度和精度。
例如采用更高效的除法算法,减少运算时间。
3.增加存储功能:在计算器中加入存储单元,使得用户可以在多个步骤之间进行数据传递和保存。
4.增强人机交互界面:优化显示器的显示效果,增加用户输入的便捷性,提高用户体验。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于AT89C51单片机简易计算器的设计【摘要】单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。
本设计是基于51系列单片机来进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除六位数范围内的基本四则运算,并在LCD上显示相应的结果。
设计电路采用AT89C51单片机为主要控制电路,利用MM74C922作为计算器4*4键盘的扫描IC读取键盘上的输入。
显示采用字符LCD静态显示。
软件方面使用C语言编程,并用PROTUES仿真。
【关键词】简单计算器单片机 LCD【正文】一、总体设计根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。
通过扩展必要的外围接口电路,实现对计算器的设计。
具体设计如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。
(2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。
(3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。
(4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD 上提示错误。
系统模块图:二、硬件设计(一)、总体硬件设计本设计选用AT89C51单片机为主控单元。
显示部分:采用LCD 静态显示。
按键部分:采用4*4键盘;利用MM74C922为4*4的键盘扫描IC,读取输入的键值。
总体设计效果如下图:(二)、键盘接口电路计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。
矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。
这样键盘上按键的个数就为4×4个。
这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。
矩阵键盘的工作原理:计算器的键盘布局如图2所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。
图 2 矩阵键盘布局图矩阵键盘内部电路图如图3所示:为了进一步节省单片机I/O口资源,我们在设计中使用了MM74C922芯片。
MM74C922是一款4*4键盘扫描IC,它可检测到与之相连的4*4键盘的按键输入,并通过数据输出口将按键相应的编码输出。
其引脚图如图4所示:图4 MM94C22硬件图MM74C922引脚说明:(1) Y1~Y4(脚1~脚4):44键盘第一列至第四。
(2) X1~X4(脚11、10、8、7):44键盘第一行至第四行。
(3) DOA~ DOD(Dataout A~D,脚14~17):按键之BCD码输出,其中DOA为LSB,DOD为MSB。
(4) VCC(脚18):电源脚,+3V~+15V。
ab126计算公式大全(5) GND(脚9):接地管脚。
新艺图库(6) OSC(Oscillator,脚5):键盘扫描电路之频率所需外加电容的连引脚。
(7) KBM(Keyboard Mask,脚6):内部消除开关弹跳电路所外加电容的引脚。
(8) OE(Output Enable,脚13):芯片致能脚,接低电位可使芯片致能。
(9) DA(Data Available,脚12):数据有效输出脚。
任一按键按下时,此脚位会输出高电位,按键释放后此脚又会恢复为低电位。
MM74C922对各按键的响应如下表所示:如下图5所示,在本设计中,计算器输入键盘的4条行线、列线分别连接到MM74C922的X1-X4、Y1-Y4引脚,MM74C922的数据输出口与单片机的P2口相连,MM74C922的DA引脚经过一个非门连接到单片机的/INT0脚,当MM74C922检测到键盘输入时,DA产生高电平,与之相连的/INT0检测到低电平,给单片机一个中断,单片机从P2口的低四位读入键盘上按下的键的值。
图5 键盘接口电路图(三)、LCD显示模块本设计采用LCD液晶显示器来显示输出数据。
通过D0-D7引脚向LCD写指令字或写数据以使LCD实现不同的功能或显示相应数据。
图6 LCD 模块(四)运算模块(单片机控制)MCS-51 单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多功能I/O等一台计算机所需要的基本功能部件。
如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O 口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。
单片机是靠程序运行的,并且可以修改。
通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通过使用单片机编写的程序可以实现高智能,高效率,以及高可靠性!因此我们采用单片机作为计算器的主要功能部件,可以很快地实现运算功能。
三、软件设计现实生活中人们熟知的计算器,其功能主要如下:1、键盘输入;2、数值显示;3、加、减、乘、除四则运算;4、对错误的控制及提示;针对上述功能,计算器软件程序要完成以下模块的设计:1、键盘输入检测模块2、LCD显示模块;3、算术运算模块4、错误处理及提示模块。
系统总流程图分块程序设计1、键盘输入检测程序设计有键按下时,单片机响应外部中断0,转入外部中断0中断处理函数,在中断处理函数中完成对按键的判断,以进行下一步的程序处理。
/***********外部中断0处理函数*************/void INT_0(void) interrupt 0 using 0{key=translate(P2&0x0f);if(key<='9'&&key>='0') //判断按下的键是否为数值{num=num*10+(key-'0');if (operators>0){y=num;iny=1;}elsex=num;if(num<134217728&&num>-134217728) //当前数值是否超出限定范围{display(num);}elsedataoverflow();}else{switch(key){case'c':x=0;y=0;num=0;iny=0;operators=0;display(num);break;case'=':arithmetic();iny=0;operators=0;num=0;break;case'+':if (operators)arithmetic();operators=1;num=0;break;case'-':if (operators)arithmetic();operators=2;num=0;break;case'*':if (operators)arithmetic();operators=3;num=0;break;case'/':if (operators)arithmetic();operators=4;num=0;break;}}}2、LCD显示程序设计利用LCD静态显示,通过程序向LCD写指令字或数据使LCD完成不同功能或显示相应数据。
/**************LCD初始化函数*************/void init_LCM(){write_com(0x30);write_com(0x30);write_com(0x30);write_com(0x38);write_com(0x08);write_com(0x01);write_com(0x06);write_com(0x0e);}/***********LCD写数据函数*************/ void write_data(char ddata){RS=1;/*写指令*/R_W=0;EN=1;/*使能信号开*/P1=ddata;/*将数据送入p1口*/EN=0;/*使能信号关*/check_BF();}/***********LCD写指令函数*************/ void write_com(char command){RS=0;/*写指令*/R_W=0;EN=1;/*使能信号开*/P1=command;/*将数据送入p1口*/EN=0;/*使能信号关*/check_BF();}/************LCD检查忙碌函数***********/ void check_BF(){char i,x=0x80;P1=0xff;while(x&0x80){RS=0;R_W=1;EN=1;x=P1;EN=0;for (i=0;i<10;i++);}EN=0;/*关闭使能信号*/}/**********LCD清屏函数**********/ void clearLCD(){write_com(0x01);}/**********LCD显示函数**********/ void display(long a){long temp,b,c=-1;int lenth=1,i,j;clearLCD();if(a<0){a=a*c;write_data('-');}temp=a;while((temp=temp/10)!=0){lenth++;}for(i=lenth;i>0;i--){b=1;for(j=0;j<i-1;j++){b=b*10;}write_data(0x30+a/b);a=a%b;}}3、算术运算程序设计4、错误处理及提示程序设计/**********除数为处理函数**********/void dealerror(){int i=0;clearLCD();for(i=0;i<5;i++)write_data(error[i]);}/*********数值溢出处理函数**********/void dataoverflow(){int i=0;clearLCD();for(i=0;i<8;i++)write_data(overflow[i]);}四、联机调试在联机调试的过程中,一开始没有做数值溢出方面的控制,导致LCD显示的输入数据或计算结果与实际不相符。