




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计(论文)XXXX大学毕 业 设 计 说 明 书学生姓名: 学 号: 学 院: 专 业: 题 目: 基于单片机的电子秤设计 指导教师: 职称: 职称: 20*年 12 月 5 日本科毕业设计(论文)摘要本系统采用单片机 AT89S52 为控制核心,实现电子秤的基本控制功能。系统的硬件部分包括最小系统板,数据采集、人机交互界面三大部分。最小系统部分主要是扩展了外部数据存储器,数据采集部分由压力传感器、信号的前级处理和 A/D 转换部分组成。人机界面部分为键盘输入 , 128 64 点阵式液晶显示,可以直观的显示中文,使用方便。 软件部分应用单片机 C 语言实现了本设计的全部控制功能,包括基本的称重功能,和发挥部分的显示购物清单的功能,可以设置日期和重新设定 10 种商品的单价,具有超重报警功能,由于系统资源丰富,还可以方便的扩展其应用 。关键词:压力传感器 单片机 A/D 转换器 LED 显示器本科毕业设计(论文)目录第一章 绪论 .11 电子秤的工作原理 .12 设计任务书 .1第二章 系统方案论证与选型 .22.1 控制器部分 .32.2 数据采集部分 .42.2.1 传感器的选择 .42.2.2 放大电路选择 .52.2.3 A/D 转换器的选择 .62.2.4 键盘处理部分方案论证 .72.3 显示电路部分的选择 .82.4 超量程报警部分选择 .8第三章 硬件电路设计 .93.1 AT89S52 的最小系统电路 .93.1.1 单片机芯片 AT89S52 介绍 .93.1.2.单片机管脚说明 .93.1.3 AT89S52 的最小系统电路构成 .103.2 电源电路设计 .113.3 数据采集部分电路设计 .133.3.1 传感器以及放大电路设计 .133.3.2 A/D 转换器设计 .133.3.3 测量算法 .153.4 显示电路与 AT89S52 单片机接口电路设计 .163.5 键盘电路与 AT89S52 单片机接口电路设计 .173.6 报警电路的设计 .18第四章 系统软件设计 .194.1 主程序设计 .194.2 子程序设计 .204.2.1 A/D 转换启动及数据读取程序设计 .204.2.2 数制转换子程序设计 .214.2.3 显示子程序设计 .224.2.4 键盘扫描子程序的设计 .234.2.7 报警子程序的设计 .27参考文献 .28附录 1 系统总图 .29本科毕业设计(论文)第一章 绪论1 电子秤的工作原理当被称物体放置在秤体的秤台上时,其重量便通过秤体传递到称重传感器,传感器随之产生力电效应,将物体的重量转换成与被称物体重量成一定函数关系(一般成正比关系)的电信号(电压或电流等)。此信号由放大电路进行放大、经滤波后再由模/数(A/D)器进行转换,数字信号再送到微处器的 CPU 处理,CPU 不断扫描键盘和各种功能开关,根据键盘输入内容和各种功能开关的状态进行必要的判断、分析、由仪表的软件来控制各种运算。运算结果送到内存贮器,需要显示时,CPU 发出指令,从内存贮器中读出送到显示器显示,或送打印机打印。一般地信号的放大、滤波、A/D 转换以及信号各种运算处理都在仪表中完成。2 设计任务书1、使用单片机为控制核心。2、使用键盘输入数据,操作简单,方便。3、液晶显示所称量的物品重量,同时还可显示物品的数量,单价,金额。4、具有去皮功能和金额累加计算功能。5、当物品重量超过电子秤量程,即过载情况或者是物品重量小于A/D转换器所能转换的最小精度,即欠量程的时候,具有超重报警功能。 6、主要技术指标为:称量范围02kg; 放大电路设计(灵敏度1mV/V,输出信号为010mV,AD转换输入为0-4.999V)。由4节7号电池供电。本科毕业设计(论文)第二章 系统方案论证与选型按照本设计功能的要求,系统由 6 个部分组成:控制器部分、测量部分、报警部分、数据显示部分、键盘部分、和电路电源部分,系统设计总体方案框图如图2.1 所示。压力传感器A/D 转换器放大电路AT89S52 单片机 键盘LCD 显示报警图 2-1 设计思路框图本科毕业设计(论文)测量部分是利用称重传感器检测压力信号,得到微弱的电信号(本设计为电压信号) ,而后经处理电路(如滤波电路,差动放大电路, )处理后,送 A/D 转换器,将模拟量转化为数字量输出。控制器部分接受来自 A/D 转换器输出的数字信号,经过复杂的运算,将数字信号转换为物体的实际重量信号,并将其存储到存储单元中。控制器还可以通过对扩展 I/O 的控制,对键盘进行扫描,而后通过键盘散转程序,对整个系统进行控制。数据显示部分根据需要实现显示功能。2.1 控制器部分本设计由于要求必须使用单片机作为系统的主控制器,而且以单片机为主控制器的设计,可以容易地将计算机技术和测量控制技术结合在一起,组成新型的只需要改变软件程序就可以更新换代的“智能化测量控制系统” 。这种新型的智能仪表在测量过程自动化、测量结果的数据处理以及功能的多样化方面,都取得了巨大的进展。再则由于系统没有其它高标准的要求,又考虑到本设计中程序部分比较大,根据总体方案设计的分析,设计这样一个简单的的系统,可以选用带 EPROM 的单片机,由于应用程序不大,应用程序直接存储在片内,不用在外部扩展存储器,这样电路也可简化。INTEL 公司的 8051 和 8751 都可使用,在这里选用 ATMENL 生产的AT89SXX 系列单片机。AT89SXX 系列与 MCS-51 相比有两大优势:第一,片内存储器采用闪速存储器,使程序写入更加方便;第二,提供了更小尺寸的芯片,使整个硬件电路体积更小。此外价格低廉、性能比较稳定的 MCPU,具有8K8ROM、 2568RAM、2 个 16 位定时计数器、4 个 8 位 I/O 接口。这些配置能够很好地实现本仪器的测量和控制要求最后我们最终选择了 AT89S52 这个比较常用的单片机来实现系统的功能要求。本科毕业设计(论文)AT89S52 内部带有 8KB 的程序存储器,基本上已经能够满足我们的需要。2.2 数据采集部分电子秤的数据采集部分主要包括称重传感器、处理电路、A/D 转换电路和键盘处理,因此对于这部分的论证主要分四方面。2.2.1 传感器的选择在设计中,传感器是一个十分重要的元件,因此对传感器的选择也显的特别的重要,不仅要注意其量程和参数,还有考虑到与其相配置的各种电路的设计的难以程度和设计性价比等等.平行梁微型秤称重传感器尺寸:长 80mm 宽 1.27mm 高 1.27mm规格:1kg 2kg 5kg额定负荷 0.6,1,2,3,5,6(kg) 额定输出 1.0 0.15mV/V 输入阻抗 111510% 本科毕业设计(论文)输出阻抗 100010% 推荐工作电压 512 VDC 最大工作电压 15 VDC 材质 铝合金 满量程电压=激励电压 x 灵敏度 1.0mv/v根据设计要求满量程电压为 0-10mv,由上式得激励电压为 10V安装方式:悬臂梁安装方式 带线段固定 其它的悬空 另一边上面称量设计要求 平行梁微型秤称重传感器称量范围02kg 2KG 符合灵敏度1mV/V 1.0 0.15mV/V 符合输出信号010mV 满量程电压=激励电压10Vx灵敏度1.0mv/v=10mV 符合电源带负载能力 输入阻抗 111510% 符合根据设计要求,灵敏度符合要求,规格选用 2KG,激励电压 10V2.2.2 放大电路选择采用专用仪表放大器,如:INA128,INA121 等。此类芯片内部采用差动输入,共模抑制比高,差模输入阻抗大,增益高,精度也非常好,且外部接口简单。 INA128P,接口如下图 3-2-1 所示: -V4IN+32OUT6REF5G187APg图 3-2-1放大器增益 ,通过改变 Rg 的大小来改变放大器的增益。 501KGRg基于以上分析,我们决定采用制作方便而且精度很好的专用仪表放大器 INA128。 INA128 是低功耗、高精度的通用仪表放大器。它们通用的 3 运放(3-op amp)设计和体积小巧使其应用范围广泛。反馈电流(Current-feedback)输入本科毕业设计(论文)电路即使在高增益条件下(G = 100 时,200kHz)也可提供较宽的带宽。单个外部电阻可实现从 1 至 10000 的任一增益选择。INA128 提供工业标准的增益等式(gain equation)INA129 的增益等式与 AD620 兼容。INA128 用激光进行修正微调,具有非常低的偏置电压(50mV)、温度漂移(0.5 )和高共模抑制(在/VcG=100 时,120dB) 。其电源电压低至2.25 且静态电流只有 700uA,是电池供电系统的理想选择。内部输入保护能经受40V 电压而无损坏。设计要求 INA128运算放大器输出电压0-4.999v 5v 符合2.2.3 A/D 转换器的选择A/D 转换器的选择 对传感器量程和精度的分析可知: A/D 转换器误差应在 0.03%以下 8 位 A/D 精度:2Kg/256=7.81 克12 位 A/D 精度: 2Kg/4096=0.49g 14 位 A/D 精度: 2Kg/16384=0.12g 考虑到其他部分所带来的干扰 ,8 位 A/D 无法满足系统精度要求。作为一般小商品称重需求,我们只需要选择 12 位的 A/D 转换器就可以了。 考虑到本系统中对物体重量的测量和使用的场合,精度要求不是很苛刻,转换速率要求也不高,而双积分型 A/D 转换器精度高,具有精确的差分输入,重要的是输入阻抗高(大于 ) ,可自动调零,有超量程信号输出,全部输出于 TTL 电M310平兼容。且双积分型 A/D 转换器具有很强的抗干扰能力。对正负对称的工频干扰信号积分为零,所以对 50Hz 的工频干扰抑制能力较强,对高于工频干扰(例如噪声电压)已有良好的滤波作用。只要干扰电压的平均值为零,对输出就不产生影响。尤其对本系统,缓慢变化的压力信号,很容易受到工频信号的影响。根据系统的精度要求以及综合的分析其优点和缺点,本设计采用了 12 位 A/D 转换器本科毕业设计(论文)AD574。分辨率:12 位非线性误差:小于1/2LBS 或1LBS转换速率:25us模拟电压输入范围:010V 和020V,05V 和010V 两档四种电源电压:15V 和5V数据输出格式:12 位/8 位要求 AD574模拟电压输入0-4.999 05V 符合转换器误差小于0.03% 1/4096=0.024% 符合单片机接口 与AT89S52吻合 符合取 05V 数据输出格式:12 位 电源电压: 5V2.2.4 键盘处理部分方案论证由于电子秤需要设置单价(十个数字键) ,还具有确认、删除等功能,总共需设置 17 个键(包括一个复位键) 。键盘的扩展有使用以下方案:采用矩阵式键盘:矩阵式键盘的特点是把检测线分成两组,一组为行线,一组列线,按键放在行线和列线的交叉点上。图 2.6 给出了一个 44 的矩阵键盘结构的键盘接口电路,图中的每一个按键都通过不同的行线和列线与主机相连这。44 矩阵式键盘共可以安装 16 个键,但只需要 8 条测试线。当键盘的数量大于 8 时,一般采用矩阵式键盘。本科毕业设计(论文)图 2.4 矩阵式键盘结合本设计的实际要求,12 个按键使用 34 矩阵式键盘,另外一个复位键使用独立式按键实现。3*4 矩阵键盘2.3 显示电路部分的选择数据显示是电子秤的一项重要功能,是人机交换的主要组成部分,它可以将测量电路测得的数据经过微处理器处理后直观的显示出来。数据显示部分可以有以下两种方案供选择。LCD 液晶显示器是一种极低功耗显示器,从电子表到计算器,从袖珍时仪表到便携式微型计算机以及一些文字处理机都广泛利用了液晶显示器。1602采用标准的16脚接口,其中:本科毕业设计(论文)第1脚:VSS 为电源地第2脚:VDD 接5V 电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影” ,使用时可以通过一个10K 的电位器调整对比度) 。第4脚:RS 为寄存器选择,高电平1选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW 为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或 EN)端为使能(enable)端。第714脚:D0D7为8位双向数据端。第1516脚:背光灯电源。15脚背光正极,16脚背光负极。2.4 超量程报警部分选择智能仪器一般都具有报警和通讯功能,报警主要用于系统运行出错、当测量的数据超过仪表量程或者是超过用户设置的上下限时为提醒用户而设置。在本系统中,设置报警的目的就是在超出电子秤测量范围时,发出声光报警信号,提示用户,防止损坏仪器。超限报警电路是由单片机的 I/O 口来控制的,当称重物体重量超过系统设计所允许的重量时,通过程序使单片机的 I/O 值为高电平,从而三极管导通,使蜂鸣器SPEAKER 发出报警声,同时使报警灯 D1 发光。本科毕业设计(论文)第三章 硬件电路设计3.1 AT89S52 的最小系统电路3.1.1 单片机芯片 AT89S52 介绍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)这是由于上拉的缘故。3.1.3 AT89S52 的最小系统电路构成AT89S52 单片机的最小系统由时钟电路、复位电路、电源电路及单片机构成。单片机的时钟信号用来提供单片机片内各种操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种确定的初态开始运行。单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚 XTAL1 和 XTAL2 外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。当 MCS-5l 系列单片机的复位引脚 RST(全称 RESET)出现 2 个机器周期以上的高电平时,单片机就执行复位操作。如果 RST 持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。本科毕业设计(论文)上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器 PC0000H,这表明程序从 0000H 地址单元开始执行。系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。51 单片机的复位是由 RESET 引脚来控制的,此引脚与高电平相接超过 24 个振荡周期后,51 单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET 引脚转为低电平后,才检查 EA 引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。3.2 电源电路设计根据设计需要,本系统中需要设计两种不同级别的电源,即传感器需要+10V 的电源,而系统其他芯片使用的是5V 电源。考虑本次设计的实际要求,使系统稳定工作,提高产品的性价比,电源电路的 设计决定采用如下方案:6V 转 5V 器件输出电压固定的低压差三端稳压器;输出电压 5V;输出电流 1A;输出电流1A 时,最小输入输出电压差小于 0.8V;最大输入电压 26V;工作温度-40+125;内含静态电流降低电路、电流限制、过热保护、电池反接和反插入保护电路。LM2940 引脚图 LM2940 典型应用由图可见,2940 的电路接发极其简单。本科毕业设计(论文)上图为输入电压低于正常值时,输入电压与输出电压间的关系(输出电流均保持在 1A 时)5V 转 10V 器件名 称: (0-5V/0-10V) 直流电压信号隔离 (V/V) 放大器:ISO-U-P-O低成本,精度等级:0.1 级0.2 级0.5 级输入:0-5V/0-10V 等(阻抗1 M)标准电压信号 输出:0-10mA/0-20mA/4-20mA 隔离变换的电流信号 0-5V/0-10V/1-5V 等隔离变换的的电压信号信号输入/输出/辅助电源:隔离电压 3000VDC 三隔离 全量程内很高的线性度(非线性度0.2%) 小体积 12 PinSIP,符合 UL94-0 标准阻燃封装 工业级宽温度范围:-40+85C 本科毕业设计(论文)3.3 数据采集部分电路设计数据采集部分电路包括传感器输出信号放大电路、A/D 转换器与单片机接口电路。3.3.1 传感器以及放大电路设计INA128P 构成的放大器及滤波电路如图 3-2-2 所示:Rd RaRc RbRes Bridge-V4 IN+ 3IN- 2OUT6REF5RG 1RG 8+V7INA128PVCCVCC+10V -10V75K75K100pFC3100pFC9220FC2220FC8R通过调节 Rg 的阻值来改变放大倍数,使得输出电压在 A/D 转换的基准电压要求范围之内。微弱信号 Vi1 和 Vi2 被分别放大后从 INA128 的第 6 脚输出。根据要求,A/D 转换器的输入电压变化范围是 0V4.999V,传感器的输出电压信号在 010mv, 因此取放大器的放大倍数 500。4.9.5001G因此代入公式 , 。KRgk10.249本科毕业设计(论文)3.3.2 A/D 转换器设计AD574 是美国 Analog Device 公司生产的 12 位单片 A/D 转换器。它采用逐次逼近型的 A/D 转换器,最大转换时间为 25us,转换精度为 0.05%,所以适合于高精度的快速转换采样系统。芯片内部包含微处理器借口逻辑(有三态输出缓冲器),故可直接与各种类型的 8 位或者 16 位的微处理器连接,而无需附加逻辑接口电路,切能与 CMOS 及 TTL 电路兼容。AD574 采用 28 脚双列直插标准封装,其引脚图如下:图 3.5 AD574 管脚图我们采用单极性接法,电路接线图如下图 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)FSmUXK式中:S传感器及其测量电路的灵敏度(即被测量 X 转换成电压 U 的转换系数)K放大器的放大倍数A/D 转换器满量程输入电压mA/D 转换器满量程输出数字FSD而被测量 X 总是以其测量数字 N 和测量单位 x1表示(3-10)x1将式(3-10)代入(3-9)得(3-11)DUSKFSm由上式可见只要满足以下条件(3-12)11FSmx就可以使 A/D 转换结果 D 与被测量 x 的数值 N 相等,即 D=N,在这种情况下将A/D 转换结果作为被测量的数值传送到显示器显示出来。将 S=5mV/Kg, K=500, U=5V , DFS=4096 , X=1/2048 代入得 11FSmUKx本科毕业设计(论文)3.4 显示电路与 AT89S52 单片机接口电路设计1602 液晶模块内部的字符发生存储器(CGROM)已经存储了 160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是 01000001B(41H) ,显示时模块把地址 41H中的点阵字符图形显示出来,我们就能看到字母“A” 。因为 1602 识别的是 ASCII 码,试验可以用 ASCII 码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如A 。以下是 1602 的 16 进制 ASCII 码表地址:读的时候,先读左边那列,再读上面那行,如:感叹号!的 ASCII 为 0x21,字母 B 的 ASCII 为 0x42(前面加 0x 表示十六进制) 。3.5 键盘电路与 AT89S52 单片机接口电路设计矩阵式键盘的结构与工作原理: 在键盘中按键数量较多时,为了减少 I/O 口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如 P1 口)就可以构成 4*4=16 个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成 20 键的键盘,而直接用端口线则只能多出一键(9 键) 。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。矩阵式键盘的按键识别方法 :确定矩阵式键盘上何键被按下介绍一种“行扫描法” 。行扫描法 行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。判断键盘中有无键按下 将全部行线 Y0-Y3 置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与 4 根行线相交叉的 4 个按键之中。若所有列线均为高电平,则键盘中无键按下。 判断闭合键所在的位置 本科毕业设计(论文)在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。 在本系统中键盘采用矩阵式键盘并采用中断工作方式。键盘为 3 X 4 键盘,包括0、1、2、3、4、5、6、7、8、9、十个数字及小数点和清除键。采用中断工作方式提高了 CPU的利用效率,没键按下时没有中断请求,有键按下时,向 CPU 提出中断请求,CPU 响应后执行中断服务程序,在中断程序中才对键盘进行扫描。下图就是键盘电路与 AT89S52 单片机接口电路图。1 2 3 4 5 6ABCD654321DCBATitleNumber RevisionSizeBDate: 12-Jan-2008 Sheet of File: D:子子子子子子.Ddb Drawn By:EA/VP 31X1 19X2 18RESET 9RD17 WR16INT012INT113T0 14T1 15P101 P112P123 P134P145 P156P167 P178P0039 P0138P0237 P0336P0435 P0534P0633 P0732P20 21P21 22P22 23P23 24P24 25P25 26P26 27P27 28PSEN 29ALE/P30TXD 11RXD 10AT89S52VCC12 3U2ANDR3 4&1K图 3.8 键盘电路与 AT89S52 单片机接口电路图本科毕业设计(论文)3.6 报警电路的设计D1LEDQ1PNPLS1SPEAKERR 1 53 00+5VP2. 6图 3.9 报警电路图当电路检测到称重的物体超过仪器的测量限制时,将产生一个信号给报警电路。使报警电路报警从而提醒工作人员注意,超限报警电路如图 3.9 所示。它是有 89S52 的 P2.6 口来控制的,当超过设置的重量时(5Kg) ,通过程序使P2.6 口值为高电平,从而使三极管导通,报警电路接通,使蜂鸣器 SPEAKER 发出报警声,同时使报警灯 LED 发光。由于持续的声音不能够引起人们的关注,所以本系统的报警电路采用间断的声音和频闪的灯光来实现。这一任务的实现主要靠程序来完成,在此不再赘述。本科毕业设计(论文)第四章 系统软件设计4.1 主程序设计图 4.1 系统主程序流程图系统上电后,初始化程序将 RAM 的 30H5FH 内存单元清零,P2.6 引脚置成低电平,防止误报警。主程序模块主要完成编程芯片的初始化及按需要调用各模块(子程序),在系统初始化过程中,将系统设置成 5Kg 量程,并写 5Kg 量程标志。设计流程图如图4.1 所示。本科毕业设计(论文)4.2 子程序设计系统子程序主要包括 A/D 转换启动及数据读取程序设计、键盘输入控制程序设计、显示程序设计、以及中断程序设计等。4.2.1 A/D 转换启动及数据读取程序设计本课题中,A/D 转换采用 A/D574 芯片,它是 12 位输出,重量计算要求精确到克,其输出值范围为 000000000000B 111111111111B 转换为十进制数 04096,而系统所要求输出重量范围 02000g,所以我们进行线性参数的标度变换,12 位 A/D 精度: 2Kg/4096=0.49g,近似为 0.5g。因此在数制转换后重量采用浮点小数输出,小数点后保留 1 位有效数字,单价和总价也都保留一位小数,即精确到角。A/D 转换结果 D 与被测量 x 存在以下关系:FSmDUXK由于11FSmx因此 A/D 转换结果 D 与被测量 x 的数值 N 相等,即 D=N,在这种情况下将A/D 转换结果作为被测量的数值传送到显示器显示出来。 (详细证明过程参考陈辰报告) A/D 转换子程序主要是指在系统开始运行时,把称重传感器传递过来的模拟信号转换成数字信号并传递到单片机所涉及到的程序设计。设计流程图如图 4-2所示。本科毕业设计(论文)A / D 5 7 4 初始化启动 A / D 转换A / D 转换完成数据储存数据显示Y开始N4.2 A/D 转换启动及数据读取程序流程图4.2.2 数制转换子程序设计在数制转换前要进行系数调整, 在 IN0 输入的数最大为 5V,要求的质量 500g对应的是 4.8V,为十六进制向十进制转换方便,将系数放大 100 倍。并用小数点位置的变化体现这一过程。数制之间的转换:在二进制数制中,每向左移一位表示数乘二倍。以每四位作为一组对数分组,当第四位向第五位进位时,数由 8 变到 16,若按十进制数制规则读数,则丢失 6,所以应进行加六调整。DA 指令可完成这一调整。可见数制之间的转换可以通过移位的方法实现。其中,移出数据的保存可以通过自乘再加进位的方法实现,因为乘二表示左移一位,左移后,低位进一,则需加一。否则,加零。而通过移位已将要移入的尾数保存在了进位位中,所以能实现。本科毕业设计(论文)R 3 存 1 6 位二进制的低八位R 2 存 1 6 位二进制的高八位R 6 存调整后的低两位 , R 5存中间两位 , R 4 存高两位R 3 左移一位 , R 2 右移一位R 6 、 R 5 、 R 4 依次保存移入值 , 并分别进行调整R 7 0取 R 4 的低位存入 3 0 H 单元作为百位信息 , R 5 高位存入 3 1 H 作为十位信息 , 低位存入 3 2 H 作为个位R 6 高位作为小数点的信息R 7 R 7 . 1YN开始返回图 4.3 数据处理流程图4.2.3 显示子程序设计显示子程序主要是来判断是否需要显示,以及如何去显示,也是十分重要的程序之一。而显示子程序是其他程序所需要调用的程序之一,因此,显示子程序的设计就显得举足轻重,设计的时候也要十分的小心和卖力。设计显示子程序的流程图如下图 4-4 所示:本科毕业设计(论文)显示欢迎界面开始有无按键显示功
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 英语听力填词考试题目及答案
- 2025年微型核反应堆及配套产品项目规划申请报告
- 2025年中级会计职称考试会计实务二试题及答案
- 2025年新能源汽车电池梯次利用在新能源汽车保险业务中的应用可行性分析报告
- 来宾兴宾区中烟工业2025秋招面试半结构化模拟题30问附高分答案
- 2025医务人员手卫生规范考试题(附答案)
- 六盘水钟山区中烟工业2025秋招烟草配方研究岗位面试模拟题及答案
- 深圳市烟草公司2025秋招党建文秘岗位面试模拟题及答案
- 锡林郭勒盟烟草公司2025秋招财务会计类岗位高频笔试题库含答案
- 雅安市烟草公司2025秋招物流调度岗位高频笔试题库含答案
- 水电安装管理培训课件
- 高空作业规范
- 学堂在线 劳动教育 期末考试答案
- dcs权限管理制度
- 药品技术研发管理制度
- DB14∕T 3319-2025 中药材产地趁鲜切制技术规程 赤芍
- 儿童常见疾病预防
- 苏教版数学四年级上册 小学数学报
- 温泉度假酒店项目水土保持方案报告书
- 校园人脸通道管理制度
- 北京市2025学年高二(上)第一次普通高中学业水平合格性考试物理试题(原卷版)
评论
0/150
提交评论