优选(VR虚拟现实)本系统AVR与虚拟仪器_第1页
优选(VR虚拟现实)本系统AVR与虚拟仪器_第2页
优选(VR虚拟现实)本系统AVR与虚拟仪器_第3页
优选(VR虚拟现实)本系统AVR与虚拟仪器_第4页
优选(VR虚拟现实)本系统AVR与虚拟仪器_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、LOGO 企业言郦YOUR COMPANY NAME IS HERE 专业丨专注丨精心1卓越 随心编辑,值得下瞬有!优选(VR虚拟现实)本系统AVR与虚拟仪器基于 LabVIEW 的串口温度监控系统设计张兴成 20051001168摘要: 本系统利用 DS18B20 数字温度传感器和 Atmel 公司生产的 AVR 系列 ATmega16 单片机采集被测环境温度,将测得的数据经串口传给计算机。计算机利用 LabVIEW 的 VISA 读取串口数据并进行处理和显示, 实现基于 VISA 的串口温度采集监控。 关键词: DS18B20 温度传感器 AVR 单片机 VISA 串口1、 概述 实时数据

2、采集是工业控制系统中必不可少的组成部分,是进行工业分析,工业处理 和工业控制的依据。近年来由于大规模集成电路、单片机、计算机等在工业控制领域中 的广泛应用,数字化的数据采集成为必然。这就对传感器的 A/D 性能,单片机的数据 采集、处理和传输性能,计算机接口与通信技术提出了更高的要求。本系统采用 Atmel 公司生产的高速 8 位单片机 AVR 系列 ATmega16 单片机作 为温度数据采集和传输的主控芯片, 温度传感器采用单总线方式的集成数字温度传感器 DS18B20 。采集得到的数据利用单片机经串口通讯的方式传输至计算机的串口。计算 机上位机软件采用数据处理能力超强的 LabVIEW 软

3、件编写,利用其所带的 VISA 驱动 进行串口的数据采集和处理,实现基于 VISA 的串口温度采集监控。2 、 硬件设计AVR 单片机是 1997 年由 ATMEL 公司研发出的增强型内置 Flash 的 RISC(Reduced Instruction Set CPU) 精简指令集高速 8 位单片机。 AVR 的单片机可以广泛应用于计 算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域,它与 51 单片机、 PIC 单片机相比具有一系列的优点:1:在相同的系统时钟下 AVR 运行速度最快;2: 芯片内部的 Flsah 、 EEPROM 、SRAM 容量较大;3:所有型号的 F

4、lash 、 EEPROM 都可以反复烧写、全部支持在线编程烧写(ISP);4:多种频率的内部 RC 振荡器、上电自动复位、看门狗、启动延时等功能,零外 围电路也可以工作;5:每个 IO 口都可以以推换驱动的方式输出高、低电平,驱动能力强;6:内部资源丰富, 一般都集成 AD、DA 模数器、 PWM 、SPI、USART 、TWI 、I2C 通信口、丰富的中断源等。目前支持 AVR 单片机编译器的语言主要有汇编语言、 C 语言、 BASIC 语言等。其中C编译器主要有 CodeVisionAVR 、AVRGCC、IAR、ICCAVR等,C语言编译器由于 它具有功能强大、 运用灵活、代码小、运行

5、速度快等先天性的优点,使得它在专业程 序设计上具有不可代替的地位。DSl8B20 数字温度计提供 9 位 (二进制 )温度读数,指示器件的温度。信息经过单线 接口送入 DSl8B20 或从 DSl8B20 送出,因此从主机 CPU 到 DSl8B20 仅需一条线 (和地 线) , DSl8B20 的电源可以由数据线本身提供而不需要外部电源。 因为每一个 DSl8B20 在出厂时已经给定了唯一的序号,因此任意多个 DSl8B20 可以存放在同一条单线总线 上, 这允许在许多不同的地方放置温度敏感器件。 DSl8B20 的测量范围从 -55 摄氏度到 +125 摄氏度增量值为 0.5 摄氏度。可在

6、 l s( 典型值 )内把温度变换成数字。系统的硬件设计主要分为四个部分:单片机、供电电路、DS18B20 、串口通讯。图 1 :单片机部分电路设计单片机部分的电路设计如图 1所示,主要包括复位电路、ISP接口、JTAG接口、晶振 电路、 A/D 参考电压电路(此部分用于 AD 采集,本系统并未使用) 。复位电路使用了钳位 二极管钳位,防止触点电压过高烧坏 RESET引脚。图 2 :供电电路设计图 3 : DS18B20 电路设计供电电路如图 2 所示,供电电路使用了 BM1117 进行稳压, 防止电压过高烧坏单片机, 并可以提高系统适应电压的范围,即使供电电压高于单片机正常工作电压也可以由B

