基于单片机的电子计价秤设计
基于单片机的电子秤系统设计(附程序代码)

基于单片机的电子秤系统设计摘要电子秤是将检测与转换技术、计算机技术、信息处理、数字技术等技术综合一体的现代新型称重仪器。
它与我们日常生活紧密结合息息相关。
电子称主要以单片机作为中心控制单元,通过称重传感器进行模数转换单元,在配以键盘、显示电路及强大软件来组成。
电子称不但计量准确、快速方便,更重要的自动称重、数字显示,对人们生活的影响越来越大,广受欢迎。
本系统的设计主要从硬件电路设计,软件编程调试,实物焊接调试三部分进行详细阐述。
硬件电路主要是基于单片机AT89S52为核心的控制单元实现数据的处理,采用压力传感器对数据进行采集,电子秤专用24位AD转换芯片HX711对传感器采集到的模拟量进行AD转换,转换后的数据送到单片机进行处理显示,数据显示由LCD1602液晶实现,液晶显示效果稳定无闪烁关键词:AT89S52单片机;电子秤;压力传感器;HX711WIRELESS TEMPERATURE DETECTING SYSTEM DESINGBASED ON MCUABSTRACTWith Intelligent electronic scale is the detection and conversion technology, computer technology, information processing, digital technology, an integrated modern technology of new weighing equipment.Ectronic scale takes SCM as its central controling unit,and achieves AD transform through weighting transducer,then adds keybord,display circuit and powerful softerwear. It is not only accurate,swift,and convenient, but also makes an important effect to people’s life by its automatic weightment and digital display, so it becomes more and more popular.The design of this system gives its eleboration from 3 parts: Hardwear circuit design,softwear programme debugging and entity weld debugging.Hardwear circuit reaches data processing by the controling unit which based on AT89S52,and gathers data by weighting transducer,then makes AD transform by HX711 to the data gathered, and the transformed data then transferred to AT89S52 for display prosessing, at last LCD1602 would show it out steadily without twinklingKey Words: AT89S52 MCU,Electrnoic Scale,Load sensor,HX711.目录摘要 (I)ABSTRACT (II)目录.......................................................................................................................................................................... I II 第1章绪论. (1)1.1课题背景与研究意义 (1)1.2 系统设计要求 (2)1.3系统设计方案 (3)1.4电子秤的主要组成 (5)1.4.1 电子秤的基本结构 (5)1.4.2 电子秤的工作原理 (6)1.4.3 电子秤的计量性能 (7)第2章系统硬件设计 (8)2.1 流系统元器件选型及参数介绍 (8)2.1.1 系统单片机选型 (8)2.1.2 系统传感器选型 (10)2.1.3 系统AD转换芯片选择 (13)2.1.4系统显示器选择 (14)2.1.5系统时钟芯片选择 (16)2.2 系统硬件电路设计 (17)2.2.1系统电源电路设计 (17)2.2.2系统单片机主控电路设计 (18)2.2.3系统显示部分电路设计 (20)2.2.4系统超重报警指示电路设计 (21)2.2.5系统按键输入电路设计 (21)2.3系统硬件电路的绘制与PCB线路板制作 (23)2.3.1 Protell 99 SE软件介绍 (23)2.3.2 系统原理图绘制与PCB印刷线路板制作 (23)第3章系统软件设计 (27)3.1 系统软件编程环境介绍 (27)3.2系统主程序流程图 (27)3.3系统显示部分流程图 (28)3.4系统按键调整部分流程图 (29)第四章系统的制作、安装与调试 (30)4.1电路的绘制与PCB板的制作 (30)4.2 系统的调试 (31)第五章总结与体会 (32)5.1 总结 (32)5.2 体会 (33)参考文献 (34)致谢 (35)第1章绪论1.1课题背景与研究意义电子秤作为一种计量手段,广泛应用于工农业、科研、交通、内外贸易等各个领域,与人民的生活紧密相连。
基于单片机的实用电子秤设计

