基于AT89C51的数字电子秤的设计_课程设计报告
《检测技术》课程设计-基于应变片的电子秤设计
AT89C51简介 (17)1、2、背景介绍质量是测量领域中的一个重要参数,称重技术自古以来就被人们所重视。
秤是最普遍、最普及的计量设备,电子秤取代机械秤是科技发展的必然规律。
低成本、高智能的电子秤无疑具有极其广阔的市场前景。
60年代初期出现机电结合式电子衡器以来,衡器技术在不断进步和提高。
从世界水平看,衡器技术已经经历了四个阶段,从传统的全部由机械元器件组成的机械称到用电子线路代替部分机械元器件的机电结合秤,再从集成电路式到目前的单片机系统设计的电子计价秤电子秤是日常生活中常用的衡量器件,广泛应用于超市、大中型商场。
电子秤在结构和原理上取代了以杠杆平衡为原理的传统机械式称量工具。
相比于传统的机械式称量工具,电子秤具有称量精度高、装机体积小、应用范围广、易于操作使用等优点。
我们所要研究的任务是:基于应变片的电子秤设计,称重范围0~10Kg,满量程量误差不大于 0.005Kg,同时具有自动去皮计算物重,并能计价,具有键盘、显示功能。
3、方案设计首先是通过压力传感器采集到被测物体的重量并将其转换成电压信号。
输出电压信号通常很小,需要通过前端信号处理电路进行准确的线性放大。
放大后的模拟电压信号经A/D转换电路转换成数字量被送入到主控电路的单片机中,再经过单片机控制译码显示器,从而显示出被测物体的重量。
我们的设计原则是:采用模块化的设计方法,各模块、部分也尽量应用集成芯片,这样及保证了精度有可使设计简单化。
按照设计的基本要求,系统可分为三大模块,数据采集模块、控制器模块、人机交互界面模块。
其中数据采集模块由压力传感器、信号的前级处理和A/D转换部分组成。
转换后的数字信号送给控制器处理,由控制器完成对该数字量的处理,驱动显示模块完成人机间的信息交换。
电子秤模块设计图2.1、传感器的选择传感器的定义:能感受规定的被测量,并按照一定规律转换成可用输出信号的器件或装置。
通常传感器由敏感元件和转换元件组成。
其中敏感元件指传感器中能直接感受被测量的部分,转换部分指传感器中能将敏感元件输出量转换为适于传输和测量的电信号部分。
数字电子秤的设计与仿真
数字电子秤的设计与仿真【摘要】本次设计是基于AT89C51单片机为核心的数字电子秤,它的硬件电路还包括称重传感器、ADC0832的A/D转换电路、报警电路、LM016L液晶显示、电源电路。
该设计的软件程序包括主控程序、LM016L显示驱动程序、ADC0832采样程序和4*4键盘程序。
打开电源时,单片各部分接口电路初始化,200ms后ADC0832对外部数据进行采样,一旦有物品放入载物台,ADC0832立即发送中断请求,并将本次采集数据交给单片机处理,显示相应数据量。
【关键词】电子秤;AT89C51单片机;采样一、总体设计方案基于单片机开发的数字电子秤,其硬件电路包括单片机、称重传感器、A/D 转换芯片、报警电路、LCD显示电路、电源电路等几部分设计内容。
其单片机采用Atmel公司生产的51系列AT89C51;称重传感器可采用电桥电路,在仿真实现中本文采用可调电阻做替代;A/D转换器采用ADC0832。
数字电子秤最终要满足以下功能:自动计算价格;储存常用物品价格;超重提醒,一旦重量超出了自身重量的测量的范围,发出警报;电子秤的测量范围在0—5KG,测量精度要求0.001KG。
整个数字电子秤电路构成如图1所示。
二、硬件电路的设计数字电子秤以AT89C51单片机作为核心,完成ADC0832转换电路、LM016L 显示电路、键盘电路、报警电路等功能。
1.A/D转换电路采用ADC0832芯片,通过采样、保持、量化和编码等过程将称重传感器所采集的模拟信号转换成数字信号供单片机读取。
2.显示电路采用LM016L液晶显示器,通过HD44780控制器,具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能。
3.键盘电路采用4*4矩阵按键,完成外部数据的输入。
4.报警电路采用蜂鸣器报警器,一旦物体自身的重量超出电子秤的称量范围,蜂鸣器立即会发出警报声,提醒所称量物品超重。
原理图如图2所示。
5.称重系统的仿真原理图(如图3所示)三、软件设计控制器系统软件的工作过程如下:打开电源时,单片机及各个部分电路开始工作,单片机调用内部存储数据对各部分接口电路初始化。
单片机电子秤毕业设计
单片机电子秤毕业设计单片机电子秤是一种利用单片机技术来实现重量测量的设备,广泛应用于物料称重、区域称重和个人称重等领域。
它具有体积小、重量轻、精度高、操作简便等特点,因此受到了广大用户的喜爱。
本篇论文将介绍基于单片机的电子秤的设计与实现。
本设计选用了AT89C51单片机作为主控芯片,采用负荷传感器和数字压力传感器来测量被称物的重量。
该设计主要包括传感器采集电路、信号调理电路、数据处理电路和显示控制电路四部分。
首先是传感器采集电路,它负责将负荷传感器和数字压力传感器的输出信号进行放大和过滤。
负荷传感器负责测量被称物的重量,它将被称物的重量转化为电信号输出。
数字压力传感器则负责测量称重时施加在测量平台上的压力,它也将压力转化为电信号输出。
这两个传感器的输出信号经过放大和过滤后,进入信号调理电路。
信号调理电路主要包括模拟滤波器和功率放大器。
模拟滤波器用于进一步滤除传感器输出信号中的高频噪声,以提高测量精度。
功率放大器则用于保证传感器输出信号能够得到充分放大,以提高传感器的灵敏度和测量范围。
数据处理电路是单片机电子秤系统的核心部分,通过单片机对传感器采集到的数据进行处理和计算,最终得到被称物的重量。
数据处理电路由单片机、A/D转换器和存储器组成。
单片机负责控制整个系统的工作流程,包括数据采集、数据处理和结果显示等。
A/D转换器则负责将模拟信号转换为数字信号,以供单片机进行处理。
存储器用于保存称重数据,并可进行数据的读取和清零等操作。
最后是显示控制电路,它通过驱动数码管或液晶显示屏来显示被称物的重量。
显示控制电路由字模驱动芯片、数码管译码器和显示器组成。
字模驱动芯片负责将单片机处理的数据转化为显示所需的字模。
数码管译码器则将字模驱动芯片输出的数字信号转化为数码管所需的控制信号,以实现对数码管的驱动。
本设计在硬件设计上充分考虑了精度、稳定性和可靠性等因素。
在软件设计上,采用了C语言进行编程,结构清晰,具有较高的可扩展性和代码重用性。
基于AT89C51的便携电子秤设计_毕业设计论文
西安航空职业技术学院毕业设计(论文)论文题目:基于AT89C51的便携电子秤设计所属系部:电子工程系专业:应用电子技术西安航空职业技术学院毕业设计(论文)任务书题目:基于AT89C51的便携电子秤设计任务与要求:(1)电子称可以测量0~10kg范围的物体。
(2)测量的精度为0.01kg。
时间: 2011 年 10 月 8 日至 2011 年 12月 8 日共 8 周所属系部:电子工程系学生姓名:学号:09201319专业:应电用电子技术指导单位或教研室:应用电子技术教研室指导教师:职称:讲师西安航空职业技术学院制2011年12月15日毕业设计(论文)进度计划表基于单片机的便携电子秤系统硬件部分摘要随着微电子技术的应用,市场上使用的传统称重工具已经满足不了人们的要求。
为了改变传统称重工具在使用上存在的问题,在本设计中将智能化、自动化、人性化用在了电子秤重的控制系统中。
本系统主要由单片机来控制,测量物体重量部分由称重传感器及A/D转换器组成,加上显示单元,此电子秤俱备了功能多、性能价格比高、功耗低、系统设计简单、使用方便直观、速度快、测量准确、自动化程度高等特点。
本系统以AT89C51单片机为主控芯片,外围附以称重电路、显示电路、报警电路、键盘电路等构成智能称重系统电路板,从而实现自动称重系统的各种控制功能。
此设计所完成的智能称重系统很大程度上满足了应用需求。
关键词: AT89C51;称重传感器;A/D转换器;LCD显示器Abstract: With the application of micro-electronics technology, tradition ponderation instrument used in market has been not satisfaction with hunman requirements already. In order to make up for the traditional apparatus shortcoming, we improve the apparatus's control system with intelligence and automation. This system is mainly controlled by microcontroller, the section of height measurement accomplish by supersonic sensor, the section of weight measurement accomplish by weight sensor and A/D transformer, this apparatus have many characteristic such as having more function, consume less energy, small and move easily, low price, measure precisely, the speed is quick, automatic work without people and so on. The system is mainly controlled by the microcontroller AT89C51 the periphery is consist of the circuit of clock and calendar, the circuit of measure height and weight, the circuit of display and print, all of these comprise the circuit board of the intelligent apparatus of height and weight. It can achieve all function of the apparatus.Key words: AT89C51,ponderation –sensor,A / D converter,LCD display;目录1 绪论 (1)1.1引言 (1)1.2选题背景和意义 (1)1.3国内外电子称发展及成果 (2)2系统方案设计 (4)2.1系统总体设计方案比较与论证 (4)2.2硬件的方案设计与论证 (6)2.2.1 传感器 (6)2.2.2 前级放大器部分 (9)2.2.3 信号转换 (10)2.2.4 控制单片机的选型 (13)2.2.5 显示模块 (13)2.2.6 键盘输入 (15)2.2.7 电源模块 (16)2.3具体实施方案简介 (17)3系统硬件设计 (19)3.1AT89C51的主控电路 (19)3.1.1 AT89C51简介 (19)3.1.2 引脚说明 (19)3.1.3 电路具体设计 (21)3.2信号放大电路 (22)3.2.1 芯片INA126简介 (22)3.2.2 INA126特点及引脚说明 (22)3.2.3 具体电路设计 (23)3.3信号转换电路 (23)3.3.1芯片LM331应用 (23)3.3.2 LM331功能介绍 (24)3.3.3 具体电路设计 (25)4系统软件设计 (26)4.1C语言在单片机中的应用 (26)4.2电子称的软件设计与实现 (27)4.3主程序流程图 (27)4.4子程序设计 (28)4.4.1 V/F转换启动及数据读取程序设计 (29)4.4.2显示子程序设计 (29)4.4.3键盘扫描子程序的设计 (30)结束语 (32)谢辞 (33)文献 (34)1 绪论1.1引言在我们生活中经常都需要测量物体的重量,于是就用到秤,但是随着社会的进步、科学的发展,我们对其要求操作方便、易于识别。
基于AT89C51称重系统设计
内容摘要近年来,随着电子衡器产品的发展及国内外市场的需求变化,对电子衡器的要求偏向于智能化,模块化,系统化,微型化,集成化; 快速,高精度,高可靠性,高稳定性成为其技术性能主要要求指标;其价格趋向是更加物美价廉;其功能要求是非控制信息和称重计量控制信息协调并重的的智能化;最后不得不提的是其应用性能更加接近于结合和集成综合发展。
结合以上的分析要点,本设计的提出对于现实的发展要求是非常具有实际意义和利用价值的。
我的创新点是以AT89S51单片机为基础而作的的电子称重设备相关设计。
首先,论述了数字电子秤的发展背景和设计方案,接着概述了软件系统和硬件系统的设计,最后的流程给出了电路硬件方面的设计细节。
放大滤波电路,信号转换器,信号前级的传感器和电阻应变式传感器这四个部分组成了该系统。
单片机在其中发挥重要作用,其完成控制各个部分的协调工作和数据处理工作,利用重量和输出电压的线性关系,建立相关的数学模型,实现重量单位量纲由电压单位量纲代替。
一定数量的LED管与矩阵键盘组成人机对话部分,最后通过键盘控制,显示重量及价格相关讯息。
关键词关键词汇:单片机;传感器;A/D转换器;信号放大电路;滤波电路AbstractIn recent years, with changes in demand for electronic weighing products development and domestic and international market, the requirements for electronic weighing biased in favor of intelligent, modular, systematic, miniaturization, integration; rapid, high-precision, high reliability, high stability as its main requirements of technical performance indicators; their prices tend to be more affordable; its non-functional requirements and weight measurement control information, control information to coordinate both the intelligence; Finally I must mention is its application performance closer combination and integration of comprehensive development. So combining the above analysis points, made the design requirements for the realities of development is very meaningful and of value.My point is innovation and AT89S51 microcontroller based electronic weighing equipment for the instructions. First, discusses the development of digital electronic scales background and design, and then outlines the design of software systems and hardware systems, the final process gives the circuit hardware design details. The system is composed of the amplification and filter circuit, a signal converter, before the signal level of the sensor and the four resistance strain sensor part. SCM play an important role in this, whichcompletes the control and coordination of the various parts of the data processing, the use of a linear relationship between weight and output voltage, the establishment of relevant mathematical models to achieve a dimensionless unit of weight is replaced by a voltage dimensionless units. LED tube with a number of interactive matrix keyboard integral part, and finally through the keyboard control, weight and price of the underlying message is displayed.Keywords: SCM;sensor;A/D converter signal;amplification circuit ;filter circuit目录目录内容摘要 (1)Abstract (2)第1章绪论 (5)1.1引言 (5)1.2 称重系统的工作原理 (6)1.3 称重系统的误差来源及改善措施 (7)第2章系统元器件的选择 (8)2.1 传感器的选择 (8)2.2 微处理器单片机的选择 (8)2.3 放大电路元器件的选择 (10)2.4 A/D转换电路芯片的选择 (11)2.5显示器件的选择 (12)2.6电源器件的选择 (13)2.7本章结束语 (14)第3章系统硬件电路的设计 (14)3.1 系统电路原理框图设计 (14)3.2 关于AT89C51单片机的一些引脚 (15)3.3主芯片与D/A转换器的连接 (17)3.4 放大滤波电路模块 (18)3.5 LED显示器件与主芯片控制的连接 (19)3.6小结 (20)第4章称重系统软件的相关设计 (20)4.1 程序模块介绍 (20)4.1.1 主程序介绍 (20)4.1.2介绍程序的中断 (21)4.1.3调零程序介绍 (21)4.2 流程图 (21)4.3 小结 (24)第5章设计方案的完善 (24)5.1抗干扰方面对硬件采取的设计措施 (24)5.2 软件抗干扰的设计措施 (24)5.3 电源的抗干扰设计方法 (25)5.4 针对空间干扰的防御手段 (25)5.5 本章小结 (25)结论 (26)致谢 (27)参考文献 (28)附录设计总电路原理图 (29)第1章绪论1.1引言近年来,世界各地的工程机械行业像直升机起飞时螺旋桨式的迅猛发展。
基于单片机的数字电子称设计
基于单片机的数字电子称设计本文介绍了基于单片机的数字电子称的设计。
数字电子称是一种精度高、可靠性强的电子称重设备,由于其易于操作、数字显示、自动化等特点,已经被广泛应用于各个领域,如工业生产、商业贸易、医疗卫生等。
设计方案中采用的单片机是AT89C51,其主要作用是进行数据采集、数据处理和息传输等。
在称重时,传感器会将重量数据传输给单片机,单片机进行AD转换后得到重量数据,经过处理后显示在数字LED屏幕上。
下面是单片机数字电子称的设计流程:1. 传感器选择根据所需的称重范围和精度要求,选择相应的传感器。
一般来说,数字电子称应该具有2%—5%的精度,这取决于称重物品的重量和大小。
本设计方案选择的传感器是HX711模块,具有高精度、可靠性好、抗干扰性强等优点。
2. 单片机的IO口程序设计单片机通过IO口与HX711模块连接,接收传感器传来的数据进行处理。
设计中用到的IO口有四个,分别是数据输入口、数据输出口、时钟输入口和工作指示灯。
程序设计时需要对这些IO口进行初始化、数据读取和数据输出等处理。
3. AD转换处理将模拟电压转换成数字信号,单片机内置ADC模块将模拟信号转换成数字信号,然后通过程序计算获得准确的重量数据。
在转换时,需要根据传感器输出电压的变化情况进行精确的AD转换。
4. 数据显示与输出将经过处理的重量数据显示在数字LED屏幕上。
单片机通过串口与上位机进行通信,将数据传输给电脑等设备,方便数据处理和记录。
同时,还可以将数据进行网络传输,实现远程监控、远程控制等功能。
5. 硬件电路设计在设计硬件电路时,需要考虑电路的稳定性、可靠性和安全性。
为了防止静电干扰和电磁波干扰,需要采用屏蔽操作。
在电路中应该加入保险电路,以避免电源波动烧坏IC。
此外,还需要有良好的接地系统,以避免接地不良和电源共模干扰。
本设计方案是基于单片机的数字电子称的设计方案,精度高、可靠性强。
它可以直接读取传感器输出的模拟信号,用单片机进行AD转换、数据处理和信号输出等操作,将重量数据准确显示在数字LED屏幕上。
51单片机电子秤程序设计
51单片机电子秤程序设计概述本文档介绍了如何使用51单片机(AT89C51)设计一个简单的电子秤程序。
通过该程序,电子秤能够测量物体的重量并实时显示在液晶显示屏上。
硬件准备在开始编写程序之前,我们需要准备以下硬件设备:- AT89C51单片机开发板- 电子秤传感器模块- 16x2液晶显示屏- 连接线程序设计以下是该电子秤的主要程序设计步骤:1. 引入必要的头文件include <reg51.h>include <lcd.h>2. 定义端口和变量sbit DOUT = P3^7; // 电子秤传感器数据接口float weight = 0; // 测量到的重量3. 初始化液晶显示屏void lcd_init(){// 在这里初始化液晶显示屏的相关设置}4. 启动AD转换void start_conversion(){// 在这里启动AD转换,将传感器的模拟数据转换为数字数据}5. 读取AD转换结果float read_conversion(){// 在这里读取AD转换结果并返回}6. 主程序void main(){lcd_init(); // 初始化液晶显示屏while (1){start_conversion(); // 启动AD转换weight = read_conversion(); // 读取AD转换结果// 将重量显示在液晶显示屏上lcd_gotoxy(1, 1); // 设置光标位置lcd_print("Weight: %.2f kg", weight); // 显示重量delay(500); // 延时一段时间,以控制刷新速度}}总结通过以上步骤,我们可以设计一个简单的51单片机电子秤程序。
该程序可以实时获取电子秤传感器的数据,并将测量到的重量显示在液晶显示屏上。
我们可以根据实际需求进行进一步的功能扩展和优化。
请注意,本文档仅提供了程序设计的概述,并未包含具体的代码实现。
基于51单片机电子秤设计
摘要电子秤是日常生活中常用的称重设备,广泛应用于超市、大中型商场、物流配送中心。
电子秤在结构和原理上取代了以杠杆平衡为原理的传统机械式称量工具。
相比传统的机械式称量工具,电子秤具有称量精度高、装机体积小、应用范围广、易于操作使用等优点,在外形布局、工作原理、结构和材料上都是全新的计量衡器。
微电子技术的发展为电子秤提出了改进的空间。
电子秤向着简单、便宜发展,智能化、精确的电子秤成为了人们的追求。
本简易电子秤以常见的AT89C51为核心,以电阻应变片采集应变数据,通过HX711放大并进行AD转换供单片机处理,用LCD1602显示所测量的重量,同时本电子秤系统还提供单价设置进行求价格的计算以及去皮功能,通过一些简单低成本的元器件就完成了一个功能齐全的电子秤的制作,将传统电子秤的成本进行了缩减。
关键词:电阻应变片 AT89C51 HX711 电子秤第一章方案与论证一、方案类型(一)方案一通过单片机为主控芯片,用应变片采集应变数据,通过专用仪表放大器INA128对采集到的信号进行放大,在配上模数转换芯片对放大了的模拟信号转化为数字信号,传入单片机中进行数据处理,找出函数关系并转化关系。
通过数字信号转化为重量值显示在LDC1602上,同时通过键盘进行数据输入,输入单价、去皮等功能。
通过蜂鸣器和二极管实现超额报警功能。
(二)方案二以单片机为主控芯片,应变片采集应变数据,将放大和模数转换用HX711芯片来同时进行实现,将模拟量传入主控芯片单片机中进行数据转换,通过函数关系转换为重量显示到LED 上或者LCD1602上,同时通过键盘按键进行数据输入,输入单价、去皮等功能,并通过蜂鸣器进行数据处理。
(三)方案三运用PLC作为主控制器,PLC运用广泛,它具有接线简单,通用性好,编程简单,使用方便,可连接为控制网络系统,易于安装,便于维护等优点。
二、方案论证与选定运用51单片机作为主控芯片,AT89C51是一种高效微控制器。
基于AT89C51单片机的电子秤设计
基于AT89C51单片机的电子秤设计
陈公兴;刘灿星
【期刊名称】《商情》
【年(卷),期】2011(000)042
【摘要】主要设计一个基于压力传感器、A/D转换器、AT89C51单片机和LCD 显示器的电子秤系统。
此电子称系统具有结构简单,成本低,精度高等优点,集质量称量与价格计算功能于一体,能够满足商业贸易和居民家庭的使用需求。
【总页数】1页(P89-89)
【作者】陈公兴;刘灿星
【作者单位】广东技术师范学院天河学院电气工程系;广东技术师范学院天河学院电气工程系
【正文语种】中文
【中图分类】TP368.1
【相关文献】
1.读一篇文章,作一个单片机电路(七)——基于AT89C51单片机的串口通信程序的设计 [J], 黄亮
2.基于AT89C51单片机控制的数字秒表的设计 [J], 赵素玲
3.基于AT89C51单片机的数字时钟电路设计与实践 [J], 景维斌
4.基于AT89C51单片机控制的数字秒表的设计 [J], 赵素玲
5.读一篇文章,作一个单片机电路(十) 基于AT89C51单片机的数字电压表的设计[J], 黄亮
因版权原因,仅展示原文概要,查看原文内容请购买。
基于AT89C51的体重称
大连理工大学单片机课程设计课题名称:体重称设计院系:机械工程学院班级:0708班姓名:xxx xxx2010 年05 月20日基于MCS-51的体重秤设计摘 要:本文设计一种利用电阻应变式压力传感器和MCS-51单片机等器件制作的体重秤。
该体重秤的量程为100kg ,能实现称重、数码显示、调零等功能。
该体重秤利用电桥测量原理,将压力应变传感器阻值转换为电压值,再经过放大器将电压放大,通过确定输出电压和标准重量的关系,形成一台原始体重秤。
将此输出电压经过模数转换,送入MCS-51单片机处理,再控制数码管驱动电路,最后显示出测量结果。
关键词:体重秤;应变式压力传感器;电桥;放大电路;A/D 转换;单片机1 总体方案设计本设计由以下几部分组成:电阻应变传感器、信号放大器、模数转换、单片机、显示器。
由电阻应变式传感器感受被测物体的质量,通过电桥输出电压信号,通过放大电路将输出信号放大,而后送入A/D 转换单元进行模数转换,将转换后的数字信号送给单片机;单片机接收数据后,对数据进行处理,将其转换为对应的重量信息,送数码显示模块进行显示。
单片机同时也可以进行调零操作。
2 硬件电路设计 2.1电阻应变传感器 传感器框图:电阻应变式传感器是将被测量的力,通过它产生的金属弹性变形转换成电阻变化的元件。
由电阻应变片和测量线路两部分组成。
电阻应变片产生的误差,主要来源于温度的影响,本设计主要在实验室内进行,温度的影响暂不处理。
在电桥测量电路中,将一对变化相反的应变片接入电桥一臂,另一臂接两个相同的阻值作为基准值;假设桥臂电阻初始值R1=R2=R3=R4=350时平衡,其变化值为ΔR1=ΔR2=ΔR3=ΔR4=d 时,其桥路输出电压Uout 与d 成正比。
2.2输入调零电路调零电路用以抵消传感器的零点输出和称体本身的自重引起的传感器输出信号。
它是由 高稳定的电阻、多圈线绕电位器和直流稳压源组成的电桥电路图(下图),称为调零电桥。
基于AT89C51单片机电子秤课程设计论文
基于AT89C51的电子秤的设计在我们生活中经常都需要测量物体的重量,于是就用到秤,但是随着社会的进步、科学的发展,我们对其要求操作方便、易于识别。
随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。
电子秤向提高精度和降低成本方向发展的趋势引起了对低成本、高性能模拟信号处理器件需求的增加。
通过分析近年来电子衡器产品的发展情况及国内外市场的需求,电子衡器总的发展趋势是小型化、模块化、集成化、智能化;其技术性能趋向是速率高、准确度高、稳定性高、可靠性高;其功能趋向是称重计量的控制信息和非控制信息并重的“智能化”功能;其应用性能趋向于综合性和组合性。
1 系统方案设计1.1 系统总体设计方案前端信号处理时,选用放大、信号转换等措施,在显示方面采用具有字符图文显示功能的LCD 显示器。
这种方案不仅加强了人机交换的能力,而且满足设计要求,可以显示购物清单、所称量的物体信息等相关内容。
结构简图如下图所示:图1.1LCD显示的方案目前单片机技术比较成熟,功能也比较强大,被测信号经放大整形后送入单片机,由单片机对测量信号进行处理并根据相应的数据关系译码显示出被测物体的重量。
单片机控制适合于功能比较简单的控制系统,而且其具有成本低,功耗低,体积小算术运算功能强,技术成熟等优点。
1.2 硬件的方案设计与论证1.2.1 传感器电阻应变式传感器是一种利用电阻应变效应,将各种力学量转换为电信号的结构型传感器。
)(434211R R R R R R E +-+=))((43214231R R R R R R R R E ++-•3421R R R R =电阻应变片式电阻应变式传感器的核心元件,其工作原理是基于材料的电阻应变效应,电阻应变片即可单独作为传感器使用,又能作为敏感元件结合弹性元件构成力学量传感器。
【精品毕设】基于STC89C51的电子秤设计
一实验目的1、能用矩阵键盘设置单价,加重后能同时显示重量、单价和金额;2、重量显示:单位为千克;最大称重为10千克,重量误差不大于±0.001千克;3、单价金额及总价金额显示:单价金额和总价金额的单位为元,最大金额数值为99.9元,总价金额误差不大于0.1元;4、具有去皮功能和锁定屏幕及其解除功能。
二实验原理称重电子秤主要以单片机STC89C51RC控制核心,实现电子秤的基本控制功能。
系统可以分为最小系统、数据采集、人机交互界面和系统电源四大部分。
最小系统部分主要包括STC89C51RC和经典复位电路;数据采集部分由称重传感器、信号放大和A/D转换部分组成,信号放大和A/D转换部分主要由专用型高精度24位AD转换芯片HX711实现;人机交互界面为键盘输入和点阵式液晶显示,主要使用4*4矩阵键盘和1602液晶显示器,可以方便的输入数据和直观的显示数据;系统在称量时还具有超量程报警功能。
整个系统结构简单,使用方便,功能齐全,精度高,具有一定的开发价值。
三硬件电路的设计1 系统设计原理框图图1 系统结构图由称重传感器采集到的模拟信号,经过A/D转换芯片hx711放大作为输入,经过采样转换为数字信号输入到单片机中,单片机对数据进行处理。
若超过量程,蜂鸣器超重报警,如不超过量程,将数据传入LCD中显示重量。
其中键盘输入单价,并且单片机处理数据后,送入LCD中显示单机以及金额。
2 Hx711芯片介绍HX711 是一款专为高精度称重传感器而设计的24位A/D 转换器芯片。
HX711管脚说明如图2所示:图2 HX711管脚图HX711管脚描述如表1所示:表1 HX711管脚描述表HX711是一款专为高精度称重传感器而设计的24位A/D 转换器芯片。
与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。
降低了电子秤的整机成本,提高了整机的性能和可靠性。
基于51单片机的电子秤的设计
基于51单片机的电子秤的设计一、设计要求和总体方案(一)设计要求设计一款基于 51 单片机的电子秤,能够实现以下功能:1、测量范围:0 5kg。
2、测量精度:01g。
3、具备数码管显示功能,能够实时显示测量的重量值。
4、具有去皮功能,方便测量容器的重量。
(二)总体方案本电子秤主要由传感器、信号调理电路、A/D 转换电路、51 单片机、数码管显示电路和按键电路等组成。
传感器将物体的重量转换为电信号,经过信号调理电路进行放大和滤波处理后,送入 A/D 转换电路转换为数字信号。
51 单片机对数字信号进行处理和计算,得到物体的重量值,并通过数码管显示电路进行显示。
按键电路用于实现去皮等功能。
二、硬件设计(一)传感器选择选用电阻应变式传感器,它具有精度高、稳定性好、测量范围广等优点。
当物体放在传感器上时,传感器的电阻值会发生变化,通过测量电阻值的变化可以得到物体的重量。
(二)信号调理电路由于传感器输出的信号比较微弱,需要经过信号调理电路进行放大和滤波处理。
放大电路采用仪表放大器,它具有高共模抑制比、低噪声等优点。
滤波电路采用无源 RC 滤波器,去除信号中的高频噪声。
(三)A/D 转换电路选用 ADC0809 作为 A/D 转换芯片,它是 8 位逐次逼近型 A/D 转换器,具有转换速度快、精度高等优点。
(四)51 单片机选择AT89C51 单片机作为控制核心,它具有性能稳定、价格低廉、编程简单等优点。
(五)数码管显示电路采用共阳数码管进行显示,通过 74HC573 锁存器驱动数码管。
(六)按键电路使用独立按键实现去皮、清零等功能。
三、软件设计(一)主程序流程主程序首先进行系统初始化,包括初始化单片机的 I/O 口、A/D 转换芯片等。
然后进入循环,不断读取 A/D 转换的结果,并进行数据处理和计算,得到物体的重量值,最后将重量值发送到数码管显示。
(二)数据处理算法采用线性拟合的方法对 A/D 转换的结果进行处理,得到与重量值对应的数字量。
基于AT89C51单片机的电子计价秤的设计与实现
基于AT89C51单片机的电子计价秤的设计与实现
马鸿文
【期刊名称】《微计算机信息》
【年(卷),期】2005(21)12Z
【摘要】本文介绍了基于AT89C51单片机的电子计价秤的软硬件设计方法。
该方法是由应变片式传感器组成的套桥电路感应物料重量后转换成与之成线性关系的电压.再通过V/F变换电路、10倍倍频电路转换脉冲信号输入AT89C51单片机进行处理.且通过16位LCD液晶时时显示。
该电子计价秤硬件电路包括液晶驱动芯片7211AM.键盘专用芯片74C922及看门狗复位电路等,达到了高效、可靠、精确的电子计价秤的设计目的。
【总页数】3页(P96-98)
【作者】马鸿文
【作者单位】徐州中国矿业大学
【正文语种】中文
【中图分类】TP368.1
【相关文献】
1.一种基于单片机AT89C51电子密码锁的设计与实现 [J], 胡绍忠
2.基于AT89C51单片机的秒表设计与实现 [J], 张翠云
3.基于AT89C51单片机花式流水灯的设计与实现 [J], 范昭君
4.基于单片机AT89C51的7只LED显示十进制数码的设计与实现 [J], 蒲灵巧
5.基于AT89C51单片机的简易五路抢答器的Proteus仿真设计与实现 [J], 马亦男
因版权原因,仅展示原文概要,查看原文内容请购买。
电子称设计89c51
电子称设计89c51课程设计题目:电子称设计与制作院系:信息工程学院专业:应用电子技术指导老师姓名:设计时间:2021.05.30电子秤设计第一节绪论………………………………………………………1.1本设计的任务和主要内容………………………………… 1.2基本工作原理及原理框图…………………………………第二节硬件电路的设计………………………………………………2.1 电阻应变式传感器的选择…………………………………… 2.2 三运放大电路的设计…………………………………………… 2.3 ADC0809 A/D转换器………………………………………… 2.4 LED显示电路的设计……………………………………………… 2.5 总体工作电路原理图……………………………………………… 第三节软件的设计…………………………………………………… 第四节设计总结………………………………………………………… 参考书籍………………………………………………………………… 程序附图……………………………………………………………………第一节绪论摘要本课程设计的电子秤以单片机、金属箔应变片为主要部件,利用全桥测量原理,通过对电路输出电压和标准重量的线性关系,建立具体的数学模型,将电压量纲(V)改为重量纲(g)即成为一台原始电子秤。
其中测量电路中最主要的元器件就是电阻应变式传感器。
电阻应变式传感器是传感器中应用最多的一种,本设计采用全桥测量电路,使系统产生的误差更小,输出的数据更精确。
而三运放大电路的作用就是把传感器输出的微弱的模拟信号进行一定倍数的放大,以满足A/D转换器对输入信号电平的要求。
ADC0809 A/D转换的作用是把模拟信号转变成数字信号,进行模数转换,然后把数字信号输送到显示电路中去,最后由显示电路显示出测量结果。
关键字传感器单片机电子称电阻应变片 LCD显示器1.1本设计的任务和主要内容设计目的1掌握金属箔应变片的工作原理及应用;了解应变测量仪的工作原理及其应用。
基于AT89C51和HX711的数字显示称重仪的硬件电路设计
基于AT89C51和HX711的数字显示称重仪的硬件电
路设计
本文设计的数显称重仪是基于电阻应变式传感器、以单片机为控制核心的称重控制显示系统,测量范围为0-10kg,测量精度±2g,液晶屏显示测量数据,同时可将多次测量数据通过串口送计算机显示。
该系统具有精度高、性能稳定、操作简便等特点。
称重仪设计框图如下图1所示:
图1 称重仪设计框图
1、硬件电路设计
1.1、称重传感器
电阻应变式称重传感器由电阻应变片、弹性体和检测电路等几个主要部分组成。
弹性体在外力作用下产生弹性变形,使粘贴在他表面的电阻应变片也随同产生变形,电阻应变片变形后,它的阻值将发生变化(增大或减小),再经相应的测量电路把这一电阻变化转换为电信号(电压或电流),从而完成了将外力变换为电信号的过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
综合课程设计报告基于AT89C51的数字电子秤的设计目录1、设计目的 (2)2、设计的主要内容和要求 (2)3、整体设计方案 (2)3.1设计方案 (2)3.2工作原理 (2)4、硬件电路的设计 (3)5、软件设计 (5)5.1主程序设计 (5)5.2 LM4229液晶显示 (5)5.3 ADC0832采样程序 (7)5.4 4*4键盘程序 (8)6、系统仿真 (8)7、使用说明 (12)8、设计总结 (13)9、元器件 (13)10、参考文献 (13)附录A (14)附录B (23)基于AT89C51的数字电子秤的设计1、设计目的单片机以其功能强,体积小,功耗低,易开发等很多优势被广泛应用。
但单片机不是万能的,也存在不适合的场合,我们要充分利用单片机的内部资源和选择合适的单片机来完成我们的设计。
本数字电子秤的设计过程中需要用到A/D转换、键盘、液晶显示、复位电路和蜂鸣器报警驱动电路的知识,同时在软件的设计过程中需要用到键盘扫描、液晶显示驱动、模数转换程序及汉字库的的设计,可以很好的将数电、模电、单片机知识进行综合应用。
在综合应用中进一步熟悉单片机设计的开发各个流程,最终达到"巩固基础、注重设计、培养技能、追求创新、走向实用"的目的。
2、设计的主要内容和要求本文主要完成一个简单实用数字电子秤的硬件电路部分和软件部分的设计。
在设计的过程学会使用单片机对数字电子秤的各种功能进行控制。
本设计中的数字电子秤要求能够显示商品的名称、价格、总量、总价等;能够自动完成商品的价格计算;能够储存几种简单商品的价格;能够具有超重提醒功能,一旦重量超出了自身重量的测量的范围,发出警报;同时对数字电子秤的测量范围要达到5KG,测量精度要求达到0.001。
3、整体设计方案3.1设计方案整个数字电子秤电路由电源电路、单片机主控制电路、LM4229显示电路、蜂鸣器报警电路、4*4键盘电路和压力传感电路(ADC0832采样)6个部分组成。
如图3.1所示。
3.2工作原理打开电源开关,数字电子秤开始工作。
接通电源时,数字电子秤进入欢迎界面“欢迎使用电子秤设计······”。
此时数字电子秤上MCU开始工作,键盘不断进行扫描,同时通过ADC0832也不断进行外部称量数据采样,LCD上显示“实用电子秤名称单价······”。
当载物台上放有物体时,ADC0832立即将数据收集送给单片机处理。
此时工作人员只要输入对应商品的代码编号,在240*128的LCD上可以看到相应商品的名称,单价,总重,总价格等信息。
在称量的过程中,一旦物体自身的重量超出电子秤的称量范围,蜂鸣器立即会发出“滴滴····”警报声告诉工作人员,所称量物品超重。
图3.1 整体设计方框图4、硬件电路的设计数字电子秤采用AT89C51单片机作为微处理器,接口电路由晶振、LM4229显示电路、4*4按键电路、ADC0832电路、报警电路、存储器等组成。
控制器系统的硬件电路原理图如图4.1所示。
控制器系统硬件电路的工作过程是:打开电源时,MCU及各个部分电路开始工作,MCU调用内部存储数据对各部分接口电路初始化。
200ms后LM4229进入欢迎界面,ADC0832不断对外部数据进行采样交给MCU进行处理,一旦有物品放入载物台,ADC0832立即发送中断请求,并将本次采集数据交给MCU处理,之后LM4229显示相应数据量。
在此过程中,键盘也在不断进行扫描,一旦有键按下,单片机也会对其数据进行相应处理,然后将对LM4229进行写操作。
图4.1 数字电子秤硬件电路图5、软件设计本设计中的程序由主控制程序、LM4229液晶显示驱动程序、ADC0832采样程序和4*4键盘程序组成。
5.1主程序设计整个设计中采用由下向上的设计思路。
主程序中主要完成对LCM4229、ADC0832、及键盘扫描程序的调用。
在编写程序的过程中,各变量统一采用全局变量方式命名,同时考虑到电子秤对精度的要求,本设计中的价格及总量相关的变量全部采用浮点数。
主程序流程图如图 5.1所示图5.1 主程序流程图5.2 LM4229液晶显示图5.2 LM4229液晶显示驱动程序流程图LM4229液晶能够显示比较复杂的汉字和图形,首先必须对其写入控制操作字,包括图形的显示方式,字体的模式。
然后写入初始行地址,指针自动左移,直到写完全部数据为止。
write_data(place&0xff); //写入地址高位write_data(place/256); //写入地址低位write_com(0x24); //地址设置write_com(0xb0); //设置数据自动写write_data(ASC_MSK[(c1-0x20)*16+k]); /*---例如:0的ASCII 码为0x30,在ASC_MSK中的位置为0x10*16 ---16字节字码依次写入LCD---*/write_com(0xb2); //自动复位place=place+30;5.3 ADC0832采样程序图5.3 ADC0832采样程序程序流程图MCU通过拉低CS、拉高CLK来启动ADC0832进行外部压力传感转换后的电压信号进行采样,每产生8个CLK脉冲,DATA获得一位完整的8bit数据,此时MCU发送中断请求,拉高CS,拉低CLK,并将数据DAT返回。
5.4 4*4键盘程序图5.4 4*4键盘程序本设计中采用了4*4矩阵式键盘,单片机定时进行查询。
首先单片机发送行扫描代码,然后进行列扫描,当发现某一列出现了低电平时,即返回相应的键盘值。
若没有发现则说明当前行没有键按下,行扫描右移一位,继续执行列扫描。
MCU根据相应的键值,即可确定被按下的键。
6、系统仿真在protues的ISIS 7.4sp2软件环境下画出电路原理图,接下来就是将设计的程序在Keil C51 μVision3开发集成环境上编译成机器语言,进入Protues 的ISIS,双击AT89C51,在"Program File中"添加"main.hex"文件到AT89C51中,如图6.1所示。
图6.1 数字电子秤仿真设置图该仿真验证的过程:首先按开始按,此时数字电子秤进入欢迎界面。
LM4229上显示"欢迎使用电子秤·····"。
如图6.2所示(如下)。
接下来调节压力传感模拟电路电压,将电压设为0.00表示此时载物台上没有物体。
此时LM4229切换到称量画面。
显示指示“实用电子秤名称······单价:0.000元/千克总重量:0.000千克总价:00.000元”。
如图6.3所示。
图6.3 数字电子秤模拟空载图注:同组成员傅赟同学姓名在汉字中较为复杂在LM4229屏幕中无法显示,未予写入最后,上调压力传感电压表示已载有商品,同时按下“5”号键,表示选择6号商品“苹果”。
此时LM4229上显示“名称:苹果单价:6.800元/千克总重量:3.652千克总价:“24.835元”。
达到基本要求。
如图6.4所示图6.4 数字电子秤模拟载物显示仿真图图6.5数字电子秤最大载物显示仿真图7、使用说明在使用仿真的过程中,首先打开仿真电路图,并加载好“HEX”文件到单片机中。
后将压力传感电压调制0.00,点击按钮,开始仿真。
(为了能够看到清晰的演示过程,请将电路的背景设为无。
)整个电子秤设置了“0~15”个按键,其中的“0”键表示取消,其他键代表15种可供选择商品价格。
8、设计总结通过本次电子技能课程数字电子秤的设计,让我更加熟悉了单片机的整个设计流程。
在设计过程中,我也意识到好的编程书写习惯对软件设计的重要性。
刚刚开始由于自己变量大部分采用的是局部变量,导致程序仿真出错,给自己的修改创造不小的麻烦。
经过一天的努力,统一采用全局变量终于实现最终的仿真结果和设计的全部任务和要求。
当然本数字电子秤还有很多可以改进的地方,例如可以改进按键功能方便工作人员随时对各数据进行修改等等。
由于设计时间有限,只能在以后的学习过程中做更进一步的改进。
9、元器件ATMEL89C52一只,蜂鸣器一只,4*4键盘一只,压力传感器一只(最大5kg),LM4229显示器一只,晶振一只,ADC0832一只,22pf电容两只,22μF电解电容一只,10K电阻一只,510Ω电阻一只,排阻一只10、参考文献[1] 戴佳,戴卫恒,刘博文 51单片机C语言应用程序设计实例精讲.第二版电子工业出版社 2008.12[2]徐爱钧.单片机原理实用教程——基于proteus虚拟仿真【M】.北京:电子工业出版社,2009[3]侯玉宝,陈忠平,李成群.基于proteus的51系列单片机设计与仿真【J】. 北京:电子工业出版社,2008[4]赵建领,薛园园. 51单片机开发与应用技术详解【N】.北京:电子工业出版社,2009[5]单片机原理及应用技术(第一版).中国矿业大学出版社,2008[6] 阎石.数字电子技术基础(第四版)[M].高等教育出版社.1998.11[7] 张毅刚等.MCS-51单片机应用设计.哈尔滨工业电子出版社,1996[8] 何立民.单片机应用技术选编.北京航空航天大学出版社,2000[9] 张友德等.单片微型机原理应用与实验,复旦大学出版社,1996[10] 邬宽明.单片机外围器件实用手册.北京航空航天大学出版社,1998附录A#include<reg51.h>#include<intrins.h>#include <absacc.h>#include <math.h>#include<lm4229.h>#define uchar unsigned char#define uint unsigned intsbit ADCS =P3^5;sbit ADDI =P3^7;sbit ADDO =P3^7;sbit ADCLK =P3^6;uint x1,y1,z1=0,w1;uchar ad_data,k,n,m,e,num,s; //采样值存储uint temp1;sbit beep =P3^0;char press_data; //标度变换存储单元float press;unsigned char ad_alarm,temp; //报警值存储单元unsigned char abc[5]={48,46,48,48,48};unsigned char price_all[6]={48,48,46,48,48,48};float price_unit[10]={5.5,2.8,3.6,4.5,5.8,6.8,7.9,8.0,9.5,0}; //商品初始单价uchar price_danjia[5]={48,46,48,48,48};float price;uint price_temp1,price_temp2; //商品总价uchar Adc0832(unsigned char channel);void alarm(void);void data_pro(void);void delay(uint k);void keyscan();void disp_init();void price_jisuan();/************主函数************/void main(void){delay(500); //系统延时500ms启动//ad_data=0; //采样值存储单元初始化为0lcd_init(); //显示初始化disp_init(); //开始进入欢迎界面delay(100); //延时进入称量画面clear_lcd(0,4,40);clear_lcd(16,0,100);clear_lcd(28,0,40);clear_lcd(44,0,100);clear_lcd(56,0,40);clear_lcd(72,0,100);clear_lcd(84,0,40);clear_lcd(100,0,100);clear_lcd(112,0,40);write_lcd(0,8,"实用电子秤");while(1){ad_data =Adc0832(0); //采样值存储单元初始化为0alarm();data_pro(); //读取重量keyscan(); //查询商品种类write_lcd(40,0,"------------------------------");write_lcd(56,0,"单价:");write_lcd(56,11,price_danjia);write_lcd(56,20,"元/千克");write_lcd(72,0,"总重量:");write_lcd(72,11,abc);write_lcd(72,20,"千克");write_lcd(88,0,"总价:");price_jisuan(); //计算出价格write_lcd(88,10,price_all);write_lcd(88,20,"元");write_lcd(112,0,"作者:刘煜苏超超");}}/************读ADC0832函数************///采集并返回uchar Adc0832(unsigned char channel) //AD转换,返回结果{uchar i=0;uchar j;uint dat=0;uchar ndat=0;if(channel==0)channel=2;if(channel==1)channel=3;ADDI=1;_nop_();_nop_();ADCS=0;//拉低CS端_nop_();_nop_();ADCLK=1;//拉高CLK端_nop_();_nop_();ADCLK=0;//拉低CLK端,形成下降沿1 _nop_();_nop_();ADCLK=1;//拉高CLK端ADDI=channel&0x1;_nop_();_nop_();ADCLK=0;//拉低CLK端,形成下降沿2 _nop_();_nop_();ADCLK=1;//拉高CLK端ADDI=(channel>>1)&0x1;_nop_();_nop_();ADCLK=0;//拉低CLK端,形成下降沿3 ADDI=1;//控制命令结束_nop_();_nop_();dat=0;for(i=0;i<8;i++){dat|=ADDO;//收数据ADCLK=1;_nop_();_nop_();ADCLK=0;//形成一次时钟脉冲_nop_();_nop_();dat<<=1;if(i==7)dat|=ADDO;}for(i=0;i<8;i++){j=0;j=j|ADDO;//收数据ADCLK=1;_nop_();_nop_();ADCLK=0;//形成一次时钟脉冲_nop_();_nop_();j=j<<7;ndat=ndat|j;if(i<7)ndat>>=1;}ADCS=1;//拉搞CS端ADCLK=0;//拉低CLK端ADDO=1;//拉高数据端,回到初始状态dat<<=8;dat|=ndat;return(dat); //return ad k}void data_pro(void){unsigned int;if(0<ad_data<230){int vary=ad_data;press=(0.019531*vary);temp1=(int)(press*1000); //放大1000倍,便于后面的计算abc[0]=temp1/1000+48; //取压力值百位abc[1]=46;abc[2]=(temp1%1000)/100+48; //取压力值十位abc[3]=((temp1%1000)%100)/10+48; //取压力值个位abc[4]=((temp1%1000)%100)%10+48; //取压力值十分位}}/*****************报警子函数*******************/void alarm(void){if(ad_data>=230)beep=0; //则启动报警elsebeep=1;}void delay(uint k){uint i,j;for(i=0;i<k;i++)for(j=0;j<100;j++);}//开机欢迎界面void disp_init(){write_lcd(0,8,"欢迎使用电子秤");write_lcd(16,0,"------------------------------");write_lcd(28,0," ");write_lcd(44,0,"------------------------------");write_lcd(56,0," ");write_lcd(72,0,"------------------------------");write_lcd(84,0,"指导老师:张辉");write_lcd(100,0,"------------------------------");write_lcd(112,0,"设计日期:2013年6月8日"); }//键盘服务程序void keyscan(){P1=0xfe;temp=P1;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0){temp=P1;switch(temp){case 0xee:num=1,price=price_unit[0], write_lcd(24,0,"名称: 杏仁");break;case 0xde:num=2,price=price_unit[1],write_lcd(24,0,"名称: 李子");break;case 0xbe:num=3,price=price_unit[2],write_lcd(24,0,"名称: 草莓");break;case 0x7e:num=4,price=price_unit[3],write_lcd(24,0,"名称: 葡萄");break;}while(temp!=0xf0){temp=P1;temp=temp&0xf0;}}}P1=0xfd;temp=P1;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0){temp=P1;switch(temp){case 0xed:num=5,price=price_unit[4],write_lcd(24,0,"名称: 西瓜");break;case 0xdd:num=6,price=price_unit[5],write_lcd(24,0,"名称: 苹果");break;case 0xbd:num=7,price=price_unit[6],write_lcd(24,0,"名称: 雪梨");break;case 0x7d:num=8,price=price_unit[7],write_lcd(24,0,"名称: 核桃");break;}while(temp!=0xf0){temp=P1;temp=temp&0xf0;}}}P1=0xfb;temp=P1;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0){temp=P1;switch(temp){case 0xeb:num=9,price=price_unit[8],write_lcd(24,0,"名称: 香蕉");break;case0xdb:num=10,price=price_unit[9],write_lcd(24,0,"名称: 商品代码");break;case 0xbb:num=11,price=price_unit[1];break;case 0x7b:num=12,price=price_unit[2];break;}while(temp!=0xf0){temp=P1;temp=temp&0xf0;}}}P1=0xf7;temp=P1;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0){temp=P1;switch(temp){case 0xe7:num=13,price=price_unit[3];break;case 0xd7:num=14,price=price_unit[4];break;case 0xb7:num=15,price=price_unit[5];break;case 0x77:num=16,price=price_unit[6];break;}while(temp!=0xf0){temp=P1;temp=temp&0xf0;}}}price_temp1=(int)(price*1000);price_danjia[0]=price_temp1/1000+48; //取单价个位price_danjia[1]=46;price_danjia[2]=(price_temp1%1000)/100+48; //取单价十分位price_danjia[3]=((price_temp1%1000)%100)/10+48; //取单价百分位price_danjia[4]=((price_temp1%1000)%100)%10+48; //取单价千分位}void price_jisuan()price_temp2=(int)(price*press*1000);price_all[0]=price_temp2/10000+48;price_all[1]=(price_temp2/1000)%10+48;price_all[2]=46;price_all[3]=(price_temp2%1000)/100+48;price_all[4]=((price_temp2%1000)%100)/10+48;price_all[5]=((price_temp2%1000)%100)%10+48; }附录B安徽师范大学皖江学院课程设计成绩评定单题目:学生姓名指导教师指导教师评语:指导教师(签章):指导教师评定设计成绩等级200 年月日毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。