欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于AD590温度采集系统的设计正文(共19页).doc

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

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

    基于AD590温度采集系统的设计正文(共19页).doc

    精选优质文档-倾情为你奉上目 录摘 要本文介绍了基于AD590与89c51单片机的一种温度采集系统,该电路采用ADC0809作为A/D转换元件,将AD590采集的模拟温度信号转化为数字信号,传输到单片机内部,最后用共阴极LED显示出来,温度测量范围085,小数点后显示一位。要求能够正确的显示温度传感器的温度。使用3位LED模块显示,显示测量温度数值。本系统主要包括大模块:数据采集模块、控制模块、A/D转换模块、显示模块。首先绘制出工作流程图,然后连接好硬件电路,写入汇编程序,并进行调试,最终设计完成了该系统的硬件电路。在软件编程上,采用了汇编语言进行编程,使用了显示模块程序、转换数据存取程序、A/D转换程序。关键词:ADC0809;A/D转换;LED显示1 系统方案1.1 系统的设计任务 设计单片机主电路、数据采集接口电路、LED显示电路、时钟信号控制电路,能够实现对1路电压值进行测量,能够显示当前实际的温度值,温度值精度小数点后1位,可以通过ADC0809模数转换芯片将采集的模拟信号转换为数字信号并在LED显示屏显示出来。1.2 设计方案 将数据采集接口T-DETECT端口电压传入ADC0809数模转换元件中的IN-0通道,经转换后通过D0至D7与单片机P0口连接,把转换完的模拟信号以数字信号的信号的形式传给单片机,信号经过单片机处理从LED数码显示管显示。本设计使用的数据流输出为串入并出形式,这样的好处是使用借口较少,方便使用。数据输出显示AT89C51 P0P11F3P12F3 ALEP3P1F3P0F3数据输出ADC0809D0D7 IN0 : IN7CLOCK VREF+VREF-图1.1系统总体方案结构图1.3 软硬件开发环境硬件选择:选择AT89C51作为单片机芯片,选用8段共阴极LED数码管实现温度显示,要求,利用ADC0809作为数模转换芯片,利用P0至P4的各个串口来进行不同设备间的连接,计算机进行汇编,WAVE仿真器,单片机多功能实验台。软件开发环境: keil软件进行程序编写。2 硬件设计2.1 单片机主电路设计在本次课题设计中我们选择了8951芯片,其具有功能强、体积小、成本低、功耗小等特点,它可单独地完成现代工业控制所要求的智能化控制功能,能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。2.2 测量、转换电路设计 使用ADC0809作为数模转换元件,其引脚图如2.1所示图2.1 ADC0809引脚图ADC0809是带有8路模拟开关的8位A/D转换芯片,所以它可有8个模拟量的输入端,由芯片的A,B,C三个引脚来选择模拟通道中的一个。A,B,C三端分别与AT89C51的P0.0P0.2相接。地址锁存信号(ALE)和启动转换信号(START),由P2.6和/WR或非得到。输出允许,由P2.6和/RD或非得到。时钟信号,可有89C51的ALE输出得到,不过当采用12M晶振时,应该先进行二分频,以满足ADC0809的时钟信号必须小于640K的要求。与单片机的连接如图2.2所示图2.2数据转换系统电路图2.3 显示电路设计2.3.1 LED数码管构成LED数码管显示器是由发光二极管显示字段的显示器件,也称为数码管。其外形结构如图所示。它由8个发光二极管构成,通过不同的组合可用来显示0-9、A-F及小数点“.”等字符。数码管有共阴极和共阳极两种结构规格,电阻为外接。共阴极数码管的发光二极管阴极共地,当某发光二极管的阳极为高电平时,二极管点亮;共阳极数码管的发光二极管是阳极,并接高电平,对于需点亮的发光二极管将其阴极接低电平即可。 图23(a) 共阴极 图2.3(b) 共阳极 图2.3(C)字段显示2.3.2 显示方式(1) 静态显示方式直接利用并行口输出。LED显示工作于静态显示方式时,各位的共阴极连接在一起接地;每位的段选线分别于一个8位的锁存输出相连。一般称之为静态显示,是由于显示器中的各位相互独立。而且各位的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。本实验采用串入并出的静态显示方式。利用通信号串行输出。在实际应用中,多位LED显示时,为了简化电路,在系统不需要通信功能时,经常采用串行通信口工作方式0,外接移位寄存器74LS164来实现静态显示。(2) 动态显示方式对多位LED显示器的动态显示,通常都时采用动态扫描的方法进行显示,即逐个循环点亮各位显示器。这样虽然在任一时刻只有一位显示器被点亮,但是由于间隔时间较短,且人眼具有视觉残留效应,看起来与全部显示器持续点亮一样。为了实现LED显示器的动态扫描,除了要给显示器提供的输入之外,还要对显示器加位选择控制,这就是通常所说的段控和位控。因此多位LED显示器接口电路需要有两个输出口,其中一个用于输出8位控信号;另一个用于输出段控信号,其连接图如下。 2.4 LED显示电路表2.1七段LED段选码表 显示字符共阴极段显示字符共阴极段03FHC39H106HD5EH25BHE79H34FHF71H466HP73H56DHU3EH67DH31H707Hy6EH87FH8.FFH96FH“灭”00HA77H/B7CH/3 软件设计3.1 主程序设计 3.1.1 工作流程首先在模拟信号转换开始初期延时一段时间(150微秒),延时完成后数据肯定已经转换完毕。转向数据存储程序,最后再到显示程序,本设计使用的是串入并出形式的显示方法。要求正确的显示温度值。完成一次温度采集显示程序后,要延时1秒,使的数据显示稳定,如果延时时间过短,温度值会在跳跃的临界点闪烁。然后转向温度采集并循环显示程序。工作流程图如下: N Y转换数据的处理继续等待转换结果的处理延时转换时间数据显示延时开始转换完成选择第0通道图3.1主程序流程3.1.2 存储空间定义安排 40H用于存放A/D转换结果,40H、41H、42H分别存储显示用的三位数据如下表:表3.1存储空间定义表40H用于存放A/D转换结果40H温度值十位数部分41H温度值个位数部分(小数点的处理)42H温度值小数位部分3.2 模块程序设计3.2.1 A/D转换测量程序A/D转换的常用方法有:计数式A/D转换,逐次逼近型A/D转换,双积分式A/D转换, V/F变换型A/D转换。在这些转换方式中,记数式A/D转换线路比较简单,但转换速度较慢,所以现在很少应用。双积分式A/D转换精度高,多用于数据采集及精度要求比较高的场合,如5G14433(31/2位),AD7555(41/2位或51/2位)等,但速度更慢。逐次逼近型A/D转换既照顾了转换速度,有具有一定的精度,这里选用的是逐次逼近型的A/D转换芯片ADC0809。采用延时控制的方式实现,不浪费时间,效率较高。其流程图如下: 图3.2 A/D转换测量程序3.2.2 显示程序LED显示工作于静态显示方式时,各位的共阴极连接在一起接地;每位的段选线分别于一个8位的锁存输出相连。一般称之为静态显示,是由于显示器中的各位相互独立。而且各位的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。本实验采用串入并出的静态显示方式。利用通信号串行输出。在实际应用中,多位LED显示时,为了简化电路,在系统不需要通信功能时,采用串行通信口工作方式0,外接移位寄存器74LS164来实现静态显示。读取判断单元显示电压十位数部分显示电压个位数部分(小数点)显示电压小数部分LED显示开始程序40H41H42H图3.3显示子程序4 系统调试与分析4.1 调试内容及问题解决 程序可分为数据采集系统、数据转换系统、显示系统,这三部分先独立测试,然后整体调试。显示系统的调试:要显示的数据存放在40H、41H、42H单元中,先在40H、41H、42H分单元中存放010的数,运行显示程序,察看显示的结果是否与存放值一样。在测试的过程中发现小数点没有显示,通过指令ORL 30H,#80H,把小数点显示出来。整体测试:把个部分用线连接,P2接数码管,P3接位选。仿真器、仿真头连好,进入WAVE软件,设置仿真器。编译程序,看是否存在错误。5 课程设计总结在本次实训中,我遇到了很多难题,然而这些难题让我不断的学习,充分体会了从事单片机开发工作需要特别严谨认真的态度和作风,一点都马虎不得。每一个细微的细节都必须十分的注意,如果不认真思考决策,就会出现或大或小的错误,如果早期的错误隐藏下来,对后面的工作影响就会很大,甚至有时要推倒很多前面做的工作重来。有时候,自己觉得写的程序非常的正确,但是就是编译通不过,在查找错误的过程中,面临着否认自己的过程,非常的痛苦,而且由于自己的经验及各方面的能力的不足,所以进展的速度非常的缓慢,往往几天的时间还没有一点进展。这时候,一般是先自己通过书本,手册和资料找解决办法,实在没辙了才向专家请教。尽管向专家请教解决问题比较快,自己钻研花的时间较多,但强迫自己独立的思考对学习提高帮助非常大。在开始编写程序的时候,看到别人的软件功能非常的详细,总希望自己的软件也非常的完善,但是,经过几天的学习,发现编一个优秀的课程设计决不是一蹴而就的事情,需要长时间的积累和经验。认清自己的能力后,就特别注意在工作的过程中不贪图大而全,而是根据自己的能力,制定适当的目标。反反复复的学习,辛勤努力有了回报,终于做出了一个简单的温度采集系统,虽然这个系统的功能非常的简单,而且在实际的运用中,还有些不足。比如温度数值显示不够精确。由于知识浅薄,经验不足及阅历颇浅,因此,在该系统的设计方面还有很多不足,比如功能不够完善,精度有待提高等问题,会在学习的使用过程中,根据学习的具体要求不断的修改,完善,争取使该系统慢慢趋向完美,并希望老师批评指点在因难中进步,还要感谢指导教师给我的提供了宝贵的意见,感谢学校给我们这提供实训的机会。 附录1:程序清单 org 000h jmp main org 0030hmain: mov r0,#40h mov dptr,#0bff8h ;指向0809首地址 movx dptr,a ;启动A/D转换 tt1: movx a,dptr ;读数 movx r0,a ;存数 movx dptr,a ;启动A/D转换 lcall delay128us ;等待转换完毕(至少128us) movx a,dptr mov r0,a lcall tran ;模数-数据转换 lcall disp ;数据的静态显示 lcall delay1s sjmp main ;数据转换;tran: ;数据转换 mov r0,#40h mov r3,#00h mov a,r0 ;把r0中的数给a mov b,#03h ;标度变换 3格一度 div ab mov r3,b mov b,#0ah ;将标度变换结果的整数部分进行BCD码转换 div ab mov r0,a ;将十位数送显示缓冲单元 inc r0 ;指向缓冲单元下一地址 mov r0,b ;将个位数送显示缓冲单元 mov a,r3 ;标度转换结果小数部分处理 mov b,#03h ;实现三格一度 mul ab inc r0 mov r0,a ;送显示缓冲单元lop: ret;静态显示子程序-串入并出;disp: mov dptr,#tab mov r0,#40h ;r0指向缓存区首地址 mov a,r0 ;将整数位数给a movc a,a+dptr ;利用表格计算十位七段LED数码管的段码 mov 40h,a ;将段码结果送入40h inc r0 ;r0指向缓存区下一地址 mov a,r0 ;将个位数给a movc a,a+dptr ;利用表格计算个位七段LED数码管的段码 mov 41h,a ;将段码结果送入41h inc r0 ;r0指向缓存区下一地址 mov a,r0 ;将小数给a movc a,a+dptr ;利用表格计算小数位七段LED数码管的段码 mov 42h,a ;将段码结果送入42h;最后一位清零; mov 43h,#00h mov a,43h mov r7,#8ccc: jb acc.7,aaa ; clr p3.0 ; jmp bbbaaa: setb p3.0bbb: setb p3.1 clr p3.1 rl a djnz r7,ccc;小数位数显示; mov a,42h mov r7,#8 cc: jb acc.7,aa ; clr p3.0 ; jmp bbaa: setb p3.0bb: setb p3.1 clr p3.1 rl a djnz r7,cc ;所有位检测后顺序执行;个位数显示; orl 41h,#80h ;个位数后置小数点 mov a,41h mov r7,#8 dd: jb acc.7,ee clr p3.0 jmp ff ee: setb p3.0 ff: setb p3.1 clr p3.1 rl a djnz r7,dd ;十位数数显示; mov a,40h mov r7,#8 gg: jb acc.7,hh clr p3.0 jmp ii hh: setb p3.0 ii: setb p3.1 clr p3.1 rl a djnz r7,ggtab: db 3fh,06h,5bh,4fh,66h db 6dh,7dh,07h,7fh,6fhlop1: ret;ADC0809转换所需时间;delay128us: mov r5,#30delay1: mov r7,#5delay2: nop nop djnz r7,delay2 djnz r5,delay1 ret;为使数据显示稳定延时1秒;delay1s: mov r4,#10delay00: mov r5,#100delay11: mov r7,#249delay22: nop nop djnz r7,delay22 djnz r5,delay11 djnz r4,delay00 ret 参考文献1 徐爱钧.智能化测量控制仪表原理与设计(第二版).北京:北京航空航天大学出版社,20042 吴金戌.8051单片机实践与应用.北京:清华大学出版社,20023 张国勋.缩短ICL7135A/D采样程序时间的一种方法,19934 高峰.单片微型计算机与接口技术.北京:科学出版社,2003专心-专注-专业

    注意事项

    本文(基于AD590温度采集系统的设计正文(共19页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开