基于单片机的实用电子秤设计一、硬件设计1、传感器选择电子秤的核心部件之一是称重传感器。
常见的称重传感器有电阻应变式、电容式等。
在本设计中,我们选用电阻应变式传感器,其原理是当物体的重量作用在传感器上时,传感器内部的电阻应变片会发生形变,从而导致电阻值的变化。
通过测量电阻值的变化,就可以计算出物体的重量。
2、信号放大与调理传感器输出的信号通常比较微弱,需要经过放大和调理才能被单片机处理。
我们使用高精度的仪表放大器对传感器输出的信号进行放大,并通过滤波电路去除噪声干扰,以提高测量的准确性。
3、单片机选型单片机是整个电子秤系统的控制核心。
考虑到性能、成本和开发难度等因素,我们选用 STM32 系列单片机。
STM32 系列单片机具有丰富的外设资源、较高的运算速度和良好的稳定性,能够满足电子秤的设计需求。
4、显示模块为了直观地显示测量结果,我们选用液晶显示屏(LCD)作为显示模块。
LCD 显示屏具有功耗低、显示清晰、视角广等优点。
通过单片机的控制,可以在 LCD 显示屏上实时显示物体的重量、单位等信息。
5、按键模块为了实现电子秤的功能设置,如单位切换、去皮、清零等,我们设计了按键模块。
按键模块通过与单片机的连接,将用户的操作指令传递给单片机进行处理。
6、电源模块电源模块为整个电子秤系统提供稳定的电源。
我们使用线性稳压器将输入的电源电压转换为适合各个模块工作的电压,以确保系统的正常运行。
二、软件算法1、重量计算算法根据传感器的特性和放大调理电路的参数,我们可以建立重量与传感器输出信号之间的数学模型。
通过对传感器输出信号的采集和处理,利用数学模型计算出物体的实际重量。
2、滤波算法为了消除测量过程中的噪声干扰,提高测量的稳定性和准确性,我们采用数字滤波算法对采集到的信号进行处理。
常见的数字滤波算法有中值滤波、均值滤波等。
在本设计中,我们选用中值滤波算法,其原理是对连续采集的若干个数据进行排序,取中间值作为滤波后的结果。
基于单片机的智能电子秤设计

基于单片机的智能电子秤设计随着科技的不断发展,智能化和自动化已经成为我们生活中不可或缺的一部分。
在众多领域中,智能电子秤的设计与应用也越来越受到。
本文将介绍一种基于单片机的智能电子秤设计方案,该设计具有高精度、低成本、易于实现等优点,具有一定的实用价值。
一、概述智能电子秤是一种能够自动测量物体重量的设备,广泛应用于超市、菜市场等场所。
与传统的机械秤相比,智能电子秤具有测量精度高、使用方便、易于维护等优点。
而基于单片机的智能电子秤设计,更是将智能化和自动化技术融入到电子秤中,提高了设备的性能和可靠性。
二、设计原理基于单片机的智能电子秤设计主要是利用单片机的控制和数据处理能力,实现对物体重量的准确测量。
其核心部件为压力传感器和单片机。
压力传感器负责采集物体的重量信号,并将信号传输给单片机;单片机则对信号进行处理、分析和存储,同时控制显示屏显示物体的重量。
三、硬件设计1、单片机选择单片机是智能电子秤的核心部件,负责控制整个系统的运行。
本设计选用AT89C51单片机,该单片机具有低功耗、高性能、易于编程等优点,能够满足智能电子秤的设计要求。
2、压力传感器选择压力传感器是智能电子秤的重要组成部件,负责采集物体的重量信号。
本设计选用电阻应变式压力传感器,该传感器具有测量精度高、稳定性好、抗干扰能力强等优点。
3、显示模块选择显示模块负责将物体的重量信息呈现给用户。
本设计选用LED显示屏,该显示屏具有亮度高、视角广、寿命长等优点。
4、电源模块选择电源模块为整个系统提供稳定的电源,保证系统的正常运行。
本设计选用线性稳压电源,该电源具有输出电压稳定、纹波小、安全性高等优点。
四、软件设计软件设计是智能电子秤的关键部分之一,直接影响设备的性能和可靠性。
本设计的软件部分采用C语言编写,主要包括数据采集、数据处理、数据显示等模块。
具体流程如下:1、开机后,系统进行初始化操作;2、压力传感器采集物体的重量信号;3、单片机对采集到的信号进行处理和分析;4、单片机将处理后的数据存储到存储器中;5、单片机控制LED显示屏显示物体的重量信息;6、系统继续等待下一次测量。
基于单片机的电子秤的设计与实现(毕业论文)

