欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    本系统AVR与虚拟仪器.docx

    • 资源ID:950887       资源大小:178.13KB        全文页数:7页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    本系统AVR与虚拟仪器.docx

    本系统AVR与虚拟仪器张兴成20051001168摘要:本系统利用DS18B20数字温度传感器与Atmel公司生产的AVR系列ATmega16单片机采集被测环境温度,将测得的数据经串口传给计算机。计算机利用LabVIEW的VISA读取串口数据并进行处理与显示,实现基于VlSA的串口温度采集监控。关键词:DS18B20温度传感器AVR单片机VISA串口1、概述实时数据采集是工业操纵系统中必不可少的构成部分,是进行工业分析,工业处理与工业操纵的根据。近年来由于大规模集成电路、单片机、计算机等在工业操纵领域中的广泛应用,数字化的数据采集成为必定。这就对传感器的A/D性能,单片机的数据采集、处理与传输性能,计算机接口与通信技术提出了更高的要求。本系统使用AImel公司生产的高速8位单片机AVR系列ATmega16单片机作为温度数据采集与传输的主控芯片,温度传感器使用单总线方式的集成数字温度传感器DS18B20O采集得到的数据利用单片机经串口通讯的方式传输至计算机的串口。计算机上位机软件使用数据处理能力超强的LabVIEW软件编写,利用其所带的VISA驱动进行串口的数据采集与处理,实现基于VlSA的串口温度采集监控。2、硬件设计AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(ReducedInstructionSetCPU)精简指令集高速8位单片机。AVR的单片机能够广泛应用于计算机外部设备、工业实时操纵、仪器仪表、通讯设备、家用电器等各个领域,它与51单片机、PlC单片机相比具有一系列的优点:1:在相同的系统时钟下AVR运行速度最快;2:芯片内部的FISah、EEPROMSRAM容量较大;3:所有型号的FlaSh、EEPROM都能够反复烧写、全部支持在线编程烧写(ISP);4:多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能,零外围电路也能够工作;5:每个IO口都能够以推换驱动的方式输出高、低电平,驱动能力强;6:内部资源丰富,通常都集成AD、DA模数器、PWM、SPLUSART、TWkI2C通信口、丰富的中断源等。目前支持AVR单片机编译器的语言要紧有汇编语言、C语言、BASIC语言等。其中C编译器要紧有CodeViSionAVR、AVRGCC、IAR、ICCAVR等,C语言编译器由于它具有功能强大、运用灵活、代码小、运行速度快等先天性的优点,使得它在专业程序设计上具有不可代替的地位。DS18B20数字温度计提供9位(二进制)温度读数,指示器件的温度。信息通过单线接口送入DS18B20或者从DS18B20送出,因此从主机CPU到DS18B20仅需一条线(与地线),DS18B20的电源能够由数据线本身提供而不需要外部电源。由于每一个DS18B20在出厂时已经给定了唯一的序号,因此任意多个DS18B20能够存放在同一条单线总线上,这同意在许多不一致的地方放置温度敏感器件。DS18B20的测量范围从-55摄氏度到+125摄氏度增量值为0.5摄氏度。可在1s(典型值)内把温度变换成数字。系统的硬件设计要紧分为四个部分:单片机、供电电路、DS18B20.串口通讯。VCCPBO (TO)OPBl (Tl)>PB2 (AlNO) PB3(AIKl) PB4 (南 PB5 (MOSI) PB6 (MISO) PB? (SCK)PDO (RXD) PDl (TXD) PD2 (INTO) PD3 (INTl) PD4 (OClB) PD5 (OClA) PD6 (ICP) PD? (T0SC2)RESETXl(ADCO) PAO (ADCl)PAl(ADC2) PA2 (ADC3) PA3 (ADC4) PA4 (ADC5) PA5 (ADC6) PA6(ADC?) PA7(SCL)Pa) (SDA)PCl (TCK)PC2(TMS)PC3 (TD0)PC4(TDI)PC5 (TOSCl) PC6 (TOSC2)PC7AVCCAREFAGHD40 P_4039 P_3938 P237 P_3736 P_3635 P_3534 P二34图1:单片机部分电路设计单片机部分的电路设计如图I所示,要紧包含复位电路、ISP接口、JTAG接口、晶振电路、A/D参考电压电路(此部分用于AD采集,本系统并未使用)。复位电路使用了钳位二极管钳位,防止触点电压过高烧坏RESET引脚。图3: DS18B20电路设计供电电路如图2所示,供电电路使用了BMlII7进行稳压,防止电压过高烧坏单片机,并能够提高系统习惯电压的范围,即使供电电压高于单片机正常工作电压也能够由BM1I17稳压到单片机正常工作电压的范围。DS18B20的工作电路如图3所示,使用外部供电而非总线供电的方式,只需一个电容与两个电阻。XH图4:串口通信电路串口通信使用Max232进行电平转换,电路原理图如图4所示,实物照片如图5所示。图5:实物照片3、软件设计下位机软件使用C语言编写,包含DS18B20的读写与串口通信两个要紧部分。上位机软件使用LabVIEW编写。有关程序段如下所示:获取DS18B20数据:uint8gettemp(void)读取温度值uint8temh,teml,wm,wm1,Wm2,Wm3,temp;init_182O();复位18b20write-l820(0xCC);/跳过ROMwrite_1820(0x44);/温度变换init_l820();write_1820(0xCC);跳过RoMwrite-l820(0xbe);/读暂存存储器teml=read_l820();读数据temh=read_1820();wm=teml>>4;只要高8位的低四位与低8位的高四位,温度范围。99Wm1=temh<<4;wm2=wml+wm;16进制转10进制returnwm2;)系统下位机主函数:voidmain(void)(unsignedchari=O,tmp=O;USARTnit(9600);/波特率9600初始化串口while(l)(tmp=gettemp();USART_Transmit(tmp);)上位机软件使用当前测试测量应用最广泛的LabVlEW编写"LabVIEW(LaboratoryVirtualinstrumentEngineering)是一种图形化的编程语言,它广泛地被工业界、学术界与研究实验室所同意,视为一个标准的数据采集与仪器操纵软件。LabVIEW集成了与满足GPIB、VXkRS-232与RS-485协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP.ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它能够方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。图形化的程序语言,又称之“G”语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或者流程图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标与概念,因此,LabVlEW是一个面向最终用户的工具。它能够增强你构建自己的科学与工程系统的能力,提供了实现仪器编程与数据采集系统的便利途径。使用它进行原理研究、设计、测试并实现仪器系统时,能够大大提高工作效率。利用LabVlEW,可产生独立运行的可执行文件,它是一个真正的32位编译器。像许多重要的软件一样,LabVIEW提供了WindOWs、UNIX、Linux、MaeintOSh的多种版本。上位机的软件前后面板如图6所示:图6上位机软件前后面板视图4、结束语本系统利用数字化的温度传感器进行温度的采集监控,利用串口通信将采集的温度数据传给电脑,利用电脑进行数据处理与显示。既实现了采集监控的功能,又能够进行数据的进一步处理与分析。附录:要紧下位机程序代码18B20.c#include',config.h"uint8count,wmh,wml;/count为实际温度,wmh为温度的高位,wml为温度的低位voidinit_1820(void)(SET-TEM-DDR;设置数据端口为输出SET_TEM_SDT;CLR_TEM_SDT;delay_us(480);Z480us以上SET_TEM_SDT;CLR_TEM_DDR;delay_us(20);/1560usWhile(CHECK_TEM_SDT);SET_TEM_DDR;SET_TEM_SDT;delay_us(140);Z60240us)voidwrite_1820(uint8data)(uint8i;for(i=0;i<8;i+)(CLR-TEM-SDT;/从高到低,产生写间隙if(data&(l«i)写数据,先写低位SET_TEM_SDT;elseCLR_TEM_SDT;delay_us(40);/1560usSET_TEM_SDT;1SET_TEM_SDT;)uint8read_1820(void)(uint8temp,k,n;temp=0;for(n=0;n<8;n+)(CLR_TEM_SDT;SET-TEM-SDT;从高到低再到高,产生读间隙CLR_TEM_DDR;设为输入k=CHECK_TEM_SDT;读数据,从低位开始if(k)temp=(l<<n);elsetemp&=-(l«n);delay_us(50);/60120usSET-TEM-DDR;设为输出)return(temp);)uint8gettemp(void)/读取温度值(uint8temh,teml,wm,wm1,Wm2,wm3,temp;init_1820();复位18b20write_1820(0xCC);/跳过ROMwrite_1820(0x44);/温度变换init_1820();write.l820(0xCC);跳过ROMwrite_l820(0xbe);/读暂存存储器teml=read_l820();读数据temh=read_1820();wm=teml>>4;只要高8位的低四位与低8位的高四位,温度范围099Wm1=temh<<4;wm2=wml+wm;/16进制转10进制returnwm2;Sio.c#include,config.h"voidUSARTnit(unsignedintbaud)unsignedinttmp;*设置波特率*/tmp=F_CPU/baud/l6-l;UBRRH=(unsignedchar)(tmp>>8);UBRRL=(unsignedchar)tmp;*接收器与发送器使能*/UCSRB=(1<<RXEN)(1<<TXEN);/*设置帧格式:8个数据位,2个停止位*/UCSRC=(1<<URSEL)(1<<USBS)(1<<UCSZO)(1<<UCSZI);)/数据发送【发送5到8位数据位的帧】voidUSART_Transmit(unsignedchardata)(*等待发送缓冲器为空*/while(!(UCSRA&(1<<UDRE),/*将数据放入缓冲器,发送数据*/UDR=data;)/数据接收【以5到8个数据位的方式接收数据帧

    注意事项

    本文(本系统AVR与虚拟仪器.docx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开