ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:202.14KB ,
资源ID:16491749      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16491749.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机测电压电流DOC资料全Word文档格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机测电压电流DOC资料全Word文档格式.docx

1、在设计中,单片机起着连接硬件电路与程序运行及存储数据的任务,一方面,它将A/D转换器、显示器和语音芯片等通过I/O口地址线和数据线连接起来。芯片没有AD转换部分,需要外接AD转换芯片。89C52我们比较熟悉,价格便宜,直插式,方便焊接,且符合实验要求。对比考虑下,我们选择51系列的89C52芯片。四模数(A/D)转换芯片的选择在本设计中,模数(A/D)转换模块是一个重要的模块,它关系到最后数电压电流值的精确度。所以,A/D芯片的选择是设计过程中一个很重要的环节。1 常用的A/D芯片简介常用的A/D芯片有AD0809,AD0832,TLC2543C等几种。下面简单介绍一下这三种芯片。AD0809

2、是8位逐次逼近型A/D转换器,它是由一个8路的模拟开关、一个地址锁存译码器、一个A/D 转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8 路模拟量分时输入,共用A/D 转换器进行转换。些A/D转换器是的特点是8位精度,属于并行口,如果输入的模拟量变化大快,必须在输入之前增加采样电路。AD0832也是8位逐次逼近型A/D转换器,可支持致命伤个单端输入通道和一个差分输入通道。它易于和微处理器接口或独立使用;可满量程工作;可用地址逻辑多路器选通各输入通道。TLC2543C是12位开关电容逐次逼近A/D转换,每个器件有三个控制输入端,片选,输入/输出时钟以及地址输入端。它可以从主机高

3、速传输转换数据。它有高速的转换,通用的控制能力,具有简化比率转换,刻度以及模拟电路与逻辑电路和电源噪声隔离,耐高温等特点。综合上述几种A/D转换芯片的特点,前两种芯片的性能和精度都不如第三种芯片。在本设计中,我们的目标是设计精度1%以内的高精度电压电流测量,因此在此,我们选择精度为12位的TLC2543芯片。2模数(A/D)芯片TLC2543的资料综合本设计的各方面考虑,我们选了TLC2543模数转换芯片。下面就介绍此芯片的各方面资料。TLC2543芯片的封装引脚图和引脚说明如下:引脚说明:引脚号名称I/O说明1-9,11,12AIN0-AIN10I模拟输入端。15CS片选端。17Data i

4、nput串行数据输入端。16Data outO用于A/D转换结果输也的3态串行输出端19EOC转换结束端10GND接地端18I/O clk输入/输出时钟端14REF+正基准电压端13REF-负基准电压端20VCC正电压端各引脚的使用详细介绍。1 AIN0-AIN10这11个模拟信号输入由内部多路选器选择。对4.1MHZ的I/O clk,驱动源阻抗必须小于或等于50欧并且能够将模拟电压由60PF的电容来限制其斜率。2 在CS端的一个由高低低变化将复位内部计数器并控制使能data out,data input和I/O clk。一个由低至高的变化将在一个设置时间内禁止data input和I/O c

5、lk.3 串行数据输入端data input是一个4位的串行地址选择下一个即将被转换的所需的模拟输入或测试电压。串行数据以MSB为前导并在I/O clk的前4个上升沿被移入。在4个地址位被读入地址寄存器后,I/O clk 将剩下的几位依次输入。4 Data out在CS为高时处于高阻抗状态,而当CS为低时处于激活状态。CS一旦有效,按照前一次转换结果的MSB/LSB值将data out从高阻抗状态转变成相应的逻辑电平,I/O clk 的下一个下降沿将根据下一个MSB/LSB将data out驱动成相应的逻辑电平,剩下的各位依次移出。5 EOC在最后的I/O clk 下降沿之后,从高电平变为低电

