版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西 南 交 通 大 学 本科毕业设计(论文) 基于单片机的多通道数据监测系统 A multi-channel data detection system based on MCU 年 级:2004 级 学 号:20041426 姓 名:刘天豪 专 业:机械电子工程 指导老师:肖世德 2008 年 6 月 西南交通大学本科毕业设计(论文) 第 页 院 系 机械工程学院 专 业 机械电子工程 年 级 2004 级 姓 名 刘天豪 题 目 基于单片机的多通道数据监测系统 指导教师 评 语 指导教师 (签章) 评 阅 人 评 语 评 阅 人 (签章) 成 绩 答辩委员会主任 (签章) 年 月 日 西南
2、交通大学本科毕业设计(论文) 第 页 毕业设计(论文)任务书毕业设计(论文)任务书 班 级 茅机 学生姓名 刘天豪 学 号 20041426 发题日期: 2008 年 3 月 5 日 完成日期: 6 月 10 日 题 目 基于单片机的多通道数据监测系统 1、本论文的目的、意义 温度压力液位流量是工业自动化常见控制参量,实现其监测与控制是基础性工作, 也是机械电子工程专业学生必须掌握的基础内容。本课题要求学生综合利用所学知 识,培养动手能力,在前人工作基础上,改进完善,实现多通道模拟工业温度压力 液位信号采集和处理显示,实现上下限报警和电磁继电器和开关通断控制。该课题 对于机电测控实验中心完善实
3、验建设具备价值。 2、学生应完成的任务 (1)查阅收集资料、熟悉设计原始资料、完成相关不少于 10000 个字符的外文资料 翻译。 (2)完成毕业实习调研以及实习报告的撰写 。 (3)现有温度压力液位流量监测与控制系统调研和资料搜集。 (4)多路参量监测与控制系统方案设计。 (5)接口电路板制作和加工 。 (6)实验程序设计与调试。 (7)完整程序和实物一套。 (8)整理完成不少于 24000 字的毕业论文。 3、论文各部分内容及时间分配:(共 12 周) 第一部分 调研准备和资料搜集 (2 周) 第二部分 方案设计和元器件采购 (2 周) 第三部分 硬件制作 (3 周) 第四部分 软件调试
4、(3 周) 第五部分 系统集成,撰写毕业论文 (1 周) 评阅及答辩 评阅答辩 (1 周) 西南交通大学本科毕业设计(论文) 第 I I 页 备 注 指导教师: 年 月 日 审 批 人: 年 月 日 西南交通大学本科毕业设计(论文) 第 IIII 页 摘摘 要要 随着电子计算机信息技术的不断发展和完善,采用单片机实现的数据采集系统 的应用越来越多。采用单片机实现的数据采集系统具有自动化和无人值守的特点。 在许多工业测控机械、医疗仪器以及消费电子产品中,都对数据采集系统的实 时性与功耗提出了更高的要求:即在满足微功耗、微型化的总体设计原则基础上, 又要能实时反映现场采集数据的变化。这就对系统的功
5、耗、采样速度、数据存储和 传输速度等提出了更高的要求。然而,随着半导体与微控制器技术的飞速发展,各 种微电子器件的性能不断提高,功耗却不断降低。技术的进步使得高速度、低功耗 的数据采集系统得以实现。 本文设计的数据采集与显示、处理系统采用 TI 公司研制的 MSP430 系列超低功 耗单片机作为核心控制元件,实现了 8 通道模拟量数据的采集、自动循环显示、用 户查询、限位设定及报警、外围驱动能力、时间显示、以及和上位机组态软件的通 信功能。该系统功能齐全,且具有一定的通用性。主要研究内容如下: 首先,分析了数据采集系统技术领域内国内外的研究现状,以及 MSP430 系列低 功耗单片机的特点和应
6、用情况。其次,分析了研究数据采集系统的现实意义,在此 基础上给出了基于 MSP430 单片机的数据采集系统的总体设计方案。比较详细的介绍 了实现该系统的硬件电路设计,包括电源电路、按键电路、复位电路、点阵 LCD 显 示电路、LED 指示灯和蜂鸣器报警电路、直流电机驱动电路和 USART 异步串行通信 电路等电路的原理图设计。最后详细的介绍了基于 C 语言的软件系统实现方案。 其中,软件系统的设计是本设计的工作重点。设计过程采用了模块化的软件设 计思想。文中第 4 章前 6 小节详细介绍了系统中各个模块软件设计过程。其中和组 态王的串口通信程序设计是最有创新性的内容;第 7 小节介绍了这些模块
7、之间的输 入、输出等链接关系,并最终给出了主处理程序的结构框架。 本设计的最终实验结果表明,下位机的数据采集及显示、查询、报警等功能均 能顺利实现;与组态王的串口通信程序设计取得了明显的成果。 关键词:数据采集 MSP430 串行通信 西南交通大学本科毕业设计(论文) 第页 Abstract With development of computer and information technology, using of MCU in a data detection system is becoming more and more popular. Data detection system
8、 with MCU has character of automated and unattended. Real-time and lower power consumption is demanded in many industrial measurement and control machinery, medical equipment and consumer electronics products: principle of overall design is not only meet micro-power consumption and miniaturization b
9、ut also reflect real-time data changes when the scene changes. This make a higher demand of the systems power consumption, sampling speed, data storage speed and transmission speed. With the rapid development of semiconductor and microcontroller technology, performance of microelectronic devices is
10、improved but the power consumption is reduced. Advances in technology make high-speed, lower-power data detection system can be realized. The data detection and processing system designed in this paper use TIs MSP430 as the core element, which achieves the functions such as: 8-channel analog data de
11、tection, automatic cycle display, user queries, set the limit and give alarm, to drive the external devices, show time and communicate with PC(through KingView 6.51). The system has enough functions and is commonality. Main contents are as follows: First, analyses the research status quo of the data
12、 detection system at home and abroad. Second, analyses the practical significance of data detection system, on basis of this, we give a data detection system design programme which based on MSP430. We detail the systems structural design and hardware circuit design, including power circuit, button c
13、ircuit, reset circuit, dot-matrix LCD display circuit, LED and buzzer alarm circuit, motor-driven circuit and USART communication circuit, Finally, give a detail introduction to design a software system based on C language to realize the whole function. The software design is the key work of this de
14、sign. The whole design processing based on a concept called “modular design”. In Chapter 4 the first six sections detail every modules designing process. Serial communication procedures design between KingView 西南交通大学本科毕业设计(论文) 第页 and MSP430 is believed to be the most innovative content in this paper
15、; in section 7, input and output relations among all the modules is analysed. And finally, I give the main programs structural framework. Final test results show that data detection and display, query and alarm function can runs smoothly; serial communication design between KingView and MSP430 have
16、achieved remarkable results. keykey wordswords:data detection MSP430 serial communication 西南交通大学本科毕业设计(论文) 第 页 目 录 第 1 章 绪论.1 1.1 数据采集系统概述 .1 1.1.1 嵌入式系统概述 .3 1.1.2 嵌入式数据采集系统简介 .3 1.2 数据采集系统发展方向 .3 1.3 本文研究的主要内容及组织结构 .7 第 2 章 基于 MSP430 的数据采集系统的系统设计.6 2.1 基于 MSP430 的数据采集系统的系统构建 .6 2.1.1 系统功能分析 .6 2.1
17、.2 系统的硬件原理框图 .7 2.1.3 系统的工作过程 .8 2.2 系统主要功能器件的介绍及选择 .8 2.2.1 单片机的选择 .8 2.2.2 传感器简介 .11 2.2.3 AD 转换模块结构介绍.11 2.2.4 LCD 显示模块的选择.14 2.2.5 上位机处理系统软件的选择.15 第 3 章 基于 MSP430 的数据采集系统的硬件设计.17 3.1 电源电路的设计 .17 3.2 复位电路设计 .18 3.3 模拟量采集电路的设计 .18 3.4 图形点阵 LCD 显示电路 .19 3.5 按键处理电路 .20 3.6 串行通信电路设计 .21 3.7 报警系统及外围驱动
18、模块电路设计 .23 3.7.1 报警电路设计 .23 3.7.1 电机驱动电路设计 .24 西南交通大学本科毕业设计(论文) 第 I 页 3.8 单片机电路设计 .24 第 4 章 基于 MSP430 的数据采集系统的软件设计.26 4.1 系统时钟模块的初始化设置 .28 4.2 模拟量采集模块软件设计 .28 4.2.1 转换模块的初始化设置 .28 4.2.2 转换数据的读取 .28 4.2.3 转换数据的格式化 .30 4.2.4 ADC12 模块的启动.31 4.3 输入模块的软件设计 .32 4.3.1 输入模块的初始化设置 .32 4.3.2 中断处理程序 .34 4.4 显示
19、模块的软件设计 .42 4.4.1 LCD 初始化设计.42 4.4.2 LCD 显示设计.43 4.5 串行通信模块的软件设计 .45 4.5.1 组态王与单片机的通信协议 .46 4.5.2 单片机通讯程序设计 .49 4.6 报警系统及外围驱动电路模块的软件设计 .56 4.6.1 报警系统的软件设计 .57 4.6.2 外围驱动模块的软件设计 .58 4.7 主处理模块程序设计 .60 第 5 章 系统的调试及运行.63 5.1 系统实物电路的搭建 .63 5.2 下位机设计功能调试 .63 5.1 和组态王 6.51 串口通信的调试 .63 结 论.68 致 谢.69 参考文献.70
20、 西南交通大学本科毕业设计(论文) 第 II 页 附录 1:电路原理图 .71 附录 2:程序 .72 附录 3:实习报告 .72 西南交通大学本科毕业设计(论文) 第 0 0 页 result8 = ( int)(2.5 * result8 )/ 4096 - 0.986) /0.0000355); for(tmp=0;tmp4;tmp+) results1iq1=result1 % 10;/温度一 iq1=iq1+1; iq1=iq1%4; result1 = result1 /10; results iq8=result8 % 10;/流量二 iq8=iq8+1; iq8=iq8%4;
21、result8 = result8 /10; 以上处理程序中,resultx 是实际要利用的数据格式(两位整数部分,两位小数 部分) ,数组 results用来存储转换数据的各位数据。主要是为了在以后的 LCD 显示 部分能够方便的取出逐位显示。 4.2.4 ADC12 模块的启动 ADC12 模块的启动函数,用以在程序适当位置启动 AD 转换。程序如下: void start_ADC12() ADC12CTL0 |= ADC12SC;/启动 AD 转换 西南交通大学本科毕业设计(论文) 第 1 1 页 adc_Flag = 0;/设置标志,表示正在转换中 4.3 输入模块的软件设计 系统的输
22、入模块主要是指行列矩阵扫描键盘。在第三章中介绍键盘电路设计时 候,已经较详细的说明了键盘的电路设计以及工作原理。这里再详细说明系统对键 盘的功能需求以及软件实现方法。 这里采用定时器 B 以 0.125s 的循环速度使行线 P1.1 和 P1.3 循环置 0,来检查 是否有按键按下,若检查到有按键按下,则系统进入端口中断复位程序,根据按下 的键值进行对应的中断处理。程序流程图如下: 该模块主要包括对定时器 B 和端口中断的处理。下面具体分析该模块的程序设计。 4.3.1 输入模块的初始化设置 该部分主要完成端口的初始化和定时器 B 的初始化。下面为初始化部分的代码程 序。 1、端口初始化程序:
23、 void Init_INPUTPort(void) /将管脚在初始化的时候设置为输入方式 图 4-3 输入模块流程 图 西南交通大学本科毕业设计(论文) 第 2 2 页 P1DIR = 0; P1SEL = 0; P1SEL|= BIT2/除 P1.2 外(另有所用) ,所有的管脚设置为一般 I/O 口 P1DIR P1DIR / 将 P1.4-P1.7 设置为输入方向,键盘的列线 P1DIR |= BIT1; P1DIR |= BIT3; / 将 P1.1 和 P1.3 设置为输出方向 P1IE |= BIT4;/ 管脚 P1.4 使能中断 P1IES |= BIT4;/ 对应的管脚由高到
24、低电平跳变使相应的标志置位 P1IE |= BIT7;/ 管脚 P1.7 使能中断 P1IES |= BIT7;/ 对应的管脚由高到低电平跳变使相应的标志置位 return; 程序中,键盘列线被设置为输入方向,只能读该端口的数据;行线被设置成输出 方向,该端口可读可写,可用定时器 B 使其循环输出高低电平,以监测按键事件。 2、定时器 B 的初始化程序: void Init_TimerB(void) TBCTL = TBSSEL0 + TBCLR; / 选择 ACLK=32768HZ,清除 TAR TBCCTL0 = CCIE; / TBCCR0 中断允许 西南交通大学本科毕业设计(论文) 第
25、 3 3 页 TBCCR0 = 4096;/ 时间间隔为 0.125 s TBCTL |= MC0; /增记数模式 由以上程序可以看出,通过设置 TBCTL 可以设置定时器 B 的时钟源选择,设 置 TBCCR0 来确定时间间隔,用户可以根据自己的需要调整相应寄存器的值以满足 自己的要求。在这里由于选择的时钟源频率为 32768KHz,并为增计数模式,所以 定时时间为 4096/32768=0.125s。 4.3.2 中断处理程序 该部分主要是定时器 B 中断和端口中断处理两个部分。定时器 B 中断主要负责 设置行线的电平,使系统处于按键输入状态。端口中断主要是负责判断哪个列线上 有按键输入,
26、从而获得数据。下面给出部分的程序代码。 1、定时器 B 中断服务程序。该部分代码主要完成循环将相应的行线设置为低 电 平和高电平,使系统处于按键输入状态。 #pragma vector = TIMERB0_VECTOR _interrupt void TimerB_ISR(void) switch(PORT_count) case 0: PORT_count = 1; P1OUT |= BIT3;/p1.3 设置为高电平 西南交通大学本科毕业设计(论文) 第 4 4 页 P1OUT /p1.1 设置为低电平 break; case 1: PORT_count = 0; P1OUT |= BIT
27、1;/p1.1 设置为高电平 P1OUT /p1.3 设置为低电平 break; default: break; 上面程序中,PORT_count 用来标记按键所按下的行号,与下面的端口中断服务 程序配合使用就可以得到按下的键的位置。 2、端口中断服务程序。该模块主要用来判断哪根列线出现了低电平,从而获得 输入值。下面为部分程序代码: #pragma vector = PORT1_VECTOR _interrupt void PORT_ISR(void) Delay_ms(50);/消除延时抖动 if(P1IFG / 清除中断标志位 Delay_ms(1); /消除抖动 switch(PORT
28、_count) / 获得输入值 case 0: PORT_INPUT = 10;/FUN_Key 键,功能键 /*所需要的处理动作*/ break; case 1: PORT_INPUT = 11;/T_Key 键,用以显示时间 /*所需要的处理动作*/ break; default:break; else if(P1IFG /#键,功能键 FUN_key+; FUN_key=FUN_key%4;/最大值为 3,在 0-3 之间循环 以上 PORT_INPUT 为按下改键时的输入值,可以作为该键区别于别的键的标 志。 图 4-5 限值设置流程图 西南交通大学本科毕业设计(论文) 第 8 8 页 2、Up_Key 键和 Down_Key 键:增减键。这两个键用来选择通道号、具体门限 量和设置限值。但是,具体设置的是以上所述三者中的哪一个,取决于 FUN_Key 的值。FUN_Key 的值和 Up_Key 键和 Down_Key 键的功能对应关系,可以由图 4-5 很清楚的得到。由以上分析,Up_Key 键和 Down_Key 键的部分代码如下: (1) Up_Key 键: switch(FUN_key) case 1:/ /FUN_key=1 选择需
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论