毕业设计(论文)-基于单片机上下位电子秤设计.doc_第1页
毕业设计(论文)-基于单片机上下位电子秤设计.doc_第2页
毕业设计(论文)-基于单片机上下位电子秤设计.doc_第3页
毕业设计(论文)-基于单片机上下位电子秤设计.doc_第4页
毕业设计(论文)-基于单片机上下位电子秤设计.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

闽南师范大学毕业论文(设计)基于单片机上下位电子秤设计Electronic Scale Based on the Master Computer and the Slave Computer of MCU姓 名: 学 号: 系 别: 物理与信息工程学院 专 业: 电气工程及其自动化 年 级: 20 13级 指导教师: 2016年 12 月 25 日闽 南 师 范 大 学学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权闽南师范大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于1、保密,在_年解密后适用本授权书。2、不保密。(请在以上相应方框内打“”)作者签名:日期: 年 月 日导师签名:日期: 年 月 日摘 要本文介绍了以STC89C52单片机为核心的上下位电子秤的研究。系统分为单片机最小系统、AD转换模块、矩阵键盘模块、时钟电路、显示模块、串口通讯模块及上位机。通过待称重物品经过系统上的称重传感器,将重量信号转换为电压信号,送到HX711模块进行AD转换,转换后的数字信号送到单片机中进行运算处理,最后将物体的重量、单价、总额等显示在LCD显示屏上,并通过串口与上位机通讯,实现同时在LCD与上位机上显示的功能。关键词:单片机;HX711;串口通讯;上位机全套图纸加扣 3012250582AbstractThis paper introduces the research on the electronic scale based on STC89C52 microcontroller as the core. The system is divided into the smallest single-chip system, AD conversion module, keyboard module, clock circuit, display module, serial communication module and the host computer. The items to be weighed by the weighing sensor system, the weight signal can be converted to a voltage signal is sent to the the HX711 module AD conversion, the converted digital signal sent to the operation processing of the MCU, the object weight, unit price, total amount of display in the LCD display, and through serial communication with the host computer, at the same time in the implementation of LCD and PC display Function.Keywords: Microcomputer; HX711; Serial communication; PC- II -目录中英文摘要I1 引言11.1 选题背景及实际意义11.2 国内外发展现状11.2.1称重传感器的国内外发展现状11.2.1称重技术的国内外发展现状12 系统设计32.1 系统设计要求32.2 系统设计思路32.3 方案比较与选型42.3.1 称重传感器的选择42.3.2 CPU主控芯片的选择42.3.3 AD转换芯片的选择42.3.4 显示方式的选择53 系统硬件电路设计63.1 称重传感器63.2 单片机最小系统73.3 AD转换电路83.3.1 AD芯片 HX711简介83.3.2 AD芯片 HX711电路原理图93.4 矩阵按键电路103.4.1 矩阵按键原理103.4.2 矩阵按键定义103.4.3 矩阵按键操作说明113.5 时钟电路113.5.1 DS1302时钟芯片简介113.5.2 DS1302时钟电路原理图123.6 显示电路123.7 串口通讯电路133.7.1 串口通讯原理133.7.2 通讯协议设置143.7.3 串口通讯具体流程153.8 上位机界面154 系统软件设计174.1 软件开发平台及开发工具174.2系统各模块的软件流程图174.2.1主程序流程图174.2.1子程序流程图185 系统测试195.1 使用的仪器及设备195.2 测试方法及步骤195.2.1 硬件调试195.2.2 软件调试195.2.3 HX711引脚测试波形图205.3 测试过程出现的问题及解决办法216 结论22参考文献23致谢24附录25附录一:器件清单25附录二:原理图26附录三:PCB图27附录四:实物图28附录五:上位机程序29- IV -1 引言1.1 选题背景及实际意义随着社会的不断发展,电子秤已经成为人们生活和工作中不可缺少的一种测量工具。但是现在许多传统的台秤、磅秤等已经不能满足人们的要求,已经在现实生活中逐渐被淘汰掉。所以设计一种便利、高速度、高精度的电子秤具有很高的现实意义。现在用于贸易使用的大部分是传统的秤,结构繁琐,体积庞大,制作成本较高,不易携带,运行稳定性较差,维修护理较难。与传统秤相比,智能电子秤采用了新型的传感器,高精度的AD转换器等与单片机结合实现高精度,快速及功能强等特点。并且现在市面上智能电子秤产品的技术水平较低。所以,针对传统秤的一些缺点,设计出一套比较完善的智能化的电子秤系统,势必会有广阔的应用前景。本设计由单片机最小系统、称重传感器,AD模块、串口通讯模块、LCD显示模块、矩阵按键模块、时钟电路及上位机组成。能实现基本称重、单价设定、价格计算、串口通讯等功能。具有体积小,精度高,称重速度快,操作简单等特点,可以广泛应用于超市,商场,家庭等场所。而且本设计采用了RS232串口与上位机实现通讯,使称重系统与计算机系统相互连接,使电子秤技术达到更高的水平,能够更加满足人们的需求,更受人们的青睐。1.2 国内外发展现状1.2.1称重传感器的国内外发展现状从20世纪70年代至今,国外许多国家在智能称重方面的技术水平、种类及规模已经达到了较为领先的水平。称重传感器在技术方面的主要指标为准确度、长期稳定性和可靠性1。现在用作商品交易用途的静态秤基本可以达到上面三点要求。从20世纪80年代开始,西方的一些发达国家,便已经开始对数字式称重传感器及数字称重系统的研发及前期的开发工作2。通过十多年不懈努力,开发出了许多种数字式智能称重传感器以及称重系统,在智能化电子称重领域内受到了很高的关注。目前我们国家的称重传感器的种类与国外许多国家的传感器的种类已经基本相同。我国在致力于研究称重系统且不断发展的时候,同时也积极吸收国外称重传感器的先进技术及研究成果,两相结合开发出了适合我们国家需求的产品。可以说,近年来,无论是技术还是工艺水平方面我国的称重系统都有一定的提高,也为我国的市场供应了许多品质优秀的产品。但是在某些比较重要的指标上,各项工艺技术仍然有许多不足,与国外的差距还是很大,所以我国的称重系统未来在准确度、稳定性等一些重要的参数指标上仍然需要更深入的研究。1.2.1称重技术的国内外发展现状纵观电子称重技术的发展历程,在50年代中期,电子技术开始融入到衡器的辅助测量装置,直到60年代初,新生的机电结合式电子衡器的问世成为电子称重技术的重大突破。自此以后,科学界们经过40多年坚持不懈地探索与创新,电子衡器无疑已从机电结合型发展到了全电子型和数字化智能型3。毋庸置疑,电子称重技术俨然成为了现在称重测量及控制系统工程的重要基石,它所具备的优势是其它设备所无法比拟的,诸如迅速而又精确的称量、简单便捷的读数、适应性能力强等等。也正是在这些特点的基础之上,我们将此技术广泛应用到各个部门,渗透到了饮食、医疗、交通、贸易、航天等等与我们生活息息相关的领域之中。电子称重技术的发展历经了诸多变化,总体来看呈现出从静态称重转向动态称重的趋势,其中,对快速称重和动态称重的研究与应用尤为显著,从单一型的参数测量转向了多样化的参数测量;在测量方法上也有所改进,从原先的模拟量测量向数字量测量转变。但是,发展进步是显而易见的,而其中所存在的问题与不足仍旧不容忽视,与发达国家相比而言,我国电子衡器产品不论是数量上还是质量上都相对落后,简单归纳大致有如下几个问题:在技术层面上还不够先进、开发创新能力不足、产品类型不够丰富、功能不齐全、测试仪表老化、应用过程缺乏稳定性与可靠性等等,而这些问题关涉到使用者的利益问题,也是消费者选择产品所考虑的因素。想要缩小我国与工业发达国家在电子称重技术上的差距还需要不断地探索革新。当前在市场上流行的称重计量工具,有的是结构繁琐,有的则是运行可靠性较差,精准度与稳定性也不好,更甚者,维护修理困难,产品生产成本较高。总的来说,现在国内市场上的电子秤产品还处于较低的技术水平。所以,有针对性地研制出一种智能且耐用的电子秤系统,不断地从技术上解决上述众多缺点,改进电子秤系统在现实使用当中的一些不足,具有很高的实际意义。2 系统设计2.1 系统设计要求1) 称重范围:范围在0到10Kg 2) 误差范围:范围在0.001Kg3) 显示方式:LCD与上位机(PC)同时显示4) 显示要求:显示物品重量、价格、总价5)能通过矩阵键盘设定单价、累加及去皮功能6)当称重物品超过5Kg时,LED灯闪烁警示7)在电子秤处于未称重状态时,LCD显示年月日、星期及时间8)能通过串口与上位机实现数据的传输9)上位机能通过键盘输入价格、计算总价及累加与去皮功能 2.2 系统设计思路本系统选用STC89C52单片机做为主控芯片,按照其实现的功能将系统分为信号采集模块、AD转换模块、矩阵键盘模块、时钟电路、显示模块、串口通讯模块及上位机。系统设计总框图如图2-1。图2-1 系统设计总框图通过把物品放到称重传感器上,把采集到的重量信号经过检测电桥把电阻变化量转换为电压信号,再将微弱的电压信号传到HX711模块放大后进行AD转换,将转换得到的数字信号传到STC89C52单片机中进行内部处理,最后将物品的重量、价格、总额等显示在LCD液晶显示屏上,并通过串口与上位机通讯,实现同时在LCD与上位机上显示的功能。称重过程中的价格输入,去皮,累加等功能可以通过矩阵键盘实现。2.3 方案比较与选型2.3.1 称重传感器的选择称重传感器是电子秤的重要部件,它把被称物体的重量转换成电信号,经过处理后指示出来4。当我们在选用传感器的时候,应该特别注意传感器的大小、准确度及稳定性、参数及型号、及使用寿命等多方面因素。现在常用的称重传感器有电容式、电阻应变式、及压电式传感器三种。方案一:选用电容式传感器。电容式传感器的结构较为简单、价钱相对便宜并且灵敏度较高、过载能力较强。但其稳定性较差、寿命短且输出有非线性。方案二:选用电阻应变式传感器。电阻应变式传感器结构简单、精度高、灵敏度高,测量范围广、寿命长、频响特性好、能够在一些比较恶劣的条件下仍然正常工作、对周围环境的适应能力较强并且价钱相对便宜。方案三:选用压电式传感器。压电式传感器结构比较简单、灵敏度高、稳定性较好、重量轻。但其某些压电材料需要防潮措施且动态响应较差。通过三个方案的比较,考虑其稳定性能、动态响应及经济性等诸多因素最终选用电阻应变式传感器作为本称重系统的传感器最为合适。2.3.2 CPU主控芯片的选择方案一:采用AT89S52单片机。AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 系统可编程Flash 存储器5。目前,在许多嵌入式控制的应用系统中AT89S52得到了十分广泛的应用主要得益于其芯片内部有十分灵巧的8 位CPU 及可以直接进行编程的Flash。方案二:采用STC89C52单片机。STC89C52拥有高速度、可靠性高、低功耗、价格便宜、抗干扰性强等优点。且有许多传统的51单片机不具备的功能,比如其内部自带EEPROM,可以在断电的情况下保存资料,而且直接有串口TTL输出,AT89S52则需要ISP下载线。性价比较高。通过以上两者的比较,本称重系统采用方案二的STC89C52单片机作为本设计的主控芯片。2.3.3 AD转换芯片的选择方案一:采用AD7705转换芯片。AD7705是16位的A/D转换芯片,主要由缓冲器、增益可编程放大器、-调节器、可编程数字滤波器等组成6。AD7705拥有很高的分辨率、动态范围很宽、可以进行自动的校准、抗干扰能力较强及功耗低等特点。方案二:采用HX711转换芯片。相比于其他的A/D转换芯片,这款HX711 是一种24 位A/D 转换芯片,具备了其他芯片所无法比拟的优势,高度精确、速度极快以及抗扰动能力特别强。它是特地为高精度电子称重系统开发的,芯片的内部拥有了稳压电源、片内时钟振荡器等外围电路。大大减少了称重系统的制作成本,也使得系统的稳定性及运行可靠性大大的提升。而且具有可编程增益放大器,对于从称重传感器中输出的最大为10mV电压来说,无疑是一个很好的选择。由于AD7705的分辨率只有16位,而HX711是24位高精度且是为电子秤专门设计的芯片,很明显HX711更符合本设计的要求。故选用HX711作为本设计的AD转换芯片。2.3.4 显示方式的选择将获得的重量数据显示出来是本设计要实现的最基本的功能。它可以把测得的重量数据直观的呈现在人们面前,因此显示方式的选择也尤其的重要。方案一:采用LED数码管显示。传统的LED数码管具有寿命长、低功耗、价格便宜且编程简单等特点。但LED数码管的显示内容比较单一,占用的单片机I/O端口也比较多。方案二:采用LCD1602液晶屏显示。LCD1602具有低功耗、寿命长、显示的内容丰富、占用的单片机I/O口较少且操作简单、价格相对便宜等优点。方案三:采用上位机显示。随着科技的不断发展,计算机也得到了广泛的应用,单片机与上位机(PC)之间的通讯也越来越频繁。上位机具有十分强大的显示功能和计算功能,可以把下位机传来的重量数据显示出来并快速的进行计算,很好的保证了人机交互界面的良好性。通过以上三个方案的分析比较,最终选用了方案二和方案三同时使用。既可以在LCD1602上显示,也可以在上位机上同时显示。因为单片机计算处理能力是有限的,在进行复杂数据运算处理的时候会受限,这时就可以通过上位机完美的计算并进行数据处理。3 系统硬件电路设计3.1 称重传感器电子秤采用电阻应变式称重传感器作为物体重量(质量)信号电信号的转换器7。电阻应变式传感器主要包括了电阻应变片、弹性体及惠斯登检测电路等。在施加外力的情况下会使弹性体产生形变,覆盖在其表面的电阻应变片也会一起产生形变,电阻应变片形变后,其电阻值也会随之发生改变,然后通过惠斯登电桥检测电路把应变片电阻的改变量转化为微弱的电压信号或电流信号,进而实现了把外力转换为电压或电流信号的过程。惠斯登电桥检测电路如图3-1所示,可以将电阻变化量转变为电压信号输出。因为惠斯登电桥具有许多优点,如可以抑制温度变化的影响,可以抑制侧向力干扰,能够很简单地解决称重传感器的补偿问题等,因此惠斯登电桥在称重传感器中得到了广泛的应用8。eRmVRmR2+R2R3+R3R4+R4R1+R1图3-1 惠斯登电桥检测电路应变片电阻分别为图中的R1、R2、R3、R4。四个电阻组成了桥式检测电路,Rm为温度补偿电阻,e为激励电压,V为输出电压。 如果不考虑温度补偿电阻的影响,在应变片电阻发生改变前,电桥的输出电压为: (3-1)因为桥臂一开始的电阻都是相等的,即R1 = R2 = R3 = R4,所以此时的V=0。当应变片的电阻R1、R2、R3、R4变成R+R1、R+R2、R+R3、R+R4时,电桥的输出电压变为: (3-2)通过化简,上式则变为: (3-3)通过上述公式可知,检测电桥的输出电压和4个桥臂之间的应变片的电阻改变量的代数和成正比关系。如果要使用精度比较高的的电阻应变式传感器,仅通过四个应变片组合而成的电桥检测电路仍然是不够的。为了能够改善传感器伴随周围温度的变化而产生的影响,提高其精确度及运行稳定性,通常在桥路两侧及桥臂之间接入某些补偿元件。3.2 单片机最小系统单片机最小系统又被称作最小应用系统,就是既能保证单片机正常工作的同时又能用最少的元件构成。最小应用系统大体可以分为:单片机、晶振电路、复位电路。图3-2最小系统本设计系统采用了5V直流电源供电,单片机的时钟频率用12MHz的晶振,复位电路采用上电和手动复位两种模式9。复位电路有按键复位和上电复位两种复位方式。系统在通电的一瞬间使单片机第9个引脚获得高电平,单片机复位电路随着电容的充电使单片机第9个引脚的高电平逐渐下降。只要第9个引脚的高电平能保持2个机器周期,STC89C52单片机就可以进行复位操作。按键复位是直接将系统电压经过电阻分压接到STC89C52第9个引脚实现复位操作。复位是STC89C52单片机初始化操作,其主要功能是把程序存储器PC的值初始化为0000H,使STC89C52从0000H单元执行程序。除了使STC89C52单片机的正常初始化之外,当程序运行出错或操作错误使系统处死循环状态时为使系统重新开始工作也需要按复位键重新启动。3.3 AD转换电路3.3.1 AD芯片 HX711简介电子秤的A/D转换精度通常越高越好,因为A/D精度越高,则电子秤的灵敏度就越高。HX711 是一种特地为高精度电子称重系统开发的24 位A/D 转换芯片。相比于其他的A/D转换芯片,这款芯片的内部拥有了稳压电源、片内时钟振荡器等外围电路。是其它A/D转换芯片所不具备的。此芯片拥高度有精确、速度极快、及抗扰动能力特别强的优点。大大减少了称重系统的制作成本,也使得系统的稳定性及运行可靠性大大的提升。集成的HX711模块与单片机之间仅需通过DT、SCK两个端口连接。传感器上所测到的重量数据可以经过通道A 或通道B与芯片内部的放大器相连接。通道A 的可编程增益为128 或64,对应的满额度差分输入信号幅值分别为20mV或40mV,通道B 则为固定的32 增益,用于系统参数检测8。HX711内部自带稳压电源,不需要再外加电源就可以直接向相连的传感器和芯片内部的A/D 转换器供电。此芯片内部的时钟振荡器不用再接别的元件。系统上电后可以自动进行复位。 HX711芯片内部结构图如图3-2所示。其外部引脚功能如表3-1所示。图3-2 HX711芯片内部结构图表3-1 HX711外部引脚功能图 引脚 符号 引脚说明 引脚 符号 引脚说明1 VSUP 稳压电路电源 16 DVDD 数字电源2 BASE 稳压电路控制输出 15 RATE 输出数据速率控制输入3 AVDD 模拟电源 14 XI 外部时钟或晶振输入4 VFB 稳压电路控制输入 13 XO 晶振输入5 AGND 模拟地 12 DOUT 串口数据输出6 VBG 参考电源输出 11 PD_SCK 断电和串口时钟输入7 INNA通道A负输入端 10 INPB通道B负输入端8 INPA 通道A正输入端 9 INNB 通道B负输入端3.3.2 AD芯片 HX711电路原理图图3-3 AD芯片 HX711电路原理图HX711芯片采用5 V直流电源供电,同时5 V电源正极端连接HX711的AVDD端子作为芯片模拟电源,并给传感器电路供电10。HX711集成模块仅需要通过DT、SCK两个端口便可以与单片机实现数据的传输。称重传感器通过通道A 或通道B和芯片内部的放大器连接。3.4 矩阵按键电路3.4.1 矩阵按键原理矩阵按键输入是实现人机交互很重要的一部分。 矩阵式键盘是用n条I/O线作为行线,m条I/O线作为列线组成的键盘11。按键的数量可以根据需要实现多少功能而定,一般为4*4或4*5。每个按键等同于一个开关触点,当按键按下时,触点闭合,向单片机发送信号,使单片机执行所对应的功能。本设计为4*5矩阵键盘,通过行与列的关系定义按下的按键,执行所对应的按键功能。图3-4 矩阵键盘电路3.4.2 矩阵按键定义图3-5 矩阵按键定义如图3-5为矩阵按键的定义,S1S3、S5S7、S9S11、S14分别为数字键09,S13为事先预留价格的调用键,S14及S15分别为累加及去皮功能键,S8为价格清除键,S12和S16为校准键,S18S20为时间的设置键。3.4.3 矩阵按键操作说明1) 当系统处于未称重的状态时,LCD显示屏会显示日历及时间,此时可以按下S18进入设置的界面,再通过S19、S20对所对应的时间及日期进行修改。2) 当称重传感器上放上物品时,LCD显示屏从日历界面跳到称重显示界面。此时显示屏上会显示当前物品的重量,然后通过09数字键输入物品的单价,系统会自动计算出物品的总额。同时可以通过累加及去皮功能键实现所对应的功能。3) 此称重系统可以保存一些常用的价格,在称重时可以按下S13进行调用。4) 当发现称重系统不准确时,可以按下S12和S16进行校准。3.5 时钟电路3.5.1 DS1302时钟芯片简介本设计在系统处在未称重的状态时,LCD显示屏能显示实时的时间,因此在系统上需要一个时钟电路。此设计采用DS1302时钟芯片。DS1302芯片是一款高精度、运行稳定性好的时钟芯片。可以提供准确的时间和日历等信息。DS1302与单片机之间的通信,仅需三根I/0线:复位(RET)、I/0数据线、串行时钟(SCLK) 12。DS1302外部引脚功能如表3-2所示。表3-2 DS1302外部引脚图符号引脚说明符号引脚说明X1晶振管脚I/O数据输入/输出引脚X2晶振管脚SCLK串行时钟GND地Vcc1主电源供电引脚CE复位脚Vcc2备用电源供电引脚DS1302的传送方式有两种,分别为单字节和多字节传送。当要进行数据传送的时候,需要把RST至为高电平。当RST为低电平时,数据的传送会被中断。上电时,在V 1 2.5V之前,RST必须为逻辑0,当把RST驱动至逻辑1状态时,SCLK必须为逻辑013。 图3-6 DS1302数据传送时序图3.5.2 DS1302时钟电路原理图图3-7 DS1302时钟电路原理图DS1302芯片的供电方式有两种,在正常的工作状态下由+5V电源供电,在没通电的情况下由3V备用电池供电。为了保证芯片的正常工作,需在X1与X2之间接入一个大小为32.768晶振。3.6 显示电路数据显示是称重系统很重要的一部分,可以把传感器上测得的重量数据显示出来,能够直观的向人们提供信息。为了能更直观、清楚的显示重量信息,本文选用了LCD1602液晶显示屏。LCD1602的引脚功能如表3-3所示。表3-3 LCD1602引脚功能图符号引脚说明符号引脚说明VSS电源地D2数据VDD电源正极D3数据VL液晶显示偏压信号D4数据RS数据/命令选择端(H/L)D5数据R/W读/写选择端(H/L)D6数据E使能信号D7数据D0数据BLA背光源正极D1数据BLK背光源负极图3-8 LCD1602电路原理图LCD1602的工作电压为3.3V5.5V,基本能够满足系统正常工作时的电压要求并且具有睡眠、正常以及低功耗三种工作模式。同时还向用户提供了LED背光显示功能。此外,LCD1602还向用户提供了许多基本的操作指令,比如可以清除画面、调用游标进行指定数值的更改等。3.7 串口通讯电路3.7.1 串口通讯原理随着计算机应用的普及,外围设备与计算机之间的通讯问题成了各种应用中关键的一个环节14。RS232广泛应用于微型计算机系统和大型系统中,RS232具有连线简单、通讯距离长等优点15。本设计采用RS232实现上位机与下位机之间的通讯。单片机采集的重量数据经过RS232串口传送到上位机,在上位机显示及其它功能的实现。由于单片机串口的电平信号与RS232的电平信号不一致,因此两者之间必须经过电平的转换,通常在单片机与RS232之间接入MAX232芯片即可完成。MAX232由单一的+5V电源供电,只需配5个高精度10F/50 V的钽电容即可完成电平转换,转换后的串行信号TXD,RXD直接与上位机的串口连接16。图3-9 RS232引脚图由于下位机与上位机(PC)两者都能进行数据的传输和发送,因此他们之间的连接仅需要通过RXD、TXD及GND(即2、3、5引脚)三条线即可完成通讯。图3-10串口通讯模块原理图3.7.2 通讯协议设置波特率:4800数据位:8位校验位:无起始位:1位(二进制位“0”)停止位:1位(二进制位“1”)发送一帧数据格式如表3-4所示表3-4 一帧数据格式名称 起始位 数据位 停止位长度(位) 1 8 1SMOD为0波特率不加倍,方式2下串口是10位通用异步UART。程序如下:void UART_init() SCON = 0x50; / TMOD|= 0x20; /定时器工作方式2 PCON= 0x80; /波特率提高一倍 / TH1 = 0xFD; TH1 = 0xF3; TL1 = 0xF3; TR1 = 1; /开启定时器1 ES = 1; /开串口中断 /EA = 1; / 开总中断 / IE = 0x0;3.7.3 串口通讯具体流程1) 选择上位机(PC)的某个接口作为通讯的端口,用RS232-USB数据线将下位机与上位机相连接,然后在上位机上安装串口驱动。2) 在上位机对相对应的端口进行基本参数的设定。主要设置其波特率、数据位及奇偶校验等来控制其传输速度。3) 通过上位机界面的打开串口按钮选择相应的端口4) 打开串口后既可进行数据的接收及对数据进行运算处理。5) 当不在进行通信时,通过上位机界面的退出按钮关闭通信。3.8 上位机界面上位机界面的设计通过Visuai Basic6.0实现。使用VB6.0实现串行接口通信,程序设计较为简单,界面友好,开发效率高,具有很高的实际应用价值17。通过VB6.0提供的MSCOMM32.OCX通讯控件来实现通讯。此控件拥有对串口数据的接收及发送的功能。通过此控件,可对串口的状态及串行通信的信息格式及协议进行设置,上位机可以直接利用串行口与其他设备实现轻松连接,简单高效地实现设备之间的通信18。此控件在进行上位机与下位机通讯的过程中不必再进行底层的操作。我们仅需要通过设置并实时监视它的属性及事件,就可以完成对串口程序的编写及被控制对象的串行通信、数据交换;并且可以在通讯的过程中实时监视有可能会发生的各种错误和事件,保证上下位机可以正常的通讯。图3-11上位机界面此上位机界面可以通过串口设置的下拉框选择与上位机连接的端口所对应的COM值打开串口,然后开始接收下位机传上来的重量数据,再通过上位机的键盘输入单价,然后通过结算按钮计算出总价,也可以通过累加和去皮按钮实现相应的功能。且在界面中可以显示日历及时间。4 系统软件设计4.1 软件开发平台及开发工具软件设计的平台是Keil uVision4,上位机设计的平台是VB6.0。4.2系统各模块的软件流程图软件程序是整个电子秤系统的核心部分,用C语言编写。4.2.1主程序流程图主程序主要完成I/O口和一些变量的设置,STC中的EEPROM的初始化。以及矩阵按键扫描模块、LCD显示模块、AD转换模块、串口模块的调用。图4-1 主程序流程图在系统处于未称重的状态时,通过矩阵按键的设置时间按键,可以对日历进行修改。在系统处于称重状态时,LCD1602会自动从日历显示界面切换到称重显示界面。然后进行物品的称量,再通过矩阵按键可以输入单价、计算出总价并在LCD上显示。4.2.1子程序流程图 图4-3 时钟中断程序流程图图4-2 时钟电路流程图 图4-5 串口通讯流程图 图4-4键盘扫描程序流程图 与上位机通讯最重要的环节是串口通讯模块,流程图如图4-5所示,在单片机获取重量数据后,会向上位机发送重量数据,然后产生串行口中断,表示数据已经发送成功。然后在上位机打开串口后即可接收数据。若不传给上位机则只在下位机的LCD上显示。 5 系统测试5.1 使用的仪器及设备表5-1 使用的仪器及设备 序号 名称 型号 数量 1 万用表GDN-8135 1 2 电脑 15.2 测试方法及步骤本设计的调试方法主要分为硬件调试和软件调试。首先进行系统的硬件调试,调试成功后再进行系统的软件调试。5.2.1 硬件调试1)在焊接完电路板后,首先不进行通电,将万用表调到电阻档,然后认真检查电路板是否有断线、虚焊、短路、接触不良等情况,特别注意的是应该保证电源线与地线没有短路。2)在步骤1确认焊接电路板正常时,接通电源,根据系统原理图测量各个点的工作电压,并判断电路的工作状态是否正常;用万用表表笔检测各芯片的工作电压是否正常。3)将万用表的两根表笔接在合适的位置,检查LCD1602显示屏有没有坏点。在此设计中,LCD1602显示屏一上电时,有两行是处于亮的状态。4)当把硬件部分都检查完毕,发现一切正常之后,就可以进行软件的调试。5.2.2 软件调试软件设计采用模块化的设计,简单易懂。并且对软件测试的时候,容易实施。1) 调试LCD1602液晶屏的显示程序,实现基本的定位送显示等功能,如选中液晶屏的第一行第一个字节(0X80位置),写入数字,看显示的结果,如果显示的结果和输入的一样则显示成功,如果不一样则修改相应的子程序,直至成功显示为止。2) 对4*5矩阵按键进行调试时,需要完成对20个按键的键值的定义,实现基本的数值键的键入与设定,及通过按键进行某些特殊功能的实现。调试过程如下,根据按键的定义键值,通过按键按下的过程把相应的键值保存于定义的key_value寄存器中,再通过调试好的显示模块,显示出key_value的数值,观察显示的结果,如果现示的数值与按下的按键的定义一样则调试成功。如果显示结果不一致,则需要通过不断的修改按键子程序直至显示结果一致。3) 调试STC内部自带的EEPROM,对其基本的读写和擦除等功能进行调试,通过擦除相应的扇区进行写入0X56数据后,关闭电源,再上电通过软件初始化读取相应扇区的数据并显示,并通过显示的数据和0X56进行对比,如果数据为0X56,则掉电保护成功,如果数据不一样,EEPROM读写没成功,修改相应的程序重复步骤进行调试。5.2.3 HX711引脚测试波形图图5-1 DT引脚测试波形图图5-2 SCK引脚测试波形图当串口通讯引脚DT为高电平的时候,就表示A/D转换器还没有准备好将数据输出,此时串口时钟输入引脚SCK应为低电平。当DT置为低电平时,SCK应输入2527个不等的时钟脉冲,如图5-2所示。5.3 测试过程出现的问题及解决办法1) 检查完硬件和软件后,上电时发现LCD一直处在初始化界面没有进入日历及时间显示界面。按下复位按键后也是同样情况,猜想是HX711转换芯片有问题使程序无法驱动。更换HX711后,恢复正常。2) 上述问题解决后,放上物品称量重量,发现LCD一直在日历及时间界面,而没有切换到称重显示界面。矩阵键盘也无效。经过检查发现,重量检查子程序有问题,一直处在检测重量,陷入死循环。经修改相应的子程序后可正常显示重量。3) 用RS232-USB数据线连接好单片机与上位机后,打开上位机的串口,发现上位机无法接受单片机传上来的重量数据。通过老师的指导将RS232的TXD、RXD两个引脚短接,然后在上位机通过串口助手发送数据给单片机后发现错误。经检查发现RS232的封装画错,导致数据无法正常接受。6 结论本次电子秤的设计满足了当下社会的需求,具有很高的实际意义。从课题的的选定到硬件电路设计和系统软件的开发等诸多方面都进行了很认真的思考后再着手制作。本设计用单片机控制的智能电子秤具有体积小,精度高,称重速度快,操作简单等特点,可以广泛应用于超市,商场,家庭等场所。而且本设计采用了RS232串口与上位机实现通讯,使称重系统与计算机系统相互连接,使电子秤技术达到更高的水平,能够更加满足人们的需求,更受人们的青睐。本设计可以实现基本的电子秤的称量功能,包括称重,输入价格,清除单价,超重报警等,并且通过串口可以与上位机通讯,在LCD1602与上位机上同时显示。该系统实现了低功耗,便携式的特点,整个系统用普通的手机充电器就可以对系统进行供电,从而使得系统携带更加便捷。可运用于实际场合,具有一定的设计价值。改进:可以增加休眠模式。增加锂电池充电保护电路对电池进行充电。参考文献1 巢淑娟,张贵明.国国内外称重传感器的现状及其应用分析J.漯河职业技术学院学报, 2013.9(5):46-47.2 魏志强.国浅谈称重传感器的发展与应用J.轻工科技, 2012.6(6):116-117,1333 刘九卿.展望21世纪初电子称重技术的发展R.北京:中国航天工业总公司第七0二研究所, 1999.4 王美胜.称重传感器的选用R.贵阳市:贵州省计量测试院, 2003.5 刘绿山,刘建群等.基于AT89S52单片机的温度控制系统J.微计算机信息, 2007(6-2): 98-100.6 陈勇钢,吴伯农.16位一模数转换器AD7705及其校准R.北京:北方工业大学机电工程学 院, 2005.7 罗及红.一种高精度的电子秤设计J.计算机测量与控制, 2010, 18(8):1955-1958.8 王小娟.基于HX711数显称重仪的设计J.武汉船舶职业技术学院学报, 2015(1):36-38.9 陈忠平,李刚民.单片机原理及接口M.北京:清华大学出版社.2007:236-237.10 张争刚,熊刚.基于单片机的多功能电子秤设计J.机械与电子, 2016(11):57-60.11 刘天时,刘赏,付春.一种单片机键盘电路设计与消抖处理J.计算机与网络,2010(10): 66-68.12 冯大捷.基于DS1302电子时钟的设计J.科学视界, 2012.1(2):118-120.13 杨占军.基于DS1302的数码管时钟电路设计J.电子世界, 2005(9):35-36.14 蔡江洪,史小军,朱为等.利用FT245BM实现FPGA与PC机的USB通讯J.电子器件, 2005, 28(1):132-137.15 葛磊蛟,毛一之.基于C语言的RS232串行接口通信实现J.河北工业大学学报, 2008,37(6): 11-16.16 潘方.RS232串口通信在PC机与单片机通信中的应用J.现代电子技术, 2012.7,35(1

温馨提示

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

评论

0/150

提交评论