第一章绪论 (1)1.1研究目的和意义 (1)1.2电子称重系统的应用领域 (1)1.3主要工作以及论文结构 (1)第二章系统方案论证与选型 (3)2.1控制器部分 (3)2.2数据采集部分 (4)2.2.1 传感器的选择 (4)2.2.2放大电路选择 (7)2.2.3 A/D转换器的选择 (8)2.2.4键盘处理部分方案论证 (9)2.3显示电路部分的选择 (9)2.4超量程报警部分选择 (9)2.4.1 电源模块方案选型 (10)第三章硬件电路设计 (11)3.1AT89S52的最小系统电路 (11)3.1.1单片机芯片AT89S52介绍 (11)3.1.3 AT89S52的最小系统电路构成 (12)3.2电源电路设计 (13)3.3数据采集部分电路设计 (13)3.6.1LED结构与原理 (15)3.6.2动态显示LED显示器接口 (16)3.4键盘电路与AT89S52单片机接口电路设计 (17)键盘电路与AT89C51的接口电路设计 (17)3.5报警电路的设计 (18)第四章系统软件设计 (20)4.1主程序设计 (20)4.2子程序设计 (21)4.2.1 A/D转换启动及数据读取程序设计 (21)4.2.2显示子程序设计 (22)4.2.3 键盘输入控制程序的设计 (22)4.2.4报警子程序的设计 (23)第五章总结 (25)参考文献 (26)附录1系统总图 (27)第一章绪论1.1 研究目的和意义传统的机械秤有很多缺点,比如精度不高,结构复杂,易老化,成本高等。
随着社会的发展,市场对秤的要求的越来越高,尤其是人体秤、厨房秤等各类便携式小型秤。
电子秤与传统的机械秤相比有许多优越性,它用压力传感器取代机械秤的弹簧大大减小了秤的体积和制造难度,以LCD 或LED显示屏取代传统的刻度盘使外形更加美观,由于内部集成了单片机以及软件系统,电子秤还拥有传统机械秤无法比拟的智能性。
他可以完成过载报警,总价计算,数据通信等众多功能。
基于单片机的智能电子秤控制系统的设计

基于单片机的智能电子秤控制系统的设计智能电子秤控制系统是一种集成数字电子技术、传感技术、自动控制技术于一体的高精度、高可靠性的电子秤系统。
本文将介绍基于单片机的智能电子秤控制系统的设计原理及实现方法。
一、系统设计原理基于单片机的智能电子秤控制系统主要由称重传感器、AD转换模块、单片机、LCD显示模块和通信接口模块等组成。
其工作原理如下:1. 称重传感器智能电子秤的核心部件是称重传感器,用于将物体的重量转换为电信号。
常用的称重传感器有应变式、电阻式、电容式等。
它们能够根据物体的质量变化而改变输出电信号,作为下一步处理的输入信号。
2. AD转换模块AD转换模块用于将模拟信号转换为数字信号,通过单片机进行处理。
通过AD转换模块,可以将称重传感器输出的模拟信号转换为单片机可以理解的数据,为后续的数据处理提供基础。
3. 单片机单片机是整个智能控制系统的核心,负责接收AD转换模块的信号,并进行数据处理,并通过LCD显示模块将结果实时显示出来。
同时,单片机还可以通过通信模块与其他设备进行数据交互。
4. LCD显示模块LCD显示模块用于将称重结果以数字形式显示出来,提供直观的测量结果给用户。
5. 通信接口模块通信接口模块允许智能电子秤与其他设备进行数据交互,如与计算机进行连接,实现数据的上传和下载。
二、系统设计方法基于单片机的智能电子秤控制系统的设计可以按照以下步骤进行:1. 硬件设计根据系统的功能需求,选择适当的称重传感器和AD转换模块,并通过电路设计将其与单片机和LCD显示模块进行连接。
此外,根据实际需求选择合适的通信接口模块。
2. 软件设计编写单片机的控制程序,包括AD转换的初始化和读取、数据处理、LCD显示等功能。
根据实际需求,可以添加一些额外的功能,如单位选择、重量校准等。
3. 系统测试将硬件和软件进行组装后,进行系统测试。
通过放置不同重量的物体进行秤量,检查显示结果的准确性和稳定性。
同时,测试通信功能是否正常工作。
基于单片机的智能数字电子秤设计

