基于AVRUSB接口的温度测量系统下位机设计.doc

基于AVRUSB接口的温度测量系统下位机设计.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于AVRUSB接口的温度测量系统下位机设计

基于AVRUSB接口的温度测量系统下位机设计 第10卷第11期2008年11月避赫参Vo1.1ONo.11 NOV.20o9 基于AVRUSB接口的温度测量 系统下位机设计 剥,福文 (鲁东大学物理与电子工程学院,山东烟台264025) 摘要:给出了利用ATMEGA8并通过USB通信端口与计算机进行连接以实现对温度的监控与 显示的系统下位机设计方案,同~Iff,l用AVRUSB实现了kLUSB.本系统软件代码短小简洁, 功能强大.具有较高的稳定性和性价比. 关键字:AVRUSB;ADC;ATMEGA8;PTIO0;温度测量;下位机 0引言 近年来,随着集成电路以及芯片制造技术的 不断发展,不同的USB通信芯片不断涌现.目前 典型的USB通信芯片有CH375,PDIUSBD12等, 这些器件的特点是功能较为强大,但价格较高, 很难在中低价位的产品开发中使用.而AVRUSB 技术则是利用高性能的8位RISC架构的AVR单片 机的IO口来模拟USB的通信端口,并由软件来实 现USB通信协议.以将普通的AVR单片机模拟成 一 个USB低速设备,从而实现AVR单片机与计算 机之间的通信和控制.尽管这种方式只能实现低 速传输,但对常用数据量不是十分巨大的系统而 言,它已经足够使用了,且其速度远远高于传统 的串口传输速度.因而在产品开发中具有广阔的 应用前景.本文便是利用AVRUSB技术来实现对 温度的测量和显示功能. 1系统下位机软件流程 下位机软件设计及其实现可基于WINAVR编 程环境,代码则可利用C语言实现.AVR单片机 主要完成两个功能:温度测量和数据传送.温度 测量主要是对电压信号进行采样,以确定温度的 离散数值.传送数据则是将测量的数据通过AVR 所模拟的USB端口传至PC端,以便PC端进行数据 收稿日期:2008—07—10 图2下位机程序流程图 的显示和处理.其主要流程如图l所示. 2软件功能的实现 2.1温度数据的采集 ATmega8内含一个l0位逐次逼近型ADC.该 ADC可与一个8通道的模拟多路复用器连接,以 对来自端口C的8路单端输入电压进行采样.单 端电压输入以0VfGND)为基准.AD转换的时 序图如图2所示. 对于连续AD数据采集.可采用查询法和中 断法,该程序中采用的是中断法,即一次AD转 换结束后便产生中断.设计时可利用如下函数对 电压数值进行采集: 首先定义全局变量Value.储存所测量到的 温度数值,并将该值作为USB端口的发送数值. voidadc—init(void);//对ADC模数转换 有关的寄存器进行配置 { 2008.11电手元器件主硐59 第lO卷第ll期 2008年11月 电子元嚣件主用 ElectronicComponentamp;DeviceApplications VoI.10No.11 NOV.20o8 OneConversionNextConversion CycleN一 }I}IsIIsIJ,JsII.IttIt:I13[1JzJs ADCClock ADSC AD ADCH ADCL ——一 卜—{I-———一 llI IIf?f???I},tfffiff}7fff}?f79}fff}fffff?fff?fffIfff}fI}fffM{BofResult IIl ‘}f}ff?fff}f,I?ff}?}f}?ff}ff?f}ff?ffffIff}}fII7f?fIf}fII}fff{I(M{BofResult .,\’—sampleamp;Holdc—ionco唧let.~-MUXandREFSUpdate ‘ …以一 Update 图2ADC数据转换时序图 ADCSR=0x00;//ADC停止工作号,每个代号都是一个双字节的整数.PID和VID ADMUX:Ox00;//选择0号通道不能随意设置,它是由USB标准协会进行分配的 ACSR:Ox80;(0xl6C0,0x05DC),并在用户配置文件中要遵循 ADCSR=0xC9:/,启动ADC低位在前高位在后的原则. l ‘2. 3USB数据传输的接口函数 SIGNAL(SIG-ADC)//中断采样程序,将转 换结果保存至全局变量Value中 { Value=ADCL;//要先读低8位 Valuel=(int)ADCHlt;lt;8;//后读高字节 l 通过该AD转换即可得到所对应的温度数值. 2.2USB数据传输 为了利用ATMEGA8模拟”软USB”,应在 WINAVR将AVRUSB的文件配置文件夹USBDRV 放置在源文件目录下,在该目录下,编程中所需 要的文件如表1所列. 裹1文件名称及功能 文件名功能 usbconfig.h用户配置文件 iarcompat.h为兼容IAR编译器而定义的宏 uBbdh.husb驱动

文档评论(0)

133****9031 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档