基于单片机的的设计与实现(整理版)_第1页
基于单片机的的设计与实现(整理版)_第2页
基于单片机的的设计与实现(整理版)_第3页
基于单片机的的设计与实现(整理版)_第4页
基于单片机的的设计与实现(整理版)_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

1、郑州轻工业学院郑州轻工业学院本科毕业设计(论文) 题 目 基于单片机的电子秤设计 学生姓名 专业班级 电子信息工程10-01班 学 号 院 (系) 电气信息工程学院 指导教师 完成时间 郑州轻工业学院电气信息工程学院本科毕业设计任务书题目题目 基于单片机的电子秤设计设计 专业专业 电子信息工程 学号学号 姓名姓名 主要内容:主要内容:电子秤在工业和生活中应用广泛。本课题要求采用 STC89C52 单片机,设计制作一款电子秤。选用显示方案,设计显示系统及键盘电路,完成人机交互界面;选用合适的传感器,设计采样网络;设计合适的算法,对采集到的数据进行噪声过滤,加入调零功能,校准电子称。要求完成系统的

2、软硬件设计、安装调试、数据测量及分析、论文撰写。基本要求:基本要求:1.设计完成电阻应变式传感器与单片机接口电路等电路的连接;2.设计压力检测,模数转换,报警等程序;3.完成相应的实验项目例程的设计、调试,仿真等;4.完成相关的文档整理、资料整理等工作。参考书籍:参考书籍:1 何立民主编.单片机应用技术选编.北京:北京航空航天大学出版社,1998.2 李华.MCU-51 系列单片机实用接口技术.北京:北京航空航天大学出版社,1993.3 张毅刚,彭喜元.新编 MCS-51 单片机应用设计.哈尔滨:哈尔滨工业大学出版社,2003, 10. 完完 成成 期期 限:限: 2 20 01 14 4.

3、.0 03 3 2 20 01 14 4. .0 06 6 指指导导教教师师签签章章: 专业负责人签章:专业负责人签章: 20142014 年年 3 3 月月 1 1 日日基于单片机的电子秤设计摘 要电子秤是将检测与转换技术、计算机技术、信息处理技术等技术综合一体,与我们日常生活息息相关的现代新型称重仪器。本课题为基于单片机的电子秤设计,硬件上采用 STC89C52 单片机作为主控制芯片,使用应变式压力传感器进行信号采集,然后以 INA128 专用放大器进行信号放大,然后进行模数转换,并经由单片机结合键盘输入电路,最终将运算结果显示在 LCD1602 液晶屏上。软件采用模块式设计,逻辑结构简单

4、清晰。设计的电子秤可以显示物体重量和所需金额,并可以由按键进行操作,基本上达到设计要求。关键词 电子秤 称重传感器 模数转换 STC89C52ELECTRONIC DESIGN BASED ON SINGLE CHIP MICROCOMPUTERABSTRACTElectronic scale is the detection and conversion technology, computer technology, information processing technology such as integration, is closely related to our daily

5、life of a modern new weighing apparatus.This topic for the electronic scale design based on single chip microcomputer, hardware on the STC89C52 single-chip microcomputer as the main control chip,Using strain type pressure sensor signal acquisition, and then by special amplifier INA128 signal amplifi

6、cation, and then to convert the modulus,And through the single chip microcomputer keyboard input circuit, will eventually result in LCD1602 LCD display.Software adopts modular design, logic structure is simple and clear.Design of the electronic scale can display the object weight and the amount need

7、ed, and can be operated by buttons, basically meet the design requirements.KEY WORDS Electronic scale Weighing sensor Analogue-to-digital conversion STC89C52目 录中文摘要.I英文摘要.II 1 绪论 .1 2 总体方案设计 .2 设计整体方案 .2 主控制器方案 .2 称重传感器选型 .5 放大器选型 .7 模数转换器选型 .8 2.6 键盘部分的方案.10 显示部分选型 .11 过载报警部分的方案 .11 3 硬件设计 .13 系统设计

8、的总体思路 .13 单片机 STC89C52 最小系统 .13 3.3 放大电路.14 模数转换器与单片机接口电路 .15 显示电路与单片机接口电路 .16 键盘电路与单片机接口电路 .17 报警电路 .18 4 系统软件设计.19 编程语言的选择 .19 主程序的设计 .20 子程序的设计 .21 模数转换子程序的设计.21 键盘扫描子程序的设计.22 显示子程序的设计.23 价格计算子程序的设计.24 报警子程序的设计.25 5 系统调试 .27 软件设计调试 .27 程序编写软件.27 仿真软件.27 硬件调试 .28 6 总结与展望 .30致谢 .31参考文献 .32附录 1 系统原理

