目 录
摘 要......................................................................... I
ABSTRACT..................................................................... II
1绪论.......................................................................... 1
2系统方案论证与选型....................................................... 1
2.1 控制器部分.......................................................... 2
2.2 数据采集部分........................................................ 3
2.2.1传感器的选择...................................................... 3
2.2.2放大电路选择...................................................... 5
2.2.3A/D转换器的选择.................................................. 7
2.2.4键盘处理部分方案论证............................................ 9
2.3显示电路部分的选择................................................ 9
2.4超量程报警部分选择............................................... 10
3硬件电路设计.............................................................. 10
3.1 AT89S52的最小系统电路......................................... 11
3.1.1单片机芯片AT89S52介绍......................................... 11
3.1.2.单片机管脚说明........................................... 12
3.1.3 AT89S52的最小系统电路构成..................................... 14
3.2 电源电路设计....................................................... 14
3.3 数据采集部分电路设计............................................ 15
3.3.1 传感器和其外围以及放大电路设计............................... 15
3.3.2 A/D转换芯片与AT89S52单片机接口电路设计..................... 17
3.3.3 测量算法....................................................... 20
3.4显示电路与AT89S52单片机接口电路设计....................... 21
3.5键盘电路与AT89S52单片机接口电路设计....................... 22
3.6报警电路的设计..................................................... 24
4系统软件设计.............................................................. 24
4.1主程序设计.......................................................... 25
4.2 子程序设计......................................................... 26
4.2.1 A/D转换启动及数据读取程序设计................................ 26
4.2.2数制转换子程序设计.............................................. 26
4.2.3显示子程序设计.................................................. 28
4.2.4 键盘扫描子程序的设计........................................... 28
4.2.5报警子程序的设计................................................ 30
设计总结...................................................................... 31
致 谢........................................................................ 32
参考文献...................................................................... 33
附 录..................................................................... 34
基于单片机的电子秤设计
摘 要
随着微电子技术的应用,市场上使用的传统称重工具已经满足不了人们的要求。为了改变传统称重工具在使用上存在的问题,在本设计中将智能化、自动化、人性化用在了电子秤重的控制系统中。本系统主要由单片机来控制,测量物体重量部分由称重传感器及A/D转换器组成,加上显示单元,此电子秤俱备了功能多、性能价格比高、功耗低、系统设计简单、使用方便直观、速度快、测量准确、自动化程度高等特点。
本系统以AT89S52单片机为主控芯片,外围附以称重电路、显示电路、报警电路、键盘电路等构成智能称重系统电路板,从而实现自动称重系统的各种控制功能。可以说,此设计所完成的电子秤很大程度上满足了应用需求。
关键词 SP20C-G501,AT89S52,称重传感器,A/D转换器,LCD显示器
THE ELECTRONIC SCALE DESIGN BASED ON MICROCONTROLLER
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 AT89S52, 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.
KEYWORDS:SP20C-G501,AT89S52,ponderation –sensor,A / D converter,LCDDisplay
第一章 绪论
1.1 称重技术和衡器的发展
称重技术自古以来就被人们所重视,作为一种计量手段,广泛应用于工农业、科研、交通、内外贸易等各个领域,与人民的生活紧密相连。电子秤是电子衡器中的一种,衡器是国家法定计量器具,是国计民生、国防建设、科学研究、内外贸易不可缺少的计量设备,衡器产品技术水平的高低,将直接影响各行各业的现代化水平和社会经济效益的提高。称重装置不仅是提供重量数据的单体仪表,而且作为工业控制系统和商业管理系统的一个组成部分,推进了工业生产的自动化和管理的现代化,它起到了缩短作业时间、改善操作条件、降低能源和材料的消耗、提高产品质量以及加强企业管理、改善经营管理等多方面的作用。称重装置的应用已遍及到国民经济各领域,取得了显著的经济效益。因此,称重技术的研究和衡器工业的发展各国都非常重视。50年代中期电子技术的渗入推动了衡器制造业的发展。60年代初期出现机电结合式电子衡器以来,经过40多年的不断改进与完善,我国电子衡器从最初的机电结合型发展到现在的全电子型和数字智能型。现今电子衡器制造技术及应用得到了新发展。电子称重技术从静态称重向动态称重发展:计量方法从模拟测量向数字测量发展;测量特点从单参数测量向多参数测量发展,特别是对快速称重和动态称重的研究与应用。通过分析近年来电子衡器产品的发展情况及国内外市场的需求,电子衡器总的发展趋势是小型化、模块化、集成化、智能化;其技术性能趋向是速率高、准确度高、稳定性高、可靠性高;其功能趋向是称重计量的控制信息和非控制信息并重的“智能化”功能;其应用性能趋向于综合性和组合性。电子秤是电子衡器中的一种,衡器是国家法定计量器具,是国计民生、国防建设、科学研究、内外贸易不可缺少的计量设备,衡器产品技术水平的高低,将直接影响各行各业的现代化水平和社会经济效益的提高。
1.2 电子秤的组成
1.2.1 电子秤的基本结构
电子秤是利用物体的重力作用来确定物体质量(重量)的测量仪器,也可用来确定与质量相关的其它量大小、参数、或特性。不管根据什么原理制成的电子秤均由以下三部分组成:
(1)承重、传力复位系统
它是被称物体与转换元件之间的机械、传力复位系统,又称电子秤的秤体,一般包括接受被称物体载荷的承载器、秤桥结构、吊挂连接部件和限位减振机构等。
(2)称重传感器
即由非电量(质量或重量)转换成电量的转换元件,它是把支承力变换成电的或其它形式的适合于计量求值的信号所用的一种辅助手段。
按照称重传感器的结构型式不同,可以分直接位移传感器(电容式、电感式、电位计式、振弦式、空腔谐振器式等)和应变传感器(电阻应变式、声表面谐振式)或是利用磁弹性、压电和压阻等物理效应的传感器。
对称重传感器的基本要求是:输出电量与输入重量保持单值对应,并有良好的线性关系;有较高的灵敏度;对被称物体的状态的影响要小;能在较差的工作条件下工作;有较好的频响特性;稳定可靠。
(3)测量显示和数据输出的载荷测量装置
即处理称重传感器信号的电子线路(包括放大器、模数转换、电流源或电压源、调节器、补尝元件、保护线路等)和指示部件(如显示、打印、数据传输和存贮器件等)。这部分习惯上称载荷测量装置或二次仪表。在数字式的测量电路中,通常包括前置放大、滤滤、运算、变换、计数、寄存、控制和驱动显示等环节。
1.2.2 电子秤的工作原理
当被称物体放置在秤体的秤台上时,其重量便通过秤体传递到称重传感器,传感器随之产生力-电效应,将物体的重量转换成与被称物体重量成一定函数关系(一般成正比关系)的电信号(电压或电流等)。此信号由放大电路进行放大、经滤波后再由模/数(A/D)器进行转换,数字信号再送到微处器的CPU处理,CPU不断扫描键盘和各种功能开关,根据键盘输入内容和各种功能开关的状态进行必要的判断、分析、由仪表的软件来控制各种运算。运算结果送到内存贮器,需要显示时,CPU发出指令,从内存贮器中读出送到显示器显示,或送打印机打印。一般地信号的放大、滤波、A/D转换以及信号各种运算处理都在仪表中完成。
1.2.3 电子秤的计量性能
电子秤的计量性能涉及的主要技术指标有:量程、分度值、分度数、准确度等级等。
(1)量程:电子衡器的最大称量Max,即电子秤在正常工作情况下,所能称量的最大值。
(2)分度值:电子秤的测量范围被分成若干等份,每份值即为分度值。用e或d来表示。
(3)分度数:衡器的测量范围被分成若干等份,总份数即为分度数用n表示。
电子衡器的最大称量Max可以用总分度数n与分度值d的乘积来表示,即Max = n •d
(4)准确度等级
国际法制计量组织把电子秤按不同的分度数分成Ⅰ、Ⅱ、Ⅲ、Ⅳ四类等级,分别对应不同准确度的电子秤和分度数n的范围,如下表1-1所示:
标志及等级
电子秤种类
分度数范围
特种准确度
基准衡器
n > 100 000
高准确度
精密衡器
10 000 < n ≤100 000
中准确度
商业衡器
1 000 < n ≤10 000
普通准确度
粗衡器
100 < n ≤1 000
表1-1电子秤等级分类
1.3 设计思路
目前,台式电子秤在商业贸易中的使用已相当普遍,但存在较大的局限性:体积大、成本高、需要工频交流电源供应、携带不便、应用场所受到制约。现有的便携秤为杆秤或以弹簧、拉伸变形来实现计量的弹簧秤,居民用户使用的基本是杆秤。弹簧盘秤制造工艺要求较高,弹簧的疲劳问题无法彻底解决,一旦超过弹簧弹性限度,弹簧秤就会产生很大误差,以至损坏,影响到称重的准确性和可靠性,只是一种暂时的代用品,也被列入逐渐取消的行列。
微控制器技术、传感器技术的发展和计算机技术的广泛应用,电子产品的更新速度达到了日新月异的地步。本系统在设计过程中,除了能实现系统的基本功能外,还增加了打印和通讯功能,可以实现和其他机器或设备(包括上位PC机和数据存储设备)交换数据.除此之外,系统的微控制器部分选择了兼容性比较好的AT89系列单片机,在系统更新换代的时候,只需要增加很少的硬件电路,甚至仅仅删改系统控制程序就能够实现。
另外由于实际应用当中,称可以有一定量的过载,但不能超出要求的范围,为此我们还设计了过载提示和声光报警功能。
综上所述,本课题的主要设计思路是:利用压力传感器采集因压力变化产生的电压信号,经过电压放大电路放大,然后再经过模数转换器转换为数字信号,最后把数字信号送入单片机。单片机经过相应的处理后,得出当前所称物品的重量及总额,然后再显示出来。此外,还可通过键盘设定所称物品的价格。主要技术指标为:称量范围0~5kg;分度值0.01kg;精度等级Ⅲ级;电源DC1.5V(一节5号电池供电)。
这种高精度智能电子秤体积小、计量准确、携带方便,集质量称量功能与价格计算功能于一体,能够满足商业贸易和居民家庭的使用需求。
第二章 系统方案论证与选型
按照本设计功能的要求,系统由6个部分组成:控制器部分、测量部分、报警部分、数据显示部分、键盘部分、和电路电源部分,系统设计总体方案框图如图2.1所示。
图2-1设计思路框图
测量部分是利用称重传感器检测压力信号,得到微弱的电信号(本设计为电压信号),而后经处理电路(如滤波电路,差动放大电路,)处理后,送A/D转换器,将模拟量转化为数字量输出。控制器部分接受来自A/D转换器输出的数字信号,经过复杂的运算,将数字信号转换为物体的实际重量信号,并将其存储到存储单元中。控制器还可以通过对扩展I/O的控制,对键盘进行扫描,而后通过键盘散转程序,对整个系统进行控制。数据显示部分根据需要实现显示功能。
2.1 控制器部分
本设计由于要求必须使用单片机作为系统的主控制器,而且以单片机为主控制器的设计,可以容易地将计算机技术和测量控制技术结合在一起,组成新型的只需要改变软件程序就可以更新换代的“智能化测量控制系统”。这种新型的智能仪表在测量过程自动化、测量结果的数据处理以及功能的多样化方面,都取得了巨大的进展。
再则由于系统没有其它高标准的要求,又考虑到本设计中程序部分比较大,根据总体方案设计的分析,设计这样一个简单的的系统,可以选用带EPROM的单片机,由于应用程序不大,应用程序直接存储在片内,不用在外部扩展存储器,这样电路也可简化。INTEL公司的8051和8751都可使用,在这里选用ATMENL生产的AT89SXX系列单片机。AT89SXX系列与MCS-51相比有两大优势:第一,片内存储器采用闪速存储器,使程序写入更加方便;第二,提供了更小尺寸的芯片,使整个硬件电路体积更小。此外价格低廉、性能比较稳定的MCPU,具有8K×8ROM、256×8RAM、2个16位定时计数器、4个8位I/O接口。这些配置能够很好地实现本仪器的测量和控制要求
最后我们最终选择了AT89S52这个比较常用的单片机来实现系统的功能要求。AT89S52内部带有8KB的程序存储器,基本上已经能够满足我们的需要。
2.2 数据采集部分
电子秤的数据采集部分主要包括称重传感器、处理电路和A/D转换电路,因此对于这部分的论证主要分三方面
2.2.1 传感器的选择
在设计中,传感器是一个十分重要的元件,因此对传感器的选择也显的特别的重要,不仅要注意其量程和参数,还有考虑到与其相配置的各种电路的设计的难以程度和设计性价比等等.
传感器量程的选择可依据秤的最大称量值、选用传感器的个数、秤体的自重、可能产生的最大偏载及动载等因素综合评价来确定。一般来说,传感器的量程越接近分配到每个传感器的载荷,其称量的准确度就越高。但在实际使用时,由于加在传感器上的载荷除被称物体外,还存在秤体自重、皮重、偏载及振动冲击等载荷,因此选用传感器量程时,要考虑诸多方面的因素,保证传感器的安全和寿命。传感器量程的计算公式是在充分考虑到影响秤体的各个因素后,经过大量的实验而确定的。其公式如下:
C=K0×K1×K2×K3×(Wmax+W)/N (2.1)
C—单个传感器的额定量程;W—秤体自重;Wmax—被称物体净重的最大值;N—秤体所采用支撑点的数量;K0—保险系数,一般取值在1.2~1.3之间;K1—冲击系数;K2—秤体的重心偏移系数;K3—风压系数。本设计要求称重范围0~5kg,重量误差不大于0.01kg,根据传感器量程计算公式(2.1)可知:
C=1.25×1×1.03×1×(20+1.9)/1 (2-1)
=9.01205
为保证电子秤称量结果的准确度,克服传感器在低量程段线性度差的缺点。传感器的量程应根据皮带秤的最大流量来选择。在实际工作中,要求称重传感器的有效量程在20%~80%之间,线性好,精度高。重量误差应控制在±0.01Kg,又考虑到秤台自重、振动和冲击分量,还要避免超重损坏传感器,根据式2.1的计算结果,所以我们确定传感器的额定载荷为7.5Kg,允许过载为150%F.S,精度为0.05%,最大量程时误差0.01kg,可以满足本系统的精度要求.
综合考虑,本设计采用SP20C-G501电阻应变式传感器,其最大量程为7.5 Kg.称重传感器由组合式S型梁结构及金属箔式应变计构成,具有过载保护装置。由于惠斯登电桥具诸如抑制温度变化的影响,抑制干扰,补偿方便等优点,所以该传感器测量精度高、温度特性好、工作稳定等优点,广泛用于各种结构的动、静态测量及各种电子秤的一次仪表。该称重传感器主要由弹性体、电阻应变片电缆线等组成,其工作原理如图2.1所示:
图2.1称重传感器原理图
表一 压力传感器主要技术指标
准确度等级 Accuracy class
C3 0.02 0.03
额定载荷Rated load
kg
1、2.5、5、7.5、10、15
灵敏度 Sensitivity
mV/V
1.8±0.08
非线性 Nonlinearity
%F.S.
±0.02
滞后 Hysteresis
0.02
重复性 Repeatability
0.02
蠕变 Creep
%F.S./30min
±0.02
蠕变恢复 creep recovery
零点输出 Zero balance
%F.S.
±1
零点温度系数 Zero temperature coefficient
%F.S./10℃
±0.02
额定输出温度系数Rated output temperature coefficient
输入电阻 Input resistance
Ω
415~445
输出电阻 Output resistance
Ω
349~355
绝缘电阻 Insulation resistance
MΩ
≥5000
供桥电压 Supply voltage
V
12(DC/AC)
温度补偿范围 Temperature compensation range
℃
-10~+50
允许温度范围 Safe temperature range
℃
-20~+60
允许过负荷 Safe overload
%F.S.
120
极限过负荷 Ultimate overload
%F.S.
200
四角误差 Four corner error
%F.S.
0.03
连接电缆Connect cable
mm
Φ3.8×300
接线方式 Method of connecting wire
输入 Input(+): Red 输入 Input(-):White
输出Output(+):Green 输出Output(-):Blue
屏蔽 Shield : Yellow
其测量原理:用应变片测量时,将其粘贴在弹性体上。当弹性体受力变形时,应变片的敏感栅也随同变形,其电阻值发生相应变化,通过转换电路转换为电压或电流的变化。由于内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,输出信号电压可由下式给出:
(2-2)
2.2.2放大电路选择
称重传感器输出电压振幅范围0~20mV。而A/D转换的输入电压要求为0~2V,因此放大环节要有100倍左右的增益。对放大环节的要求是增益可调的(70~150倍),根据本设计的实际情况增益设为100倍即可,零点和增益的温度漂移和时间漂移极小。按照输入电压20mV,分辨率20000码的情况,漂移要小于1µV。由于其具有极低的失调电压的温漂和时漂(±1µV),从而保证了放大环节对零点漂移的要求。残余的一点漂移依靠软件的自动零点跟踪来彻底解决。稳定的增益量可以保证其负反馈回路的稳定性,并且最好选用高阻值的电阻和多圈电位器。
由2.2.1中称重传感器的称量原理可知,电阻应变片组成的传感器是把机械应变转换成ΔR/R,而应变电阻的变化一般都很微小,例如传感器的应变片电阻值120Ω,灵敏系数 K=2,弹性体在额定载荷作用下产生的应变为1000ε,应变电阻相对变化量为:
ΔR/R = K×ε= 2×1000×10-6 =0.002 (2-3)
由式2-3可以看出电阻变化只有0.24Ω,其电阻变化率只有0.2%。这样小的电阻变化既难以直接精确测量,又不便直接处理。因此,必须采用转换电路,把应变计的ΔR/R变化转换成电压或电流变化,但是这个电压或电流信号很小,需要增加增益放大电路来把这个电压或电流信号转换成可以被A/D转换芯片接收的信号。在前级处理电路部分,我们考虑可以采用以下几种方案:
方案一、利用普通低温漂运算放大器构成前级处理电路;
普通低温漂运算放大器构成多级放大器会引入大量噪声。由于A/D转换器需要很高的精度,所以几毫伏的干扰信号就会直接影响最后的测量精度。所以,此种方案不宜采用。
方案二、主要由高精度低漂移运算放大器构成差动放大器,而构成的前级处理电路;差动放大器具有高输入阻抗,增益高的特点,可以利用普通运放(如OP07)做成一个差动放大器。其设计电路如图2-2所示:
方案(三):采用专用仪表放大器,如:INA126,INA121等构成前级处理电路。下面举例用INA128仪用仪表放大器来实现。
图2.2利用普通运放设计的差动放大器
一般说来,集成化仪用放大器具有很高的共模抑制比和输入阻抗,因而在传统的电路设计中都是把集成化仪器放大器作为前置放大器。然而,绝大多数的集成化仪器放大器,特别是集成化仪器放大器,它们的共模抑制比与增益相关:增益越高,共模抑制比越大。而集成化仪器放大器作为心电前置放大器时,由于极化电压的存在,前置放大器的增益只能在几十倍以内,这就使得集成化仪器放大器作为前置放大器时的共模抑制比不可能很高。有学者试图在前置放大器的输入端加上隔直电容(高通网络)来避免极化电压使高增益的前置放大器进入饱和状态,但由于信号源的内阻高,且两输入端不平衡,隔直电容(高通网络)使等共模干扰转变为差模干扰,结果适得其反,严重地损害了放大器的性能。 为了实现信号的放大,设计电路如下:
图2.3 采用INA128设计的放大电路
1. 前级采用运放A1和A2组成并联型差动放大器。理论上不难证明,在运算放大器为理想的情况下,并联型差动放大器的输入阻抗为无穷大,共模抑制比也为无穷大。更值得一提的是,在理论上并联型差动放大器的共模抑制比与电路的外围电阻的精度和阻值无关。
2. 阻容耦合电路放在由并联型差动放大器构成的前级放大器和由仪器放大器构成的后级放大器之间,这样可为后级仪器放大器提高增益,进而提高电路的共模抑制比提供了条件。同时,由于前置放大器的输出阻抗很低,同时又采用共模驱动技术,避免了阻容耦合电路中的阻、容元件参数不对称(匹配)导致的共模干扰转换成差模干扰的情况发生。
3. 后级电路采用廉价的仪器放大器,将双端信号转换为单端信号输出。由于阻容耦合电路的隔直作用,后级的仪器放大器可以做到很高的增益,进而得到很高的共模抑制比。
从理论上计算整个电路的共模抑制比为:
(2-4)
式中:CMRTotal或CMRRTotal-放大器的总共模抑制比;CMR1-第一级放大器的共模抑制比;CMR2或CMRR2-第二级放大器的共模抑制比;A1d、A1c、A2d和A2c-分别为第一级放大器和第二级放大器的差模增益和共模增益。
经过实际测量,图2.4所示的电路采用图中所给出的参数时,电路的共模抑制比在120dB以上。
有以上分析以及基于电子秤的要求精确度不是很高,所以选择由普通放大器所组成的差动放大器作为本设计的信号放大电路。
2.2.3 A/D转换器的选择
A/D转换部分是整个设计的关键,这一部分处理不好,会使得整个设计毫无意义。目前,世界上有多种类型的ADC,有传统的并行、逐次逼近型、积分型ADC,也有近年来新发展起来的∑-Δ型和流水线型ADC,多种类型的ADC各有其优缺点并能满足不同的具体应用要求。目前, ADC集成电路主要有以下几种类型:
(1)并行比较A/D转换器:如ADC0808、 ADC0809等 。并行比较ADC是现今速度最快的模/数转换器,采样速率在1GSPS以上,通常称为“闪烁式”ADC。它由电阻分压器、比较器、缓冲器及编码器四种分组成。这种结构的ADC所有位的转换同时完成,其转换时间主取决于比较器的开关速度、编码器的传输时间延迟等。缺点是:并行比较式A/D转换的抗干扰能力差,由于工艺限制,其分辨率一般不高于8位,因此并行比较式A/D只适合于数字示波器等转换速度较快的仪器中,不适合本系统。
(2) 逐次逼近型A/D转换器:如:ADS7805、ADS7804等。逐次逼近型ADC是应用非常广泛的模/数转换方法,这一类型ADC的优点:高速,采样速率可达 1MSPS;与其它ADC相比,功耗相当低;在分辨率低于12位时,价格较低。缺点:在高于14位分辨率情况下,价格较高;传感器产生的信号在进行模/数转换之前需要进行调理,包括增益级和滤波,这样会明显增加成本。
(3)积分型A/D转换器:如:ICL7135、ICL7109、ICL1549、MC14433等。积分型ADC又称为双斜率或多斜率ADC,是应用比较广泛的一类转换器。它的基本原理是通过两次积分将输入的模拟电压转换成与其平均值成正比的时间间隔。与此同时,在此时间间隔内利用计数器对时钟脉冲进行计数,从而实现A/D转换。积分型ADC两次积分的时间都是利用同一个时钟发生器和计数器来确定,因此所得到的表达式与时钟频率无关,其转换精度只取决于参考电压VR。此外,由于输入端采用了积分器,所以对交流噪声的干扰有很强的抑制能力。若把积分器定时积分的时间取为工频信号的整数倍,可把由工频噪声引起的误差减小到最小,从而有效地抑制电网的工频干扰。这类ADC主要应用于低速、精密测量等领域,如数字电压表。其优点是:分辨率高,可达22位;功耗低、成本低。缺点是:转换速率低,转换速率在12位时为100~300SPS。
(4 )压频变换型ADC:其优点是:精度高、价格较低、功耗较低。缺点是:类似于积分型ADC,其转换速率受到限制,12位时为100~300SPS。
考虑到本系统中对物体重量的测量和使用的场合,精度要求不是很苛刻,转换速率要求也不高,而双积分型A/D转换器精度高,具有精确的差分输入,重要的是输入阻抗高(大于),可自动调零,有超量程信号输出,全部输出于TTL电平兼容。且双积分型A/D转换器具有很强的抗干扰能力。对正负对称的工频干扰信号积分为零,所以对50Hz的工频干扰抑制能力较强,对高于工频干扰(例如噪声电压)已有良好的滤波作用。只要干扰电压的平均值为零,对输出就不产生影响。尤其对本系统,缓慢变化的压力信号,很容易受到工频信号的影响。
根据系统的精度要求以及综合的分析其优点和缺点,本设计采用了12位A/D转换器AD574
2.2.4 键盘处理部分方案论证
由于电子秤需要设置单价(十个数字键),还具有确认、删除等功能,总共需设置17个键(包括一个复位键)。键盘的扩展有使用以下方案:
采用矩阵式键盘:矩阵式键盘的特点是把检测线分成两组,一组为行线,一组列线,按键放在行线和列线的交叉点上。图2.6给出了一个4×4的矩阵键盘结构的键盘接口电路,图中的每一个按键都通过不同的行线和列线与主机相连这。4×4矩阵式键盘共可以安装16个键,但只需要8条测试线。当键盘的数量大于8时,一般都采用矩阵式键盘。
图2.4 矩阵式键盘
结合本设计的实际要求,16个按键使用4×4矩阵式键盘,另外一个复位键使用独立式按键实现。
2.3显示电路部分的选择
数据显示是电子秤的一项重要功能,是人机交换的主要组成部分,它可以将测量电路测得的数据经过微处理器处理后直观的显示出来。数据显示部分可以有以下两种方案供选择。的组成有以下两种方案可供选择:一是 LED数码管显示,二是LCD液晶显示两种选择. LCD液晶显示器是一种极低功耗显示器,从电子表到计算器,从袖珍时仪表到便携式微型计算机以及一些文字处理机都广泛利用了液晶显示器。
2.4超量程报警部分选择
智能仪器一般都具有报警和通讯功能,报警主要用于系统运行出错、当测量的数据超过仪表量程或者是超过用户设置的上下限时为提醒用户而设置。在本系统中,设置报警的目的就是在超出电子秤测量范围时,发出声光报警信号,提示用户,防止损坏仪器。
超限报警电路是由单片机的I/O口来控制的,当称重物体重量超过系统设计所允许的重量时,通过程序使单片机的I/O值为高电平,从而三极管导通,使蜂鸣器SPEAKER发出报警声,同时使报警灯D1发光。
第三章 硬件电路设计
根据设计要求与设计思路,此电路由一块AT89S52、按键输入电路、时钟电路、复位电路、LCD显示段码驱动电路、LCD显示位码驱动电路、12位LCD显示器电路、蜂鸣器电路。
图3.1硬件电路设计框图
在本系统中用于称量的主要器件是称重传感器(一次变换元件),称重传感器在受到压力或拉力时会产生电信号,受到不同压力或拉力是产生的电信号也随着变化,而且力与电信号的关系一般为线性关系。
由于称重传感器一般的输出范围为0~20mV,对A/D转换或单片机的工作参数来说不能使A/D转换和单片机正常工作,所以需要对输出的信号进行放大。由于传感器输出的为模拟信号,所以需要对其进行A/D转换为数字信号以便单片机接收。单片机根据称重传感器输出的电信号和速度传感器输出的速度信号计算出物体的重量。
在本系统中,硬件电路的构成主要有以下几部分: AT89C52的最小系统构成、电源电路、数据采集、人-机交换电路等。
3.1 AT89S52的最小系统电路 3.1.1单片机芯片AT89S52介绍
单片机采用MCS-51系列单片机。由ATMEL公司生产的AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。而且,它还具有一个看门狗(WDT)定时/计数器,如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。
AT89S52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。其芯片引脚图如上图所示。
图3.2 AT89S52引脚图
3.1.2.单片机管脚说明
VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89S52的一些特殊功能口,如下表所示:
表3.1 P3.0口引脚功能表
P3口引脚
第二功能
P3.0
RXD(串行口输入)
P3.1
TXD(串行口输出)
P3.2
INT0(外部中断0输入)
P3.3
INT1(外部中断1输入)
P3.4
T0(定时器0外部脉冲输入)
P3.5
T1(定时器1外部脉冲输入)
P3.6
WR(外部数据存储器写脉冲输出)
P3.7
RD(外部数据存储器读脉冲输出)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
3.1.3 AT89S52的最小系统电路构成
AT89S52单片机的最小系统由时钟电路、复位电路、电源电路及单片机构成。单片机的时钟信号用来提供单片机片内各种操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种确定的初态开始运行。
单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。
上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。
系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。51单片机的复位是由RESET引脚来控制的,此引脚与高电平相接超过24个振荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。
3.2 电源电路设计
根据设计需要,本系统中需要设计两种不同级别的电源,即传感器需要+12V的电源,而系统其他芯片使用的是+5V电源。考虑本次设计的实际要求,使系统稳定工作,提高产品的性价比,电源电路的 设计决定采用如下方案:
图3.3 电源电路图
220V的交流电经过变压器后输出15V的电压,经整流滤波电路后, 通过LM7812和LM7905进行DC/DC变换得到+12V和+5V、-5V供器和系统的其他芯片使用。在变压器的原边加入熔断保护装置和MFC网络,使得系统获得的电源更稳定,效果更好,且电路短路时,熔断装置会迅速切断电源,保护其他电路元件不被损坏,供电电路如图3.3所示。
3.3 数据采集部分电路设计
数据采集部分电路包括传感器输出信号放大电路、A/D转换器与单片机接口电路。
3.3.1 传感器和其外围以及放大电路设计
传感器实际上是一种将质量信号转变为可测量的电信号输出的装置。用传感器首先要考虑传感器所处的实际工作环境,这点对正确使用传感器至关重要,它关系到传感器能否正常工作以及它的安全和使用寿命,乃至整个衡器的可靠性和安全性。因此传感器外围电路的抗干扰能力是数据采集部分电路设计的关键环节。
传感器检测电路的功能是把电阻应变片的电阻变化转变为电压输出,由于惠斯登电桥具有很多优点,如可以抑制温度变化的影响,可以抑制侧向力干扰,可以比较方便的解决称重传感器的补偿问题等,又因为全桥式等臂电桥的灵敏度最高,各臂参数一致,各种干扰的影响容易相互抵消,所以在本设计中选用最终方案我们选择的是上海开沐自动化有限公司生产的NS-TH1系列称重传感器,额定载荷20Kg,该称重传感器均采用全桥式等臂电桥。
由于传感器输出的电压信号很小,是mV级的电压信号,因此为了提高系统的抗干扰能力,在传感器外围电路的设计过程中,增加了由普通运放设计的差动放大器增益调节电阻Rg选用10K 电阻,是为了满足系统抗干扰的要求而设计。其电路图如3.2所示。
图3.2传感器和其外围电路图
这是一个电阻应变片式称重传感器,将电阻应变片贴在金属的弹性体(即力敏感器)上,并连接成一差动全桥电路。电阻应变片实心轴沿轴向线应变为:
(3-1)
实心轴沿圆周向线应变为:
(3-2)
金属材料的电阻相对变化公式为:
(3-3)
把3-1、3-1代入3-3可以得到其输出电压为:
(3-4)
其中F为压力(即重物重量)A为受力面积E为弹性材料的弹性模量。如果在电阻的两侧都加入应变片,则其输出为
(3-5)
SP20C-G501的输出电压为1-5V相应压力为1-50KPa。供电电流变动会直接影响传感器的输出电压,因此希望电流变动要小。此外,增大或减小驱动电流可调整输出电压,但电流过小,输出电压降低同时抗噪声能力减弱;电流过大,会使传感器发热等,将对传感器特性影响加大。因此在电路中使用1mA的驱动电流。即使用的电流为1mA左右。电路中,采用通用运算放大器LM324,由稳态二极管VS提供2.5V的输出电压经电阻R2和R3分压得到基准电压,作为运放A1输入电压,并供给1mA的电流。传感器的驱动电流流过基准电阻R4,其上的压降等于输入电压。
R13和R14为失调电压的温度补偿电阻,阻值选择500k-1.5M。输入采用高输入阻抗的差动输入方式,再有差动放大器电路进行放大,输出1-5V的电压。RP2用于调整电路输入的灵敏度,RP1用于失调电压的调整,调整时,压力为0KPa时输出电压为1V,调整RP1,当压力为达到20Kg的力时,输出电压为5V即可。
而有式(3-5)得三运放放大电路的输出信号与输入信号的关系式为:
(3-6)
通过上式可以看出,放大系数为
(3-7)
代入数值可以计算出,其放大系数在70~150之间,完全符合设计要求。
有(3-6)可以得到电桥输入电压U0与被测重量x成正比,即
(3-8)
式中:——电桥的电源电压
——传感器系数
3.3.2 A/D转换芯片与AT89S52单片机接口电路设计
AD574是美国Analog Device公司生产的12位单片A/D转换器。它采用逐次逼近型的A/D转换器,最大转换时间为25us,转换精度为0.05%,所以适合于高精度的快速转换采样系统。芯片内部包含微处理器借口逻辑(有三态输出缓冲器),故可直接与各种类型的8位或者16位的微处理器连接,而无需附加逻辑接口电路,切能与CMOS及TTL电路兼容。AD574采用28脚双列直插标准封装,其引脚图如下:
图3.5 AD574管脚图
A/D574有5根控制线,逻辑控制输入信号有:
A0:字节选择控制信号。
CE:片启动信号。
/CS:片选信号。当/CS=0,CE=1同时满足时,AD574才处于工作状态,否则工作被禁止。
R/-C:读数据/转换控制信号。
12/-8:数据输出格式选择控制信号。当其为高电平时,对应12位并行输出;为低电平时,对应8位输出。
当R/-C=0,启动A/D转换:当A0=0,启动12位A/D转换方式;当A0=1,启动8位转换方式。
当R/-C=1,数据输出,A0=0时,高8位数据有效;A0=1时,低4位数据有效,中间4位为0,高4位为三态。
输出信号有:
STS:工作状态信号线。当启动A/D进行转换时,STS为高电平;当A/D转换结束时为低电平。则可以利用此线驱动一信号二极管的亮灭,从而表示是否处于A/D转换。
其它管脚功能如下:
10Vin,20Vin:模拟量输入端,分别为10V和20V量程的输入端,信号的另一端接至AGND。
DB11~DB0:12位数字量输出端,送单片机进行数据处理。
REF OUT :10V内部参考电压输出端。
REF IN :内部解码网络所需参考电压输入端。
BIP OFF :补偿校正端,接至正负可调的分压网络,0输入时调整数字输出为0;
AGND:接模拟地。
DGND:接数字地。
由于对AD574 8、10、12引脚的外接电路有不同连接方式,所以AD574与单片机的接口方案有两种,一种是单极性接法,可实现输入信号0~10V或者0~20V的转换;另一种为双极性接法,可实现输入信号-5~+5V或者-10~+10V之间转换。
我们采用单极性接法,电路接线图如下图3-4所示:
图3.6 AD574与AT89S52的接线图
根据芯片管脚的原理,无论启动、转换还是结果输出,都要保证CE端为高电平,所以可以将单片机的/RD引脚和/WR端通过与非门与AD574的CE端连接起来。转换结果分高8位、低4位与P0口相连,分两次读入,所以12/-8端接地。同时,为了使CS、A0、R/-C在读取转换结果时保持相应的电平,可以将来自单片机的控制信号经74LS373锁存后再接入。CPU可采用中断、查询或者程序延时等方式读取AD574的转换结果,本设计采用中断方式,则将转换结束状态STS端接到P3.2(外部中断/INT0)。其工作过程如下:
A.当单片机执行对外部数据存储器的写指令,并使CE=1,/CS=0,R/-C=0,A0时,
进行12位A/D转换启动。
B.CPU等待STS状态信号送P3.2口,当STS由高电平变为低电平时,就表示转换结束。转换结束后,单片机通过分两次读外部数据存储器操作,读取12位的转换结果数据。
C.当CE=1,/CS=0,R/-C=1,A0=0时,读取高8位;当CE=1,/CS=0,R/-C=1,A0=1时,读取低4位。
3.3.3 测量算法
A/D转换结果D与被测量x存在以下关系:
(3-9)
式中:S——传感器及其测量电路的灵敏度(即被测量X转换成电压U的转换系数)
K——放大器的放大倍数
——A/D转换器满量程输入电压
——A/D转换器满量程输出数字
而被测量X总是以其测量数字N和测量单位x1表示
(3-10)
将式(3-10)代入(3-9)得
(3-11)
由上式可见只要满足以下条件
(3-12)
就可以使A/D转换结果D与被测量x的数值N相等,即D=N,在这种情况下将A/D转换结果作为被测量的数值传送到显示器显示出来。
3.4显示电路与AT89S52单片机接口电路设计
在2.3显示电路论证中,本设计采用是LCD显示。在LCD驱动时,需在段电极和公共电极上施加交流电压。若只在电极上施加DC电压时,液晶本身发生劣化。液晶驱动方式包括静态驱动、动态驱动等驱动方式。
(1)静态驱动
所有的段都有独立的驱动电路,表示段电极与公共电极之间连续施加电压。它适合于简单控制的LCD。
(2)多路驱动方式
构成矩阵电极,公共端数为n,按照1/n的时序分别依次驱动公共端,与该驱动时序相对应,对所有的段信号电极作选择驱动。这种方式适合于比较复杂控制的LCD。
在多路驱动方式中,像素可分为选择点、半选择点和非选择点。为了提高显示的对比度和降低串扰,应合理选择占空比(duty)和偏压(bias)。
施加在LCD上所表示的ON和OFF时的电压有效值与占空比和偏压的关系如下:
Vo:LCD驱动电压
N:占空比(1/N)
a:偏压(1/a)
多路驱动方式可分为点反转驱动和帧反转驱动。点反转驱动适合于低占空比应用,它在各段数据输出时,将数据反转。帧反转驱动适合于高占空比应用,它在各帧输出时,将数据反转。
对于多灰度和彩色显示的控制方法,通常采用帧频控制(FRC)和脉宽调制(PWM)方法。帧频控制是通过减少帧输出次数,控制输出信号的有效值,来实现多灰度和彩色控制。而脉宽调制是通过改变段输出信号脉宽,控制输出信号的有效值,来实现多灰度和彩色控制。
如图3.7所示。
图3.7
3.5键盘电路与AT89S52单片机接口电路设计
矩阵式键盘的结构与工作原理: 在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。
矩阵式键盘的按键识别方法 :确定矩阵式键盘上何键被按下介绍一种“行扫描法”。行扫描法 行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。判断键盘中有无键按下 将全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。 判断闭合键所在的位置 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。
在本系统中键盘采用矩阵式键盘并采用中断工作方式。键盘为4 X 4键盘,包括0、1、2、3、4、5、6、7、8、9、十个数字及确认和清除键。采用中断工作方式提高了CPU的利用效率,没键按下时没有中断请求,有键按下时,向CPU提出中断请求,CPU响应后执行中断服务程序,在中断程序中才对键盘进行扫描。下图就是键盘电路与AT89S52单片机接口电路图。
图3.8键盘电路与AT89S52单片机接口电路图
3.6报警电路的设计
图3.9报警电路图
当电路检测到称重的物体超过仪器的测量限制时,将产生一个信号给报警电路。使报警电路报警从而提醒工作人员注意,超限报警电路如图3.9所示。
它是有89S52的P2.6口来控制的,当超过设置的重量时(5Kg),通过程序使P2.6口值为高电平,从而使三极管导通,报警电路接通,使蜂鸣器SPEAKER发出报警声,同时使报警灯LED发光。由于持续的声音不能够引起人们的关注,所以本系统的报警电路采用间断的声音和频闪的灯光来实现。这一任务的实现主要靠程序来完成,在此不再赘述。
第四章 系统软件设计
程序设计是一件复杂的工作,为了把复杂的工作条理化,就要有相应的步骤和方法。其步骤可概括为以下三点:
⑴ 分析系统控制要求,确定算法:对复杂的问题进行具体的分析,找出合理的计算方法及适当的数据结构,从而确定编写程序的步骤。这是能否编制出高质量程序的关键。
⑵ 根据算法画流程图:画程序框图可以把算法和解题步骤逐步具体化,以减少出错的可能性。
⑶编写程序:根据程序框图所表示的算法和步骤,选用适当的指令排列起来,构成一个有机的整体,即程序。
程序数据的一种理想方法是结构化程序设计方法。结构化程序设计是对利用到的控制结构类程序做适当的限制,特别是限制转向语句(或指令)的使用,从而控制了程序的复杂性,力求程序的上、下文顺序与执行流程保持一致性,使程序易读易理解,减少逻辑错误和易于修改、调试。根据系统的控制任务,本系统的软件设计主要由主程序、初始化程序、显示子程序、数据采集子程序和延时程序等组成。
4.1主程序设计
图4.1 系统主程序流程图
系统上电后,初始化程序将 RAM 的30H~5FH内存单元清零,P2.6引脚置成低电平,防止误报警。
主程序模块主要完成编程芯片的初始化及按需要调用各模块(子程序),在系统初始化过程中,将系统设置成5Kg量程,并写5Kg量程标志。设计流程图如图4.1所示。
4.2 子程序设计
系统子程序主要包括A/D转换启动及数据读取程序设计、键盘输入控制程序设计、显示程序设计、以及中断程序设计等。
4.2.1 A/D转换启动及数据读取程序设计
A/D转换子程序主要是指在系统开始运行时,把称重传感器传递过来的模拟信号转换成数字信号并传递到单片机所涉及到的程序设计。设计流程图如图4-2所示。
4.2 A/D转换启动及数据读取程序流程图
4.2.2数制转换子程序设计
在数制转换前要进行系数调整, 在IN0输入的数最大为5V,要求的质量500g对应的是4.8V,为十六进制向十进制转换方便,将系数放大100倍。并用小数点位置的变化体现这一过程。
数制之间的转换:在二进制数制中,每向左移一位表示数乘二倍。以每四位作为一组对数分组,当第四位向第五位进位时,数由8变到16,若按十进制数制规则读数,则丢失6,所以应进行加六调整。DA指令可完成这一调整。可见数制之间的转换可以通过移位的方法实现。其中,移出数据的保存可以通过自乘再加进位的方法实现,因为乘二表示左移一位,左移后,低位进一,则需加一。否则,加零。而通过移位已将要移入的尾数保存在了进位位中,所以能实现。
图4.3 数据处理流程图
4.2.3显示子程序设计
显示子程序主要是来判断是否需要显示,以及如何去显示,也是十分重要的程序之一。而显示子程序是其他程序所需要调用的程序之一,因此,显示子程序的设计就显得举足轻重,设计的时候也要十分的小心和卖力。设计显示子程序的流程图如下图4-4所示:
图4.4显示子程序流程图
4.2.4 键盘扫描子程序的设计
如图3.4.1所示:键盘电路设