6、平并保持低直到转换完成及数据准备传输。6 GND端是内部电路的地回路端,除加有说明外,所有电压测量都相对于GND7 I/O clk端串行输入并完成以下四个功能:第一,在I/O clk的前8个上升沿,它将8个输入数据信键入输入数据寄存器。在第4个上升沿之后为多路器的地址。第二,在I/O clk的第4个下降沿,在选定的多路器的输入端上的模拟输入电压开始和电容器充电并继续到I/O clk的最后一个下降沿。第三,它将前一次转换的数据的其余11位移出data out端。在I/O clk的下降沿时数据变化。第四,在I/O clk的最后一个下降沿它将转换的控制信号传送到内部的状态控制位。8 REF+端通常接

7、VCC,最大输入电压范围取决于加于本端与加于REF-端的电压差。9 REF-端通常接地。五液晶显示器的选择方案一采用1602液晶芯片1602液晶是工业字符型液晶,能够同时显示16*2即32个字符。1602液晶模块内部的字符发生存储器已经存储了160个不同的点阵字符图形,这些字这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。使用时直接编写软件程序按一定的时序驱动即可。它的特点是显示字迹清楚,价格相对便宜。方案二采用12864液晶芯片12864液晶也是一种工业字符型液晶,它不仅能够显示1602液晶所可以显示的字符,数字等信息,而且还可以显示8*4个

8、中文汉字和一些简单的图片,显示信息也非常的清楚。使用时也直接编写软件程序按一定的时序驱动即可。不过它的价格比1602液晶贵了很多。在本设计中,我们只需要显示最后电电压或的数字值,综合上面各种显示器件的特点:而点阵显示器件驱动显示软件程序编写麻烦,占用的引脚相对也较多。也不是理解的显示器件。所以在本设计中,我们考虑用液晶显示器件,虽然12864液晶比1602液晶的功能强,不过在价格方面却贵了好多。而1602液晶也足够满足本设计的需要。因此,在本设计实验我们选择1602液晶显示器件。21602液晶的参数资料我们选择了1602液晶做为本设计的显示模块的显示器件。以下是1602液晶的各方面参数:1接口

9、信号说明:编号符号引脚说明1VSS电源地2VDD电源正极3VL液晶显示偏压信号4RS数据/命令选择端5R/W读/写选择端6E使能信号8-14D0-D7Data I/OBLA背光源正极BLK背光源负极2基本操作时序:1. 读状态:输入:RS=0,RW=1,E=1。输出:D0-D7为状态字2. 写状态:RS=0,RW=0,D0-D7为指令码,E为高脉冲。无3. 读数据:RS=1,RW=1,E=1。D0-D7为数据。4. 写数据:RS=1,RW=0,D0-D7为数据,E为高脉冲。3状态字说明STA7STA6STA5STA4STA3STA2STA1STA0STA0-6当前数据地址指针的数值读写操作使能

10、1:禁止 0:允许4指令的说明。 显示模式设置 指令码 功能设置16*2显示,5*7点阵,8位数据口 显示开/关及光标设置DCBD=1开显示;D=0关显示C=1显示光标;C=0不显示关标B=1光标闪烁;B=0光标不显闪烁NSN=1当读写一个字条款后地址指针加一,且光标加一。N=0当读或写一个字符后地址指针减一,且光标减一。S=1当写一个安条款,整屏显示左移(N=1)或右移(N=0),以得到光标不移动而屏幕移动的效果。S=0当写一个字符,整屏显示不移动。数据控制:80H+地址码(0-27H,40H-67H)设置数据地址指针01H显示清屏:1,数据指针清0 2,所有显示清002H显示回车:数据指针

11、清0六硬件总体设计:1设计方案:根据上述,我们选择单片机与A/D转换芯片结合的方法实现本设计。使用的基本元器件是:AT89C51单片机,TLC2543模数转换芯片,1602液晶显示器,开关,按键,电容,电阻,晶振,标准电源等等。设计的基本框图如下:单片机系统模块1602液晶显示模块A/D转换模块输入电路模块按键选择模块七硬件电路系统模块的设计1单片机系统单片机最小系统包括晶振电路,复位电路,电源。其原理图如下:转换电路模块根据设计要求,要检测直流电压电流并显示。直流电压是10v-36v,电流是0.1A-3A。这些都不满足ADC对模拟量的要求,故要通过转换电路转换后输入到ADC中去。转换电路如下