7、M1117 稳压到单片机正常工作电压的范围。DS18B20 的工作电路如图 3 所示, 采用外部供电而非总线供电的方式, 只需一个电容 和两个电阻。图 4 :串口通信电路串口通信采用 Max232 进行电平转换,电路原理图如图 4 所示,实物照片如图 5 所示。图 5 :实物照片3、 软件设计下位机软件采用 C 语言编写,包括 DS18B20 的读写和串口通信两个主要部分。上位机软件采用 LabVIEW 编写。相关程序段如下所示:获取 DS18B20 数据:uint8 gettemp(void)/ 读取温度值uint8 temh,teml,wm0,wm1,wm2,wm3,temp;init_1

8、820(); / 复位 18b20write_1820(0xCC); / 跳过 ROMwrite_1820(0x44); / 温度变换init_1820();write_1820(0xCC);/ 跳过 ROMwrite_1820(0xbe);/ 读暂存存储器teml=read_1820(); / 读数据temh=read_1820();wm0=teml4; / 只要高 8 位的低四位和低 8 位的高四位,温度范围 099wm1=temh4;wm2=wm1+wm0; /16 进制转 10 进制return wm2;系统下位机主函数:void main(void)unsigned char i=0

9、,tmp=0;USART_Init(9600); / 波特率 9600 初始化串口while(1)tmp=gettemp();USART_Transmit(tmp);上位机软件采用当前测试测量应用最广泛的LabVIEW 编写。 LabVIEW( Laboratory Virtual instrument Engineering)是一种图形化的编程语言, 它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW 集成了与满足 GPIB、VXI 、RS-232 和 RS-485 协议的硬件及数据采集卡通讯 的全部功能。 它还内置了便于应用 TCP/IP 、A

10、ctiveX 等软件标准的库函数。 这是一个功 能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编 程及使用过程都生动有趣。图形化的程序语言,又称为G”语言。使用这种语言编程时,基本上不写程序代 码,取而代之的是流程图或流程图。它尽可能利用了技术人员、科学家、工程师所熟悉 的术语、图标和概念,因此, LabVIEW 是一个面向最终用户的工具。它可以增强你构 建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使 用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。利用LabVIEW,可产生独立运行的可执行文件,它是一个真正的3 2

11、位编译器。像许多重要的软件一样, LabVIEW 提供了 Windows 、UNIX 、 Linux 、 Macintosh 的 多种版本。上位机的软件前后面板如图 6 所示:图 6 上位机软件前后面板视图4 、 结束语本系统利用数字化的温度传感器进行温度的采集监控,利用串口通信将采集的温度数据传给电脑,利用电脑进行数据处理和显示。既实现了采集监控的功能,又可以进行数据 的进一步处理和分析。附录:主要下位机程序代码18B20.c#include config.huint8 count,wmh,wml; /count 为实际温度 ,wmh 为温度的高位 ,wml 为温度的低位 void init

12、_1820(void)SET_TEM_DDR; / 设置数据端口为输出SET_TEM_SDT;CLR_TEM_SDT;delay_us(480); /480us 以上SET_TEM_SDT;CLR_TEM_DDR;delay_us(20); /1560uswhile(CHECK_TEM_SDT);SET_TEM_DDR;SET_TEM_SDT;delay_us(140); /60240usvoid write_1820(uint8 data)uint8 i;for(i=0;i8;i+)CLR_TEM_SDT; / 从高到低,产生写间隙 if(data&(1i) / 写数据,先写低位SET_TE

13、M_SDT;elseCLR_TEM_SDT;delay_us(40); /1560usSET_TEM_SDT;SET_TEM_SDT;uint8 read_1820(void)uint8 temp,k,n;temp=0;for(n=0;n8;n+)CLR_TEM_SDT;SET_TEM_SDT; / 从高到低再到高,产生读间隙CLR_TEM_DDR; / 设为输入k=CHECK_TEM_SDT;/ 读数据 ,从低位开始if(k)temp|=(1n);elsetemp&=(14; / 只要高 8 位的低四位和低 8 位的高四位,温度范围wm1=temh8);UBRRL = (unsigned c

14、har)tmp;/* 接收器与发送器使能 */UCSRB = (1RXEN)|(1TXEN);/* 设置帧格式 : 8 个数据位 , 2 个停止位 */UCSRC = (1URSEL)|(1USBS)|(1UCSZ0)|(1UCSZ1);/ 数据发送【发送 5 到 8 位数据位的帧】void USART_Transmit( unsigned char data )/* 等待发送缓冲器为空 */ while ( !( UCSRA & (1UDRE) )/* 将数据放入缓冲器,发送数据*/UDR = data;据帧】/ 数据接收【以 5 到 8 个数据位的方式接收数unsigned char USART_Receive( void )/* 等待接收数据

温馨提示

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

评论

0/150

提交评论