版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE9实验一智能数字电压表设计一、实验目的:1、掌握ADC0809芯片的性能和典型应用及对应的硬件电路。2、掌握A/D转换芯片ADC0809将模拟量转换成数字量的过程与基本原理。3、掌握了解A/D转换软件的不同控制方式。4、掌握VB软件的基本使用方法以及其使用的编程语言。二、实验内容:1、运用单片机编写程序,实现ADC0809的时序控制。2、运用VB编写一个上位机显示界面。3、实现对ADC0809器件的通道0上外接的可调电阻的模拟电压转换成数字量,通过所编写的VB界面显示出来。4、根据题目要求,设计电路,并进行实际硬件安装与调试。三、实验原理与设计(一)硬件部分1、ADC0809工作原理ADC0809是CMOS器件,不仅包括一个8位的逐次逼近型的ADC部分,而且还提供一个8通道的模拟多路开关和通道寻址逻辑,因而把它作为简单的“数据采集系统”。利用它可直接输入8个单端的模拟信号分时进行A/D转换,常运用于多点巡回检测和过程控制、运动控制中。1)主要技术指标和特性(1)分辨率:8位。(2)总的不可调误差:ADC0808为±1/2LSB,ADC0809为±1LSB。(3)转换时间取决于芯片时钟频率,如CLK=500kHz时,TCONV=128μs。(4)单一电源:+5V。(5)模拟输入电压范围:单极性0~5V,双极性±5V、±10V(需外加一定电路)。(6)具有可控三态输出缓存器。(7)启动转换控制为脉冲式(正脉冲),上升沿使所有内部寄存器清零,下降沿使A/D转换开始。(8)使用时不需进行零点和满刻度调节。2)内部结构和外部引脚介绍ADC0808/0809的内部结构如图1所示以及各引脚定义分述如下:图1ADC0809内部结构框图(1)IN0~IN7——8路模拟输入,通过3根地址译码线ADDA、ADDB、ADDC来选通一路。通道选择表如下:通道选择IN0IN1IN2IN3IN4IN5IN6IN7ADDAADDBADDC000001010011100101110111表1地址信号与选中通道关系表(2)D7~D0——A/D转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。8位排列顺序是D7为最高位,D0为最低位。(3)ADDA、ADDB、ADDC——模拟通道选择地址信号,ADDA为低位,ADDC为高位。地址信号与选中通道对应关系如表11.3所示。(4)VR(+)、VR(-)——正、负参考电压输入端,用于提供片内DAC电阻网络的基准电压。在单极性输入时,VR(+)=5V,VR(-)=0V;双极性输入时,VR(+)、VR(-)分别接正、负极性的参考电压。(5)ALE——地址锁存允许信号,高电平有效。当此信号有效时,A、B、C三位地址信号被锁存,译码选通对应模拟通道。在使用时,该信号常和START信号连在一起,以便同时锁存通道地址和启动A/D转换。(6)START——A/D转换启动信号,正脉冲有效。加于该端的脉冲的上升沿使逐次逼近寄存器清零,下降沿开始A/D转换。如正在进行转换时又接到新的启动脉冲,则原来的转换进程被中止,重新从头开始转换。(7)EOC——转换结束信号,高电平有效。该信号在A/D转换过程中为低电平,其余时间为高电平。该信号可作为被CPU查询的状态信号,也可作为对CPU的中断请求信号。在需要对某个模拟量不断采样、转换的情况下,EOC也可作为启动信号反馈接到START端,但在刚加电时需由外电路第一次启动。(8)OE——输出允许信号,高电平有效。当微处理器送出该信号时,ADC0808/0809的输出三态门被打开,使转换结果通过数据总线被读走。在中断工作方式下,该信号往往是CPU发出的中断请求响应信号。3)工作时序与使用说明ADC0809的工作时序如图2所示。当通道选择地址有效时,ALE信号一出现,地址便马上被锁存,这时转换启动信号紧随ALE之后(或与ALE同时)出现。START的上升沿将逐次逼近寄存器SAR复位,在该上升沿之后的2μs加8个时钟周期内(不定),EOC信号将变低电平,以指示转换操作正在进行中,直到转换完成后EOC再变高电平。微处理器收到变为高电平的EOC信号后,便立即送出OE信号,打开三态门,读取转换结果。图2ADC0809工作时序2、下位机电路设计1)设计思路(1)由于选用通道IN0,ADDA、ADDB、ADDC应为000,所以ADDA、ADDB、ADDC三个引脚分别接地。(2)通道IN0外接一个1K的滑动变阻器,使其两端电压可在0~5V之间变动。(3)ADC0809输出允许信号OE接单片机串行中断引脚P3.3,当0809转换结束,输出允许,进入串行中断,CPU读取SBUF中内容,开始内部转换数据以便显示。(4)单片机引脚P3.7、P3.6分别接一个外部开关按钮,当按钮为“开”时,单片机接收转换数据以及发送显示,当按钮为“关”时,单片机不进行转换工作。(5)运用单片机定时器0,给ADC0809一个它工作转换需要的一个时钟,所以ADC0809clock引脚接单片机定时器0 P3.4脚。(6)VREF(+),VREF(-)分别接电源与地,作为为参考电压输入。图3下位机电路设计图(二)软件部分1、下位机程序编写与分析下位机的程序主要作用是对AD0809进行时序控制,以及对0809转换好的数据进行数值字符转换,并且发送到上位机进行显示。开始工作时,程序检查上位机是否启动开始按钮,当按键为开始时,接着判断是否有工作命令发出,有的话接受A/D转换的结果,并把转换好的数字信号,转换为字符,当接收到上位机的命令,发送到上位机进行显示。具体程序分析见附件。以下是下位机程序流程图:检查键盘输入检查键盘输入初始化工作命令判断A/D转换数字字符转换发送命令判断结束发送数据开始是是否图4下位机程序流程图2、上位机界面设置及程序编写上位机界面包括:1、显示窗口,用于显示测量数据。2、串口选择下拉菜单,用于串口选择。3、按钮,串口打开即串口连接按钮、开始测量按钮、停止测量按钮,退出按钮。4、上位机程序,以及程序说明:PrivateSubCommand1_Click()'开始OnErrorGoToerraMSComm1.Output="1"'发送工作指令Timer1.Enabled=True'开定时器ExitSuberra:IfErr.Number=8018Then'出错处理MsgBox"请选择发送串口"EndIfEndSubPrivateSubCommand3_Click()'打开串口OnErrorGoToerraIfMSComm1.PortOpen=TrueThenMSComm1.PortOpen=Falsep=Val(Combo1.ListIndex)MSComm1.CommPort=1+p'串口选择MSComm1.PortOpen=TrueMsgBox"串口成功打开"ExitSuberra:IfErr.Number=8002Then'出错处理MsgBox"没有这个串口,重新选择"EndIfIfErr.Number=8005ThenMsgBox"该串口已使用,重新选择"EndIfEndSubPrivateSubCommand4_Click()'停止OnErrorGoToerraMSComm1.Output="0"'发送停止指令Timer1.Enabled=False'关定时器ExitSuberra:IfErr.Number=8018Then'出错处理MsgBox"请选择发送串口"EndIfEndSubPrivateSubCommand5_Click()'退出程序OnErrorGoToerraMSComm1.Output="0"'发送停止测量指令Timer1.Enabled=False'关定时器EndExitSuberra:IfErr.Number=8018Then'出错处理EndEndIfEndSubPrivateSubForm_Load()Timer1.Interval=150'定时器初始值--150msTimer1.Enabled=False'关定时器EndSubPrivateSubTimer1_Timer()'定时工作MSComm1.Output="2"'向下位机发送数据指指令Text2.Text=Trim(MSComm1.Input)'刷新上位机显示EndSub总结:通过这次智能数字电压表的设计,使我们得到了一次专业知识、专业技能分析和解决现实问题的能力提升。本次实验不管是硬件还是软件的设计,都让我们进一步理解了模数转换的工作原理以及单片机的编程,使我们在实验的应用学习中,以及在用单片机编程设计思路技巧的掌握方面都能向前迈了一大步,课程设计让我们把以前学习到的知识得到巩固和进一步的提高认识,对这些上课所学的知识通过实验,使我们巩固并深化的认识和理解,使理论得以升华。在设计实验的时候我们参考了很多资料,通过此次实验,我们都有了很大的收获,同时也使我们获得了许多经验和教训:(1)这次的硬件电路图虽不是很复杂,但是选择哪个设计方案比较合适,我们小组也做了讨论。通过查找资料以及小组讨论,最终确定了这个方案。通过讨论使得我们对过去不太明白的知识点得到巩固。(2)在软件用C言语实现时,因为有很多种实现方案,我们都试着去如何使设计编程具有更好的简洁性、可行性,最后在小组讨论和尝试下最后完成了的设计并且功能得到了较好的实现效果。(3)在做上位机界面时,在使用VC,还是VB进行编写,有过考虑,由于以前VB软件之前有学习过,所以小组讨论使用熟悉的VB软件进行编写,尽量简化界面程序也可达到预先要求。本次实验是小组完成,不但加强了专业知识的学习,还提高了同学之间团结协作精神。附件:下位机程序#include<reg51.h>//****ADC0809定义**********************************sbitstart=P3^2;sbitk=P3^4;voidclock();//提供ADC0809脉冲--69个unsignedcharADC0809();//****全局定义************************************sbitStop=P3^6; //手动操作--“停止”sbitBegin=P3^7; //手动操作--“开始”unsignedcharInstruct=0;//指令接收bitSendData=0; //发送标志unsignedchari=0;V[5]={48,46,48,48,86};//"0.00V"unsignedintVOL=0; //电压数值//**************************************************voidmain(void){ SCON=0x50;//REN=1允许串行接受状态,串口工作模式1 TMOD=0x20;//定时器工作方式2 PCON|=0x80;//波特率9600、数据位8、停止位1。效验位无(11.0592) TH1=-6; TL1=-6; TR1=1; ES=1; //开串口中断 EA=1; //开总中断 while(1) { if(Stop==0)Instruct=48; //停止测量及发送 if(Begin==0)Instruct=49; //测量及发送数据 if(Instruct==49) //9-10ms { i=10; //采样10次均值 while(i--) VOL+=ADC0809(); VOL=VOL/10; P1=VOL; VOL=(VOL*49)/25; V[0]=(VOL/100)+48; //发送处理--数值字符转换 V[2]=(VOL%100/10)+48; V[3]=(VOL%10)+48; if(SendData==1) //6-7ms { SBUF=32; //SUBF接受发送缓冲器--空格 while(TI==0); TI=0; for(i=0;i<5;i++) { SBUF=V[i]; while(TI==0); TI=0; } SendData=0; } VOL=0; } }}void
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度个性化信用卡消费分期付款合同3篇
- 个人商铺租赁合同范本模板(二零二五年度修订版)8篇
- 二零二五年度个人二手汽车转让与二手车市场合作保障协议4篇
- 工程拆迁安置承包协议
- 夫妻婚前单方债务约定协议
- 网络营销运营合同
- 2025-2030全球碳纤维转子护套行业调研及趋势分析报告
- 二零二四年青岛购房合同房屋抵押权设定及解除合同3篇
- 23-24年项目安全培训考试题附参考答案【能力提升】
- 23年-24年员工三级安全培训考试题附答案【能力提升】
- 颈复康腰痛宁产品知识课件
- 2024年低压电工证理论考试题库及答案
- 《民航服务沟通技巧》教案第14课民航服务人员上行沟通的技巧
- 2023年十天突破公务员面试
- 《疯狂动物城》中英文对照(全本台词)
- 医院住院医师规范化培训证明(样本)
- 小学六年级语文阅读理解100篇(及答案)
- 气功修炼十奥妙
- 安徽省物业服务标准
- 勾股定理的历史与证明课件
- 浅谈如何有效提高小学数学教学质量课件
评论
0/150
提交评论