基于单片机控制的电子秤设计112_第1页
基于单片机控制的电子秤设计112_第2页
基于单片机控制的电子秤设计112_第3页
基于单片机控制的电子秤设计112_第4页
基于单片机控制的电子秤设计112_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I 目目 录录 摘要摘要 I AbstractAbstract II 1 绪论 1 2 系统方案论证与选型 2 2 1 控制器部分 3 2 2 传感器的选择 3 2 3 放大电路的选择 4 2 4 A D 转换器的选择 6 2 5 键盘处理方案论证 6 2 6 显示电路的选择 6 2 7 超量程报警部分选择 7 3 硬件电路设计 8 3 1 AT89S52 的最小系统电路 12 3 1 1AT89S52 简介 9 3 1 2 单片机管脚说明 9 3 1 3AT89S52 的最小电路构成 9 3 2 2A D 转换芯片与单片机接口电路设计 15 3 3 显示电路与单片机接口电路设计 11 3 4 键盘电路与单片机接口电路设计 11 3 5 报警电路设计 12 4 系统软件设计 14 II 4 1 主程序设计 15 4 2 子程序设计 18 4 2 1A D 转换启动以及数据读取程序设计 18 4 2 2 数制转换子程序设计 19 4 2 3 显示子程序设计 21 4 2 4 键盘扫描子程序的设计 25 4 2 5 报警子程序的设计 26 设计总结 28 致谢 29 参考文献 30 附录 31 1 基于单片机控制的电子秤设计基于单片机控制的电子秤设计 摘要 摘要 本文设计的电子称是以单片机为主要部件 用汇编语言进行软件设计 通过传感器测量信号 用信号放大系统放大信号 经过 A D 转换系统转换信号 输送给 CPU 控制系统 通过 LCD 显示系统显示数据 键盘输入系统用来输入操 作指令 阀值报警系统可以防止超量程损坏电子称 基本上实现了电子秤的基 本功能 具备使用方便 直观 测量准确 成本低等特点 适应了现代社会发 展的需求 在本设计中将智能化 人性化 自动化用在了电子秤的控制系统中 系统 采用 AT89S52 芯片作为单片机的主控芯片 外围以称重电路 显示电路 报警 电路 键盘电路等构成系统电路板 从而实现了自动称重的各种控制功能 关键词关键词 电子称 单片机 AT89S52 称重传感器 A D 转换器 LCD 显示器 2 Electronic design based on single chip microcomputer control Abstract This article is based on single chip design said the main electronic components in assembly language for software design Measured by the sensor signal amplifies the signal with a signal amplification system after A D conversion system control signal transmission to the CPU LCD display system displays the data through the keyboard input system for entering instructions the threshold alarm system to prevent over range damage to electronic said Basically realize the basic functions of electronic scales With easy to use intuitive measurement accuracy and low cost Adapted to the needs of modern social development In this design will be intelligent humane automated electronic scales used in the control system System uses the AT89S52 chip as the microcontroller control chip the external load assigned to the city circuit display circuit alarm circuit the keyboard circuit board constitutes a system enabling the automatic weighing of the various control functions Keywords electronic scale AT89S52 load sensor A D converter LCD display 3 绪绪 论论 1 1 称重技术和衡器的发展称重技术和衡器的发展 称重技术自古以来就被人们所重视 作为一种计量手段 广泛应用于工农业 科研 交通 内外贸易等各个领域 与人民的生活紧密相连 电子秤是电子衡器中 的一种 衡器是国家法定计量器具 是国计民生 国防建设 科学研究 内外贸易 不可缺少的计量设备 衡器产品技术水平的高低 将直接影响各行各业的现代化水 平和社会经济效益的提高 称重装置不仅是提供重量数据的单体仪表 而且作为工 业控制系统和商业管理系统的一个组成部分 推进了工业生产的自动化和管理的现 代化 它起到了缩短作业时间 改善操作条件 降低能源和材料的消耗 提高产品 质量以及加强企业管理 改善经营管理等多方面的作用 称重装置的应用已遍及到 国民经济各领域 取得了显著的经济效益 因此 称重技术的研究和衡器工业的发 展各国都非常重视 50 年代中期电子技术的渗入推动了衡器制造业的发展 60 年代 初期出现机电结合式电子衡器以来 经过 40 多年的不断改进与完善 我国电子衡器 从最初的机电结合型发展到现在的全电子型和数字智能型 现今电子衡器制造技术 及应用得到了新发展 电子称重技术从静态称重向动态称重发展 计量方法从模拟 测量向数字测量发展 测量特点从单参数测量向多参数测量发展 特别是对快速称 重和动态称重的研究与应用 通过分析近年来电子衡器产品的发展情况及国内外市 场的需求 电子衡器总的发展趋势是小型化 模块化 集成化 智能化 其技术性 能趋向是速率高 准确度高 稳定性高 可靠性高 其功能趋向是称重计量的控制 信息和非控制信息并重的 智能化 功能 其应用性能趋向于综合性和组合性 电 子秤是电子衡器中的一种 衡器是国家法定计量器具 是国计民生 国防建设 科 学研究 内外贸易不可缺少的计量设备 衡器产品技术水平的高低 将直接影响各 行各业的现代化水平和社会经济效益的提高 1 2 电子秤的组成以及工作原理电子秤的组成以及工作原理 电子称是利用物体的重力作用来确定物体质量的测量仪器 也可用来确定与物体 质量相关的其他量的大小 参数 或特性 电子称一般由以下三部分组成 承重 传力复位系统 称重传感器 测量显示和数据输出的的载荷测量装置 当被称物体 放置在秤体的秤台上时 其重量便通过秤体传递到称重传感器 传感器随之产生力 4 电效应 将物体的重量转换成与被称物体重量成一定函数关系 一般成正比关系 的 电信号 电压或电流等 此信号由放大电路进行放大 经滤波后再由模 数 A D 器 进行转换 数字信号再送到微处器的 CPU 处理 CPU 不断扫描键盘和各种功能开关 根据键盘输入内容和各种功能开关的状态进行必要的判断 分析 由仪表的软件来 控制各种运算 运算结果送到内存贮器 需要显示时 CPU 发出指令 从内存贮器 中读出送到显示器显示 或送打印机打印 一般地信号的放大 滤波 A D 转换以 及信号各种运算处理都在仪表中完成 1 3 设计思路设计思路 目前 台式电子秤在商业贸易中的使用已相当普遍 但存在较大的局限性 体积大 成本高 需要工频交流电源供应 携带不便 应用场所受到制约 现 有的便携秤为杆秤或以弹簧 拉伸变形来实现计量的弹簧秤 居民用户使用的基 本是杆秤 弹簧盘秤制造工艺要求较高 弹簧的疲劳问题无法彻底解决 一旦超过 弹簧弹性限度 弹簧秤就会产生很大误差 以至损坏 影响到称重的准确性和可靠 性 只是一种暂时的代用品 也被列入逐渐取消的行列 微控制器技术 传感器技术的发展和计算机技术的广泛应用 电子产品的 更新速度达到了日新月异的地步 本系统在设计过程中 除了能实现系统的基 本功能外 还增加了打印和通讯功能 可以实现和其他机器或设备 包括上位 PC机和数据存储设备 交换数据 除此之外 系统的微控制器部分选择了兼容性 比较好的AT89系列单片机 在系统更新换代的时候 只需要增加很少的硬件电 路 甚至仅仅删改系统控制程序就能够实现 另外由于实际应用当中 称可以有一定量的过载 但不能超出要求的范围 为此我们还设计了过载提示和声光报警功能 综上所述 本课题的主要设计思路是 利用压力传感器采集因压力变化产生 的电压信号 经过电压放大电路放大 然后再经过模数转换器转换为数字信号 最后把数字信号送入单片机 单片机经过相应的处理后 得出当前所称物品的 重量及总额 然后再显示出来 此外 还可通过键盘设定所称物品的价格 主 要技术指标为 称量范围0 5kg 分度值0 01kg 精度等级 级 电源DC1 5V 一 节5号电池供电 这种高精度智能电子秤体积小 计量准确 携带方便 集质量称量功能与价 5 格计算功能于一体 能够满足商业贸易和居民家庭的使用需求 AT89S52 单片机 压力传感器 放大电路A D 转换器 LCD 显示器 阀值报警 设计思路框图 1 1 按键输入 6 第二章第二章 系统方案论证与选型系统方案论证与选型 2 1CPU 的选择方案的选择方案 本设计由于要求必须使用单片机作为系统的主控制器 而且以单片机为主控制器 的设计 可以容易地将计算机技术和测量控制技术结合在一起 组成新型的只需 要改变软件程序就可以更新换代的 智能化测量控制系统 这种新型的智能仪表 在测量过程自动化 测量结果的数据处理以及功能的多样化方面 都取得了巨大 的进展 再则由于系统没有其它高标准的要求 又考虑到本设计中程序部分比较大 根据 总体方案设计的分析 设计这样一个简单的的系统 可以选用带 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 传感器的选择传感器的选择 在本设计中 传感器是个十分重要的元件 因此对传感器的选择也显得十分重 要 不仅要注意其量程和参数 还要考虑与其相配置的各种电路的设计的难易程 度和设计性价比等等 综合考虑 本设计采用 SP20C G501 电阻应变式传感器 其最大量程为 7 5 Kg 称 重传感器由组合式 S 型梁结构及金属箔式应变计构成 具有过载保护装置 由于 惠斯登电桥具诸如抑制温度变化的影响 抑制干扰 补偿方便等优点 所以该传 感器测量精度高 温度特性好 工作稳定等优点 广泛用于各种结构的动 静态 7 测量及各种电子秤的一次仪表 该称重传感器主要由弹性体 电阻应变片电缆线 等组成 其工作原理如图 2 1 所示 图 2 1 传感器工作原理图 其工作原理 用应变片测量时 将其粘贴在弹性体上 当弹性体受力变形时 应 变片的的敏感栅也随之变形 其阻值发生相应的变化 通过转换电路转换为电压 或电流的变化 由于内部线路采用惠更斯电桥 当弹性体承受载荷产生变形时 输出信 号电压可由下式 2 2 给出 2 2 Ein R4 R4 R3 R3 R2 R2 R1 R1 42 42 E RR RR out 2 3 放大电路的选择方案放大电路的选择方案 主要由高精度低漂移运算放大器构成差动放大器 而构成的前级处理电路差 动放大器具有高输入阻抗 增益高的特点 可以利用普通运放做成一个差动放大 器 其设计电路如图 2 3 所示 8 图 2 3 利用普通运放设计的差动放大器电路图 2 4 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 两次积分的时间都是利用同一个时钟发生器和计数器来确定 因此所得到的表达 9 式与时钟频率无关 其转换精度只取决于参考电压 VR 此外 由于输入端采用了 积分器 所以对交流噪声的干扰有很强的抑制能力 若把积分器定时积分的时间 取为工频信号的整数倍 可把由工频噪声引起的误差减小到最小 从而有效地抑 制电网的工频干扰 这类 ADC 主要应用于低速 精密测量等领域 如数字电压表 其优点是 分辨率高 可达 22 位 功耗低 成本低 缺点是 转换速率低 转换 速率在 12 位时为 100 300SPS 4 压频变换型 ADC 其优点是 精度高 价格较低 功耗较低 缺点是 类似于 积分型 ADC 其转换速率受到限制 12 位时为 100 300SPS 考虑到本系统中对物体重量的测量和使用的场合 精度要求不是很苛刻 转 换速率要求也不高 根据系统的精度要求以及综合的分析 本设计采用了 12 位 逐次逼近型 A D 转换器 AD574 2 52 5 键盘处理部分方案论证键盘处理部分方案论证 由于电子秤需要设置单价 十个数字键 还具有确认 删除等功能 总共 需设置 17 个键 包括一个复位键 键盘的扩展有使用以下方案 采用矩阵式键盘 矩阵式键盘的特点是把检测线分成两组 一组为行线 一组列线 按键放在行线和列线的交叉点上 图 2 4 给出了一个 4 4 的矩阵键 盘结构的键盘接口电路 图中的每一个按键都通过不同的行线和列线与主机相 连这 4 4 矩阵式键盘共可以安装 16 个键 但只需要 8 条测试线 当键盘的 数量大于 8 时 一般都采用矩阵式键盘 结合本设计的实际要求 16 个按键使 用 4 4 矩阵式键盘 另外一个复位键使用独立式按键实现 2 62 6 显示器部分的选择显示器部分的选择 显示器是人机交换的主要部分 他可以将测量电路测得的数据经过 cpu 处理后 直观的显示出来 数据显示有两种方案 LED 数码显示和 LCD 液晶显示 LCD 液 晶显示器是一种极低功耗显示器 从电子表到计算器 从袖珍仪表到便携式微 型计算机以及一些文字处理机都用到了液晶显示器 考虑到液晶显示器的直观 方便 这次设计选择了 LCD 液晶显示器 2 72 7 超量程报警部分选择超量程报警部分选择 智能仪器一般都具有报警和通讯功能 报警主要用于系统运行出错 当测 10 量的数据超过仪表量程或者是超过用户设置的上下限时为提醒用户而设置 在 本系统中 设置报警的目的就是在超出电子秤测量范围时 发出声光报警信号 提示用户 防止损坏仪器 超限报警电路是由单片机的 I O 口来控制的 当称重物体重量超过系统设 计所允许的重量时 通过程序使单片机的 I O 值为高电平 从而三极管导通 使蜂鸣器 SPEAKER 发出报警声 同时使报警灯 D1 发光 第三章第三章 硬件电路设计硬件电路设计 在本系统中用于称量的主要器件是称重传感器 称重传感器在受到压力或 拉力时会产生电信号 受到不同压力或拉力是产生的电信号也随着变化 而且 力与电信号的关系一般为线性关系 由于称重传感器一般的输出范围为 0 20mV 对 A D 转换或单片机的工作参数来说不能使 A D 转换和单片机正常工 作 所以需要对输出的信号进行放大 由于传感器输出的为模拟信号 所以需 要对其进行 A D 转换为数字信号以便单片机接收 单片机根据称重传感器输出 的电信号和速度传感器输出的速度信号计算出物体的重量 在本系统中 硬件 电路的构成主要有以下几部分 AT89C52 的最小系统构成 电源电路 数据采 集 人 机交换电路等 单 片 机 复位电路 时钟电路 按键接口电路 A D 转换接口电路LCD 显示电路 报警电路 11 3 1 1AT89S52 介绍介绍 高性能 8 位单片机 AT89S52 是一个低功耗 高性能 CMOS 8 位单片机 片 内含 8k Bytes 的可反复擦写 1000 次的 Flash 只读程序存储器 器件采用 ATMEL 公司的高密度 非易失性存储技术制造 兼容标准 MCS 51 指令系统及 80C51 引脚结构 芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元 功能强大的微型计算机的 AT89S52 可为许多嵌入式控制应用系统提供高性价比 的解决方案 AT89S52 具有如下特点 40 个引脚 8k Bytes Flash 片内程序存储器 256 bytes 的随机存取数据存储器 RAM 32 个外部双向输入 输出 I O 口 5 个中断优先级 2 层中断嵌套中断 2 个 16 位可编程定时计数器 2 个全双工串 行通信口 看门狗 WDT 电路 片内时钟振荡器 此外 AT89S52 设计和配置 了振荡频率可为 0Hz 并可通过软件设置省电模式 空闲模式下 CPU 暂停工作 而 RAM 定时计数器 串行口 外中断系统可继续工作 掉电模式冻结振荡器而 保存 RAM 的数据 停止芯片其它功能直至外中断激活或硬件复位 3 1 2 AT89S52 各引脚功能介绍各引脚功能介绍 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 时 它利用内部上拉优 12 势 当对外部八位地址数据存储器进行读写时 P2 口输出其特殊功能寄存器的 内容 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号 P3 口 P3 口管脚是 8 个带内部上拉电阻的双向 I O 口 可接收输出 4 个 TTL 门 电流 当 P3 口写入 1 后 它们被内部上拉为高电平 并用作输入 作为输 入 由于外部下拉为低电平 P3 口将输出电流 ILL 这是由于上拉的缘故 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 P3 0口引脚功能表 P3口引脚第二功能 P3 0RXD 串行口输入 P3 1TXD 串行口输出 P3 2INT0 外部中断0输入 13 P3 3INT1 外部中断1输入 P3 4T0 定时器0外部脉冲输入 P3 5T1 定时器1外部脉冲输入 P3 6WR 外部数据存储器写脉冲输出 P3 7RD 外部数据存储器读脉冲输出 图 3 1AT89S52 引脚图 3 1 3AT89S52 的最小系统电路构成的最小系统电路构成 AT89S52 单片机的最小系统由时钟电路 复位电路 电源电路及单片机构 成 单片机的时钟信号用来提供单片机片内各种操作的时间基准 复位操作则 使单片机的片内电路初始化 使单片机从一种确定的初态开始运行 单片机的时钟信号通常用两种电路形式得到 内部振荡方式和外部振荡方 式 在引脚 XTAL1 和 XTAL2 外接晶体振荡器 简称晶振 或陶瓷谐振器 就构成 了内部振荡方式 由于单片机内部有一个高增益反相放大器 当外接晶振后 就构成了自激振荡器并产生振荡时钟脉冲 当单片机的复位引脚 RST 出现 2 个机器周期以上的高电平时 单片机就执 行复位操作 如果 RST 持续为高电平 单片机就处于循环复位状态 根据应用 14 的要求 复位操作通常有两种基本形式 上电复位和上电或开关复位 上电复 位要求接通电源后 自动实现复位操作 上电或开关复位要求电源接通后 单片机自动复位 并且在单片机运行期 间 用开关操作也能使单片机复位 单片机的复位操作使单片机进入初始化状 态 其中包括使程序计数器 PC 0000H 这表明程序从 0000H 地址单元开始执 行 系统复位是任何微机系统执行的第一步 使整个控制芯片回到默认的硬件 状态下 51 单片机的复位是由 RESET 引脚来控制的 此引脚与高电平相接超过 24 个振荡周期后 51 单片机即进入芯片内部复位状态 而且一直在此状态下等 待 直到 RESET 引脚转为低电平后 才检查 EA 引脚是高电平或低电平 若为高 电平则执行芯片内部的程序代码 若为低电平便会执行外部程序 3 2A D 转换器与转换器与 AT89S52 单片机接口电路设计单片机接口电路设计 AD574 是美国 Analog Device 公司生产的 12 位单片 A D 转换器 它采用逐 次逼近型的 A D 转换器 最大转换时间为 25us 转换精度为 0 05 所以适合 于高精度的快速转换采样系统 芯片内部包含微处理器借口逻辑 有三态输出 缓冲器 故可直接与各种类型的 8 位或者 16 位的微处理器连接 而无需附加 逻辑接口电路 切能与 CMOS 及 TTL 电路兼容 AD574 采用 28 脚双列直插标准 封装 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 位转换方式 15 当 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 之间转换 本次设计采用单极性接法 16 图 3 2 AD574 芯片引脚图 17 图 3 3 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 显示电路与显示电路与 AT89S52 单片机的接口电路设计单片机的接口电路设计 本设计采用是 LCD 显示 在 LCD 驱动时 需在段电极和公共电极上施加交 流电压 若只在电极上施加 DC 电压时 液晶本身发生劣化 液晶驱动方式包括 静态驱动 动态驱动等驱动方式 18 图 3 4 单片机与 LCD 接线图 3 4 键盘电路与键盘电路与 AT89s52 的接口电路设计的接口电路设计 矩阵式键盘的结构与工作原理 在键盘中按键数量较多时 为了减少 I O 口的占用 通常将按键排列成矩阵形式 在矩阵式键盘中 每条水平线和垂直 线在交叉处不直接连通 而是通过一个按键加以连接 这样 一个端口 如 P1 口 就可以构成 4 4 16 个按键 比之直接将端口线用于键盘多出了一倍 而且 线数越多 区别越明显 比如再多加一条线就可以构成 20 键的键盘 而直接用 端口线则只能多出一键 9 键 由此可见 在需要的键数比较多时 采用矩阵 法来做键盘是合理的 矩阵式键盘的按键识别方法 确定矩阵式键盘上何键被按下介绍一种 行 扫描法 行扫描法 行扫描法又称为逐行 或列 扫描查询法 是一种最常用 的按键识别方法 如上图所示键盘 介绍过程如下 判断键盘中有无键按下 将 全部行线 Y0 Y3 置低电平 然后检测列线的状态 只要有一列的电平为低 则 表示键盘中有键被按下 而且闭合的键位于低电平线与 4 根行线相交叉的 4 个 按键之中 若所有列线均为高电平 则键盘中无键按下 判断闭合键所在的位 19 置 在确认有键按下后 即可进入确定具体闭合键的过程 其方法是 依次将行 线置为低电平 即在置某根行线为低电平时 其它线为高电平 在确定某根行 线位置为低电平后 再逐行检测各列线的电平状态 若某列为低 则该列线与 置为低电平的行线交叉处的按键就是闭合的按键 在本系统中键盘采用矩阵式键盘并采用中断工作方式 键盘为 4 X 4 键盘 包括 0 1 2 3 4 5 6 7 8 9 十个数字及确认和清除键 采用中断工 作方式提高了 CPU 的利用效率 没键按下时没有中断请求 有键按下时 向 CPU 提出中断请求 CPU 响应后执行中断服务程序 在中断程序中才对键盘进 行扫描 单片机与键盘接口电路 3 5 3 5 报警电路的设计报警电路的设计 当电路检测到称重的物体超过仪器的测量限制时 将产生一个信号给 报警电路 使报警电路报警从而提醒工作人员注意 它是有 89S52 的 P2 6 口来控制的 当超过设置的重量时 5Kg 通过程 序使 P2 6 口值为高电平 从而使三极管导通 报警电路接通 使蜂鸣器 SPEAKER 发出报警声 同时使报警灯 LED 发光 由于持续的声音不能够引 起人们的关注 所以本系统的报警电路采用间断的声音和频闪的灯光来实 现 这一任务的实现主要靠程序来完成 20 图 3 5 报警电路设计图 第四章第四章 系统软件设计系统软件设计 程序设计是一件复杂的工作 为了把复杂的工作条理化 就要有相应 的步骤和方法 其步骤可概括为以下三点 分析系统控制要求 确定算法 对复杂的问题进行具体的分析 找 21 出合理的计算方法及适当的数据结构 从而确定编写程序的步骤 这是能 否编制出高质量程序的关键 根据算法画流程图 画程序框图可以把算法和解题步骤逐步具体化 以减少出错的可能性 编写程序 根据程序框图所表示的算法和步骤 选用适当的指令排 列起来 构成一个有机的整体 即程序 程序数据的一种理想方法是结构化程序设计方法 结构化程序设计是 对利用到的控制结构类程序做适当的限制 特别是限制转向语句 或指令 的使用 从而控制了程序的复杂性 力求程序的上 下文顺序与执行流程 保持一致性 使程序易读易理解 减少逻辑错误和易于修改 调试 根据 系统的控制任务 本系统的软件设计主要由主程序 初始化程序 显示子 程序 数据采集子程序和延时程序等组成 4 1 主程序设计主程序设计 系统上电后 初始化程序将 RAM 的 30H 5FH 内存单元清零 P2 6 引脚置成低电平 防止误报警 主程序模块主要完成编程芯片的初始化及按需要调用各模块 子程序 在系统初始化过程中 将系统设置成 5Kg 量程 并写 5Kg 量程标志 设计 流程图如图 4 1 所示 23 开始 设置堆栈指针 设置各中断服务程 序入口 相关寄存器清零 设置显示缓冲区 设置显示初值 设置中断优先级及 触发形式 调用执行代码转换 程序 调用键盘子程序 调用显示子程序 启动数模转换 调用数据处理子程 序 调用计算子程序 执行数模转换 调用显示子程序 设置显示子程序 INT1 有效 效 重物移去 返回 调用显示子程序 INT0 有效 N Y N N Y 24 4 24 2 子程序设计子程序设计 系统子程序主要包括 A D 转换启动及数据读取程序设计 键盘输入控制程 序设计 显示程序设计 以及中断程序设计等 4 2 1 A D 转换启动及数据读取程序设计 A D 转换子程序主要是指在系统开始运行时 把称重传感器传递过来 的模拟信号转换成数字信号并传递到单片机所涉及到的程序设计 设计流 程图如图 4 2 所示 A D574 初始化 启动A D转换 A D转换完成 数据储存 数据显示 Y 开始 N 图 4 2 A D 转换启动及数据读取程序流程图 4 2 24 2 2 数制转换子程序设计数制转换子程序设计 在数制转换前要进行系数调整 在 IN0 输入的数最大为 5V 要求的 质量 500g 对应的是 4 8V 为十六进制向十进制转换方便 将系数放大 100 倍 并用小数点位置的变化体现这一过程 数制之间的转换 在二进制数制中 每向左移一位表示数乘二倍 以 每四位作为一组对数分组 当第四位向第五位进位时 数由 8 变到 16 若按十进制数制规则读数 则丢失 6 所以应进行加六调整 DA 指令可完 成这一调整 可见数制之间的转换可以通过移位的方法实现 其中 移出 25 数据的保存可以通过自乘再加进位的方法实现 因为乘二表示左移一位 左移后 低位进一 则需加一 否则 加零 而通过移位已将要移入的尾 数保存在了进位位中 所以能实现 R3存16位二进制的低八位 R2存16位二进制的高八位 R6存调整后的低两位 R5 存中间两位 R4存高两位 R3左移一位 R2右移一位 R6 R5 R4依次保存移入值 并分别进行调整 R7 0 取R4的低位存入30H单元作为百 位信息 R5高位存入31H作为十 位信息 低位存入32H作为个位 R6高位作为小数点的信息 R7 R7 1 Y N 开始 返回 图 4 3 数据处理流程图 4 2 3 显示子程序设计显示子程序设计 显示子程序主要是来判断是否需要显示 以及如何去显示 也是十分重要的 程序之一 而显示子程序是其他程序所需要调用的程序之一 因此 显示子程 26 序 的设计就显得举足轻重 设计的时候也要十的小心 设计显示子程序的流程图 如下图 4 4 所示 显示欢迎界面 开始 有无按键 显示功能选择按键 有无按键 是否为D 是否为E 是否为F 返回 键盘输入界面 显示测量界面 N Y N Y Y N Y N Y N 图 4 4 显示子程序流程图 4 2 4 键盘扫描子程序的设计键盘扫描子程序的设计 键盘电路设计成 4X4 矩阵式 由键盘编码方式可以得出 0 1 2 3 4 5 6 7 8 9 A B C D E 在程序中可以先判断按键编码 然后根据编 码将键盘代表的数值送到相应的存储单元 再进行功能选择或数据处理 27 键盘输入 LCD 初始化 字符显示 界面字符显示 调用 LCD 显 示 原地跳转 原地跳转 有功能键按 下 输入完毕 有返回键按下 NY N N Y 图 4 5 键盘扫描子程序设计流程图 4 2 5 报警子程序设计 由于要求要键盘设定阈值 所以要求有报警电路 报警电路可以有声报警 也可有光报警 将设定的阈值与实时显示的值进行比较 如果设定值小于实时 28 显示的值 则将 P1 0 置为 1 将发光二极管点亮 或使蜂鸣器发出声音 这就 需要一段比较程序以及一小段置 1 清 0 程序 开始 A D高位大 与阈值相等 A D低位大 与阈值相等 报警 返回 Y N Y N Y Y N N 图 4 6 报警子程序流程图 29 设计总结设计总结 随着集成电路和计算机技术的迅速发展 使电子仪器的整体水平发生巨大 变化 传统的仪器逐步的被智能仪器所取代 智能仪器的核心部件是单片机 因其极高的性价比得到广泛的应用与发展 从而加快了智能仪器的发展 而传 感器作为测控系统中对象信息的入口 越来越受到人们的关注 传感器好比人 体 五官 的工程模拟物 它是一种能将特定的被测量信息 物理量 化学量 生物量等 按一定规律转换成某种可用信号输出的器件或装置本次设计中的半 桥电子秤就是在以上仪器的基础上设计而成的 因此 只有充分了解有关智能 仪器 单片机 传感器以及各部分之间的关系才能达到要求 首先是传感器的精密度 它将直接影响电子秤的称重准确度 课设时由于 传感器发出的信号不是很稳定 所以称重时误差很大 如果使用精密度较高的 传感器 效果会好的多 其次是数据采集处理阶段 此阶段是对传感器发出的信号进行量化 采集 主要分为信号放大 采集 然后进行 A D 转换 该阶段需注意的地方是对传感 器输出的信号进行放大时 应选取合适的运算放大电路 最好是预先计算好应 放大的倍数 以便选取 还有就是进行数据处理时 选取适当的数据转换系数 使输出满足量程要求 30 致致 谢谢 经过半年的忙碌和工作 本次毕业设计已经接近尾声 作为一个本科生的 毕业设计 由于经验的匮乏 难免有许多考虑不周全的地方 如果没有指导老 师的督促指导 以及一起工作的同学们的支持 想要完成这个设计是难以想象 的 在这里要感谢我的指导老师李响老师 他平日里工作繁多 但在我做毕业 设计的每个阶段 从外出实习到查阅资料 设计草案的确定和修改 中期检查 后期详细设计 装配草图等整个过程中都给予了我悉心的指导 我的设计较为 复杂烦琐 但是老师仍然细心地纠正图纸中的错误 除了李老师的专业水平外 他的治学严谨和科学研究的精神也是我永远学习的榜样 并将积极影响我今后 的学习和工作 最后还要感谢大学四年来所有的老师 为我们打下专业知识的基础 同时 还要感谢所有的同学们 正是因为有了你们的支持和鼓励 此次毕业设计才会 顺利完成 31 参考文献参考文献 1 赵茂泰 智能仪器原理及应用 M 北京 电子工业出版社 2004 2 张毅刚 MCS 51 单片机应用设计 M 哈尔滨 哈尔滨工业大学出版社 2003 3 贾伯年 俞朴 传感器技术 M 东南大学出版社 2000 4 单成祥 传感器理论设计基础及其应用 M 北京 国防工业出版社 1999 5 李道华 李玲 朱艳 传感器电路分析与 M 武汉 武汉大学出版社 2000 6 沙占友 王彦朋等 智能传感器系统设计与应用 M 北京 电子工业出版 社 2004 6 7 何希才 薛永毅 传感器及其应用实例 J 北京 机械工业出版社 2004 1 8 李群芳 单片机微型计算机与接口技术 M 电子工业出版社 9 周立功 单片机实验与实践 M 北京航空航天大学出版社 2004 6 10 全国大学生电子设计竞赛组委会 全国大学生电子设计竞赛获奖作品汇编 J 北京理工大学出版社 2005 11 11 何立民 单片机高级教材 M 北京 航空航天大学出版社 2000 12 童诗白 华成英 模拟电子技术基础 M 北京 北京高等教育出社 2001 13 程林 超省电型电子秤的设计方案 J 福建 福建省计量科学技术研究所 2008 3 14 宁爱民 兰如波 单片机应用技术 15 徐晨 微机原理及应用 32 附录附录 程序清单 定义 中文 C 液晶 128X64 的地址 W C GLCD XDATA0E000H W D GLCD XDATA0E001H R B GLCD XDATA0E002H R D GLCD XDATA0E003H TIMER0 DATA 30H 延时时间的初值 TIMER1 DATA 31H 调用延时子程序的次数 DATA1 DATA 32H 点阵显示的变量 1 DATA2 DATA 33H 点阵显示的变量 2 X DATA 34H X 方向的位置 Y DATA 35H Y 方向的位置 COUNTER DATA 36H 计数器 N DATA 37H 行数变量 D1 DATA 38H 点变量 1 D2 DATA 39H 点变量 1 ADDR DATA 3AH 起始的显示位置 ADDR1 DATA 3BH 起始的显示位置临时变量 N1 DATA 3CH 行数的临时变量 主程序开始 ORG 0000H AJMP START ORG 0030H START CLR P1 0 SETB P1 1 33 MOV SP 60H LCALL INITIAL GLCD 调用 LCD 初始化 LCALL KAIJI 显示开机画面 LCALL DELAY500 LCALL DELAY500 LCALL DELAY500 LCALL TISHI 显示主界面 LCALL INI 8279 判断是否继续 KEY A MOV DPTR 8101H MOVX A DPTR ANL A 07H CJNE A 00H LP1 SJMP KEY A MOV DPTR 8100H MOVX A DPTR CJNE A 0DBH KEY A AJMP K1 LCALL YUZHI LCAL celianjieguo LCALL CELINGJIEGUO AJMP 各界面显示内容 DHTABLE1 DB 欢迎使用 DHTABLE2 DB 半桥电子秤 DHTABLE3 DB DHTABLE4 DB DHTABLE5 DB DHTABLE6 DB 设置警报上限 DHTABLE7 DB 确定 DHTABLE8 DB 请按 D 键 DHTABLE9 DB 34 DHTABLE10 DB 报警上限重量 DHTABLE11 DB g DHTABLE12 DB 确定 E CELIANG1 DB 电子秤 CELIANG2 DB 重量是 CELIANG3 DB CELIANG4 DB 返回 F 键盘扫描子程序 ORG 0000H AJMP MAIN ORG 0030H MAIN MOV DPTR TAB 将表头放入 DPTR LCALL KEY 调用键盘扫描程序 MOVC A A DPTR 查表后将键值送入 ACC MOV P0 A 将 Acc 值送入 P0 口 CLR P2 1 开显示 LJMP MAIN 返回反复循环显示 KEY LCALL KS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论