9、图 .33附录 2 仿真图 .34附录 3 实物图 .35附录 4 程序清单 .361绪论电子秤是日常生活中常用的称重工具,广泛应用于大中型商场、超市、物流配送中心。电子秤在结构及原理上取代了以杠杆平衡为原理的传统机械式称量工具。相与传统的机械式称量工具相比,电子秤具有称量精度高、应用范围广、装机体积小、易于操作使用等优点,在外形布局、结构、工作原理和材料上都是全新的计量衡器。电子秤的设计是通过压力传感器采集到被测物体的重量并将其转换成电压信号,模拟电压信号经放大后经 A/D 转换电路转换成数字量被送入到单片机微控制器中,再经过单片机控制译码显示器,从而显示出被测物体的重量。 目前电子秤不仅要

10、向高精度、高可靠的方向发展,而且更需向多功能的方向发展。目前电子秤的附加功能主要有以下几种:1.电子秤附加了计算机信息补偿装置,可以进行自诊断、自校正和多种补偿计算和处理。2.附加特殊的数据处理功能。3.具有皮重、净重显示等特种功能。电子秤有些已具备了动物称量模式,即通过进行算术平均、积分处理和自动调零等方法,消除上述的误差。目前的电子秤有附加多种计算和数据处理功能,可以满足多种使用的要求。今后,随着电子高科技的飞速发展,电子秤技术的发展必定会日新月异。同时,功能更加齐全的高精度、高智能的先进电子秤将会不断问世,其应用范围也会更加拓宽。本文主要是设计的内容是简易电子秤,它用单片机作为处理核心,

11、信号由压力传感器感受后经放大器放大和模数转换后输入到单片机处理,同时该电子秤具有LCD 显示和键盘输入。该电子秤具体实现的功能是能够测量一定质量内物体的质量,能够利用键盘输入价格,具有清零,可以计算总价,并能通过 LCD 直接显示出来,超过所测重量时能够报警。2总体方案设计设计整体方案电子秤设计的整体方案是:压力传感器采集到因压力变化而产生的电信号,但是一般这样的电信号很小,所以需要利用放大电路将其放大,放大后的电信号通过A/D 转换器转换为数字信号后送入到微处理器中处理,经过微处理器处理后的输出信号通过控制显示器显示出来。同时还需要使用键盘对物品单价等信息输到微处理器内部,还需要有过载报警装

12、置。其整体设计方案 如图 2-1 所示:放大电路传感器A/D 转换器报警电路主控制器LCD 显示键盘输入图 2-1 电子秤整体设计方案图主控制器方案 主控制器是电子秤的核心部分,它需要接受转换后的传感器信号,同时也能扫描接受到键盘的输入信号,计算价格后控制显示器的输出,当超过称重量量程时还要控制报警装置报警。STC89C521是 STC 公司生产的一种低功耗、高性能CMOS8 位微控制器,具有 8K 在系统可编程 Flash存储器。STC89C52 使用经典的 MCS-51 内核,但做了很多的改进使得芯片具有传统 51 单片机不具备的功能。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程

13、 Flash,使得 STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k 字节 Flash,512 字节 RAM, 32 位 I/O 口线, 图 2-2 STC89C52 引脚图看门狗定时器,内置 4KB EEPROM,MAX810 复位电路,3 个 16 位定时器/计数器,4 个外部中断,一个 7 向量 4 级中断结构(兼容传统 51 的 5 向量 2 级中断结构) ,全双工串行口。另外 STC89X52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。

14、掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率 35MHz,6T/12T 可选2。STC89C52 参数:1. 增强型 8051 单片机,6 时钟/机器周期和 12 时钟/机器周期可以任意选择,指令代码完全兼容传统 8051.2. 工作电压:5.5V3.3V(5V 单片机)/3.8V2.0V(3V 单片机)3. 工作频率范围:040MHz,相当于普通8051 的080MHz,实际工作 频率可达48MHz4. 用户应用程序空间为8K 字节 5. 片上集成512 字节 RAM 图2-3 STC89C52实物图6. 通用 I/O 口(

15、32 个) ,复位后为:P0/P1/P2/P3 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。7. ISP(在系统可编程)/IAP(在应用可编程) ,无需专用编程器,无 需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程 序,数秒即可完成一片8. 具有 EEPROM 功能9. 具有看门狗功能10. 共3 个16 位定时器/计数器。即定时器 T0、T1、T211. 外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可 由外部中断低电平触发中断方式唤醒12. 通用异步串行口(UART

16、) ,还可用定时器软件实现多个 UART13. 工作温度范围:-40+85(工业级)/075(商业级)14. PDIP 封装3 STC89C52 具体介绍如下7: 主电源引脚(2 根)VCC(Pin40):电源输入,接5V 电源GND(Pin20):接地线外接晶振引脚(2 根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端控制引脚(4 根)RST/VPP(Pin9):复位引脚,引脚上出现 2 个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序

17、存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32 根)STC89C52 单片机有 4 组 8 位的可编程 I/O 口,分别位 P0、P1、P2、P3 口,每个口有 8 位(8 根引脚),共 32 根。P1 口(Pin1Pin8):8 位准双向 I/O 口线,名称为 P1.0P1.7 P2 口(Pin21Pin28):8 位准双向 I/O 口线,名称为 P2.0P2.7 16表 2-1 STC89C52 主要功能主要功能特性兼容 MCS51 指令系统8K 可反复擦写 Flash ROM32 个双向 I/O 口256x8bit 内

