欢迎来到第一文库网! | 帮助中心 第一文库网-每个人都是第一
第一文库网
全部分类
  • 研究报告>
  • 学术论文>
  • 全科教育>
  • 应用文档>
  • 行业资料>
  • 企业管理>
  • 技术资料>
  • 生活休闲>
  • ImageVerifierCode 换一换
    首页 第一文库网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    本系统AVR与虚拟仪器.docx

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

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

    本系统AVR与虚拟仪器.docx

    本系统AVR与虚拟仪器张兴成20051001168摘要:本系统利用DS18B20数字温度传感器与Atme1公司生产的AVR系列ATmega16单片机采集被测环境温度,将测得的数据经串口传给计算机。计算机利用1abVIEW的VISA读取串口数据并进行处理与显示,实现基于V1SA的串口温度采集监控。关键词:DS18B20温度传感器AVR单片机VISA串口1、概述实时数据采集是工业操纵系统中必不可少的构成部分,是进行工业分析,工业处理与工业操纵的根据。近年来由于大规模集成电路、单片机、计算机等在工业操纵领域中的广泛应用,数字化的数据采集成为必定。这就对传感器的A/D性能,单片机的数据采集、处理与传输性能,计算机接口与通信技术提出了更高的要求。本系统使用AIme1公司生产的高速8位单片机AVR系列ATmega16单片机作为温度数据采集与传输的主控芯片,温度传感器使用单总线方式的集成数字温度传感器DS18B20O采集得到的数据利用单片机经串口通讯的方式传输至计算机的串口。计算机上位机软件使用数据处理能力超强的1abVIEW软件编写,利用其所带的VISA驱动进行串口的数据采集与处理,实现基于V1SA的串口温度采集监控。2、硬件设计AVR单片机是1997年由ATME1公司研发出的增强型内置F1ash的RISC(ReducedInstructionSetCPU)精简指令集高速8位单片机。AVR的单片机能够广泛应用于计算机外部设备、工业实时操纵、仪器仪表、通讯设备、家用电器等各个领域,它与51单片机、P1C单片机相比具有一系列的优点:1:在相同的系统时钟下AVR运行速度最快;2:芯片内部的FISah、EEPROMSRAM容量较大;3:所有型号的F1aSh、EEPROM都能够反复烧写、全部支持在线编程烧写(ISP);4:多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能,零外围电路也能够工作;5:每个IO口都能够以推换驱动的方式输出高、低电平,驱动能力强;6:内部资源丰富,通常都集成AD、DA模数器、PWM、SP1USART、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.串口通讯。图1:单片机部分电路设计单片机部分的电路设计如图I所示,要紧包含复位电路、ISP接口、JTAG接口、晶振电路、A/D参考电压电路(此部分用于AD采集,本系统并未使用)。复位电路使用了钳位二极管钳位,防止触点电压过高烧坏RESET引脚。供电电路如图2所示,供电电路使用了BM1II7进行稳压,防止电压过高烧坏单片机,并能够提高系统习惯电压的范围,即使供电电压高于单片机正常工作电压也能够由BM1I17稳压到单片机正常工作电压的范围。DS18B20的工作电路如图3所示,使用外部供电而非总线供电的方式,只需一个电容与两个电阻。XH图4:串口通信电路串口通信使用Max232进行电平转换,电路原理图如图4所示,实物照片如图5所示。图5:实物照片3、软件设计下位机软件使用C语言编写,包含DS18B20的读写与串口通信两个要紧部分。上位机软件使用1abVIEW编写。有关程序段如下所示:获取DS18B20数据:uint8gettemp(void)读取温度值uint8temh,tem1,wm,wm1,Wm2,Wm3,temp;init_182O();复位18b20write-1820(0xCC);/跳过ROMwrite_1820(0x44);/温度变换init_1820();write_1820(0xCC);跳过RoMwrite-1820(0xbe);/读暂存存储器tem1=read_1820();读数据temh=read_1820();wm=tem1>>4;只要高8位的低四位与低8位的高四位,温度范围。99Wm1=temh<<4;wm2=wm1+wm;16进制转10进制returnwm2;)系统下位机主函数:voidmain(void)(unsignedchari=O,tmp=O;USARTnit(9600);/波特率9600初始化串口whi1e(1)(tmp=gettemp();USART_Transmit(tmp);)上位机软件使用当前测试测量应用最广泛的1abV1EW编写"1abVIEW(1aboratoryVirtua1instrumentEngineering)是一种图形化的编程语言,它广泛地被工业界、学术界与研究实验室所同意,视为一个标准的数据采集与仪器操纵软件。1abVIEW集成了与满足GPIB、VXkRS-232与RS-485协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP.ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它能够方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。图形化的程序语言,又称之“G”语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或者流程图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标与概念,因此,1abV1EW是一个面向最终用户的工具。它能够增强你构建自己的科学与工程系统的能力,提供了实现仪器编程与数据采集系统的便利途径。使用它进行原理研究、设计、测试并实现仪器系统时,能够大大提高工作效率。利用1abV1EW,可产生独立运行的可执行文件,它是一个真正的32位编译器。像许多重要的软件一样,1abVIEW提供了WindOWs、UNIX、1inux、MaeintOSh的多种版本。上位机的软件前后面板如图6所示:图6上位机软件前后面板视图4、结束语本系统利用数字化的温度传感器进行温度的采集监控,利用串口通信将采集的温度数据传给电脑,利用电脑进行数据处理与显示。既实现了采集监控的功能,又能够进行数据的进一步处理与分析。附录:要紧下位机程序代码18B20.c#inc1ude',config.h"uint8count,wmh,wm1;/count为实际温度,wmh为温度的高位,wm1为温度的低位voidinit_1820(void)(SET-TEM-DDR;设置数据端口为输出SET_TEM_SDT;C1R_TEM_SDT;de1ay_us(480);Z480us以上SET_TEM_SDT;C1R_TEM_DDR;de1ay_us(20);/1560usWhi1e(CHECK_TEM_SDT);SET_TEM_DDR;SET_TEM_SDT;de1ay_us(140);Z60240us)voidwrite_1820(uint8data)(uint8i;for(i=0;i<8;i+)(C1R-TEM-SDT;/从高到低,产生写间隙if(data&(1«i)写数据,先写低位SET_TEM_SDT;e1seC1R_TEM_SDT;de1ay_us(40);/1560usSET_TEM_SDT;1SET_TEM_SDT;)uint8read_1820(void)(uint8temp,k,n;temp=0;for(n=0;n<8;n+)(C1R_TEM_SDT;SET-TEM-SDT;从高到低再到高,产生读间隙C1R_TEM_DDR;设为输入k=CHECK_TEM_SDT;读数据,从低位开始if(k)temp=(1<<n);e1setemp&=-(1«n);de1ay_us(50);/60120usSET-TEM-DDR;设为输出)return(temp);)uint8gettemp(void)/读取温度值(uint8temh,tem1,wm,wm1,Wm2,wm3,temp;init_1820();复位18b20write_1820(0xCC);/跳过ROMwrite_1820(0x44);/温度变换init_1820();write.1820(0xCC);跳过ROMwrite_1820(0xbe);/读暂存存储器tem1=read_1820();读数据temh=read_1820();wm=tem1>>4;只要高8位的低四位与低8位的高四位,温度范围099Wm1=temh<<4;wm2=wm1+wm;/16进制转10进制returnwm2;Sio.c#inc1ude,config.h"voidUSARTnit(unsignedintbaud)unsignedinttmp;*设置波特率*/tmp=F_CPU/baud/16-1;UBRRH=(unsignedchar)(tmp>>8);UBRR1=(unsignedchar)tmp;*接收器与发送器使能*/UCSRB=(1<<RXEN)(1<<TXEN);/*设置帧格式:8个数据位,2个停止位*/UCSRC=(1<<URSE1)(1<<USBS)(1<<UCSZO)(1<<UCSZI);)/数据发送【发送5到8位数据位的帧】voidUSART_Transmit(unsignedchardata)(*等待发送缓冲器为空*/whi1e(!(UCSRA&(1<<UDRE),/*将数据放入缓冲器,发送数据*/UDR=data;)/数据接收【以5到8个数据位的方式接收数据帧】unsignedcharUSART_Receive(void)(*等待接收数据*/whi1e(!(UCSRA&(I«RXC),*从缓冲器中获取并返回数据*/returnUDR;)Main.c#inc1ude,config.h"voidmain(void)(unsignedchartmp=0;USARTnit(9600);波特率9600初始化串口whi1e(1)tmp=gettemp();USART_TranSmit(tmp);

    注意事项

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

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




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

    copyright@ 2008-2022 001doc.com网站版权所有   

    经营许可证编号:宁ICP备2022001085号

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



    收起
    展开