4
软件设计
软件设计
本设计的软件部分采用C语言编写,主要实现以下功能
通过A/D转换器读取称重传感 器的模拟信号:并进行数据 处理
根据预设的算法计算被测物 的重量
将重量值通过显示模块显示 出来
通过按键模块进行参数设定 和功能选择
当称重超过预设值时:通过 报警模块发出警报
检查电路板是否焊接正确: 各元件是否连接良好
给系统供电:检查电源是否 稳定
-
感谢大家观看
THANK YOU FOR WATCHING !
汇报人:XXXXX
日期:XXXX
2023
软件流程图如下
软件设计
启动系统:进行初始化操作 进入主循环:不断读取称重传感器的模 拟信号并进行数据处理 根据处理结果更新重量值并显示在液晶 显示屏上 检查是否有按键按下:如果有则进行相 应的处理 如果称重超过预设值:则发出警报 继续循环执行上述操作
5
调试与测试
调试与测试
在完成硬件和软件的设计后,需 要进行调试和测试。具体步骤如 下
将单片机计算出的重量值 显示出来
按键模块
用于设定单价、重量单位 等信息
报警模块
当称重超过预设值时,发 出警报
7
系统设计
7
8
系统的核心部分是单片机, 它控制着整个系统的运作
通过A/D转换器获取称重传 感器的模拟信号,然后进 行数据处理,计算出被测
物的重量
9
最后,将重量值通过显示 模块显示出来
3
硬件设计
电子秤所取代
本设计是基于单片机技术的智 能数字电子秤,具有操作简便、
读数准确、智能化等特点
2
基于单片机的电子计价秤的设计毕业设计

文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。
毕业设计基于单片机的电子计价秤的设计学生姓名杨欢学号0学院计算机与信息工程学院专业电子信息工程班级电信0901指导教师曹东波职称教授湖南商学院2013年6月湖南商学院本科毕业设计诚信声明本人郑重声明:所呈交的本科毕业设计,是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。
对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。
本人完全意识到本声明的法律结果由本人承担。
本科毕业设计作者签名:年月内容摘要现代社会的发展对其称重技术提出了更高的要求。
目前,台式电子秤在商业贸易中的使用已相当普遍,但存在较大的局限性:体积大、成本高、需要交流电源供应、携带不便、应用场所受到制约。
但是在工业测量中还没有让人们期待的电子秤出现。
多年来,人们一直期待测量准确、价格低廉的在工业发展中起到巨大作用的电子秤投放市场。
目前国际化的趋势是电子秤向小型化,模块化,集成化,智能化,其技术性能趋向于速率高,准确度高,稳定性高,可靠性高等,有很好的发展前景。
本系统的硬件部分以单片机AT89C51为处理芯片,外围附以称重检测传感器、放大调理电路、A/D转换模块、输入显示模块等构成智能秤重系统电路板,从而实现自动称重系统的各种控制功能。
软件部分应用单片机C语言实现了本设计全部处理功能,包括称重功能,显示功能,价格记忆功能,计算总价功能,计时功能,可以说,此设计所完成的电子秤在很大程度上满足了应用要求。
关键词单片机;电子秤;显示;重量ABSTRACTThe development of the modern society has put forward higher request on weighing technology. The desk-top electronic scales have been widely used in commercial trade, but they have many shortcomings such as large volume, high cost, AC supply power and not easy to carry, so they are restricted in use. People have been expecting cheap portable electronic scales which can measure accurately and be carried conveniently for many years. New type of portable electronic scales can measure rapidly and accurately and communicate value. The International of electronic scales trend to the small, modular, integrated, intelligent, and its performance tend to rate high technology, high accuracy, high stability, high reliability, there are good prospects for development.AT89C51 is the handling chip of the hardware of this system. And the smart weighing system board consists of weighing detection sensors, magnifying adjustment circuit, A/D conversion module, the input and display module and so on. All of these are benefit to the automatic weighing system for finishing a variety of control functions. The software of application-chip implementation use the C language to realize all processing capabilities, including weighing function, display features, price and memory function, re-calculate function, timing features, it can be said that this design meet the application requirements to a large extent.KEY WORDSSCM; Electronic scale; Display; Weighing dete目录第一章绪论................................................................... 错误!未定义书签。
单片机电子秤毕业设计