18、部 RAM3 个 16 位可编程定时/计数器中断时钟频率 0-24MHz2 个串行中断可编程 UART 串行通道2 个外部中断源共 6 个中断源2 个读写中断口线3 级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能称重传感器选型称重传感器按转换方法分为光电式、电磁力式、液压式、电容式、陀螺仪式、磁极变形式、振动式、电阻应变式等 8 类,我选择应用最广泛的电阻应变式传感器。电阻应变式称重传感器是利用电阻应变片发生变形时其电阻也随之发生变化的原理工作的,根据传感器理论可知,设长为 L、截面积为 S、电阻率为 的电阻丝,已知其阻值为: (2-1) SLR 当电阻丝两端有机械应力 F 时,、L、S

19、都会发生变化,从而导致电阻发生变化。这种应变片式传感器是基于材料的电阻应变效应,电阻应变片即可单独作为传感器使用,又能作为敏感元件结合弹性元件构成力学量传感器。电阻应变片把机械应变信号转换为R/R 后,由于应变量及相应电阻变化一般都很微小,难以直接精确测量,且不便处理。因此,要采用转换电路把应变片的R/R 变化转换成电压或电流变化。其转换电路常用测量电桥4。如图 2-2 所示为常见的直流供电的平衡差动测量电桥:R1-R1R2+R2R4+R4R3-R3EinEout图 2-4 直流供电的平衡差动测量电桥图中,为供桥电源电压,当初始有时,则电桥输出电压或电流为零,这时电桥处于平衡状态。其测量原理:

20、用应变片测量时,将其粘贴在弹性体上。当弹性体受力变形时,应变片的敏感栅也随同变形,其电阻值发生相应变化8,通过转换电路转换为电压或电流的变化。由于内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,输出信号电压可由下式给出: (2-24R1R2R3R4EEin( 24)R1R2R3R4RRoutRR2) 本文的目的是设计一简易电子秤,最大称重约为 2.5 千克,重量误差不大于0.01 千克;考虑到与其相配置的各种电路的设计的难易程度和设计性价比,最终选择了 CZAF-605 电阻应变式称重传感器8,其称重规模为 5kg。表 2-2 传感器参数额定负荷5(kg)额定输出非线性0.05 %F.S滞

21、后重复性蠕变输出温度影响零点温度影响零点平衡0.1000 mV/V输入阻抗111510% 输出阻抗100010% 绝缘阻抗1000 M安全过载率极限过载率工作温度范围-2060 推荐工作电压5V最大工作电压10V材质铝合金防护等级IP65电缆0.8180台面尺寸160160 mm接线方式红:电源+,黑:电源-,绿:信号+,白:信号-图2-5 传感器内部结构图当垂直正压力 P 作用于梁上时,梁产生形变,电阻应变片 R1,R2受压弯拉伸,阻值增加;R3,R4受压缩,阻值减小;电桥失去平衡,产生不平衡电压,与作用在传感器上载荷 P 成正比,从而将非电量转化成为电量输出5。工作原理如下图2-6所示:图

22、2-6 传感器工作原理放大器选型压力传感器感受重力转换后输出的信号一般电平较低;经由电桥等电路变换后的信号亦难以直接用来显示、记录、控制或进行模数转换。为此,测量电路中需要模拟放大环节。这一环节目前主要依靠由集成运算放大器的基本元件构成具有各种特性的放大器来完成。所采用的传感器输出电压振幅范围 05mV。而模数转换的输入电压要求为05V,因此放大环节至少 1000 倍的增益,此处我们需要放大 1000 倍。根据本设计的实际情况增列出了两种方案。方案一:由高精度低漂移运算放大器构成差动放大器。 差动放大器具有高输入阻抗,增益高的特点,可以利用普通运放 ( 如 OP07) 做成一个差动放大器,其内

23、部电路图如图 2-7 所示。图 2-7 差动放大器内部电路电阻 R1、R2 电容 C1、C2、C3、C4 用于滤除前级的噪声,C1、C2 为普通小电容,可以滤除高频干扰,C3、C4 为大的电解电容,主要用于滤除低频噪声6。优点:输入级加入射随放大器,增大了输入阻抗,中间级为差动放大电路,滑动变阻器 R6 可以调节输出零点,最后一级可以用于微调放大倍数,使输出满足满量程要求。输出级为反向放大器,所以输出电阻不是很大,比较符合应用要求。缺点:此电路要求 R3、R4 相等,误差将会影响输出精度,难度较大。实际测量,每一级运放都会引入较大噪声,对精度影响较大。 方案二:采用专用仪表放大器12,如:IN

