欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOC文档下载  

    基于单片机的数字万用表设计.doc

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

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

    基于单片机的数字万用表设计.doc

    基于单片机的数字万用表设计摘 要本次设计用单片机芯片AT89C52设计一个数字万用表,能够测量直流电压值、直流电流、直流电阻,四位数码显示。此系统由分流电阻、分压电阻、基准电阻、电容测试芯片电路、51单片机最小系统、显示局部、报警局部、AD转换和控制局部组成。为使系统更加稳定,使系统整体精度得以保障,本电路使用了AD0809数据转换芯片,单片机系统设计采用AT89C52单片机作为主控芯片,驱动液晶显示管显示。程序每执行周期耗时缩到最短,这样保证了系统的实时性。关键词 数字万用表 AT89C52单片机 AD转换与控制AbstractThis design is design a digital universal meter with chip AT89C52 of one-chip puter, can measure and hand in , direct current pressing value , direct current flow , the direct current is hindered, four numbers show. This system is shunted resistance, resistance of partial pressure, basic resistance, minimum system of 51 one-chip puters, shown that some , warning part , AD change and control making up partly. In order to make the system more steady, make the whole precision of the system be ensured, this circuit has used AD0809 data to change the chip, the one-chip puter system is designed to adopt AT89C52 one-chip puter as the top management chip, urge 4 numbers to be in charge of showing. The every e*ecution cycle consuming time of procedure contracts to get shortest, in this way the real-time character of the security system. Keyword: Digital universal meter AT89S52 one-chip puter AD changes and controls 1、 设计背景数字万用表亦称数字多用表,简称DMM(Digtial Multimeter)。它是采用数字化测量技术,把连续的模拟量转换成不连续的、离散的数字形式并加以显示的仪表。传统的指针式万用表功能单精度低,不能满足数字化时代的需求,采用单片的数字万用表,精度高、抗干扰能力强,可扩展尾强、集成方便,目前,由各种单片机芯片构成的数字电万用表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,显示出强大的生命力。二、数字万用表的设计依据根据数字万用表的原理,结合以下的设计要求:“设计一个数字万用表,能够测量直流电压值,直流电流、直流电阻,四位数码显示。实现多级量程的直流电压测量,其量程围是5V、 ,20V,.实现多级量程的直流电流测量,其量程围是2mA ,20mA,200mA.实现多级量程的电阻测量,其量程围是200、1k ,10k。由此设想出以下的解决方法,即数字万用表的系统由分流电阻、分压电阻、基准电阻、电容测试芯片电路、51单片机最小系统、显示局部、报警局部、AD转换和控制局部组成。为使系统更加稳定,使系统整体精度得以保障。三、设计任务31设计目的采用8位8路A/D转换器ADC0809和AT89S52单片机,设计一台数字多用表,能进展电压、电流和电阻的测量,测量结果通过液晶显示管显示,通过按键进展测量功能转换。32设计指标及要求电压测量围05,020V,电流测量围12,120,1200mA,电阻测量围0200,01K,010K。四、设计思路与总体框图41设计思路首先利用P0 口数据地址复用,将地址通过P0口输入到单片机中。再利用模数转换将模拟信号转换成数字信号,再次利用P0口将其输入到单片机。最后,充分利用单片机强大的运算转化功能将其转成适当的二进制信号控制数显以确保正确的显示被测量的读数。42总体框图89S52振荡电路复位电路ADC0809液晶显示管显示待测电阻电路阻待测电流电路待测电压电路图11五、 MCU主控制器的选择与论证方案一 此方案采用凌阳公司的16位单片机SPCE061A作为主控制器,它具有体积小、驱动能力高、集成度高、易扩展、可靠性高、功耗低、构造简单、中断处理能力强、处理速度高等特点,尤其适用于语音处理和识别等领域。但是其软件设计相对复杂,故我们放弃此方案。方案二 此方案采用STC公司的8位单片机STC89C52作为主控制器,具有与MCS-51指令集完全兼容的CIP-51核,但其同样时钟下运行速度和抗干扰能力军比普通8051 8位单片机要高,而且开发环境是我们很熟悉的Keil C51 ,编译效率高,非常适合C语言开发人员,因此我们采用该方案。六、 A/D转换器的选择与论证方案一 此方案选用12位串行A/D转换集成AD,只需要根线就能够很好的与相通信组成测量系统,但其输入电压不能为负值,故使用围受到了限制,不适合用作负压测量电路中而且价格较高。因此,我们放弃此方案。方案二 此方案选用双积A/D 转换器AD0809,它的性能比拟稳定,转换精度高,具有很高的抗干扰能力,电路构造简单,其缺点是工作速度较低。它的特点是在每次A/D转换前,部电路都自动进展调零操作,可保证零点在常温下的长期稳定。图21 AD转换电路七、 测量电路的选择与论证7.1电阻测量图1所示为数字多用表的电阻测量输入电路。运算放大器的反应电阻R作为待测量电阻,通过R14,R2,R15及多路开关接到电源-5V。假定运算放大器理想,则放大器的输出电压RV=,将RV送给ADC0809,转换后得到数字量为DV=。单片机读取A/D转换数据,再经过逆向运算可得R=,注意此时得到的R为二进制数,需要转化为十进制数后才能送给液晶显示管显示。程序中采用4字节专利号除法,连续进展4次除以10的除法。为使电路所求电阻更加准确,故采用了一个单刀三掷开关,当所测电阻处于千欧级别时,闭合开关一,由所得电压得出待测电阻。当待测电阻处于200 至一千欧时,如果再次以10千欧作为比例电阻,则所测待测电阻准确度大大下降,顾此时应闭合开关二,以一千欧电阻作为比例电阻,可大大扩大所测电阻精度。同理当所测电阻为0至200欧时,闭合开关三,此时所测电阻才能更加准确。图1 电阻测量原理图72电压测量输入电路图3所示为数字多用表的电压测量输入电路。待测电压经过低通滤波器滤除高频干扰,再送给ADC0809,电压测量围为05,020V,ADC0809的分辨率为8位.当待测电压为为05V,关闭开关一,经过滤波电路后此时输出的电压VV=V*,将VV送给ADC0809,转换后得到数字量为DV=。单片机读取A/D转换数据,再经过逆向运算可得V*=注意此时得到的V*为二进制数,需要转化为十进制数后才能送给液晶管显示。当电压为520V时,因为AD0809的工作电压为5V,所以需降压,闭合开关二,输出的电压为待测电压的五分之一。图二 直流电压的测量7. 3直流电流的测量测量电流的原理是:根据欧姆定律,用适宜的取样电阻把待测电流转换为相应的电压,再进展测量。如下列图为直流电流的测量原理图,当输入一个电流时,先判断待测电流大概在哪个围,然后根据下列图中的开关,来控制待测电流的准确度和准确度。如输入一个待测电流时,集成运放正相端电压即为V+=RI*,同时此电流也经过一个交流滤波电路,滤除交流成分,由于V+最大值为0.2V,比拟小,假设直接输出,则误差较大,因此进展同相放大4倍,使输出的电压大大提高,从而使输出的电流更加准确。从运放端输出的电压IV=V+4,将IV送给ADC0809,转换后得到数字量为DV=。单片机读取A/D转换数据,再经过逆向运算可得I*=注意此时得到的V*为二进制数,需要转化为十进制数后才能送给液晶显示管显示。根据不同的开关可得到在不同围待测电流值。7. 4蜂鸣器的设置如下列图所示,为报警局部,当万用表的外接局部短接时,则电路出现高电平,此时蜂鸣器发出声音。图四 蜂鸣器的设计八、结论和体会8. 1设计结果综述:1、数字万用表完成的功能主要是对电压、电流、电阻的测量,它主要由分流电阻、分压电阻、基准电阻、51单片机最小系统、显示局部、报警局部、AD转换和控制局部组成。2、数字万用表属于一种测量工具,其本身的好坏直接影响到测量结果。3、单片机局部跟AD转换局部是整个设计的核心,ADC0809的参考电压VREFVCC,所以转换之后的数据要经过数据处理,在数码管上显示出电压值。实际显示的电压值(D/256*VREF);AT89S52单片机作为主控芯片,配以RC上电复位电路和11.0592MHZ震荡电路,使系统稳定运行。4、在本次软件设计过程中,采用的是c语言。5、对于硬件的制作,由于布线麻烦等原因,做起来复杂,对Proteus仿真软件使用不熟练,使画仿真图时遇到不少问题。51单片机根底知识不扎实,电路分析遇到比拟多的问题。捍接也很难,以致未能完全实现设计报告要求。8. 2体会这次课程设计暴露出了很多问题,但在做课程设计的过程中也学到了很多东西。比方查阅资料,动手焊接万用板等等,这些都是平时很少做的。此次课程设计让我对基于单片机的c语言有了新的认识,另外对于电子设计也有根本的了解,这会让我在以后更能有效地去学习这方面的知识,对单片机学习有很大的助益,也在鼓励我们多动手,从实践中去获取新知识。附录一电路图仿真图图21:图21程序 *include<reg52.h> *include<intrins.h>*define uint unsigned int*define uchar unsigned charuchar code table="0123456789.vAmA" ;uint i,j;sbit ST=P20;sbit EOC=P21;sbit OE=P22;sbit k1=P10;sbit k2=P11;sbit k3=P12;sbit *1=P24;sbit *2=P25;sbit *3=P26; sbit E=P15; sbit RS=P14; sbit RW=P13; void delay()_nop_();_nop_();_nop_();_nop_();_nop_();void Delay(uint i)uint *,j;for(j=0;j<i;j+)for(*=0;*<=148;*+);bit Busy(void)bit busy_flag = 0;RS = 0;RW = 1;E = 1;Delay(5);busy_flag = (bit)(P3 & 0*80);E = 0;return busy_flag;void wcmd(uchar del)while(Busy();RS = 0;RW = 0;E = 0;Delay(5);P3 = del;Delay(5);E = 1;Delay(5);E = 0;void wdata(uchar del)while(Busy();RS = 1;RW = 0;E = 0;Delay(5);P3 = del; Delay(5);E = 1;Delay(5);E = 0;void L1602_init(void)wcmd(0*38);Delay(5);wcmd(0*38);Delay(5);wcmd(0*38);Delay(5);wcmd(0*38);wcmd(0*08);wcmd(0*0c);wcmd(0*04);wcmd(0*01); void L1602_char(uchar hang,uchar lie,char sign)uchar a;if(hang = 1) a = 0*80;if(hang = 2) a = 0*c0;a = a + lie - 1;wcmd(a);wdata(sign); void main() uint a1,a2,a3,a4;uchar add;while(1)ST=0;OE=0;P0=0*ff;ST=1;_nop_();_nop_(); _nop_();ST=0;_nop_();_nop_();_nop_();_nop_();while(EOC=0);OE=1;add=P0; _nop_(); OE=0;Delay(30); L1602_init();if(k2=0) Delay(10); if(k2=0) if(*1=0) Delay(10); if(*1=0) a1=(add*20)/1000; a2=(add*20)%1000/100; a3=(add*20)%100/10; a4=(add*20)%10; L1602_char(2,7,table10); L1602_char(2,6,tablea1); L1602_char(2,8,tablea2); L1602_char(2,9,tablea3); if(*2=0) a1=(add*10)/1000; a2=(add*10)%1000/100; a3=(add*10)%100/10; a4=(add*10)%10; L1602_char(2,8,table10); L1602_char(2,6,tablea1); L1602_char(2,7,tablea2); L1602_char(2,9,tablea3); if(k3=0) if(*1=0) a1=(add*2)/1000; a2=(add*2)%1000/100; a3=(add*2)%100/10; a4=(add*2)%10; L1602_char(2,7,table10); L1602_char(2,6,tablea1); L1602_char(2,8,tablea2); L1602_char(2,9,tablea3); L1602_char(2,10,tablea4); if(*2=0) a1=add/5/1000; a2=add/5%1000/100; a3=add/5%100/10; a4=add/5%10; L1602_char(2,7,table10); L1602_char(2,6,tablea1); L1602_char(2,8,tablea2); L1602_char(2,9,tablea3); if(*3=0) a1=add/50/1000; a2=add/50%1000/100; a3=add/50%100/10; a4=add/50%10; L1602_char(2,7,table10); L1602_char(2,6,tablea1); L1602_char(2,8,tablea2); L1602_char(2,9,tablea3); L1602_char(2,10,tablea4); if(k1=0) if(*1=0) a1=add*2/5/1000; a2=add*2/5%1000/100; a3=(add*2/5)%100/10; a4=(add*2/5)%10; L1602_char(2,8,table10); L1602_char(2,6,tablea1); L1602_char(2,7,tablea2); L1602_char(2,9,tablea3); if(*2=0) a1=(add*4)/1000; a2=(add*4)%1000/100; a3=(add*4)%100/10; a4=(add*4)%10; L1602_char(2,7,table10); L1602_char(2,6,tablea1); L1602_char(2,8,tablea2); L1602_char(2,9,tablea3); if(*3=0) a1=(add*80)/1000; a2=(add*80)%1000/100; a3=(add*80)%100/10; a4=(add*80)%10; L1602_char(2,9,table10); L1602_char(2,6,tablea1); L1602_char(2,7,tablea2); L1602_char(2,8,tablea3); L1602_char(2,10,tablea4); 附录二:主要元器件功能介绍1、AT89S52芯片功能特性描述AT89S52引脚框图:图2.12 AT89S52芯片引脚图AT89S52 主要性能:1、 与MCS-51 单片机产品兼容2、8K 字节在系统可编程Flash 存储器3、1000 次擦写周期4、全静态操作:0Hz33Hz 5、 三级加密程序存储器6、32 个可编程I/O 口线7、三个16 位定时器/计数器8、八个中断源9、全双工UART 串行通道10、低功耗空闲和掉电模式l 1、掉电后中断可唤醒l2、 看门狗定时器13、双数据指针l 4、掉电标识符功能特性描述:AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断构造,全双工串行口,片晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停顿工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM容被保存,振荡器被冻结,单片机一切工作停顿,直到下一个中断或硬件复位为止。P1 口:P1 口是一个具有部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1时,部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于部电阻的原因,将输出电流IIL。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输P1.0/T2和时器/计数器2的触发输入P1.1/T2E*,具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。表2.1 P1口的第二功能P2 口:P2 口是一个具有部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1时,部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于部电阻的原因,将输出电流IIL。在访问外部程序存储器或用16位地址读取外部数据存储器例如执行MOV* DPTR时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的部上拉发送1。在使用8位地址如MOV* RI访问外部数据存储器时,P2口输出P2锁存器的容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1时,部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于部电阻的原因,将输出电流IIL。P3口亦作为AT89S52特殊功能第二功能使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。2、ADC0809介绍ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。1ADC0809的部逻辑构造 图2.14 ADC0809的部逻辑构造上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进展转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。2 引脚构造 图2.15 ADC0809引脚构造图IN0IN7:8条模拟量输入通道 ADC0809对输入模拟量要求:信号单极性,电压围是05V,假设信号太小,必须进展放大;输入的模拟量在转换过程中应该保持不变,如假设模拟量变化太快,则需在输入前增加采样保持电路。 地址输入和控制线:4条 ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进展锁存,经译码后被选中的通道的模拟量进转换器进展转换。A,B和C为地址输入线,用于选通IN0IN7上的一路模拟量输入。通道选择表如下表所示。表2.3 地址输入线的通道选择CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7数字量输出及控制线:11条 ST为转换启动信号。当ST上跳沿时,所有部存放器清零;下跳沿时,开场进展A/D转换;在转换期间,ST应保持低电平。EOC为转换完毕信号。当EOC为高电平时,说明转换完毕;否则,说明正在进展A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。 CLK为时钟输入信号线。因ADC0809的部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ, VREF,VREF为参考电压输入。 ADC0809应用说明:1 ADC0809部带有输出锁存器,可以与AT89S51单片机直接相连。 2 初始化时,使ST和OE信号全为低电平。 3 送要转换的哪一通道的地址到A,B,C端口上。 4 在ST端给出一个至少有100ns宽的正脉冲信号。 5 是否转换完毕,我们根据EOC信号来判断。 6 当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。

    注意事项

    本文(基于单片机的数字万用表设计.doc)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开