单片机电子秤毕业设计毕业设计题目:基于单片机的电子秤设计与实现一、设计要求:1.设计并实现一款能够准确测量物体质量的电子秤,使用单片机进行控制与数据处理。
2.电子秤应具备高精度、高稳定性和可靠性等特点。
3.电子秤的测量范围应足够大,能够适用于不同质量的物体。
4.电子秤的设计应尽可能简洁、实用、易于操控和维护。
二、设计方案:1.传感器选择:使用称重传感器作为负载传感器,可选用应变片式传感器或压阻式传感器。
2.信号放大与转换:将传感器测得的微小变化信号通过专用放大电路进行放大,并转换为0-5V或0-3.3V的直流电压信号。
3.单片机控制与显示:使用适当的单片机进行控制与数据处理,可选用常见的51单片机或STM32系列单片机,并通过数码管、液晶显示屏或LED显示屏等显示当前测量的质量值。
4.按键与操作:通过按键实现归零、单位选择、累计等基本操作实现。
5.通信接口:可选用串口或IIC总线等通信模式,将测量结果实时传输到上位机或其他设备。
6.电源系统:使用稳压电源保证整个系统的稳定工作。
三、设计流程:1.硬件设计:a.选择合适的电子元件,包括称重传感器、单片机、显示器、按键、通信模块等。
b.设计传感器接口电路,包括信号放大与转换电路。
c.设计按键与控制电路,将按键输入与单片机相连接,实现操作控制功能。
d.设计显示电路,将单片机输出与显示设备相连接,实现结果显示功能。
e.设计电源电路,保证整个系统的稳定工作。
2.软件设计:a.编写初始化程序,对单片机进行初始化设置。
b.编写按键扫描程序,实现按键输入的检测和处理。
c.编写称重传感器读取程序,实时读取称重传感器输出的模拟电压信号。
d.编写质量计算程序,根据传感器输出的模拟电压信号进行质量计算,并实现单位选择功能。
e.编写显示程序,将计算得到的质量值进行显示。
f.编写通信程序,如果需要与上位机或其他设备进行通信,则需要编写相应的通信协议和数据传输程序。
四、测试与调试:1.对硬件进行连接并进行通电测试,确保电子秤的各个部分能够正常工作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、国内外电子称发展情况随着称重传感器各项性能的不断突破,为电子称的发展奠定了基础,国外如美国、西欧等一些国家在20世纪60年代就出现了0.1%称量准确度的电子称,并在70年代中期约对75%的机械称进行了机电结合式改造。
80年代以来,我国通过自行研究引进消化吸收和技术改造。
已由传统的机械式衡器步入集传感器、微电子技术、计算机技术与一体化的电子衡器发展阶段。
二、设计方案本电子秤系统由以下几个部分组成。
传感器,放大电路,A/D 转换电路,单片机主控模块。
2.放大电路采用仪表放大器,用以将小的模拟信号放大。
3.A/D 转换将模拟信号转化成数字信号,单片机接收后可以对其进行处理。
三、硬件电路设计 1.电阻应变式传感器电路电阻应变式传感器是将被测量的力,通过它产生的金属弹性变形转换成电阻变化的元件。
由电阻应变片和测量线路两部分组成,其主要参数如附录1所示。
电阻应变片产生的误差,主要来源于温度的影响,本设计主要在实验室内进行,温度的影响可不考虑。
内部丝绕式应变片结构图如下图2所示。
当贴有电阻应变片的弹性平衡梁受到载荷F作用时,电阻应变片R1和R3受到拉伸作用,阻值增加;R2和R4受到压缩作用,阻值减小,电桥失去平衡,产生的不平衡电压U 的大小与所受作用力F成正比。
电桥的输出电压反映了电阻应变片相应的受力状态。
电桥电路如图3所示。
电桥电路是最常用的非电量电测电路中的一种,当电桥平衡时,桥路对臂电阻乘积相等,电桥输出为零,在桥臂四个电阻R1、R2、R3、R4 中,电阻的相对变化率分别为△R1/ R1、△R2/ R2、△R3/ R3、△R4/ R4 ,当使用一个应变片时,RRR ∆=Σ;当二个应变片组成差动状态工作,则有R R2R ∆=Σ;用四个应变片组成二个差动对工作,且R1= R2= R3= R4=R ,RR 4R ∆=Σ。
当电桥后面接放大器时,放大器的输入阻抗都很高,比电桥的输出电阻大很多,因此可以把电桥输出端看成是开路。
应变电桥电路如下图4所示:图4 电桥应变电路原理图若电桥不平衡时,即R 1R 3≠R 2R 4时,电桥输出:U R R R R R R R R U ))((432142310++-=恰好选择各桥臂电阻,可消除电桥的恒定输出,使输出电压只与应变片输出有关。
令R1=R2,R3=R4,在应变片工作时,其电阻R1变化△R,此时电桥的灵敏度为:k u =U/4电压输出为: U O =(U/4)(△R1/R1)。
2.放大电路滤波器是具有频率选择作用的电路或运算处理系统,具有滤除噪声和分离各种不同信号的功能。
传感器过来的信号经常带有各种各样的干扰,因此要采用滤波电路来去除干扰。
传感器输出的模拟信号都很微弱,必须通过一个模拟放大器对其进行一定倍数的放大,才能满足A/D转换器对输入信号电平的要求,这里选择常用的仪用放大器,原理图如图5所示。
共模抑制比:来自传感器的信号通常都伴随着很大的共模电压(包括干扰电压)。
一般采用差动输入集成运算放大器来抑制它,但是必须要求外接电阻完全平衡对称,运算放大器才具有理想特性。
否则,放大器将有共模误差输出,其大小既与外接电阻对称精度有关,又与运算放大器本身的共模抑制能力有关。
一般运算放大器共模抑制比可达80dB,而采用由几个集成运算放大器组成的测量放大电路,共模抑制比可达100~120dB。
因此,采用低漂移运算放大器NE5532和op07构成的双运放高共模抑制比放大电路。
电路原理如下图6所示:图6 程控放大器电路原理图3.A/D转换器5G14433是国产的3位半双积分A/D转换器,具有抗干扰性能好,转换精度高(相当于11位二进制数),自动校零,自动极性输出,自动量程控制信号输出,动态字位扫描BCD码输出,单基准电压,外接元件少,价格低廉等特点。
典型的5G14433外部电路连接方法如图7。
图7 5G14433A/D转换电路4.按键/显示模块由于设计按键较少,所以采用独立式键盘结构。
显示部分采用共阳极LED,由于单片机I/O口有限,所以采用动态显示方式。
图8 按键/显示5.总图图9 总图四、系统程序设计1.主程序图102.显示模块图113.程序清单#include<reg51.h>void LEDshow (unsigned char*p);void kbscan(unsigned int k);void kbscan2(void);void kbscandw(unsigned int l);idata unsigned char={0,0,0,0};idata unsigned char sig=0,n1=0,n2=0;idata unsigned char l;idata unsigned char hang,lie;idata unsigned char NN2[4]={0,0,0,0},LL[4]={0,0,0,0};idata unsigned int result,res=0;idata float realnum,zongjia;sbit p36=P3^6;sbit p37=P3^7;sbit p10=P1^0;main(){unsigned int kbnum[4][4]={{0,1,2,3},{4,5,6,7},{8,9,10,11},{12,13,14,15}}; unsigned char h;unsigned int e;while(1){LEDshow(xianshi);P1=0xff;P3=0;h=P1;h=h&0x0f;if(h<0x0f) { for(e=0;e<500;e++);if(h<0x0f) kbscan(h);l=kbnum[hang-1][lie-1];kbscandw(l);}}}void LEDshow(unsigned char*p){unsigned char LEDbod[20]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; unsigned int i=0,a,e;jixu:P1=0xff;switch(i){case 0:a=0x70;break;case 1:a=0xb0;break;case 2:a=0xd0;break;case 3:a=0xe0;break;}P2=LEDbod[p[i]];P1=a;for( e=0;e<100;e++);P2=0xff;i++;if(i!=4)goto jixu;return;}void kbscan(unsigned int k){unsigned int p,e;switch(k){case 0x07:kbscan2();hang=1;do{P3=0;p=P1;p=p&0x0f;for( e=0;e<1000;e++);}while(p<0x0f);return ;case 0x0b:kbscan2();hang=2;do{P3=0;p=P1;p=p&0x0f;for( e=0;e<1000;e++);}while(p<0x0f);return ;case 0x0d:kbscan2();hang=3;do{P3=0;p=P1;p=p&0x0f;for( e=0;e<1000;e++);}while(p<0x0f);return ;case0x0e:kbscan2();hang=4;do{P3=0;p=P1;p=p&0x0f;for( e=0;e<1000;e++);}while(p<0x0f);return ;}}void kbscan2(void){unsigned int h;P3=0x38;h=P1;h=h&0x0f;if(h<0x0f){lie=4;return;}P3=0x34;h=P1;h=h&0x0f;if(h<0x0f){lie=3;return;}P3=0x2c;h=P1;h=h&0x0f;if(h<0x0f){lie=2;return;}P3=0x1c;h=P1;h=h&0x0f;if(h<0x0f){lie=1;return;}}void kbscandw(unsigned int l){unsigned char i=0,j,e;unsigned int a,b,c;{if(l==12){ for(e=0;e<4;e++)xianshi[e]=0;zongjia=(realnum*result)/1000;if(zongjia>=100){a=(int)(zongjia*10);for(i=4;i>0;i--){xianshi[i-1]=a%10;a=a/10;}xianshi[2]=xianshi[2]+10;}else if(zongjia>=10){a=(int)(zongjia*100);for(i=4;i>0;i--){xianshi[i-1]=a%10; a=a/10;}xianshi[1]=xianshi[1]+10;}else if(zongjia>=1){a=(int)(zongjia*1000);for(i=4;i>0;i--){xianshi[i-1]=a%10; a=a/10;}xianshi[0]=xianshi[0]+10;}else {a=(int)(zongjia*1000) ;for(i=4;i>0;i--) {xianshi[i-1]=a%10;a=a/10;}xianshi[0]=xianshi[0]+10;}return;}else if(l==11){for(e=0;e<4;e++)xianshi[e]=0;for(j=0;j<50;j++){ p36=0; p36=1; p36=0;for(i=0;i<100;i++);p37=1;result=P0;p37=0;res=result+res;}result=res/50;c=result*10-10;b=result*8.3;{if(result<2)result=0;else if(result<7)result=c;else if(result<=19) result=b+13;else if(result<=34)result=c-20 ;else if(result<=40)result=b+38;else if(result<=60)result=c-30;else if(result<=66)result=b+72;else if(result<=81)result=c-40;else if(result<=87)result=b+97;else if(result<=132)result=c-50;else if(result<=138)result=b+174;else if(result<=158)result=c-60;else if(result<=164)result=b+208;else if(result<=179)result=c-70;else if(result<=185)result=b+234;else result=c-80;}if(result<100) xianshi[2]=result/10;else if(result<1000){xianshi[1]=result/100;xianshi[2]=(result%100)/10;} else xianshi[0]=result/1000;xianshi[1]=(result%1000)/100;xianshi[2]=((result%1000)%100)/10;res=0;return;}else if (l==15){ realnum=LL[0]*1000+LL[1]*100+LL[2]*10+LL[3];switch(NN2[3]){case 0:break;case 1:realnum=realnum/10;break;case 2:realnum=realnum/100;break;case 3:realnum=realnum/1000;break;}while(i<4){xianshi[i]=LL[i];i++;}switch(NN2[3]){case 0:break;case 1:xianshi[2]=xianshi[2]+10;break;case 2:xianshi[1]=xianshi[1]+10;break;case 3:xianshi[0]=xianshi[0]+10;break;}sig=0;n1=0;n2=0;NN2[0]=0;NN2[1]=0;NN2[2]=0;NN2[3]=0;LL[0]=0;LL[1]=0;LL[2]=0;LL[3]=0;return;}else if(sig==1)n2++;else if(l==10) {sig=1; xianshi[n1-1]=xianshi[n1-1]+10; return;}NN2[n1]=n2;LL[n1]=l;xianshi[n1]=l;n1++;return;}}五、参考文献高玉芹.单片机原理与应用及C51编程技术. 机械工业出版社.。