24、A128,INA129 等。 此类芯片内部采用差动输入,共模抑制比高,差模输入阻抗大,增益高,精度也非常好,且外部接口简单。 以 INA128 为例,引脚图如 2-8 所示: INA128 特点: 低偏置电压 最大 50V 低温度漂移 最大 0.5V/C 低输入偏置电流 最大 5nA 高共模抵制 CMR 最小 120dB 输入保护至40V 图 2-8 INA128 引脚图 宽电源电压范围 2.25 至 18V 低静态电流 700A 8 引脚塑料 DIP 和 SO-8 封装放大器增益 G=1+50k/Rg,通过改变 Rg 的大小来改变放大器的增益。因为放大的倍数是 1000,所以大致选用 50

25、欧姆的电阻就可以了。 基于以上分析,采用专用仪表放大器能跟好的满足要求,我最终选择了 INA128。 模数转换器选型称重传感器采集的压力信号是模拟量,单片机系统内部运算时用的都是数字量,即 0 和 1,因此对于单片机而言我们无法直接操作模拟量,必须将模拟量转换为数字量。这就需要在单片机前段加上模数转换器,模数转换器就是将输入的模拟信号转换成数字信号9。而模数转换器的数字信号提供给微处理器处理。现在模数转换的基本方法有十几种,常用的有计数法、逐次比较法、双斜积分法和并行转换法。由于逐次比较法模数转换具有速度快、分辨率高等特点,而且采用这种方法的 ADC 芯片成本较低,所以我们选用逐次比较型模数转

26、换集成芯片 ADC0832,ADC0832 是美国国家半导体公司生产的一种 8 位分辨率、双通道模数转换芯片,其输入输出电平与 TTL/CMOS 相兼容,电源供电时输入电压在 05V 之间,工作频率为250KHZ 转换时间为 32S,一般功耗仅为 15mW;由于它体积小,兼容性,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。ADC0832 特点: 8 位分辨率; 双通道 A/D 转换; 输入输出电平与 TTL/CMOS 相兼容; 5V 电源供电时输入电压在 05V 之间; 工作频率为 250KHZ,转换时间为 32S; 一般功耗仅为 15mW; 8P、14PDIP(双列直插)

27、 、PICC 多种封装; 商用级芯片温宽为 0C to +70C,工业级芯片温宽为40C to +85C;芯片接口说明: CS_ 片选使能,低电平芯片使能。 CH0 模拟输入通道 0,或作为 IN+/-使用。 CH1 模拟输入通道 1,或作为 IN+/-使用。图 2-9 AD0832 双列直插式封装引脚图 GND 芯片参考 0 电位(地) 。 DI 数据信号输入,选择通道控制。 DO 数据信号输出,转换数据输出。 CLK 芯片时钟输入。 Vcc/REF 电源输入及参考电压输入(复用) 。 ADC0832 为 8 位分辨率 A/D 转换芯片,其最高分辨可达 256 级,可以适应一般的模拟量转换要

28、求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在 05V 之间。芯片转换时间仅为 32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过 DI 数据输入端,可以轻易的实现通道功能的选择。键盘部分的方案键盘输入是人机交互界面中重要的组成部分,它是系统接受用户指令的直接途径。键盘是由若干个按键开关组成,键的多少根据单片机应用系统的用途而定。键盘由许多键组成,每一个键相当于一个机械开关触点,当键按下时,触点闭合,当键松开时,触点断开。单片机接收到按键的触点信号后作相应的功能处理。因此,相对于单片机系统来

29、说键盘接口信号是输入信号。键盘部分有两个可行的方案,第一是采用 34 的矩阵键盘结构的键盘接口电路,第二是采用 44 的矩阵键盘结构的键盘接口电路15。由于电子秤需要设置单价(十个数字键) ,还具有确认、清零等功能,总共需设置 13 个键(包括一个复位键) ,其中复位可以单独拿出来。所以我们采用 34 的矩阵键盘结构的键盘接口电路。34 矩阵式键盘的特点是把检测线分成两组,一组为行线,一组列线,按键放在行线和列线的交叉点上。图 2-6 给出了一个 34 的矩阵键盘结构的键盘接口电路,图中的每一个按键都通过不同的行线和列线与主机相连这。34 矩阵式键盘共可以安装 12 个键,但只需要 7 条测试

30、线。图 2-10 34 矩阵式键盘图显示部分选型数据显示是电子秤的一项重要功能,是人机交换的主要组成部分,它可以将测量电路测得的数据经过微处理器处理后直观的显示出来。数据显示部分可以有以下两种方案供选择:一是 LED 数码管显示,二是 LCD 液晶。LED 显示每一个数码管只能显示一个数字,电子秤系统需要许多数码管,会使线路变得复杂化。LCD 液晶显示器是一种极低功耗显示器,其能够多行显示,并且能够显示汉字或英文字母,应用于电子秤中能够更人性化,更容易操作。所以最终选择了两行显示的LCD1602,LCD1602 的引脚图如 2-11 所示。图 2-11 液晶显示器 LCD1602过载报警部分的

