1、 1 机械与电子信息学院 通信工程系 题目: 数字电压表的数字电压表的设计设计 2 摘要:摘要:本数字电压表可以对直流电源和交流电压进行比较准确的测量。其中直流 部分的测量范围是 0-20V,分为三个档位:0-0.2V,0.2V-2V,2V-20V。该直流 电压表的测量电路主要由三个模块组成:模拟数据采集处理模块、A/D 转换模块 及译码显示控制模块。模拟数据的采集处理模块由模拟电路部分完成。 A/D 转换 模块主要由芯片 ADC0809 来完成,它负责把采集到的模拟量转换为相应的数字 量再传送到 AT89S51 单片机进行数据处理。 译码显示模块是单片机将译好的数据 传送到由74LS244驱
2、动的4位7段数码管进行显示。 交流部分的测量范围是0-5V, 测量的是交流电压的有效值。该交流电压表的测量电路由三个模块构成:AC-DC 转换模块、电压补偿模块、直流电压表测试模块。其中 AC-DC 转换模块由 AD637 完成。电压补偿模块对 AD637 的非线性部分进行补偿,由 LM324 完成。直流电压 表测试模块由直流部分完成。 关键字:关键字:AT89S51,数模转换,AC-DC 转换,数码管显示 1.1. 系统方案的系统方案的选择和论证选择和论证 1.11.1 数模转换模块数模转换模块 方案一:用分离元件完成数据采集 AD 转换的功能。该方案由于需要大量的元器 件,实现起来比较复杂
3、,而且精度不易控制。 方案二:选则集成芯片 ADC0809。ADC0809 的采样频率为 8 位的、以逐次逼近 原理进行模数转换的器件。其内部有一个 8 通道多路开关,它可以根据 地址码锁存译码后的信号, 只选通 8 个单断模拟输入信号中的一个进行 A/D 转换。由于本实验要求的测量误差是204) goto _2v; l=1; temp=getdata; temp=(temp*1000/51)*100; temp=temp/20; disp: dispbuf0=0; dispbuf1=0; dispbuf2=0; dispbuf3=0; dispbuf4=0; dispbuf5=0; disp
4、buf6=0; dispbuf7=0; i=0; while(temp/10) /电压值的每个 位计算 dispbufi=temp%10; temp=temp/10; i+; dispbufi=temp; for(k=0;k=3;k+) /数 码管显示 P1=dispcodedispbufk+1; P3=scan_conk; if(l=3)if(k=2) P1=P1 | 0x80; /小数点的 确定 18 else if(l=2) if(k=3) P1=P1 | 0x80; else if(l=1)if(k=1) P1=P1 | 0x80; for(m=0;m=2;m+) /延时 for(j=0;j=100;j+); 6.2 附图附图 6.2.1 系统整体图系统整体图 19