四位半电压表.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
四位半多功能数字表 一.基本要求:在Proteus平台上设计并仿真实现一台四位半多功能数字电压表 直流电压测量,并具有极性判断和自动量程转换功能。 直流电压测量:每秒等效采样次数≥3次 推荐档位: I档(20mV档):最小电压分辨率:2μV II档(200mV档):最小电压分辨率:20μV = 3 \* ROMAN III档(2V档):最小电压分辨率:0.2mV = 4 \* ROMAN IV档(20V档):最小电压分辨率:2mV *交流电压测量:最高频率=10KHz的正弦波 = 1 \* ROMAN I档(20V档):最小电压分辨率:20mV = 2 \* ROMAN II档(200V档):最小电压分辨率:200mV *交流参数测量:频率、有效值、峰值 第1项为基本要求内容,带有“*”的2、3项为选做内容。 只能采用通用A/D、集成运放IC、51单片机等器件,不准使用专用电压测量集成电路完成系统设计。 推荐一个参考的系统组成框图如下: 其中第一级的前置放大级推荐采用AD8551自稳零斩波运算放大器。 设计过程:包括元器件选型依据(如前置放大器的设计、A/D分辨率的选择、放大器及滤波器设计、采样率计算、电源设计等)、理论分析及参数计算、系统设计(书面)。 系统框图、元件选型、理论计算、模块电路设计 二 系统框图 整体框图 数字电路部分和模拟电路量程初判模块整体电路: 1 .电压极性检测电路 电压极性检测电路采用过零比较器检测负电压的方式实现的,运算放大器LM324的反向端接地,同向端通过100K电阻接输入信号。当输入的测量信号为负时比较器翻转,输出端经过电平转换成TTL信号后送给单片机PA7端口检测,通常情况下输出为高电平,为正电压状态。 ??????????????????????????????????????????????????????? ??2. 电压范围粗测电路 为了粗略地得到被测量的电压范围我们采用多组比较器的方式,通过阶梯式比较的方法确定输入电压的范围。其具体电路如下图(2.2.5)所示。 3. 量程切换电路 量程切换电路包括电压放大电路和无零漂小信号放大电路。 电压变换电路 电压变换电路由衰减电阻、切换继电器和运算放大器组成,对应的是衰减1/2、1/3、1/4和无零漂放大50倍,切换电路如图(2.2.7)所示。电压变换到0-5V标准信号后,再由A/D转换进行采样,最后由单片机算法还原。 4.差分放大电路:对输入的电压进行去除同模干扰。 5.50hz陷波器: 电路设计,目的是滤去工频交流点,因为电表多由工频电源提供,在50HZ频率段电压干扰很大,所以要滤去。 陷波器的频谱分析图:绿色为幅频响应,红色为相位。运放模块 1|2放大电路;100倍放大器: 测试输出: 输入10V: 输入5V 输入2V: 2V 输入800mv 800mv 输入80mv: 输入8mv: 单片机外围电路 2. 软件程序流程图 单片机控制系统软件流程如图所示。 ?? 三 使用器件 单片机系统是以89C51单片机为核心;信号采集与量程转换电路是由0P一07和模拟开关CD4051所组成;积分比较与自动回零电路是由双积分型A/D转换器和过零比较器所组成;开关逻辑控制电路主要元件是模拟开关CD4051;显示采用了1602字符型液晶显示器:基准电压是由TL431稳压所得。采用双电源可以实现的数模隔离。 /* 作品 : */ #include reg51.h #include intrins.h #define addo (20.0/65535.0) #define uchar unsigned char #define uint unsigned int unsigned long temp; bit sys=0; sbit RS = P1^0; sbit RW = P1^1; sbit E = P1^2; sbit CS = P3^0; sbit BYTE=P1^3; sbit BUSY=P1^4; sbit RC = P1^5; sbit S1 =P1^6; sbit S2 =P1^7; unsigned char num1[8] = {0}; unsigned char num2[] = {Voltage: }; //-------------延时---------------- void delay(int ms) { int x,y; for(x=ms;x0;x--) for(y=110;y0;y--); } //------------------------------- bit lcd_bz() { bit result; RS = 0; RW = 1; E = 1; _nop_(); _n

文档评论(0)

kfcel5889 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档