31、方案智能仪器一般都具有报警和通讯功能,报警主要用于系统运行出错、当测量的数据超过仪表量程或者是超过用户设置的上下限时为提醒用户而设置。在本系统中,设置报警的目的就是在超出电子秤测量范围时,发出声光报警信号,提示用户,防止损坏仪器。超限报警电路是由单片机的 I/O 口来控制的,当称重物体重量超过系统设计所允许的重量时,通过程序使单片机的 I/O 值为高电平,从而三极管导通,使蜂鸣器SPEAKER 发出报警声,同时使二极管发光。3硬件设计3.1 系统设计的总体思路 物体放在压力传感器上,传感器发生形变,阻抗就发生变化,产生一个变化的模拟信号,该信号需要有放大电路放大后输入到模数转换器,转换为数字信

32、号后输入到微处理器处理。微处理器根据键盘命令以及程序将结果输出到显示器,直到显示结果。如下图所示 3-1 所示。压力传感器放大电路模数转换微处理器键 盘x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = LCD 显示x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = x = 图 3-1 硬件设计的总体思路单片机 STC89C52 最小系统图 3-2 STC89C52 最小系统图STC89C52 是片内有 ROM/EPROM 的单片机,其最小系统简单、可

33、靠,仅由时钟电路、复位电路、电源电路构成11。1、时钟电路STC89C52 虽然有内部振荡电路,但要形成时钟,必须外部附加电路。STC89C52 单片机的时钟产生方法有两种。内部时钟方式和外部时钟方式。本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。振荡晶体可在 1.2MHZ 到 12MHZ 之间选择。电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,可在 20pF 到 100pF 之间取值。所以本设计中,振荡晶体选择 12MHZ,电容选择 30pF11。2、复位电路STC89C52 的复位电路是由外部的复位电路来实现的。只需给复位引脚 RST 加上大于

34、2 个机器周期的高电平就可使其复位。复位电路通常采用上电自动复位和按键复位两种方式。本设计就是用的按键手动复位。其中电平复位是通过 RST 端经电阻与电源 Vcc 接通而实现的。3、电源电路STC89C52 的电源脚分别为 20 脚 Vss 和 40 脚 Vcc(图中已默认连接,未显示出来) 。这两个脚分别接地和+5V 直流电源,31 脚 EA 为内外存储器的控制端,接+5V允许访问外部存储器。放大电路传感器检测电路的功能是把电阻应变片的电阻变化转变为电压输出,本设计中选用 CZAF-605 电阻应变式称重传感器10,因为通过其得到的电压信号很小,为所以还需要放大器放大信号。考虑到干扰的作用,

35、对传感器的信号进行了滤波处理,最终设计如图 3-3。 图 3-3 传感器与放大器的接口电路INA128 的 2 和 3 脚为信号输入端,4、5 和 7 脚为电源引脚。微弱信号放大后从 INA128 的第 6 脚输出。通过调节 Rg 的阻值可以来改变放大倍数,使得输出电压在 A/D 转换的基准电压要求范围之内。RdRaRcRbVCC10K10K200pF100pF200pF100pF-V4IN+3IN-2OUT6REF5RG1RG8+V7INA128VCC1K根据要求,A/D 转换器的输入电压变化范围是 0V,传感器的输出电压信号在05mv,因此取放大器的放大倍数 1000。因此代入公式1000

36、005. 099. 4G,。501KGRg 50100050gKR模数转换器与单片机接口电路ADC0832 为 8 位分辨率 A/D 转换芯片,其最高分辨可达 256 级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在 05V 之间。芯片转换时间仅为 32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强12。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过 DI 数据输入端,可以轻易的实现通道功能的选择21。正常情况下 ADC0832 与单片机的接口应为 4 条数据线,分别是CS、CLK、DO、DI。但由于 DO 端

37、与 DI 端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将 DO 和 DI 并联在一根数据线上使用。当ADC0832 未工作时其 CS 输入端应为高电平,此时芯片禁用,CLK 和 DO/DI 的电平可任意。当要进行 A/D 转换时,须先将 CS 使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端 CLK 输入时钟脉冲,DO/DI 端则使用 DI 端输入通道功能选择的数据信号。在第 1 个时钟脉冲的下沉之前 DI 端必须是高电平,表示启始信号。在第 2、3 个脉冲下沉之前DI 端应输入 2 位数据用于选择通道功能9。 作为单通道

38、模拟信号输入时 ADC0832 的输入电压是 05V 且 8 位分辨率时的电压精度为。如果作为由 IN+与 IN-输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的是,在进行 IN+与 IN-的输入时,如果 IN-的电压大于 IN+的电压则转换后的数据结果始终为 00H。ADC0832 与单片机的接口电路如图 3-4。T115RD17WR16CS1CH02CH13GND4DI5DO6CLK7VCC8ADC0832VCC图 3-4 ADC0832 与单片机的接口电路图显示电路与单片机接口电路本设计采用的是 LCD1602 显示,LCD1602 液晶也叫 1602

39、 字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块13。它有若干个 57 或者 511等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。1602LCD 是指显示的内容为 162,即可以显示两行,每行 16 个字符液晶模块(显示字符和数字)。1602 采用标准的 16 脚接口,其中 1 和 2 脚为电源正负极,3 脚为对比度调整端,4 脚 RS 为寄存器选择,5 脚 RW 为读写信号线,6 脚为使能端,7 到 14 脚为 8 为双向数据端。15 和 16 脚为电源背光极。LCD1