12、:1.直流电压转换电路该电路通过串联两个高精度的电阻分压、再通过低通滤波器滤波后连接一个电压跟随器。待测量进入ADC或者单片机之前必须要滤波处理,提高抗干扰性。若前级的电阻精度不高,导致被ADC采集的数据与待测的数据有误差,加上ADC转换、显示等的误差,这样就综合误差较大,可能不能达到百分之一的精度要求。故这两个电阻需要一定的精度。电阻选用精度为千分之一的精密电阻51k和4.7k。电容选择100uf的钽电容,运放选择LM358这个电压范围满足ADC的要求。2.直流电流转换电路0.1A-3A的直流电流需要先转换成直流电压,通过取样电阻转换成小电压信号,取样电阻选择为0.01。这里转换后的电压由于

13、过小,所以需要采取一些抗干扰措施,比如在电源的引入端加电源退耦电容,或在输入端加低通滤波器。对于这个小电压信号,可采用隔离放大器7840隔离后再将信号放大,这种放大器能隔离放大器是一种输入电路和输出电路之间电气绝缘的放大器,对模拟信号进行隔离,并按照一定的比例放大。在这个隔离、放大的过程中要保证输出的信号失真要小,线性度、精度、带宽、隔离耐压等参数都要达到使用要求。对被测对象和数据采集系统予以隔离,从而提高共模抑制比,同时保护电子仪器设备和人身安全。不过这种放大器成本比较高,这里不采用。仪表放大器是一种精密差分电压放大器,它具有高共模抑制比、高输入阻抗、低噪声、低线性误差、低失调漂移增益设置灵

14、活和使用方便等特点,使其在数据采集、传感器信号放大中使用比较多。运放A1,A2为同相差分输入方式,同相输入可以大幅度提高电路的输入阻抗,减小电路对微弱输入信号的衰减;差分输入可以使电路只对差模信号放大,而对共模输入信号只起跟随作用,使得送到后级的差模信号与共模信号的幅值之比(即共模抑制比CMRR)得到提高。这个仪表放大器可以通过三个运放外接一些电阻来实现。成本低又能满足要求,故采用这种方式。仪表放大器的放大倍数是;由以上两式可算得Uo=0.1v3v满足ADC的要求。若要电路的抗干扰性能更高,还可以在两个差分的运放的反馈回路加高频消燥电容。 也可以采用电阻来分流,将0.1A-3A的电流分成0.1

15、A-1A和1A-3A的两个量程的电流,然后通过小电阻转换成电压,对于小电压信号可以采用运放放大,大电压信号经滤波后输入到ADC中去。由于这样不能实时采集信号,需要更换通道,故在这里采用仪表放大器来实现。由于3A的直流电流比较大,可能会发生过流对人和电路有损害,需要考虑加过流保护装置。一般的过流保护采用成本比较低的保险丝,采用普通熔丝的保护电路,其过电流反应是较迟钝的,因而不能作为灵敏的保护装置。电子保护电路具有高速断流、恢复容易的特点,可应用于任何直流电路中作过流保护装置。这里考虑当过流时需要切断电路而又能快速恢复电路使测试能继续进行。采用电子保护电路。其电路图如下:电子保护电路如所示。当微动

16、开关接通时,单向晶闸管导通,直流电路也导通。当用电量增大到超过规定的允许值时,检测电阻上的电压大于时,晶体管导通,此时晶体管集电极和基极间的电压下降到低于维持电压,BG,SCR关断,切断供电电路。元件选择:当电路两端电压100时,用3DD15C,单向晶闸管SCR可用6400。的阻值是根据电源所允许的电流确定的,即0.73(3为电源允许电流)。若电路的耗电是,阻值为0.35的线绕电阻,允许通过的电流为3。两个转换电路的输出接到ADC的模拟通道。通过按键选择不同的通道来实现对电压或者电流的采集。3A/D转换芯片与单片机的连接此设计中选择的是A/D转换芯片的通道0和1,A/D芯片的数据输入口连接单片

