首页资源分类嵌入式处理器其它 > 基于stc单片机的电子称

基于stc单片机的电子称

已有 445005个资源

下载专区

文档信息举报收藏

标    签:stcLCD1602压力传感器

分    享:

文档简介

详细的单片机电子称制作教程

文档预览

 设计报告 ——电子称单片机最小系统 1. 系统方案论证 1.1 电子称的元器件 电子秤的工作电路:称重传感器、A/D转换电路、单片机电路、显示电路、键盘电路、报警电路等电路组成。 1.2 称重器的工作原理 称量重量通过秤体传递到称重传感器,传感器随之产生力,电效应,将物体的重量转换成与被称物体重量成一定函数关系(一般成正比关系)的电信号。此信号再由模/数器进行转换,数字信号再送到微处器的CPU处理,CPU不断扫描键盘和各种功能开关,根据键盘输入内容和各种功能开关的状态进行必要的判断、分析、由仪表的软件来控制各种运算。运算结果送到内存贮器需要显示时,CPU发出指令,从内存贮器中读出送到显示器显示。一般信号的A/D转换以及信号各种运算处理都在仪表中完成。        称重传感器即由非电量(质量或重量)转换成电量的转换元件,它是把支承力变换成电信号或其它形式的适合于计量求值的信号所用的一种辅助手段。按照称重传感器的结构型式不同,可以分直接位移传感器(电容式、电感式、电位计式、振弦式、空腔谐振器式等)和应变传感器(电阻应变式、声表面谐振式)或是利用磁弹性、压电和压阻等物理效应的传感器。在数字式的测量电路中通常包括运算、变换、计数、寄存、控制和驱动显示等环节。 1.3 系统总体设计方案比较与论证 方案一: 数码管显示,结构简图如图1-1所示: 图1-1 数码管显示方案 此方案利用数码管显示物体重量,简单可行,可以采用内部带有模数转换功能的单片机。由此设计出的电子秤系统硬件部分简单接口电路易于实现,并且在编程时大大减少程序量,在电路结构上只有简单的输出输入关系。缺点是:硬件部分简单,虽然可以实现电子称基本的称重功能。但是不能实现外部数据的输入,无法根据实际情况灵活地设定各种控制参 数。由于数码管只能实现简单的数字和英文字符的显示,不能显示汉字以及其他的复杂字符,不能达到显示购物清单的要求。又因为采用了具有模数转换功能的单片机,系统电路过于简单,系统硬件的扩展必受到限制电子秤的功能过于单一,达不到设计的标准。 方案二:增加一键盘输入装置: 在前一种方案的基础上进行扩展,增加一键盘输入装置,增加外界对单片机内部的数据设定,使电子称实现称重计价的功能。结构简图如图1-2所示: 图1-2 带有键盘输入的结构简图 此方案设计的电子秤可以实现称物计价功能,但是局限于数码管的功能,在显示时只能显示单价、购物总额以及简单的货物代码等。在显示重量时,如果数码管没有足够的位数,那么称量物体重量的精度必受到限,所以此方案需要较多的数码管接入电路中。这样在处理输入输出接口时需要另行扩展足够多的I/O接口供数码管使用,比较麻烦。 方案三:前端信号处理时,选用信号转换等措施 在显示方面采用具有字符图文显示功能的LCD显示器。这种方案不仅加强了人机交换的能力,而且满足设计要求,可以显示购物清单、所称量的物体信息等相关内容。结构简图如图1-3所示:  图1-3 LCD显示方案  目前单片机技术比较成熟,功能也比较强大,被测信号经放大整形后送入单片机,由单片机对测量信号进行处理并根据相应的数据关系译码显示出被测物体的重量。单片机控制适合于功能比较简单的控制系统,而且其具有成本低,功耗低,体积小算术运算功能强,技术成熟等优点。但其缺点是外围电路比较复杂,编程复杂。使用这种方案会给系统设计带来一定的难度。 总结:鉴于本电子称的设计并不太复杂,单片机完全能实现所需功能,所以在具体设计时,采用了第三种设计方案。 1.4 控制部分: 本设计由于要求必须使用单片机作为系统的主控制器,而且以单片机为主控制器的设计,可以容易地将计算机技术和测量控制技术结合在一起,组成新型的只需要改变软件程序就可以更新换代的“智能化测量控制系统”。这种新型的智能仪表在测量过程自动化、测量结果的数据处理以及功能的多样化方面,都取得了巨大的进展。     再则由于系统没有其它高标准的要求,又考虑到本设计中程序部分比较大,根据总体方案设计的分析,设计这样一个简单的的系统,可以选用带EPROM的单片机,由于应用程序不大,应用程序直接存储在片内,不用在外部扩展存储器,这样电路也可简化。INTEL公司的8051和8751都可使用,在这里选用宏晶科技生产的STC12XX系列单片机。STC12XX系列与MCS-51相比有两大优势:第一,片内存储器采用闪速存储器,使程序写入更加方便;第二,芯片内置10位高速A/D转换器。  最后我们最终选择了STC12C5A60S2这个单片机来实现系统的功能要求,基本上已经能够满足我们的需要。 1.5 数据采集部分: 电子秤的数据采集部分主要包括称重传感器、处理电路和A/D转换电路,因此对于这部分的论证主要分三方面. 1.5.1 传感器的选择 在设计中,传感器是一个十分重要的元件,因此对传感器的选择也显的特别的重要,不仅要注意其量程和参数,还有考虑到与其相配置的各种电路的设计的难以程度和设计性价比等等.  传感器量程的选择可依据秤的最大称量值、选用传感器的个数、秤体的自重、可能产生的最大偏载及动载等因素综合评价来确定。一般来说,传感器的量程越接近分配到每个传感器的载荷,其称量的准确度就越高。但在实际使用时,由于加在传感器上的载荷除被称物体外,还存在秤体自重、皮重、偏载及振动冲击等载荷,因此选用传感器量程时,要考虑诸多方面的因素,保证传感器的安全和寿命。传感器量程的计算公式是在充分考虑到影响秤体的各个因素后而确定的。  为保证电子秤称量结果的准确度,克服传感器在低量程段线性度差的缺点。传感器的量程应根据皮带秤的最大流量来选择。在实际工作中,要求称重传感器的有效量程在20%~80%之间,线性好,精度高。重量误差应控制在±0.004Kg,又考虑到秤台自重、振动和冲击分量,还要避免超重损坏传感器,所以我们确定传感器的额定载荷为1.5Kg,允许过载为120%F.S,精度为0.002%,最大量程时误差0.002kg,可以满足本系统的精度要求.  综合考虑,本设计采用电阻应变式传感器,其最大量程为1.5 Kg.称重传感器由组合式S型梁结构及金属箔式应变计构成,具有过载保护装置。由于惠斯登电桥具诸如抑制温度变化的影响,抑制干扰,补偿方便等优点,所以该传感器测量精度高、温度特性好、工作稳定等优点,广泛用于各种结构的动、静态测量及各种电子秤的一次仪表。该称重传感器主要由弹性体、电阻应变片电缆线等组成,其工作原理如图1.4所示: 图1.4称重传感器原理图  其测量原理:用应变片测量时,将其粘贴在弹性体上。当弹性体受力变形时,应变 片的 敏感栅也随同变形,其电阻值发生相应变化,通过转换电路转换为电压或电流的变化由于内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,输出信号电压。 1.5.2 放大电路选择: 称重传感器输出电压振幅范围0~2mV。而A/D转换的输入电压要求为0~5V,因此放大环节要有1000倍左右的增益。根据本设计的实际情况增益设为1000倍即可,零点和增益的温度漂移和时间漂移极小。 方案一: 利用普通低温漂运算放大器构成前级处理电路普通低温漂运算放大器构成多级放大器会引入大量噪声。由于A/D转换器需要很高的精度,所以几毫伏的干扰信号就会直接影响最后的测量精度。所以,此种方案不宜采用。  方案二: 主要由高精度低漂移运算放大器构成差动放大器,而构成的前级处理电路;差动放大器具有高输入阻抗,增益高的特点,可以利用普通运放(如OP07)做成一个差分放大器。 Op07芯片是一种低噪声,非斩波稳零的双极性运算放大器集成电路。由于OP07具有非常低的输入失调电压(对于OP07A最大为25μV),所以OP07在很多应用场合不需要额外的调零措施。OP07同时具有输入偏置电流低(OP07A为±2nA)和开环增益高(对于OP07A为300V/mV)的特点,这种低失调、高开环增益的特性使得OP07特别适用于高增益的测量设备和放大传感器的微弱信号等方面。其管脚图如图1-5所示: 图1-5  OP07 管脚图 OP07芯片引脚功能说明:  1和8为偏置平衡(调零端),2为反向输入端,3为正向输入端,4接地,5空脚 6为输出, 7接电源+。 特点:   超低偏移: 150μV最大 。 低输入偏置电流: 1.8nA 。 低失调电压漂移: 0.5μV/℃ 。  超稳定,时间: 2μV/month最大  高电源电压范围: ±3V至±22V  经过比较,因电源及成本因素,我们选择用OP07进行差分放大。 1.5.3 A/D转换器的选择 A/D转换部分是整个设计的关键,这一部分处理不好,会使得整个设计毫无意义。目前,世界上有多种类型的ADC,有传统的并行、逐次逼近型、积分型ADC,也有近年来新发展起来的∑-Δ型和流水线型ADC,多种类型的ADC各有其优缺点并能满足不同的具体应用要求。目前, ADC集成电路主要有以下几种类型: 1) 积分型(如TLC7135)        积分型AD工作原理是将输入电压转换成时间(脉冲宽度信号)或频率(脉冲频率),然后由定时器/计数器获得数字值。其优点是用简单电路就能获得高分辨率,但缺点是由于转换精度依赖于积分时间,因此转换速率极低。初期的单片AD转换器大多采用积分型,现在逐次比较型已逐步成为主流。 2)逐次比较型(如TLC0831)       逐次比较型AD由一个比较器和DA转换器通过逐次比较逻辑构成,从MSB开始,顺序地对每一位将输入电压与内置DA转换器输出进行比较,经n次比较而输出数字值。其电路规模属于中等。其优点是速度较高、功耗低,在低分辩率(<12位)时价格便宜,但高精度(>12位)时价格很高。 3)并行比较型/串并行比较型(如TLC5510)        并行比较型AD采用多个比较器,仅作一次比较而实行转换,又称FLash(快速)型。由于转换速率极高,n位的转换需要2n-1个比较器,因此电路规模也极大,价格也高,只适用于视频AD转换器等速度特别高的领域。       串并行比较型AD结构上介于并行型和逐次比较型之间,最典型的是由2个n/2位的并行型AD转换器配合DA转换器组成,用两次比较实行转换,所以称为Half flash(半快速)型。还有分成三步或多步实现AD转换的叫做分级(Multistep/Subrangling)型AD,而从转换时序角度又可称为流水线(Pipelined)型AD,现代的分级型AD中还加入了对多次转换结果作数字运算而修正特性等功能。这类AD速度比逐次比较型高,电路规模比并行型小。 4)Σ-Δ(Sigma?/FONT>delta)调制型(如AD7705)        Σ-Δ型AD由积分器、比较器、1位DA转换器和数字滤波器等组成。原理上近似于积分型,将输入电压转换成时间(脉冲宽度)信号,用数字滤波器处理后得到数字值。电路的数字部分基本上容易单片化,因此容易做到高分辨率。主要用于音频和测量。 5)电容阵列逐次比较型  (如TLC1543)      电容阵列逐次比较型AD在内置DA转换器中采用电容矩阵方式,也可称为电荷再分配型。一般的电阻阵列DA转换器中多数电阻的值必须一致,在单芯片上生成高精度的电阻并不容易。如果用电容阵列取代电阻阵列,可以用低廉成本制成高精度单片AD转换器。最近的逐次比较型AD转换器大多为电容阵列式的。 总结:综上所述 TLC1543 芯片具有如下的一些特点:10 位精度、11 通道、三种内建的自测模式、提供EOC(转换完成)信号等。该芯片与单片机的接口采用串行接口方式,引线很少,与单片机连接简单。使用时一般将REF-接到系统的地,达到一点接地的要求,以减少干扰。EOC 用于指示一次AD 转换已完成,CPU 可以读取数据,该引脚是低电平有效,根据需要,该引脚可接入CPU 的中断引脚,一旦数据转换完成,向CPU 提出中断请求;此外,也可将该引脚接入一个普通的I/O 引脚,CPU 通过查询该引脚的状态来了解当前的状态,甚至该引脚也可以不接,在CPU 向TLC1543发出转换命令后,过一段固定的时间去读取数据即可。因此,选择TLC1543作为系统的AD转换。 1.6. 键盘处理部分方案论证 由于电子秤需要设置单价(十个数字键)、去皮、置零功能,还具有确认、删除等功能,总共需设置17个键(包括一个复位键)。键盘的扩展有使用以下方案:  采用矩阵式键盘:矩阵式键盘的特点是把检测线分成两组,一组为行线,一组列线,按键放在行线和列线的交叉点上。图1.6给出了一个4×4的矩阵键盘结构的键盘接口电路,图中的每一个按键都通过不同的行线和列线与主机相连这。4×4矩阵式键盘共可以安装16个键,但只需要8条测试线。当键盘的数量大于8时,一般都采用矩阵式键盘。 图1.6矩阵式键盘 1.7 显示电路部分的选择 数据显示是电子秤的一项重要功能,是人机交换的主要组成部分,它可以将测量电路测得的数据经过微处理器处理后直观的显示出来。数据显示部分可以有以下两种方案供选择。的组成有以下两种方案可供选择:一是 LED数码管显示,二是LCD液晶显示两种选择。因为LED价格低廉但只能显示出数字,而无法显示出英文单位,所以放弃方案一,而LCD因其能显示英文字符和单位,为人机交流提供更好的平台,同时其功耗也较理想。因此采用LCD显示。 1.8 超量程报警部分选择 智能仪器一般都具有报警和通讯功能,报警主要用于系统运行出错、当测量的数据超过仪表量程或者是超过用户设置的上下限时为提醒用户而设置。在本系统中,设置报警的目的就是在超出电子秤测量范围时,发出声音报警信号,提示用户,防止损坏仪器。  超限报警电路是由单片机的I/O口来控制的,当称重物体重量超过系统设计所允许的重量时,通过程序使单片机的I/O值为高电平,从而三极管导通,使蜂鸣器SPEAKER发出报警声。 1.9 自动睡眠模式 当传感器未采集到压力信号时,自动进入睡眠模式,显示屏自动熄灭,做到省电功能。 1.10语音报价功能 ,语音电路的设计 本设计语音电路采用ISD4004集成芯片。 ISD4004是美国ISD 公司制造的一种新款语音芯片。与ISD其它系列语音产品不同的是,ISD4004是一种微控制器“从”设备,而“主”控制器可以是内置有SPI 兼容接口的微控制器,也可以用I/O 仿真SPI通信协议。ISD4004 系列工作电压为3V,单片录放时间为8~16 分钟,音质好,适用于移动电话及其它  便携式电子产品中。该芯片采用CMOS 技术,内含振荡器、抗混叠滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮陈列。芯片的所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI 或Microwire)送入。      ISD4004 采用多电平直接模拟量存储技术,每个采样值直接存贮在片  内闪烁存贮器中,因此能非常真实、自然地再现语音、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。采样频率可为4.0,5.3,6.4,8.0kHz,频率越低,录放时间越长,音质则有所下降, 片内信息存于闪烁存贮器中,可在断电情况下保存100 年(典型值),反复录音10 万次。 ISD4004 的引脚排列如图1-7所示: 图1-7   ISD4004 引脚排列图  各引脚功能如下:  1、 电源(VCCA,VCCD):为使噪声最小,芯片的模拟和数字电路使用不同的 电源总线,并且分别引到外封装的不同管脚小,模拟和数字电源端最好分别走线。尽可能在靠近供电端处相连,而去耦电容应尽量靠近器件。   2、地线(VSSA,VSSD):芯片内部的模拟和数字电路也使用不同的地线。     3、同相模拟输入(ANA IN+):录音信号 的同相输入端。输入放大器可用单端或差分驱动。单端输入时,信号由耦合电容输入,最大幅度为峰峰值32mV,耦合电容和本端的3kΩ 电阻输入阻抗决定了芯片频带的低端截止频率。差分驱动时,信号最大幅度为峰峰值16mV,与ISD33000 系列相同。      4、反相模拟输入(ANA IN-):差分驱动时,为录音信号的反相输入端。信号通过耦合电容输入,最大幅度为峰峰值16mV。      5、音频输出(AUD OUT):提供音频输出,可驱动5kΩ 的负载。      6、片选(SS):此端为低,即向该ISD4004 芯片发送指令,两条指令之间为高电平。      7、串行输入(MOSI):此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD 输入。      8、串行输出(MISO):ISD 的串行输出端。ISD 未选中时,本端呈高阻态。     9、串行时钟(SCLK):ISD 的时钟输入端,由主控制器产生,用于同步MOSI 和MISO 的数据传输。数据在SCLK 上升沿锁存到ISD,在下降沿移出ISD。      10、中断(INT):本端为漏极开路输出。ISD 在任何操作(包括快进)中检测到EOM或IVF 时,本端变低并保持。中断状态在下一个SPI 周期开始时清除。中断状态也可用RINT 指令读取。OVF 标志用来指示ISD 的录、放操作已到达存储器的末尾。只在放音中检测到内部的EOM 标志时,此状态位才置1。  11、行地址时钟(RAC):漏极开路输出。每个RAC周期表示ISD 存储器的操作进行了一行(ISD4004系列中的存贮器共2400 行)。该信号保持高电平的时间为175ms,低电平时间为25ms。在快进模式,RAC 可保持高电平218.75μs,低电平31. 25μs。该端可用于存储管理技术。 片选信号接到单片机的I/O口,由单片机控制ISD4004是否被选中,SS低电平情况下单片机才能向ISD4004写入指令,MOSI、MISO和SCLK也分别接到单片机的I/O口,单片机不具备SPI接口,需要用单片机的普通I/O口模拟出SPI通信协议。XCLK接低电平,选用ISD4004的内部时钟。图中TDA2822为语音功放电路,将ISD4004的13脚输出的语音报数音频信号进行放大,提高语音信号的输出功率,再经过3脚通过扬声器输出。麦克风输入电路如下 图1-8所示,麦克风电路的输出接到ISD4004的16、17脚。 图1-8 ISD4004的麦克风输入电路 1.10 时间日期显示模块 要求显示日期等信息,我们可以充分利用单片机上面集成的DS1302时钟芯片。该芯片可以产生年份,月份,日期,星期,时,分,秒的数据,因此,完全可以完成实验的各项要求。  基于以上分析,我们可以利用DS1302产生的各种时钟数据,由CPU完成对数据的读取,然后通过CPU将数据写至LCD1602,以显示数据,达到可视化的效果。 2 系统电路设计及指标计算 根据设计要求与设计思路,此系统由一块STC12C5A60S2单片机、复位电路、时钟电路、4*4矩阵键盘、LCD1602液晶显示器、蜂鸣器、TLC1543转换电路、传感电路。具体设计框图如图2-1所示: 2-1具体电路设计框图 在本系统中用于称量的主要器件是称重传感器(一次变换元件),称重传感器在受到压力或拉力时会产生电信号,受到不同压力或拉力是产生的电信号也随着变化,而且力与电信号的关系一般为线性关系。由于传感器输出的为模拟信号,所以需要对其进行A/D转换为数字信号以便单片机接收,因此电路中需要用进行A/D转换。  在本系统中,系统电路的构成主要有以下几部分: AT89C51的最小系统构成、数据采集、人-机交换电路等。 基于单片机的电子秤设计  2.1  STC12C5A60S2的最小系统电路 2.1.1 单片机芯片STC12C5A60S2介绍 单片机采用MCS-51系列单片机。由宏晶科技公司生产的STC12C5A60S2是一种低功耗、高性能CMOS8位微控制器,具有64K 在系统可编程Flash 存储器。使用宏晶科技公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash,使得STC12C5A60S2为众多嵌入式控制应用系统提供高灵活、有效的解决方案。STC12C5A60S2具有以下标准功能: 64k字节Flash,1280字节RAM,36 位I/O 口线,看门狗定时器,2 个数据指针,2个16 位定时器/计数器,7个中断结构I/O口,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。而且,它还具有一个看门狗(WDT)定时/计数器,如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。 STC12C5A60S2有40个引脚,36个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。其芯片引脚图如图2-2所示: 图2.2  STC12C5A60S2引脚图 2.1.2 单片机芯片STC12C5A60S2介绍 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)这是由于上拉的缘故。  VCC:供电电压。  GND:接地。 P3口也可作为STC12C5A60S2的一些特殊功能口,如表2-3所示: 表2.3  P3.0口引脚功能表 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:来自反向振荡器的输出。 2.1.3  STC12C5A60S2的最小系统电路构成  STC12C5A60S2单片机的最小系统由时钟电路、复位电路、电源电路及单片机构成。单片机的时钟信号用来提供单片机片内各种操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种确定的初态开始运行。  单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。  当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。 上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。  系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。51单片机的复位是由RESET引脚来控制的,此引脚与高电平相接超过24个振荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。 2.2 数据采集部分电路设计 数据采集部分电路包括传感器输出信号放大电路、单片机接口电路。 2.3  传感器和其外围以及放大电路设计 传感器实际上是一种将质量信号转变为可测量的电信号输出的装置。用传感器首先要考虑传感器所处的实际工作环境,这点对正确使用传感器至关重要,它关系到传感器能否正常工作以及它的安全和使用寿命,乃至整个衡器的可靠性和安全性。因此传感器外围电路的抗干扰能力是数据采集部分电路设计的关键环节。  传感器检测电路的功能是把电阻应变片的电阻变化转变为电压输出,由于惠斯登电桥具有很多优点,如可以抑制温度变化的影响,可以抑制侧向力干扰,可以比较方便的解决称重传感器的补偿问题等,又因为全桥式等臂电桥的灵敏度最高,各臂参数一致,各种干扰的影响容易相互抵消。  由于传感器输出的电压信号很小,是mV级的电压信号,因此为了提高系统的抗干扰能力,在传感器外围电路的设计过程中,增加了由普通运放设计的差动放大器增益调节电阻Rg选用49.9电阻,是为了满足系统抗干扰的要求而设计。其电路图如图2-4所示: 图2-4 压力感测电路 2.4 显示电路与STC12C5A60S2单片机接口电路设计 在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)方法。帧频控制是通过减少帧输出次数,控制输出信号的有效值,来实现多灰度和彩色控制。而脉宽调制是通过改变段输出信号脉宽,控制输出信号的有效值,来实现多灰度和彩色控制。如图2-5所示: 图2-5 显示电路与STC12C5A60S2 2.5 键盘电路与STC12C5A60S2单片机接口电路设计 矩阵式键盘的结构与工作原理: 在键盘中按键数量较多时,为了减少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响应后执行中断服务程序,在中断程序中才对键盘进行扫描。图2-6就是键盘电路与STC12C5A60S2单片机接口电路图。 图2.6 键盘电路与STC12C5A60S2单片机接口电路图 2.6 报警电路的设计 图2.7 报警电路图  当电路检测到称重的物体超过仪器的测量限制时,将产生一个信号给报警电路。使报警电路报警从而提醒工作人员注意,超限报警电路如图2.7所示。  它是有STC12C5A60S2的P2.6口来控制的,当超过设置的重量时(1,5Kg),通过程序使P2.6口值为高电平,从而使三极管导通,报警电路接通,使蜂鸣器SPEAKER发出报警声。 3 系统程序设计及算法分析 程序设计是一件复杂的工作,为了把复杂的工作条理化,就要有相应的步骤和方法。其步骤可概括为以下三点:  ⑴ 分析系统控制要求,确定算法:对复杂的问题进行具体的分析,找出合理的计算方法及适当的数据结构,从而确定编写程序的步骤。这是能否编制出高质量程序的关键。  ⑵ 根据算法画流程图:画程序框图可以把算法和解题步骤逐步具体化,以减少出错的可能性。  ⑶编写程序:根据程序框图所表示的算法和步骤,选用适当的指令排列起来,构成一个有机的整体,即程序。  程序数据的一种理想方法是结构化程序设计方法。结构化程序设计是对利用到的控制结构类程序做适当的限制,特别是限制转向语句(或指令)的使用,从而控制了程序的复杂性,力求程序的上、下文顺序与执行流程保持一致性,使程序易读易理解,减少逻辑错误和易于修改、调试。根据系统的控制任务,本系统的软件设计主要由主程序、初始化程序、显示子程序、数据采集子程序和延时程序等组成。 3.1 主程序设计 图3.1 系统主程序流程图  系统上电后,初始化程序将 RAM 的内存单元清零,P2.6引脚置成低电平,防止误报警。  主程序模块主要完成编程芯片的初始化及按需要调用各模块(子程序),在系统初始化过程中,将系统设置成1.5Kg量程,并写1.5Kg量程标志。设计流程图如图3.1所示。 3.2 子程序设计  系统子程序主要包括A/D转换启动及数据读取程序设计、键盘输入控制程序设计、显示程序设计、以及中断程序设计等。  3.2.1  A/D转换启动及数据读取程序设计  A/D转换子程序主要是指在系统开始运行时,把称重传感器传递过来的模拟信号转换成数字信号并传递到单片机所涉及到的程序设计。设计流程图如图3-2所示。 3.2  A/D转换程序流程图 3.2.2数制转换子程序设计  在数制转换前要进行系数调整, 在IN0输入的数最大为5V,要求的质量500g对应的是4.8V,为十六进制向十进制转换方便,将系数放大100倍。并用小数点位置的变化体现这一过程。  数制之间的转换:在二进制数制中,每向左移一位表示数乘二倍。以每四位作为一组对数分组,当第四位向第五位进位时,数由8变到16,若按十进制数制规则读数,则丢失6,所以应进行加六调整。DA指令可完成这一调整。可见数制之间的转换可以通过移位的方法实现。其中,移出数据的保存可以通过自乘再加进位的方法实现,因为乘二表示左移一位,左移后,低位进一,则需加一。否则,加零。而通过移位已将要移入的尾数保存在了进位位中,所以能实现。 图3.3 数据处理流程图 3.2.3显示子程序设计  显示子程序主要是来判断是否需要显示,以及如何去显示,也是十分重要的程序之一。而显示子程序是其他程序所需要调用的程序之一,因此,显示子程序的设计就显得举足轻重,设计的时候也要十分的小心和卖力。设计显示子程序的流程图如下图3-4所示: 图3.4显示子程序流程图 3.2.4 键盘扫描子程序的设计  如图1-6所示:键盘电路设计成4X4矩阵式,由键盘编码方式可以得出0,1,2,3,4,5,6,7,8,9,A,B,C,D,E各键对应的键值值:    0D8H ,0D0H ,0D1H, 0D2H,0C8H,0C9H,0CAH,0C0H,0C1H, 0C2H, 0C3H,0CBH,0D3H,0DBH,0DAH,0D9H 。  在程序中可以先判断按键编码,然后根据编码将键盘代表的数值送到相应的存储单元,再进行功能选择或数据处理。 图3.5键盘扫描子程序流程图 3.2.5 报警子程序的设计  由于要求要键盘设定阈值,所以要求有报警电路,报警电路可以有声报警也可有光报警,将设定的阈值与实时显示的值进行比较,如果设定值小于实时显示的值,则将P1.4置为1,或使蜂鸣器发出声音。这就需要一段比较程序以及一小段置1清0程序。 图3.6 报警子程序框图 4 测试方案 4.1 软件使用  随着仿真软件的广泛推广应用,为我们的设计带来了极大的方便。软件仿真及程序调试这一部分是焊接电子秤实物前必须要做的一步。本设计采用的是protues仿真软件进行电子秤的模拟仿真,keil软件对程序的进行编译和调试。  4.1.1  keil软件的简单使用    (1)运行keil软件,双击keil的快捷方式即可。    (2)建立一个新设计。 (3)然后选择你要保存工程文件的名字为“123”。     (4)时会弹出一个对话框,要求选择单片机的型号,根据使用的单片机来选择,选择好之后 ,右边栏是对这个单片机的基本的说明,然后点击确定完成上一步骤后。     (5)单击“File”菜单,再在下拉菜单中单击“New”选项并保存为空白档为 123.C。    (6)回到编辑界面后,单击“Target 1”前面的“+”号,然后在“Source Group 1”上单击右键,弹出如下菜单 然后单击“Add File to Group ‘Source Group 1”。     (7) 将“123.c”文件添加上 就会发现“Source Group 1”文件夹中多了一个子项“123.c”。     (8) 编写程序。  在输入程序时,由于事先保存待编辑的文件,即Keil c51会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。     (9)单击“Project”菜单,再在下拉菜单中单击“Built Target”选项(或者使用快捷键F7),编译成功后,再单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5).  编译错误时可能有以下提醒: 123.C(11): error C100: unprintable character 0xA1 skipped 关于这个问题:  检查是否有未放入注释的中文字符;检查是否有字母、数字、标点符号是以中文输入的;光标指着那一行,说明那一行有中文字符。     (10)调试程序:在上图中,单击“Debug”菜单,在下拉菜单中单击“run”选项,(或者使用快捷键F5),然后再单击“Debug”菜单,在下拉菜单中单击“Stop Running”选项(或者使用快捷键Esc);再单击“View”菜单,再在下拉菜单中单击“Serial Windows #1”选项,就可以看到程序运行后的结果。 (11)单击“Project”菜单,再在下拉菜单中单击“”  在下图中,单击“Output”中单击“Create HEX File” 选项,使程序编译后产生 HEX代码,供下载器软件使用。把程序下载到单片机中。 4.1.2  Protues软件的简单使用 1) 打开 protues 软件 新建设计。如图4-1所示:     图 4-1 新建protues设计  (2) 选择默认模板 DEFAULT 保存设计,接着设定图纸大小  执行菜单“系统”——“设置图纸大小”弹出对话框,在此对话框中选择A4复选框,单击“确定”。 (3) 添加元器件  原件单:单片机AT89C51 、 瓷片电容 CAP 22pf  、电解电容CAP-ELEC 、晶振CRYSTAL 8MHz 等。 添加步骤 在器件选择按钮中单击P按钮,弹出对话框,在关键字框中输入所选元器件的名称就可以找到相关元器件,然后双击元器件名称就可以添加成功。  (4) 将器件放置到绘图区,放置电源、地,然后“布线”,最后设置、修改原件属性。完成以上步骤。   (5) 当原理图链接成功后,可以将keil软件生成的HEX文件添加到仿真原理图的单片机中,经过调试就可以看到仿真结果。 4.2  仿真调试 将Keil软件生成的HEX文件,加入到protues仿真软件中的单片机中, 即可进行模拟仿真。 该仿真验证的过程:首先按开始按开始键,此时数字电子秤进入欢迎界面。LCD1602上显示"欢迎使用电子秤 设计·····"。,仿真结果如图4-2所示: 图 4-2  电子秤欢迎界面图  接下来调节压力传感模拟电路电压,将电压设为0.00表示此时载物台上没有物 体。此时LCD1602切换到称量画面。显示指示“实用电子秤 名称······ 图4-3 数字电子秤模拟空载图 最后,上调压力传感电压表示已载有商品,同时按下“6”号键,表示选择6号商品“苹果”。此时LCD1602显示“名称:苹果 单价:6.800元/千克 总重量:3.984千克 总价:“27.093元”(实际6.8*3.984=27.093元),达到基本要求。如图4-4所示。   图4-4  数字电子秤模拟载物显示仿真图 最大称量重量4.980KG,当重量超过4.98千克时,系统将报警。如图4-5所示。 图4-5 数字电子秤模拟最大称量范围仿真图 5.总结: 感觉完成设计报告之后,对整个题目的思路有了一个总体的把握,不像一开始那么没头绪.

Top_arrow
回到顶部
EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高员外,我们会尽快处理。