40、602 与单片机的连接如图 3-5。图 3-5 LCD1602 与单片机的连接图3 脚 VEE 接一个滑动变阻器,滑动变阻器两端接电源和地。调试欢动变阻器的值可以改变 LCD 的对比度。因为 LCD 为共阳极,所以 D0 到 D7 有加入上拉电阻。矩阵式键盘的结构与工作原理:在键盘中按键数量较多时,为了减少 I/O 口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如 P1 口)就可以构成 34=12 个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成 16 键的键盘

41、,而直接用端口线则只能多出一键。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。矩阵式键盘的按键识别方法 :确定矩阵式键盘上何键被按下介绍一种“行扫描法”。行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。判断键盘中有无键按下,将全部行线 Y0-Y3 置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与 4 根行线相交叉的 3 个按键之中。若所有列线均为高电平,则键盘中无键按下。 判断闭合键所在的位置,在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置

42、某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。在本系统中键盘采用矩阵式键盘并采用中断工作方式。键盘为 34 键盘,包括0、1、2、3、4、5、6、7、8、9、十个数字及确认和清除键。采用中断工作方式提高了 CPU 的利用效率,没键按下时没有中断请求,有键按下时,向 CPU 提出中断请求,CPU 响应后执行中断服务程序,在中断程序中才对键盘进行扫描。下图就是键盘电路与 STC89C52 单片机接口电路图。P1.01P1.12P1.23P1.34P1.45P1.56P1.67S9S8S

43、3S2S12S0S7S1S4S5S11S64.7KR24.7KR34.7KR44.7KR5VCC图 3-6 键盘电路与单片机的连接图报警电路当电路检测到称重的物体超过仪器的测量限制时,将产生一个信号给报警电路。使报警电路报警从而提醒工作人员注意,超限报警电路如下图所示17。RXD101KPNPVCCDiodeSpeaker图 3-7 报警电路图它是有 STC89C52 的 RXD 口来控制的,RXD 本来为低电平,当超过设置的重量时(2.5Kg) ,通过程序使 RXD 口值为高电平,从而使三极管导通,报警电路接通,使蜂鸣器 SPEAKER 发出报警声,同时使报警灯 LED 发光。这一任务的实现

44、主要靠程序来完成。4 系统软件设计在系统软件的设计中,一般工作量较大,特别是对那些控制系统比较复杂的情况。如果是机电一体化的设计人员,往往需要同时考虑单片机的软硬件资源分配。程序设计是一件复杂的工作,为了把复杂的工作条理化,就要有相应的步骤和方法。其步骤可概括为以下三点:(1)分析系统控制要求,确定算法:对复杂的问题进行具体的分析,找出合理的计算方法及适当的数据结构,从而确定编写程序的步骤。这是能否编制出高质量程序的关键。(2)根据算法画流程图:画程序框图可以把算法和解题步骤逐步具体化,以减少出错的可能性。 (3)编写程序:根据程序框图所表示的算法和步骤,选用适当的指令排列起来,构成一个有机的

45、整体,即程序。程序数据的一种理想方法是结构化程序设计方法。结构化程序设计是对利用到的控制结构类程序做适当的限制,特别是限制转向语句(或指令)的使用,从而控制了程序的复杂性,力求程序的上、下文顺序与执行流程保持一致性,使程序易读易理解,减少逻辑错误和易于修改、调试。根据系统的控制任务,本系统的软件设计主要由主函数程序、A/D 转换启动及数据读取程序设计、显示子程序设计、键盘扫描子的程序设计、价格计算子程序设计、以及报警子程序设计等。 编程语言的选择C 语言是一种通用的计算机程序设计语言,在国际上非常流行。它既可以用来编写计算机的系统程序,也可以用来编写一般的应用程序。以前计算机的系统软件主要用汇

46、编语言编写,单片机应用系统更是如此。C 语言是当前最流行的程序设计语言,它像其它高级语言一样,面向用户,面向解题的过程,编程者不必熟悉具体的计算机内部结构和指令;C 语言又像汇编语言一样,可以对机器硬件进行操作。如进行端口 I,0 操作、位操作、地址操作,并可内嵌汇编指令,将汇编指令当作它的语句一样。我们知道,汇编语言将涉及计算机硬件,所以 C 语言又像低级语言一样,可以对计算机硬件进行控制,因此人们把它称为介于高级语言与低级语言之间的一种中级语言。正是因为 C 语言具有这样的特性,所以很适合编写要对硬件进行操作的软件程序。本文采用 C 语言进行编写因为此系统软件比较,其存储量较大,因此必须应