17、机的P1.3口,数据输出口连接单片机的P1.4口,芯片使能端连接单片机的P1.5口,脉冲端连接单片机的P1.6口。模块连接如下图所示。41602液晶与单片机连接此模块液晶的RS,RW和E端分别连接单片机的P2.0,P2.1和P2.2口;液晶的数据各端口连接单片机的P0口。具体如下图所示。5.键盘与单片机的连接如下该键盘的功能:当键盘1被按下时,选择电压测量;当键盘2被按下时,选择电流测量。八系统软件的设计主程序设计包括以下方面:按照硬件电路对单片机位定义。编写延时模块程序。编写驱动1602液晶显示模块程序。编写驱动A/D转换模块程序。编写键盘扫描切换模块程序。主程序的总体流程如下图:开始对液晶

18、,定时器初始化A/D转换数据转换显示瞬时电压或电流值键盘判断选择电压测量还是电流测量九程序清单:1 用按键选择调用子函数的方法实现电压电流测量的切换。按键一选择电压测量,按键二选择电流测量。#includestdio.h#define uchar unsigned char#define uint unsigned intuchar code tab0=WELCOME TO USE;/预定义宏uchar code tab1=PRESS KEY CHOOSEuchar code tab2=VOLTAGE ISuchar code tab3=Vuchar code tab4=CURRENT ISu

19、char code tab5=Along float dat;sbit rs=P25;/1602液晶写命令/数据标志,0时写命令sbit rw=P26;/1602液晶写入/读出标志,0时写入数据sbit ep=P27;sbit input=P13;sbit output=P14;sbit cs=P15;sbit clk=P12;sbit key1=P32;sbit key2=P33; void delay(int z)/延时函数 int x,y; for(x=z;x0;x-) for(y=10;yy-);void write_com(uchar com)/往1602液晶写命令函数 rs=0;

20、P0=com; delay(5); ep=1; ep=0;void write_dat(long float dat)/往1602液晶写数据函数 rs=1; P0=dat;void init_1602()/对1602液晶的初始化函数 rw=0; write_com(0x38);/显示模式设置 write_com(0x0c); delay(1); write_com(0x06); write_com(0x01); write_com(0x80+0x10);void display(uchar x,uchar y,uint dat)/显示电压值的函数,x行y列开始显示 uint add; ucha

21、r i,a5; switch(x) case 0:add=0x80;break; case 1:add=0x80+0x40; add=add+y; write_com(add); for(i=0;i5;i+) ai=dat%10; dat=dat/10; write_dat(a4+0x30); write_dat(a3+0x30); write_dat(.); write_dat(a2+0x30); write_dat(a1+0x30); write_dat(a0+0x30);void display_zifu(uchar x,uchar y,uchar *str)/显示字符函数,x行y列开始

22、显示 add=add+y; write_com(add); while(*str!=0) write_dat(*str); str+;uint read_AD(uchar con_way)/读取AD转换值操作函数 uint dat=0; uchar i; cs=0; clk=0; con_way=4;12; con_way=1; input=CY; dat if(output) dat=dat|0x01; delay(2); clk=1; delay(5); clk=0; cs=1; return dat;uint read_Vvalue()/电压的数值处理 long float dq; lo

23、ng float dat_V; dq=read_AD(0); dat_V=(62250*dq)/4096; dat=dat_V; uint read_Avalue()/电流的数值处理 long float dat_A; dq=read_AD(1); dat_A=(5000*dq)/4096; dat=dat_A;void test()/电压电流按键选择切换子函数函数 int N=50; int j; long float sum = 0; if(key1=0) delay(10); init_1602(); delay(10); for(j=0;jN;j+)/平均值滤波去干扰 sum+=read_Vvalue(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1