毕业设计论文(20041426) - 副本 (2) - 副本.doc

上传人:rrsccc 文档编号:10215881 上传时间:2021-04-29 格式:DOC 页数:21 大小:288.17KB
返回 下载 相关 举报
毕业设计论文(20041426) - 副本 (2) - 副本.doc_第1页
第1页 / 共21页
毕业设计论文(20041426) - 副本 (2) - 副本.doc_第2页
第2页 / 共21页
毕业设计论文(20041426) - 副本 (2) - 副本.doc_第3页
第3页 / 共21页
毕业设计论文(20041426) - 副本 (2) - 副本.doc_第4页
第4页 / 共21页
毕业设计论文(20041426) - 副本 (2) - 副本.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《毕业设计论文(20041426) - 副本 (2) - 副本.doc》由会员分享,可在线阅读,更多相关《毕业设计论文(20041426) - 副本 (2) - 副本.doc(21页珍藏版)》请在三一文库上搜索。

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 页

29、 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 选择需要设置的量 stairs=stairs%9;/一共 8 个通道,故通道号要在 18 之间循环 stairs+; break; case

30、2:/ /FUN_key=2 选择设置上限的门限 line =22; break; case 3:/FUN_key=3 设置上限、下限值 switch(stairs) case 1: if(line=22)T1up+; else T1down+; break; case 8: 西南交通大学本科毕业设计(论文) 第 9 9 页 if(line=22)Q2up+; else Q2down+; default : break; ; break; default : break; 以上程序中,变量 stairs 代表选择的通道号,变量 line 代表选择标号在 LCD 上 显示的位置,T1up、T1d

31、own、Q2up、Q2down 表示所监测的 8 个量的上限和 下限值。 (2) Down_Key 键:By-gnksguybb 此键的功能和 Up_Key 键的功能是对应的关系,分别对应着通道号 stairs 的递减、 选择标号位置 line 的下移,以及 T1up、T1down、Q2up、Q2down 表示所监测 的 8 个量的上限和下限值的递减。程序代码在这里省略。 3、检测量 T、P、H、Q 查询键及时间查询键。这些键用来使用户查询各个检查 通道的测量值以及时间。每当这些键中的某个键按下时,LCD 便跳转至查询页面, 显示查询内容。在程序实现上,只需要将实现相应功能的代码写入端口中断服务程 序的指定位置即可。这个部分的功能的实现比较简单,下面以 T1 的查询为例来说明。 clear_Rect(22/8,0,7,64); 西南交通大学本科毕业设计(论文) 第 1010 页 clear_Rect(22/8,64,7,64); /清除 LCD 此前显示内容 while(adc_Flag =0);/如果转换完毕、存储完毕则进入显示 for(i=0;i5;i+) drawStr(22,0,wendu,32);/温度 drawStr(22,32,showData001,16);/一 drawStr(22,48,showData5,8);/:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1