47、用 C 语言编程了。主程序的设计主程序是系统信息处理的关键,主程序模块主要完成编程芯片的初始化及按需要调用各模块(子程序),在系统初始化过程中,初始化程序将 RAM 的 30H 到5FH 单元清零,RXD 引脚置成低电平,防止误报警,同时将系统设置成量程,并写量程标志。设计流程图如图 4-1 所示。主程序主要完成编程芯片的初始化及按需要调用各子程序,上电启动后,系统初始化,单片机读取模数转换器的数据,然后调用显示子程序显示重量,同时扫描键盘子程序,调用价格计算子程序计算价格并显示出来18。图 4-1 电子秤系统程序设计流程图子程序的设计主程序按需要调用各子程序。系统子程序主要包括 A/D 转换

48、启动及数据读取程序设计、显示子程序设计、键盘扫描子的程序设计、价格计算子程序设计、以及报警子程序设计等。模数转换子程序的设计A/D 转换启动及数据读取子程序设计主要是上电运行后,ADC0832 完成初始化,把经放大的称重传感器传递过来的模拟信号转换成数字信号并传递到单片机所涉及到的程序设计设计流程图如图 4-2 所示。ADC0832 进行模数转换时,须现将 CS 是能端置于低电平并且保存低电平直到完全结束。芯片开始转换工作,同时由处理器向芯片时钟输入端 CLK 输入时钟脉冲,DO 和 DI 端则使用 DI 端输入通道功能选择的数据信号。在第 1 个时钟脉冲的下沉之前 DI 端必须是高电平,表示

49、启始信号。在第 2、3 个脉冲下沉之前 DI 端应输入 2 位数据用于选择通道功能,到第 3 个脉冲的下沉之后 DI 端的输入电平就失去输入作用,此后 DO/DI 端则开始利用数据输出DO 进行转换数据的读取。从第 4 个脉冲下沉开始由 DO 端输出转换数据最高位DATA7,随后每一个脉冲下沉 DO 端输出下一位数据。直到第 11 个脉冲时发出最低位数据 DATA0,一个字节的数据输出完成。从第 11 个字节的下沉输出DATA0。随后输出 8 位数据,到第 19 个脉冲时数据输出完成,也标志着一次A/D 转换的结束23。最后将 CS 置高电平禁用芯片19。图 4-2 A/D 转换启动及数据读取

50、程序流程图键盘扫描子程序的设计键盘扫描子程序主要是扫描键盘的输入,调用显示子程序显示,输出输入的参数,计算总价是调用价格计算子程序计算总价格。键盘电路设计成 34 矩阵式,由键盘编码方式可以得出 1、2、3、4、5、6、7、8、9、0 及清零和计价各键对应的键值:0 x31,0 x32,0 x33,0 x34,0 x35,0 x36,0 x37,0 x38,0 x39,0 x3d,0 x30,0 x2e。在程序中可以先判断按键编码,然后根据编码将键盘代表的数值送到相应的存储单元,再进功能选择或数据处理。图 4-3 键盘扫描子程序流程图显示子程序的设计单片机应用系统通常都需要进行人机对话。其中包

51、括人对应用系统的状态干预与数据输入,应用系统必须向操作者显示状态与运行结果等信息。显示器是单片机应用系统中最常用的人机交互设备显示子程序是字符显示,首先初始化,输出一些基本信息,然后调用事先编好的键盘显示子程序,输出显示命令,显示过程中还需要调用延时子程序。当输入通道采集了一个信号,或人为的键入一个值,或系统与仪表出现异常情况显示管理软件应及时调用显示驱动程序模块,用来更新当前数据显示符号。设计显示子程序的流程图如下图 4-4 所示:图 4-4 显示子程序流程图价格计算子程序的设计价格计算子程序由键盘计价键控制,当输入单价后,在没有清零的情况下,点计价键,计算出总价后,调用显示子程序显示出中重

52、量。图 4-5 价格程序流程图报警子程序的设计因为压力传感器的所受压力有极限,所以称重量必须有在一定范围内,超过重量时必须有报警程序20。主程序初始化设定阈值为,报警子程序将设定的阈值与实时显示的值进行比较,先比较高位,若高位大,即设定值小于实时显示的值,这时将 RXD 置为 1,将发光二极管点亮,且使蜂鸣器发出声音。若高位相等,就比较低位,同理若设定值低位小于实际显示值,将 RXD 置为 1,将发光二极管点亮,且使蜂鸣器发出声音。这就需要一段比较程序以及一小段置 1 清 0 程序。图 4-6 报警子程序流程图5 系统调试软件设计调试 程序编写软件本次程序编写运用的软件是 Keil uv4.K

53、eil C51 是美国 Keil Software 公司出品的基于 51 系列单片机的 C 语言软件开发系统,运用接近于传统 c 语言的语法来开发,与汇编相比,C 语言简单易学容易上手,而且可以提高工作效率和缩短项目开发周期,同时此软件还能嵌入汇编21。运行Keil 软件需要 WIN98、WINXP 等操作系统。这些系统均是主流系统,使此软件容易在 PC 上运行。假如你使用 C 语言编程,那么 Keil 将是你最佳的选择。Keil 的网站尽管暂时没有中文版本,但是却不影响 Keil 软件被中国 80%的硬件工程师使用。凡是与电子相关的专业,都会开始从单片机编程开始学习,而学习单片机自然会用到

