




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的具有无线通信功能的液体流量计河南大学2009届本科毕业论文 基于单片机的具有无线通信功能的液体流量计 A Wireless Communication Liquid Flowmeter Based On Microcontrollor 论文作者姓名 作者学号: 所在学院:计算机与信息工程学院 所学专业:自动化 导师姓名职称: 论文完成时间:2009年5月20日 2009年5月20日(由学生本人认真填写) 导师姓名 学号 姓名 05023371 杨俊杰 张延宇(助教) 职称 开题时间 2008年12月1日 课题题目 基于单片机的具有无线通信功能的液体流量计 课题来源 ?导师指定 ?自定 ?其他来源 课题的目的、意义以及和本课题有关的国内外现状分析: 1、目的:提出一种能用无线方式组成局域网的液体流量计的解决方案。 2、意义:解决在环境比较恶劣的工业现场的液体流量检测问题,而且,能把多个流量计的流量信息同时在上位机上显示出来,实现了对生产现场液体流量的远程实时检测和控制。 3、现状:随着生产力的发展,自动化程度的提高,液体流量检测在工农业生产和生活中占据着越来越重要的地位,可以说,液体流量检测技术的发展直接影响和决定着相关领域自动化水平。而现阶段的液体流量检测主要还是在生产现场直接检测,这对于相关流量信息的读取和相关参数的设定的应用十分不便,而且不利于实时检测和控制,特别是在一些像冶金、化工等环境比较恶劣的工业现场,直接在工业现场的流量检测方式更是会影响到人的生命安全。 研究目标、研究内容和准备解决的问题: 1、目标:设计一个具有无线通信功能的液体流量计,开发上位机显示界面,实现用无线方式读取流量信息和设定相关参数。 2、内容:以51单片机作为核心处理元件设计硬件电路,开发出能实现流量显示和参数设定的软件,利用VC开发的界面,通过无线的方式实时显示和监控流量信息和设定以及显示相关参数。 3准备解决的问题:在从机端,如何利用按键来控制流量的显示和相关参数的设定;在上位机端,如何开发直观的显示界面来完成上位机与从机的交互,获取流量信息和修改相应的参数;如何利用无线方式完成上位机与各从机正确无误的交互。 开题报告I 拟采取的方法、技术或设计(开发)工具: 硬件电路的设计:采用Protel DXP开发工具来开发设计硬件电路图。 软件设计:利用Keil uVision2完成系统软件的设计,程序设计语言采用Keil C51。 上位机显示界面:利用VC来开发上位机显示界面。 预期成果: 1、毕业设计成果 系统整体框图、整体原理图、模块原理图、主要程序模块及流程图。 2、毕业论文 进度计划: 2008.12.1 - 2009.3.5: 查找资料、搜集相关素材 2009.3.6 - 2009.3.26:完成需求分析 2009.3.27 - 2009.4.7: 完成概要设计 2009.4.8 - 2009.4.15:完成总体方案设计 2009.4.16 - 2009.4.28:完成硬件电路设计 2009.4.29 - 2009.5.4: 完成软件设计与调试 2009.5.5 - 2009.5.15:整理资料、撰写毕业论文 2009.5.16 - 2009.5.20:根据导师要求,完善毕业设计和论文 指导教师对选题报告的意见: 指导教师签名: 2008年12月1日 开题报告II 学生题目名称 基于单片机的具有无线通信功能的液体流量计 杨俊杰 所学计算机与信息姓名 自动化 专业 工程学院 学号 05023371 学院 一、 毕业论文(设计创作)要求 1. 可行性分析:完成系统的技术可行性分析 2. 系统设计:对系统中用到的关键技术进行初步设计 3. 程序开发与调试:具体进行项目的开发 4. 撰写论文:完成论文撰写 二、 毕业论文(设计创作)进度安排 2008.12.1 - 2009.3.5: 查找资料、搜集相关素材 2009.3.6 - 2009.3.26:完成需求分析 2009.3.27 - 2009.4.7: 完成概要设计 2009.4.8 - 2009.4.15:完成总体方案设计 2009.4.16 - 2009.4.28:完成硬件电路设计 2009.4.29 - 2009.5.4: 完成软件设计与调试 2009.5.5 - 2009.5.15:整理资料、撰写毕业论文 2009.5.16 - 2009.5.20:根据导师要求,完善毕业设计和论文 三、需收集的资料和指导性参考文献 1 赵建领PROTEL电路设计与制版宝典电子工业出版社,2007年1月 2 孙育才MCS-51些列单片微型计算机及其应用(第四版)东南大学出版社,2004年6月 3 STC89C系列单片机中文指南 4 MAX7219 Datasheet 5 谭浩强 C程序设计(第三版),清华大学出版社,2005年7月 6田希晖,薛亮儒C51单片机技术教程人民邮电出版社,2007年10月 指导教师签名 2008年12 月 8 日 河南大学2009届毕业设计(论文、创作)中期检查表 题目名称:基于单片机的具有无线通信功能的液体流量计 学生 杨俊杰 学所学计算机与信息 姓名 自动化 院 专业 工程学院 学号 05023371 一、毕业论文(设计创作)进展情况 目前,系统的整体框架已经基本完成,元器件的查找和选择已经完成,硬件电路的设计思路也基本确定。 二、毕业论文(设计创作)存在问题及解决方案 存在的问题:对相关芯片的使用还不能彻底的掌握,一些细节的东西还有待商榷,有些元器件具体参数的值还不能确定。 解决方案:查找有关的芯片使用资料,用万用板搭建各个小模块的电路,通过试验确定各元器件相关参数。 三、指导教师对学生毕业论文(设计、创作)进展方面的评语 该生在做毕业设计的期间,积极认真,能够及时分析和解决遇到的各种问题。但是动手实践的能力有待于加强,希望在后续的工作期间,好好的锻炼和学习。 指导教师签名 2009年 4 月 10日 河南大学2009届毕业论文(设计、创作)综合成绩表(一) 学院名称:计算机与信息工程学院 学 号 姓名 专业 自动化 05003371 杨俊杰 指导教师 张延宇(助教) 综合得分 论文题目 基于单片机的具有无线通信功能的液体流量计 指导教该生的课题选择立意新,论文叙述条理清晰、详略得当,指师评语 并按时完成了项目所要求的功能,是一篇优秀的本科论文。 导教指导教师对毕业论文(设计、创作)评分 师评调查研学习态数据处评分项撰写开题论文(设计、创作)究查阅度与规理、文合计 语目分值 报告、文质量和创新意识 整理资范要求字表达100 及献综述15 55 料10 10 10 得分得分 指导教 师签名 2009年5月20日 评阅教该生论文语句流畅,论点明确,思路清晰,符合本科论师评语 文的要求。 评阅评阅毕业论文(设计、创作)评分 教师调查学习撰写开题数据论文(设计、创合计 研究态度评评分项报告、文献处理、作)质量和创新 查阅与规目分值 语综述 文字意识 整理范要 表达 及资料 求 15 10 55 100 评10 10 分得分 评阅教 师签名 2009年5月22日 此表由教师填写河南大学2009届毕业论文(设计、创作)综合成绩表(二) 学号 姓名 所在学院 计算机与信息工程学院 05023371 杨俊杰 答该生答辩过程中思路清晰,反应敏捷,论文结构合理,辩答辩条理清楚,达到本科毕业设计和毕业论文要求的标准,经答委委员辩小组评议,同意通过论文答辩。 员会评答辩委员签字: 会语 评 2009年5月25日 语论文答辩小组评分 及答辩情况 论文质量 评分 评内容表 答辩问题 规范要求与 论文(设计、创项目 合计 分 达情况 情况 文字表达 作)质量和创新分值 (100) (15) (25) (20) 意识(40) 得分 答辩委员会主任签字: 2009年5月25日 毕业论文(设计、创作)成绩综合评定: 分 综合评定等级: 备注: 一、论文的质量评定,应包括对论文的语言表达、结构层次、逻辑性理论分析、设计计算、分析和概括能力及在论文中是否有新的见解或创新性成果等做出评价。从论文来看学生掌握本专业基础理论和基本技能的程度。 二、成绩评定采用结构评分法,即由指导教师、评阅教师和答辩委员会分别给分(以百分计),评阅教师得分乘以20%加上指导教师得分乘以20%加上答辩委员会得分乘以60%即综合成绩。评估等级按优、良、中、差划分,优90-100分;良76-89分;中60-75分;差60分以下。 三、评分由专业教研室或院组织专门评分小组(不少于5人),根据指导教师和答辩委员会意见决定每个学生的分数,在有争议时,应由答辩委员会进行表决。 四、毕业论文答辩工作结束后,各院应于6月20日前向教务处推荐优秀论文以汇编成册,推荐的篇数为按当年学院毕业生人数的1.5%篇。 五、各院亦可根据本专业的不同情况,制定相应的具有自己特色的内容。须报教务处备案。 六、书写格式要求: 1、 目录; 2、 内容提要须书写200左右汉字,开题报告(文科除外)的内容要根据不同专业的课题任务要求,阐述查阅文献、文案论证、解题思路、工作步骤等; 3、 正文(含引言、结论等); 4、 参考文献(或资料)基于单片机的具有无线通信功能的液体流量计 杨俊杰 自动化 05023371 2009年5 月20日 张延宇(助教) 1杨俊杰张延宇2备注: 2009 5 20 2009 5 20 说明:学生毕业论文(设计、创作)如有保密等要求,请在备注中明确,承诺内容第2条即以备注为准。目 录 摘 要 .I ABSTRACT .I 第1章 绪论 . 1 1.1选题的背景与意义 . 1 1.2本文的主要工作 . 1 第2章 系统硬件设计 . 3 2.1 系统总体功能概述 . 3 2.2 核心元件选择 . 4 2.2.1 STC89C52单片机片内资源 . 4 2.2.2 七段数码管驱动芯片MAX7219简介 . 5 2.3 单片机主电路 . 6 2.4 信号处理电路 . 7 2.5 LED显示驱动电路 . 8 2.6 无线通信电路 . 8 2.7 按键电路 . 11 第3章 系统软件设计 . 12 3.1 系统主程序 . 12 3.2中断服务子程序 . 14 3.3 按键扫描子程序 . 16 3.4 LED显示驱动子程序 . 17 3.4.1 MAX7219级联方式的操作方法 . 17 3.4.2 LED显示子程序流程图. 17 3.5 无线通信子程序 . 18 3.5.1 从机端通信子程序 . 18 3.5.2 上位机显示界面介绍 . 20 结 论 . 21 致谢 . 22 参考文献 . 23 附录 硬件电路图 . 24 河南大学本科毕业生学士学位论文 本文提出了一种基于STC89C52的液体流量计的解决方案,主要讨论了以51系列单片机STC89C52为核心的硬件电路的设计和软件程序的设计,实现了对传感器信号的处理,各参数的设定以及对瞬时流量和累计流量的显示,并通过主从的方式根据相应命令把所测流量的信息和相关参数信息通过无线模块传送给上位机,并通过VC开发的界面直观显示,实现实时远程监控。详细介绍了硬件电路和软件程序的实现方法。 关键词 STC89C52、信号处理、显示。第 I 页 河南大学本科毕业生学士学位论文 ABSTRACT In this paper, the topic is a solutions of a liquid flow meter based on 51 series microcontrollor,STC89C52,mainly discussed the hardware circuit design and software design, the realization of the senor signal processing, the parameters set as well as the instantaneous flow rate and accumulated flow display, measured in accordance with the corresponding order parameters of the flow of information and related information, and then through the master-slave way to transmit the information to the host computer via wireless transmission ,and through an intuitive interface developed by VC shows that real-time remote monitoring. detailed discussed hardware and software development. Keywords: STC89C52,Signal processing, Display 第 I 页 河南大学本科毕业生学士学位论文 1 1.1 随着生产力的发展,自动化程度的提高,对液体流量的检测在工农业生产和生活中占据越来越重要的地位和作用,可以说,液体流量检测技术的发展和提高是直接影响和决定着相关领域自动化程度能否提高的关键因素,特别是像一些化工生产等对物料配比有着十分严格要求的场合,对物料流量的精确检测不仅仅是正常生产的前提,还是保障人民生命财产安全的重要保证。 现阶段的液体流量检测主要还是在生产现场直接检测,这对于相关流量信息的读取和相关参数的设定的应用十分不便,而且不利于实时检测和控制,特别是在一些像冶金、化工等环境比较恶劣的工业现场,直接在工业现场的流量检测方式更是会影响到人的生命安全,而有些环境十分恶劣的场合,根本没办法进入生产现场去获得相关的流量信息。在这样的情况下,利用无线方式来获取流量信息和设置相关参数的流量计实现方式就显得尤其重要,不仅解决了上述的环境恶劣的问题,而且有利于实现远程实时监控,并且可以实现对多个流量计的同时检测。 本文主要就是提出一种基于单片机的能进行无线通信的流量计的解决方案。 1.2 本文主要针对传感器传送的信号进行处理(主要是放大和整形),得到矩形脉冲信号,利用51单片机根据所得脉冲信号计算液体的瞬时流量和累积流量,通过七段数码管实时显示,并根据上位机发出的相应的指令把流量信息和相关的参数信息发送到上位机显示,实现实时监控。 主要工作内容:应用运算放大集成芯片LM324对传感器传送的信号进行放大和整形处理,得到矩形脉冲波;把51单片机定时器T1设置成计第 1 页 河南大学本科毕业生学士学位论文 数方式,T0设置成定时方式,定时1秒,通过该1秒内T1的计数值来确定脉冲信号的频率;通过按键设置液体的密度和流量系数u;然后根据相应公式计算出液体的瞬时流量和累积流量,并通过16个七段数码管分两行实时显示,七段数码管用MAX7219连接成级联形式;同时,单片机根据上位机的指令通过无线方式把流量信息和相关参数信息传送给上位机,上位机用VC编写的显示界面直观显示流量信息,和修改相应的参数,以达到实时远程监控的目的。 第 2 页 河南大学本科毕业生学士学位论文 2 2.1 本系统要完成的功能是一个带无线通信功能的液体流量计。该流量计可以同时分行显示液体的瞬时流量和累积流量,并可通过四个按键来控制显示和设定液体的密度、流量系数、流量上限和流量下限等相关参数信息,并可以通过无线的方式与上位机进行交互,根据上位机发出的指令把相关的参数信息和流量信息发送到上位机,并在上位机通过VC编写的界面直观显示,实现了实时监控的目的。 整体功能主要分两部分实现:一部分是从机端,从机端主要以51系列单片机STC89C52系统为核心,功能电路主要包括对传感器信号的放大和整形、按键输入电路、七段数码管显示及驱动电路、单片机与无线模块的接口电路,从机实现的硬件原理框图如图2.1所示;另一部分是上位机与无线模块的连接以及上位机对流量信息和相关参数的显示,上位机与无线模块的连接及与从机的通信的原理框图如图2.2所示。 传感器信号处七段数LED驱放大、整形信号理模块码管动MCU传感器无线通控制流量信息和相关参数的显示与设定信号信模块图2.1 从机实现的原理框图 第 3 页 河南大学本科毕业生学士学位论文 从机1RS-232无线通电平转无线局域网从机2信模块换从机n图2.2 上位机与从机通信示意图 后面将系统整体硬件分成五个模块:信号处理模块、按键控制模块、单片机模块、七段数码管显示模块和无线收发模块,并分别介绍它们的功能和设计方案。 2.2 本系统所用到的主要元器件包括:微处理器、显示驱动芯片、以及TTL电平与RS-232电平转化芯片和集成运放芯片。综合考虑各元器件的内部资源,操作和使用的方便性以及各器件性能,主要选择STC89C52单片机作为系统的核心处理模块,选择MAX7219作为LED显示驱动电路。 2.2.1 STC89C52 , 8位CPU , 振荡器和时钟电路,全静态操作:0Hz到80MHz 第 4 页 , 8K字节在系统可编程Flash程序存储器,擦写次数在100000次河南大学本科毕业生学士学位论文 以上 , 512字节数据存储器RAM , 1K字节EEPROM , 双数据指针 , 可寻址外部程序存储器和数据存储器各64K字节 , 20多个特殊功能寄存器 , 32线并行I/O口 , 1个全双工串行I/O口 , 3个16位定时/计数器 , 6个中断源,四个优先级 , 支持掉电模式和空闲模式 , 内置看门狗定时器 本系统用到的资源主要有:EEPROM用来存储流量信息和一些关键 参数;全双工串行I/O口用来烧写程序和与无线模块通信;T0、T1定时器用来计算采样频率;T2定时器用来产生使用串口通信时的波特率;一些I/O口用来接收相应的状态信息和发出控制信息;看门狗定时器。 2.2.2 MAX7219 MAX7219是一款串行输入/输出的共阴极显示驱动接口芯片,可驱动8位七段数码管,条形图显示,或64个独立的LED。 MAX7219片内资源主要有:一个BCD码解码器、多重扫描电路、段码和位码驱动、8x8静态RAM用来存储每一位数码管的状态。 MAX7219外围电路较简单,仅通过3根线就可与普通微处理器串行连接,仅需一个限流电阻,亮度可通过软件设置,允许用户设置相应寄存器来控制数码管点亮个数(18)和设置相应的工作模式以及显示方式(BCD码方式和非BCD码方式)。 对MAX7219进行操作,只需要对相应的寄存器进行设置,操作时序简单,使用非常方便,其显示方式为静态显示,显示效果较好,MAX7219的工作时序图如图2.3所示。 第 5 页 河南大学本科毕业生学士学位论文 图2.3 MAX7219工作时序图 2.3 图2.4 单片机最小系统 由于传感器端输出的瞬时脉冲的频率较低,同时,从降低功耗的角度考虑,较低频率的时钟功耗较小,且本系统需要用定时器实现较长时间的定时,为了防止定时器中断发生的过于频繁,故选用4MHz的晶体振荡器作为系统时钟源。 第 6 页 河南大学本科毕业生学士学位论文 图2.5 复位电路 由于STC89C52单片机内部的复位电路经过了特殊处理,故用简单的R/C复位电路便可实现高可靠性的上电复位及按键复位功能,电路简单实用。 2.4 图2.6 信号处理电路 上图中,左边运算放大器接成电压放大电路,右边运算放大器接成电第 7 页 河南大学本科毕业生学士学位论文 压比较器形式。从传感器采集过来的微弱电压信号,经过电压放大器的放大,得到较强的模拟电压信号,再经过电压比较器的整形,得到矩形脉冲信号,该矩形脉冲信号可以直接送入单片机进行处理。 2.5 LED 图2.7 LED显示驱动电路 本系统需要同时分别显示瞬时流量信息和累积流量信息,故采用16位七段数码管分两排显示,由于每个MAX7219芯片最多只能驱动8位七段数码管,故需要2片MAX7219来驱动本系统的16位数码管。MAX7219支持多片级联的形式,故本系统中的LED驱动电路有两种接法,一种是两片MAX7219的数据输入引脚DIN和时钟输入引脚CLK分别并联,而数据锁存引脚LOAD分别接单片机的两个不同的I/O口,另一种接法就是两片芯片接成级联的形式,本系统就是采用两片MAX7219级联来驱动16位数码管。 2.6 1无线通信模块XL02-232AP1简介 XL02-232AP1是UART接口半双工无线传输模块,可以工作在第 8 页 433MHz公用频段,符合欧洲ETSI(EN300-220-1和EN301-439-3),满河南大学本科毕业生学士学位论文 足无线管制要求,无需申请频率使用许可证。 XL02-232AP1的各项参数如:输出功率、串口速率、工作频率、产品ID等相关参数可以通过软件设置。 , 300米传输距离 , 调制方式:FSK , 工作频率在428.8-435.1MHz (默认433.92MHz) , 可设置ID:范围0-65535,默认ID:12345 , 串口速率1.2K-38.4KBPS (默认9.6KBPS) , 数据格式8N1 , 用户接口方式:TTL 图2.8 无线通信模块从机端电路 从机端无线通信模块XL02-232AP1的作用主要是接收上位机端XL02-232AP1发送的地址和命令信号,解调成单片机能够识别的TTL信号;在从机接收到上位机发出的控制信息后,将从机需要向上位机发送的流量信息和相关参数信息调制成射频信号,发送到上位机端的XL02-232AP1模块。 第 9 页 河南大学本科毕业生学士学位论文 图2.9 无线通信模块上位机端电路 上位机端的无线通信模块XL02-232AP1的主要作用是将向从机发送的地址和命令信息调制成射频信号,发送到从机端的XL02-232AP1模块;接收从机端的XL02-232AP1模块发送过来的流量和相关参数信息,并解调出相应的TTL信号。 上图中,上位机端无线通信模块XL02-232AP1把接收到的数据解调成相应的TTL信号,而计算机串口支持的是RS-232电平信号,故需要把XL02-232AP1模块解调出的数据通过电平转换芯片MAX232转换成RS-232电平信号,再输入给计算机。 第 10 页 河南大学本科毕业生学士学位论文 2.7 图2.10 按键输入电路 本系统中,按键的主要作用是用来控制流量计状态的选择,以及相关参数的设定和显示。 上图中,按键S2用来选择流量计处于运行状态还是参数设定状态。 在运行状态,S3S5各按键的功能为:S3为流量键,用来控制显示流量;S4为频率键,用来控制显示采样的频率值;S5为参数键,用来控制循环显示流量系数u、液体密度、流量上限fh和流量下限fl。 在参数设定状态,S3S5各按键的功能为:S3用来控制使需设定字(闪烁)移位,每按一下该键,需设定字依次向右移位;S4为修改键,每按一下该键,可使需设定字循环加1;S5为确认键,按一下该键,保存上述参数设定并翻页。 第 11 页 河南大学本科毕业生学士学位论文 3 本系统程序所要完成的功能是:在从机端,扫描按键,根据按键扫描值确定程序的状态,程序的状态分为运行状态和参数设定状态,在运行状态,根据按键扫描值控制流量信息及相关参数的显示,在参数设定状态,根据按键扫描值对相关参数进行修改和设定,另外,根据从上位机发送的命令给上位机传输流量及相关参数信息;在上位机端,发出数据请求命令,接收从机传送的信息,在VC开发的界面上直观显示。 程序设计主要包括五部分:按键扫描子程序、系统主程序、LED显示驱动子程序、中断服务子程序和单片机与微机无线通信子程序。本章主要就这五部分程序的设计和开发进行了详细的介绍。所有程序的开发工具是Keil uVision2,开发语言为Keil C51。 3.1 系统主程序所要完成的功能是进行一些初始化操作,调用按键扫描函数来取得键值,根据键值来调用不同的函数,实现不同的操作;另外,选择运行态中流量显示与刷新状态作为默认的状态,没有其他按键按下的情况下,只进行流量的显示与刷新。具体的程序流程图如图3.1所示。 第 12 页 河南大学本科毕业生学士学位论文 开始初始化定时器、MAX7219开中断从EEPROM读取相关参数信息keyscan()Keyvalue=0x01?YFlowDisplay()breakNKeyvalue=0x02?YFrDisplay()breakNKeyvalue=0x03?YParaDisplay()breakNKeyvalue=0x11?YFlickerShift()breakNKeyvalue=0x12?YCycleAdd()breakNKeyvalue=0x13?YEnterPage()breakNdefaultP1&0x0FtruefalseTwosecflat=1?YTwosecflag=0FlowDisplay()NNSTC_EEPROM_WrTensecflag=1?YTensecflag=0ite() 第 13 页 图3.1 系统主程序流程图 河南大学本科毕业生学士学位论文 主要功能函数介绍 , FlowDisplay():显示瞬时流量和累积流量。 , FrDisplay():显示采样频率值。 , ParaDisplay():显示流量系数、密度设定值、流量上限、流量下限等相关参数信息。在运行态,每按一下右键,各参数循环显示。 , FlickerShift():参数设定状态下的闪烁字移位函数,每按一下左键闪烁字依次循环移位。 , CycleAdd():循环加1,用于参数设定状态下修改闪烁字的值。 , EnterPage():参数设定状态下,用于确认修改并翻到下一参数。 3.2 中断服务子程序是定时/计数器T0执行100毫秒定时中断,通过硬件和软件相结合的方式实现较长时间的定时,T0结合定时/计数器T1来使用,T1设定为脉冲计数方式,当定时时间达到1秒时,通过读取T1的计3600*Fr*dEn数值来计算外部输入脉冲的频率Fr,利用公式来计算Q,U液体的瞬时流量,并把瞬时流量叠加到累积流量,公式中,dEn为液体密度,U为流量系数;当定时时间达到2秒时,设置相应的标志位来实现刷新流量信息显示;当定时时间达到10秒时,设置相应的标志位以实现刷新EEPROM中的累积流量信息。 上述定时功能的实现方法是通过设置3个标志位,每个标志位对应一种定时时间,当每一种定时时间到时,清除相应的标志位。具体的程序流程图如图3.2所示。 第 14 页 河南大学本科毕业生学士学位论文 开始关中断Tcnt1+、Tcnt2+、Tcnt3+NTcn1t=10?YTcnt1=0取timer1计数值,计算采样频率计算瞬时流量和累积流量NTcnt2=20?YTcnt2=0Twosecflag=1Tcnt3=100?NYTcnt3=0Tensecflag1开中断返回第 15 页 图3.2 中断服务子程序流程图 河南大学本科毕业生学士学位论文 3.3 按键扫描子程序所要完成的功能是扫描按键,确定被按下按键的位置,并赋予相应的键值,对于运行状态的右键功能和参数设定状态的各按键,记录相应按键按下的次数。其程序流程图如图3.3所示。 开始标志位Stateflag初始化NN设定键按下?YStateflag取反NYStateflag=1?NNYYNLkey=1?Lkey=1?Keyvalue=0x11YNMkey=1?NYKeyvalue=0x01Mkey=1?Keyvalue=0x12YRkey=1?YKeyvalue=0x02Keynum2+Rkey=1?Keyvalue=0x13Keyvalue=0x03Keynum28?Keynum3+YKeynum1+Keynum4+Keynum2=1Keynum311?NKeynum14?Keynum14?YNYYNNKeynum3=1Keynum1=1Keynum3=1返回图3.3 按键扫描子程序流程图 第 16 页 河南大学本科毕业生学士学位论文 3.4 LED 3.4.1 MAX7219 对于单片MAX7219,其数据格式如图3.4所示。在LOAD信号为低电平时,通过其数据引脚DIN往MAX7219内部16位移位寄存器写入寄存器地址和显示数据信息,在每个时钟的上升沿写入一位,LOAD信号必须在第16位数据写入的同时或之后紧跟着由低变高,以锁存输入的地址和数据信息。而在级联方式下,需要在LOAD信号为低电平时连续写入两个16位的地址与显示数据信息,在第32位数据写入的同时或紧跟着由低变高,即可把该32位数据同时分别锁存到相应的芯片内部寄存器,对于不需要显示的位,把其置为空操作即可。 图3.4 MAX7219操作的数据格式 3.4.2 LED 根据MAX7219的操作方式,主要以字符数组为单位来往MAX7219写要显示数据信息,基本思路是:给每一个参数信息和流量信息创建一个8位的字符数组,通过函数para2code()把相应的参数值和流量值转化成十进制形式,并把十进制数的各位对应的七段数码管的编码形式从最低位依次存入对应的数组,显示时,只需把该数组传递给显示子程序即可进行显示。 对于浮点显示的处理,本系统主要采用定点显示的方式,以精度为0.1来显示小数。LED显示子程序流程图如图3.5所示。 第 17 页 河南大学本科毕业生学士学位论文 开始声明变量k、temp1、temp2K=1temp1=*(pt1+)Ytemp2=*(pt2+)MAX7219_Write(k,temp1,k,temp2)K9?N返回图3.5 LED显示子程序流程图 3.5 3.5.1 在从机端,无线通信子程序所要完成的任务是通过中断的方式接收上位机发送的地址、命令和数据信息,并把接收的地址与从机本身的地址相比较(本从机地址设置为0x23),若二者相同,则根据接收的命令信息进行相应的操作,命令信息有两种:01H和02H,其中,命令01H是上位机发出的读取命令,从机接收到该命令后,把参数FH、FL、dEn、U和瞬时流量 InstantFlow、累积流量SumFlow依次传送给上位机显示;命令02H为上位机发出的写入命令,从机接收到该命令后,把接收到的参数信第 18 页 息依次赋给参数FH、FL、dEn、U,达到参数修改的目的。从机端程序框河南大学本科毕业生学士学位论文 图如图3.6所示。 开始关中断N*(pt2+)=0x01?Y定义数组DATA、temp*(pt2+)=0x02?*(pt1+)=char(FH)Y定义字符k、指针*pt1、*pt2Char(FH)=*(pt2+)*(pt1+)=char(FL)把各数组首地址分别赋予各指针Char(FL)=*(pt2+)*(pt1+)=char(dEn)k=0Char(dEn)=*(pt2+*(pt1+)=char(U)*(pt1+)=char(InstaChar(U)=*(pt2+)k10?ntFlow)Y*(pt1+)=char(SumFlow)YSBUF=0?K=0NNY*(pt2+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 预应力张拉方法
- 施工作业人员法律法规告知
- Brand KPIs for neobanking Banco Original in Brazil-英文培训课件2025.4
- Brand KPIs for hotels:Best Western in the United States-英文培训课件2025.5
- 双频共口径高隔离阵列天线设计
- 汽车传感器与检测技术电子教案:空气质量传感器
- 房地产企业计税成本的扣除变化分析
- 佛山新中源国际商务公寓营销策划报告41p
- 城乡医疗住院管理制度
- 中考地理复习教案第9课时 东南亚南亚西亚欧洲西部极地地区
- 线性代数知到智慧树章节测试课后答案2024年秋广西师范大学
- 2024年江西省高考化学试卷(真题+答案)
- 末梢采血课件
- 红外线测温技术方案
- 土地勘测定界技术说明
- ISO 9001:2015新版质量管理体系详解与案例文件汇编
- 血标本溶血或凝血的应急预案程序
- 八年级下剑桥第2课课件
- 信息安全管理体系认证方案-北京中大华远认证中心
- GB∕T 15468-2020 水轮机基本技术条件
- “克勤克俭、厉行节约”PPT课件:如何过“紧日子”
评论
0/150
提交评论