54、Keil 软件。2009年2月发布 Keil UVision4,它加入灵便的窗口管理体系,使得开发人员可以同时使用多台监视器。并且使之前的功能更加完善。新版本还支持更多最新的 ARM芯片,是应用范围更广。仿真软件本次设计运用的仿真软件是 protues。Protues 软件是英国 Labcenter electronics 公司生产的 EDA 工具软件。它不仅仅能够仿真 EDA 软件,还能仿真单片机及外围器件。并且它是目前最好的仿真单片机的工具。虽然它在国内起步较晚,但是已经成为单片机仿真的主流工具。Proteus 是世界上著名的 EDA 工具(仿真软件),实现了从原理图布图、代码调试到单片机

55、与外围电路协同仿真,真正实现了从概念到产品的完整设计。到目前为止是世界上唯一将电路仿真软件、PCB 设计软件和虚拟模型仿真软件三者完美结合在一起的软件设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和 MSP430 等。在编译方面,它也支持 IAR、Keil 和 MATLAB 等多种编译. 在设计电子秤的过程中,先在软件中仿真,仿真成功后,再制作出实物。仿真采用的是 proteus 软件,是一专门基于单片机的及其外围电路的仿真软件。仿真的第一步是先进行软件调试,是通过对程序的汇编、连接、执行来发现程序中存在的语法

56、错误与逻辑错误并加以排除纠正错误的过程。软件调试的方法是先分块后组合。在编出完整的程序并确保无误后进行综合调试。在调试程序之前,先检查各硬件模块间的连接是否无误,有无断路现象。确认连接无误后就给系统通电进行调试。正式调试时,首先进行总体调试,即观察系统的运行情况以便快速地发现存在的问题。然后进行各硬件模块调试,主要针对有问题的硬件模块及其程序进行调试,以便准确地查出问题的原因并解决问题。图 5-1 软件调试图硬件调试按照设计好的电子秤系统原理图,计算出各个元器件的参数,选择相应的器件,制作出了实际的电子秤系统后。首先检查连线是否与逻辑图一致,用万用表检查有无短路、虚焊等现象。器件的型号、规格、

57、规格、极性是否有误,插接方向是否正确。检查完毕,可用万用表检测仪下电路板正负电源之间的电阻,排除电源短路的可能。之后将生成的 hex 文件烧到单片机中,得到响应的实物,观察现象,并排除问题。电路焊接完成之后,通电发现 LCD 不亮,万用表检测后发现 LCD 存在虚焊现象,补焊后 LCD 正常工作。图 5-2 硬件调试图6 总结与展望 本论文主要研究的是简易电子秤的设计,主要是基于超市的电子秤,在小重量范围的称量。具有如下的功能:1、能用简易键盘设置单价,能够同时显示重量和金额;2、重量显示:单位为千克;最大称重为 2.5 千克,重量误差不大于0.01 千克;3、具有清零功能和复位功能。4、超出

58、所测的重量时能够报警。此电子秤采用 LCD1602 显示,能够同时显示重量价格,并且具有很高的性价比,能够广泛的应用少于 2.5kg 重量的范围的交易。随着现代数字电子技术的发展,电子秤不仅要向高精度、高可靠方向发展,而且更需向多种功能的方向发展。其发展的方向主要有:1 电子秤附加处理机构计算机信息补偿装置,可以进行自诊断、自校正和多种补偿计算和处理。2 具有皮重、净重显示等特种功能。电子秤具备动物称量模式,即通过进行算术平均、积分处理和自动调零等方法,消除上述的误差。3 附加特殊的数据处理功能。目前的电子秤有附加多种计算和数据处理功能, 以满足多种使用的要求。在整个毕业设计过程中,我对大学四

59、年所学的知识有了一个系统的认识和理解,尤其是对本课题所用到的单片机及其相关知识有了进一步的掌握,对利用单片机进行控制系统的设计与开发又及对系统的分析和问题的解决有了切身的认识和体会,正所谓学以致用,在此实践过程中增长了知识、丰富了经验,提高了解决问题的能力。系统的分析与设计过程是对学习的总结过程,更是进一步学习和探索的过程。控制系统的开发设计是一项复杂的系统工程,必须严格按照系统分析、系统设计、系统实施、系统运行与调试的过程来进行。系统的分析和设计是项很辛苦的工作,同时也是一个充满乐趣的过程,在设计过程中,要边学习,边实践,遇到新问题就不断探索和努力即可使问题得到解决。致 谢经过半年的忙碌和工

60、作,本次毕业设计终于完成了,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及一起工作的同学们的支持,想要完成这个设计是难以想象的。 通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在传感器的基本原理、传感器的实际应用,以及在常用传感器设计思路技巧的掌握方面都能向前迈了一人步,为日后成为合格的应用型人才打下良好的基础。我在刘老师的精心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,并对当前电了领域的研究状况和发展方向有了一定的了解,这对我今后进一步学习传感器方面的知识有极人的帮助。在此,我衷心感

温馨提示

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

评论

0/150

提交评论