文档库 最新最全的文档下载
当前位置:文档库 › 基于launchpad的简易数字万用表

基于launchpad的简易数字万用表

基于launchpad的简易数字万用表
基于launchpad的简易数字万用表

基于launchpad的简易数字万用表更新于2012-06-08 13:06:46 文章

出处:互联网

MSP430G2231 launchpad的简易数字万用表

一:本设计基于MSP430G2231为核心控制系统,结合适量的硬件设计,配合12864液晶,制作出一个自动量程的电压,电阻,温度测试仪表。电压量程在0-11V,电阻档量程:0-100kΩ,温度适于室温测量。此表多适用于电子DIY爱好者使用。

二:原理

当被测电压VDD时,由上图可知,我们只需测出V值,即可知道VDD值。

VDD=V*(R9+R10)/R10.而V的值可用430的ADC采集得到。

2. 电阻测量:

原理和电压测量一样当VDD已知,R10已知,V已知时。R9的阻值:R9=(VDD/V-1)*R10。3:温度测量:基于18B20。DS1820 数字温度计以9 位数字量的形式反映器件的温度值。DS1820 通过一个单线接口发送或接收信息,因此在中央微处理器和DS1820 之间仅需一条连

接线(加上地线)。用于读写和温度转换的电源可以从数据线本身获得,无需外部电源。

因为每个DS1820 都有一个独特的片序列号,所以多只DS1820 可以同时连在一根单线总线上,

这样就可以把温度传感器放在许多不同的地方。这一特性在HVAC 环境控制、探测建筑物、仪

器或机器的温度以及过程监测和控制等方面非常有用。

整体设计思路

三:电路实现

1:电阻与电压测量外围硬件电路图,电压测量时,高电位端接红表笔,低电位端接黑表笔。通过运放的电压跟随,解决了数字万用表仅使用于测量恒压源的窘境,但同时也由于运放的限制,测量电压范围变小。当测量电压低于2V时,ADC0采集的电压值有效,作为测量值,而ADC1采样无效。每次测量都是由大量程开始,通过程序判断,该量程是否合适,如量程太大,进行小量程切换。

2:电阻的测量是本设计的经典,不借助于模拟开关,手动开关选档。而借助于单片机IO 口的上拉输出,高阻态输入完成自动选档。如当P12为高电平时,P13为高阻态时,R5与被测电阻形成通路分IO口电压,然后再经358跟随供AD采集。通过切换P12,P13的输入输出状态即可实现档位切换。

2:

18B20具有很多优秀的特性,如零待机功耗,独特的单线接口仅需一个端口引脚进行通讯,报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件。

3:电源模块

因为用的是MSP430的LAUNCHPAD开发板,故3,5V供电电压不用单独制作。只需产生运放需要要的12V电压,本设计依赖34063的芯片的升压,由5V升到12V。

4:液晶显示模块

此设计也是经典之举,尽管抬高了此作品的造价,因430总共只有10个可操控IO口,而一般的显示模块都得用8个左右,而用12864的串行模式,同时运用MSP430的SPI通信,既方便又高效的完成了液晶显示的操作。同时采用5分钟定时息屏操作,从根本上解决了低功耗的问题,环保,节约。关于12864这里不再赘述。

4:按键模块

因为设计温度是一直显示,所以就只需对电阻,电压进行选择。所以运用了两个按键作为人际交互手段,而复位按键由MSP430开发板自身提供。

实物图

源码:

/*

* main.c

*/

#include

typedef struct REG{ unsigned bit0 : 1;

unsigned bit1 : 1;

unsigned bit2 : 1;

unsigned bit3 : 1;

unsigned bit4 : 1;

unsigned bit5 : 1;

unsigned bit6 : 1;

unsigned bit7 : 1;

}REG;

typedef enum STATE{ WELCOME = 1,

VOLTAGE,

RESISTANCE

}STATE;

#define uchar unsigned char

#define uint unsigned int

#define jump_ROM 0xCC

#define start 0x44

#define read_EEROM 0xBE

typedef unsigned char byte;

typedef unsigned int word;

#define N_SAMPLE 12

#define P1 ((REG *) 0x0021)

#define RS P1->bit7

#define DQ P1->bit4 //DS18B20数据口

void dispnum(unsigned int a,unsigned char x,unsigned char y) ; void dispuserset(unsigned int a,unsigned char x,unsigned char y); volatile STATE state = WELCOME;

word adc_value[N_SAMPLE];

unsigned char TMPH,TMPL;

void Key_Init(void)

{

P2SEL &= ~BIT6 + ~BIT7;

P2REN |= BIT6 + BIT7;

P2OUT |= BIT6 + BIT7;

P2IE |= BIT6 + BIT7;

P2IES |= BIT6 + BIT7;

P2IFG &= ~BIT6 + ~BIT7;

}

void TimerA0_Init(void)

{

TACCR0 = 30000;

TACCR1 = 20000;

TACTL = TASSEL_2 + MC_2 + ID_3;

TACCTL1 = CCIE;

TACTL |= TACLR;

}

void ADC_Init(void)

{

ADC10CTL1 = CONSEQ_2;

ADC10CTL0 = ADC10SHT_2 + MSC + ADC10ON + ADC10IE;

ADC10DTC1 = N_SAMPLE;

ADC10SA = (word) adc_value;

}

void ADC_Channel_Select(word channel)

{

ADC10CTL1 &= 0x0fff;

ADC10CTL1 |= channel;

ADC10AE0 &= 0x00;

ADC10AE0 = (1 << (channel >> 12));

}

inline void SPI_Init(void)

{

USICTL0 |= USIPE6 + USIPE5 + USIMST + USIOE;

USICTL1 |= USICKPH + USIIE;

USICKCTL = USIDIV_4 + USISSEL_2;

USICTL0 &= ~USISWRST;

__enable_interrupt();

}

void SPI_Transmit(byte data)

{

USISRL = data;

USICNT = 8;

// while (!(USIIFG & USICTL1));

LPM0;

}

/********************************************************************

* 名称: delay()

* 功能: 延时函数

* 输入: 无

* 输出: 无

***********************************************************************/ void delay(unsigned int yN)

{

unsigned int i;

for(i=0; i

;

}

/********************************************************************

* 名称: Reset()

* 功能: 复位DS18B20

* 输入: 无

* 输出: 无

***********************************************************************/ uchar Reset(void)

{

uchar deceive_ready;

DQ = 0;

delay(29);

DQ = 1;

delay(3);

deceive_ready = DQ;

delay(25);

return(deceive_ready);

}

/********************************************************************

* 名称: read_bit()

* 功能: 从DS18B20读一个位值

* 输入: 无

* 输出: 从DS18B20读出的一个位值

***********************************************************************/ uchar read_bit(void)

{

uchar i;

DQ = 0;

DQ = 1;

for(i=0; i<3; i++);

return(DQ);

}

/********************************************************************

* 名称: write_bit()

* 功能: 向DS18B20写一位

* 输入: bitval(要对DS18B20写入的位值)

* 输出: 无

***********************************************************************/ void write_bit(uchar bitval)

{

DQ=0;if(bitval==1)

DQ=1;

delay(5);

DQ=1;

}

/********************************************************************

* 名称: read_byte()

* 功能: 从DS18B20读一个字节

* 输入: 无

* 输出: 从DS18B20读到的值

***********************************************************************/ uchar read_byte(void)

{

uchar i,m,receive_data;

m = 1;

receive_data = 0;

for(i=0; i<8; i++)

{

if(read_bit())

{

receive_data = receive_data + (m << i);

}

delay(6);

}

return(receive_data);

}

/********************************************************************

* 名称: write_byte()

* 功能: 向DS18B20写一个字节

* 输入: val(要对DS18B20写入的命令值)

* 输出: 无

***********************************************************************/ void write_byte(uchar val)

{

uchar i,temp;

for(i=0; i<8; i++)

{

temp = val >> i;

temp = temp & 0x01;

write_bit(temp);

delay(5);

}

}

/********************************************************************

* 名称: GETDATA()

* 功能: 获取数据

* 输入: 无

* 输出: 温度值,整数

***********************************************************************/ unsigned int GETDATA()

{

unsigned int temp;

DQ = 0;

Reset();

write_byte(jump_ROM);

write_byte(start);

Reset();

write_byte(jump_ROM);

write_byte(read_EEROM);

TMPL = read_byte();

TMPH = read_byte();

temp = TMPL>>4 + 4<

return temp;

}

void LCD_Write_Cmd(byte com)

{

RS = 1;

SPI_Transmit(0xf8);

SPI_Transmit(0xf0 & com);

SPI_Transmit(0xf0 & (com << 4)); RS = 0;

}

void LCD_Write_Dat(byte dat) {

RS = 1;

SPI_Transmit(0xfa);

SPI_Transmit(0xf0 & dat);

SPI_Transmit(0xf0 & (dat << 4)); RS = 0;

}

void LCD_Pos(byte x, byte y)

{

byte pos;

switch(x)

{

case 0:

x = 0x80;

break;

case 1:

x = 0x90;

break;

case 2:

x = 0x88;

break;

case 3:

x = 0x98;

break;

default:

break;

}

pos = x + y;

LCD_Write_Cmd(pos);

}

void LCD_Init(void)

{

LCD_Write_Cmd(0x30);

LCD_Write_Cmd(0x0c);

LCD_Write_Cmd(0x01);

LCD_Write_Cmd(0x02);

LCD_Write_Cmd(0x80);

}

void LCD_Write_Str(byte x, byte y, char *str) {

LCD_Pos(x, y);

while (*str)

{

LCD_Write_Dat(*str++);

}

}

void LCD_Clear_Screen(void)

{

LCD_Write_Cmd(0x34);

LCD_Write_Cmd(0x30);

LCD_Write_Cmd(0x01);

}

void Disp_Welcome_Msg(void)

{

LCD_Write_Str(0, 1, "自动量程仪表");

LCD_Write_Str(1, 0, "温度: °C");

LCD_Write_Str(2, 0, "1:电阻2:电压");

LCD_Write_Str(3, 0, " 欢迎使用");

}

word filter(void)

{

word ad_val;

int i;

for (i = 0; i < N_SAMPLE; i++)

{

ad_val += adc_value[i];

}

ad_val /= N_SAMPLE;

return ad_val;

}

void Measure_Voltage(void)

{

word ad_val = 0;

byte flag=0;

LCD_Write_Str(2, 0, " ");

LCD_Write_Str(2, 0, "电压:");

LCD_Write_Str(3, 0, " ");

ADC_Channel_Select(INCH_1);

ADC10CTL0 &= ~ENC;

while (ADC10CTL1 & BUSY); // Wait if ADC core is active

ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start LPM0;

ad_val = filter();

if (ad_val > 150)

{

flag=1;

}

else

{

flag=0;

ADC_Channel_Select(INCH_2);

ADC10CTL0 |= ADC10SC;

LPM0;

ad_val = filter();

}

if(flag==1)

{

ad_val=ad_val*1.05;

dispuserset(ad_val,3,2);

}

else

ad_val=ad_val*3.60;

dispuserset(ad_val,3,2);

}

LCD_Write_Str(3, 4, "V");

}

inline void Measure_Resistance(void)

{

byte flag=0;

word ad_val,temp_adc;

LCD_Write_Str(2, 0, " ");

LCD_Write_Str(2, 0, "电阻:");

LCD_Write_Str(3, 0, " ");

P1DIR |= BIT2;

P1DIR &= ~BIT3;

P1OUT |= BIT2;

ADC_Channel_Select(INCH_0);

ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start LPM0;

ad_val = filter();

if (ad_val > 150)

{

flag=1;

}

else

{

flag=0;

P1DIR |= BIT3;

P1DIR &= ~BIT2;

P1OUT |= BIT3;

ADC_Channel_Select(INCH_0);

ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start LPM0;

ad_val = filter();

}

if(flag==1)

temp_adc=1024-ad_val; //(带小数显示)temp_adc=ad_val*10/temp_adc;

temp_adc=50*temp_adc;

dispuserset(temp_adc,3,2);

LCD_Write_Str(3, 4, "KOH");

}

else

{

temp_adc=1024-ad_val; //(整数显示)temp_adc=ad_val*10/temp_adc;

temp_adc=100*temp_adc;

dispnum(temp_adc,3,2);

LCD_Write_Str(3, 4, "OH");

}

}

void main(void) {

WDTCTL = WDTPW + WDTHOLD;

P1DIR |= BIT7 + BIT4;

SPI_Init();

LCD_Init();

ADC_Init();

Key_Init();

TimerA0_Init();

P1DIR |= BIT0;

// Disp_Welcome_Msg();

for(;;)

{

switch(state)

{

case WELCOME:

Disp_Welcome_Msg();

//dispnum(GETDATA(),1,2);

break;

case RESISTANCE:

Measure_Resistance();

break;

case VOLTAGE:

Measure_Voltage();

break;

}

LPM0;

}

}

#pragma vector = USI_VECTOR

__interrupt void USI_ISR(void)

{

USICTL1 &= ~USIIFG;

LPM0_EXIT;

}

#pragma vector = TIMERA1_VECTOR __interrupt void TIMERA1_ISR(void) {

switch(TAIV)

{

case 2:

TACCR1 += 20000;

LPM0_EXIT;

break;

}

}

#pragma vector = ADC10_VECTOR __interrupt void ADC10_ISR(void) {

LPM0_EXIT;

}

#pragma vector = PORT2_VECTOR __interrupt void PORT2_ISR(void) {

if (TACCTL0 & CCIFG)

{

if (P2IFG & BIT6)

{

if (state == VOLTAGE)

{

state = WELCOME;

}

else

{

state = VOLTAGE;

}

}

if (P2IFG & BIT7)

{

if (state == RESISTANCE)

{

state = WELCOME;

}

else

{

state = RESISTANCE;

}

}

TACCTL0 &= ~CCIFG;

TACCR0 += 30000;

}

P2IFG &= ~BIT6 + ~BIT7;

}

/*********************************************************************** *********/

void dispnum(unsigned int a,unsigned char x,unsigned char y) //整数显示(4位数-9999) {

unsigned char flag,i=0;

unsigned char out[5];

out[0]=' ';

out[1]=48+(a/1000);

a=a%1000;

out[2]=48+(a/100);

a=a%100;

out[3]=48+(a/10);

out[4]=48+(a%10);

flag=0;

for(i=1;(i<4)&&(flag==0);i++)

{

if(out[i]==48)

{

out[i]=32;

}

else

{

flag=1;

}

}

LCD_Pos( x, y);

i=0;

while (i<5)

{

LCD_Write_Dat(out[i]);

i++;

}

}

void dispuserset(unsigned int a,unsigned char x,unsigned char y)//小数显示(2位数+2位小数-99.99)

{

unsigned char flag,i=0;

unsigned char out[5];

out[0]=48+(a/1000);

a=a%1000;

out[1]=48+(a/1000);

a=a%100;

out[2]='.';

out[3]=48+(a/10);

a=a%10;

out[4]=48+a;

flag=0;

for(i=0;(i<2)&&(flag==0);i++)

{

if(out[i]==48)

{

out[i]=32;

}

else

{

flag=1;

}

}

LCD_Pos( x, y);

i=0;

while (i<5)

{

LCD_Write_Dat(out[i]); i++;

}

}

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

题目:基于单片机的数字万用表设计 院系: 机电工程系 专业: 机电一体化 学号: 姓名: 指导教师: 完成日期:

摘要 本次设计用单片机芯片AT89s52设计一个数字万用表,能够测量交、直流电压值、直流电流、直流电阻以及电容,四位数码显示。此系统由分流电阻、分压电阻、基准电阻、电容测试芯片电路、51单片机最小系统、显示部分、报警部分、AD转换和控制部分组成。为使系统更加稳定,使系统整体精度得以保障,本电路使用了AD0809数据转换芯片,单片机系统设计采用AT89S52单片机作为主控芯片,配以RC上电复位电路和11.0592MHZ震荡电路,显示芯片用TEC6122,驱动8位数码管显示。程序每执行周期耗时缩到最短,这样保证了系统的实时性。 关键词数字万用表AT89S52单片机AD转换与控制

)目录 目录 摘要 (ii) Abstract ............................................... 错误!未定义书签。绪论 .. (4) 1. 数字万用表设计背景 (6) 1.1数字万用表的设计目的和意义 (6) 1.2 数字万用表的设计依据 (6) 1.3数字万用表设计重点解决的问题 (6) 2 数字万用表总体设计方案 (6) 2.1数字万用表的基本原理 (6) 2.2 数字万用表的硬件系统设计总体框架图 (12) 2.3硬件电路设计方案及选用芯片介绍 (13) 2.3.1 设计方案 (13) 2.3.2 芯片选择及功能简介 (14) 2.4数字万用表的硬件设计 (24) 2.4.1分模块详述系统各部分的实现方法 (24) 2.4.2 数字万用表控制硬件整体结构图 (29) 2.4.3 电路的工作过程描述 (29) 3. 系统软件与流程图 (30) 3.1 电路功能模块 (30) 3.2系统总流程图 (30) 3.3物理量采集处理流程 (32) 3.4电压测量过程流程图 (32) 3.5电流的测量过程流程图 (34) 3.6电阻的测量过程流程图 (35) 3.7电容测量过程流程图 (36) 结论 (37) 致谢 (38) 参考文献 (39)

最简单不用开关的万用表1.5V升9V电池代替电源电路(加电池共五个件)

最简单不用开关的万用表1.5V升9V电池代替电源电路(加电池共五个件) [万用表9V电池代替电源电路]的电路图 本文介绍一种用一节GNY0.18型7号镍镉电池供电的电源供电于万用表,其特点是:延长电池使用时间,可反复充电;不用改动表中电路,也不需另设开关,使用比较方便、经济。 1.电路工作原理 万用表代用电源的电路,如图1所示。电路由三极管VT、升压变压器T、二极管VD、电容C与电源GB五个元器件组成。三极管VT和升压变压器T构成变压器反馈式振荡器,当电源输出端有负载电流通过时,三极管VT就有基极电流通过,电路就振荡工作;反之,没有基极电流,电池也不消耗电流,所以此电路不设电源开关。 2.元器件选择及安装调试 VT:PNP型小功率三极管,如2N3906,β>200。 VD:1N4148型开关二极管。 C:1uF/16V。 T:升压变压器,采用Φ10mm磁环作骨架,初级绕组L2用Φ0.15mm漆包线绕16圈,次级绕组L1用Φ0.08mm漆包线绕140圈。绕制前,可以用塑料片或竹片自制一个小梭子。两端各剪一小叉口,把漆包线绕在梭子上,然后再绕制,如图2所示。 图2 升压变压器制作图

万用表代用电源的印制电路,如图3所示。电源的印制电路板可按图示尺寸用刀刻法制作,不用打孔,全部元器件直接焊接在铜箔面上即可。电池安装在电路板上,其正、负极处用有弹性的磷铜片做一个卡子,焊在印刷板相应位置上固定。外壳同叠层电池的体积相仿,也可直接安装在万用表盒内。 图3 万用表代用电源的印制电路 整个电路焊接完毕并检查无误后,就可以通电进行调试了。首先在电压输出端连接上一只3 kΩ/0.125W电阻,用万用表直流电压档测量电容C两端的电压,查看是否在直流9V左右,如输出电压较低,可适当调换变压器L2绕组两端引线的位置。该电源长期使用性能良好,应注意定期检查镍镉电池的容量,及时补充电能。

数字电子技术基础课程设计DT-830B数字万用表报告

数字电子技术基础课程设计DT-830B数字万用表报告

三亚学院 2011~2012学年第2学期 数字电子技术基础课程设计报告 学院: 理工学院 专业: 测控技术与仪器 班级: 学号: 学生姓名: 指导教师: 2012年9月7日

目录 一、设计任务与要求……………………………………… 二、电路原理……………………………………………… 三、总原理图及元器件清单……………………………… 四、装配过程……………………………………………… 五、电路功能测试………………………………………… 六、结论与心得……………………………………………

DT-830B数字万用表的组装与调试 一、设计任务与要求 1、设计要求: 学习了解DT830B数字万用表,熟悉它的工作原理。然后安装并调试数字万用表。通过对DT830B数字万用表的安装与调试实训,了 解数字万用表的特点,熟悉装配数字万用表的基本工艺过程、掌握基本 的装配技艺、学习整机的装配工艺、培养自身的动手能力以及培养严谨 的学习工作作风。 DT830B由机壳熟料件(包括上下盖和旋钮)、印制板部件(包括插口)、液晶屏及表笔等组成,组装成功关键是装配印制板部件。因为 一旦被划伤或有污迹,将对整机的性能产生很大的影响。整机安装的流 程图如下所示: 3)认识DT830B数字万用表的液晶显示器件、印制板部件等。 4)安装制作一台DT830B数字万用表。 5)根据技术指标测试DT830B数字万用表的主要参数 6)校验数字式万用表,减小其误差。

二、电路原理 DT830B电路原理它是3位半数字万用表。 数字万用表的核心是以ICL7106A/D转化器为核心的数字万用表。A/D转化器将0~2V范围的模拟电压变成三位半的BCD码数字显示出来。将被测直流电压、交流电压、直流电流及电阻的物理量变成0~2V的直流电压,送到ICL7106的输入端,即可在数字表上进行检测。 为检测大于2V的直流电压,在输入端引入衰减器,将信号变为0~2V,检测显示时再放大同样的倍数。 检测直流电流,首先必须将被测电流变成0~2V的直流电压即实现衰减与I/V 变换。衰减是有精密电阻构成的具有不同分流系数的分流器完成。 电阻的检测是利用电流源在电阻上产生压降。因为被测电阻上通过的电流是恒定的,所以在被测电阻上产生的压降与其阻值成正比,然后将得到的电压信号送到A/D转换器进行检测。 三、总原理图及元器件清单

简易万用表的设计

龙源期刊网 https://www.wendangku.net/doc/6d15396796.html, 简易万用表的设计 作者:王流凤 来源:《科教导刊·电子版》2015年第13期 (西南交通大学信息科学与技术学院四川·成都 611756) 摘要本系统是通过使用8位STC89C52单片机来实现对数据的处理,不仅低功耗,还高性能,可以实现对电阻、电容的测量。电阻、电容是由555多谐振荡电路产生,STC89C52的定时器可以利用外部时钟源来计数,将RC的测量电路产生的频率作为单片机STC89C52的时钟源,通过计数则可以计算出所测频率,再通过该频率计算出各个参数。 关键词 555多谐振荡电路起振电路复位电路数码显示 中图分类号:TM938.12 文献标识码:A 1方案设计及分析 测量电子元器件集中参数R 、C的仪表种类较多,方法也各不相同,但是都有其优缺点;一般来说测量方法计算起来都很复杂,不易实现测量自动化及实验智能化。本次设计是运用把电子元件参数R 、C转化为频率信号f,然后用单片机计数后来算出对应参数,并显示出来,其转换原理分别是RC振荡,这样就实现把模拟量近似转换为数字量,而频率f是单片机很容易处理的数字量,这种数字化的处理使我们的仪器实现智能化。 2 STC89C52 STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有 传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU和在系统可编程Flash,使 得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 3系统硬件设计及电路 系统分为三个部分,分别有测量电路部分,通道选择部分,控制部分,STC89C52单片机将根据所选通道,通过IOA4和IOA3向模拟开关送两个地址信号,取得振荡频率,然后根据所测频率来判断是否更换量程,又或者是把数据处理后,得出相应的参数。电阻测量电路:电阻的测量是通过“脉冲计数法”来进行测量的,用555构成的多谐振荡电路来实现,通过计算振荡频率的大小来得出所测电阻的阻值。电容测量电路:电容同样是采用“脉冲计数法”,由555多谐振荡电路来实现其功能,通过所测频率的大小来得出电容大小。多项选择电路:利用 CD4052来实现测量类别的转换,CD4052是一个双4选二的多选开关,当选择了某个频率之

数字万用表设计报告

智能数字万用表 郭盛,谢鹏程,王飘,张玙姣 摘要:本设计能够精准的测量直流电压、交流电压和电阻。电阻测量是采用xxxxxx;交流测量是用AD637真有效值转换芯片将交流信号转换成直流电压后测量,可以实现10MΩ的输入阻抗和高安全性。电路中关键器件采用精密运算放大器OPA07;ADC采用ICL7135芯片;控制器选用89C52单片机,实现了低功耗,量程自动切换功能。另外,通过利用继电器,实现了测量档位转换的便捷和可靠性。系统采用键盘输入,液晶显示输出,人机交互灵活,界面友好,操作简单。该作品的性能指标达到了题目的设计要求。 关键字:数字万用表、ICL7135、89C52单片机

一、系统方案 1.题目任务要求及相关指标要求分析 系统主要分为:直流电压、交流电压和电阻测量三部分。直流电压和交流电压制作的指标都不高,实现起来比较容易。 系统最主要的问题是电阻测量。XXXXXXXXXXX 2.方案论证与比较 (1)交流有效值测量方案 方案一:模拟运算法。根据有效值的数学定义,用集成器件乘法器、开放器等依次对被测信号进行平方、平均、开方等计算直接得到交流信号输出有效值。这种方案的测量动态范围小,精度不高且当输入信号的幅度变小时,平均器输出电压的平均值下降很快,输出幅度很小。 方案二:交流整形电路。采用AD637集成真有效值转换芯片,把交流电压信号转换为幅值等于交流有效值的直流电压信号,再对直流电压信号进行测量,这种方案电路简单、响应速度快、失真度小,工作稳定可靠,故采用此种方案。 (2)电阻测量部分 方案一:电阻比例法。基于双积分式A/D转换,采用比例法构成的电阻-数字的转换。比例法测量原理图如图1所示。 此方案由于在电阻Rx、Rs中流过相同的电流,因此不需要精密的基准电流源,但需要计数器和基准时钟发生器且电路复杂。 方案二:恒流源法。XXXXXXXXXXX

数字万用表设计

第一章设计总阐述 1.1方案阐述 本设计是由5个模块组成:直流电源部分、A/D 转换电路、码制转换电路、秒定时电路、报警显示电路模块。 直流电源部分采用5V电源。 A/D 转换电路采用八路(八位八通道A/D 转换器),将8路信号输入选择八位二进制码输出,进行码制转换。从而再用译码器和数码显示管完成数字显示。 秒定时电路采用555时基电路构成单稳态触发器。 报警电路采用多个三极管,555多谐振荡器和发光二极管组成。 1.2产品概述: 用途:适用于通信电缆施工、维修及设备安装过程中,对线排序及寻找特定线对的操作。 性能:具有高性能、低功耗、小体积、重量轻和音量可调,它将为你的对线操作带来方便、轻松和高效率。 特点:该装置查线速度快、现实直观、可以单人校线,还可以复校、结构简单、成本低廉、不易发生故障、工作可靠。

第二章 模块化设计 设计原理: 如图所示,给定各芯线与其相连电阻下标相同的号码1、2、3、…X ,…m (1~m )。Vs 在Rx 上形成分压 Vx=(Rx/Ro+Rx )*Vs 并可在近端测量得到。由于Vx 必定已知,从而可测定当前被测芯线的号码是第几。但Vx 不必读出,可以将其进行A/D 转换,译码,数字显示后直接读出数字1~m 中的一个,就是该芯线的预设号码。 为了A/D 便于转换,R1~Rm 的取值原则应满足如下条件: (Rx+1/Ro+Rx+1-Rx/Ro+Rx )*Vs=△Vs 式中:Vs 是常量即电源电压值。 △ Vs 是转换器的参考电压和转换阶梯;Vx 是第x 级取样电压下限值。 2.1 A/D 转换部分 1)它具有八路模拟信号输入选择,八位二进制码输出的一个逐次比较A/D 转换器。输入端受地址译码器输出的控制。本设计选择模拟通道1N0输入,则地址预置在ADDC 、ADDB 、ADDA=000。当地址锁存允许ALE=1时,输入1N0的模拟信号送入A/D 转换器。 2)ADC0809 1.主要特性 1)8路8位A /D 转换器,即分辨率8位。 2)具有转换起停控制端。 3)转换时间为100μs 4)单个+5V 电源供电

手把手教你使用TI MSP430 LaunchPad

手把手教你使用TI MSP430 LaunchPad 操作系统:Windows 7 Ultimate 32 bit 开发环境:IAR for MSP430 v5.20 开发板:TI LaunchPad 驱动安装 1、用USB线连接电脑PC和目标板LaunchPad。Windows会自动搜索驱动,当然,一般来说,都是安装失败的。 2、LaunchPad套件并没有提供光盘,驱动在哪里?IAR for MSP430已经集成了TI USB FET的驱动,所以,我们先把IAR for MSP430给安装上,驱动也就有了。这里驱动路径如下: D:\Programs\IAR Systems\Embedded Workbench 6.0 Evaluation\430\drivers\TIUSBFET 至于软件安装时的注册/和谐问题,大家都是很有办法的,你懂的。

3、安装了IAR for MSP430之后,重新拔插USB,Windows 7会自动重新搜索驱动,一般是可以安装成功的。如果安装失败了,指定刚刚的路径安装驱动即可。 在设备管理器可以看到如下端口MSP430 Application UART(COM28),端口号视实际情况而定。 有些地方,端口号并不支持到那么大,可以通过高级设置更改,更改方法如下面链接所示:https://www.wendangku.net/doc/6d15396796.html,/viewthread.php?tid=237823&page=1&fromuid=194149#pid827620 很好,驱动安装完毕。下面开始用IAR for MSP430建立工程。

工程建立 1、运行IAR Embedded Workbench,点击菜单栏Project –> Create New Project… 选择C –> main,这里也可以选择Empty project,但选择C -> main的话,它会自己帮你新建一个main.c文件,并且把它加入到工程中。给工程指定一个工程名称Blinky,如下图: 2、编写如下代码: #include "io430.h" int main( void ) {

简易数字万用表的设计

2013年江西省大学生电子设计简易数字万用表 (C 题) 2013年5月28日

目录 摘要 0 一.设计任务 (1) 二.系统方案 (2) 三.理论分析与计算 (3) 3.1器件的选择与比较 (3) 3.2 测量电路的设计和分析 (3) 3.2.1 模数(A/D)转换与数字显示电路 (3) 3.2.2 多量程数字电压表原理 (3) 3.2.3 多量程数字电流表原理 (4) 3.2.4 电阻的测量原理 (5) 3.2.5 电容测量原理 (6) 四.电路设计与程序设计 (7) 4.1 直流电压测量电路 (7) 4.2 直流电流测量电路 (7) 4.3 电阻测量电路 (8) 4.4 测电容电路 (8) 4.5 最小系统电路 (9) 五.测试方案 (10) 5.1 硬件调试 (10) 1.测试仪器 (10) 2.测试方法 (10) 5.2 软件调试 (10) 5.3 硬件软件联合调试 (10) 模块程序设计法的主要优点是: (10) 5.4测试流程 (11) 5.4.1 整体测试流程 (11) 5.4.2电压测试流程 (11) 5.4.3 电阻测量流程 (11)

5.4.4 电流测试流程 (12) 参考文献 (13)

摘要 本次设计用单片机芯片STC12C5A60S2设计一个数字万用表,能够测量直流电压值、直流电流、直流电阻以及电容和电感,四位数码显示。此系统由分流电阻、分压电阻、基准电阻、555振荡电路、51单片机最小系统、显示部分、AD转换和控制部分组成。为使系统更加稳定,使系统整体硬件更简单,本电路使用了STC12C5A60S2自带的AD,它单片机系统设计采用STC12C5A60S2单片机作为主控芯片,配以RC上电复位电路和11.0592MHZ 震荡电路,显示用四位数码管。程序每执行周期耗时缩到最短,这样保证了系统的实时性。 关键字:数字万用表;单片机;AD转换

数字万用表课程设计报告材料

中国石油大学胜利学院电子技术课程设计总结报告 题目:数字万用表的组装与调试 学生姓名: 系别: 专业年级: 学号: 指导教师: 2015年1月3日

一、设计任务与要求 1、任务:学习了解DT830T数字万用表,熟悉它的工作原理。然后安装并调试数字万用表。通过对DT830T数字万用表的安装与调试实训,了解数字万用表的特点,熟悉装配数字万用表的基本工艺过程、掌握基本的装配技艺、学习整机的装配工艺、培养自身的动手能力以及培养严谨的学习工作作风。DT830B 由机壳熟料件(包括上下盖和旋钮)、印制板部件(包括插口)、液晶屏及表笔等组成,组装成功关键是装配印制板部件。因为一旦被划伤或有污迹,将对整机的性能产生很大的影响。整机安装的流程图如下所示 2要求: 1) 了解数字万用表特点以及它的发展趋势。 2) 熟悉万用表装配技术的基本工艺过程。 3) 认识DT830T数字万用表的液晶显示器件、印制板部件等。 4) 安装制作一台DT830T数字万用表。 5)根据技术指标测试DT830T数字万用表的主要参数 6) 校验数字式万用表,减小其误差。 二、系统框架原理与设计 DT830T电路原理它是3位半数字万用表。其特点:分辨力强、准确度高(±0.5%~±1.5%)、测试功能完善、测量速率快、显示直观、耗电省、过载能力强、便于携带。发展趋势:自动量程,显示图形“数字/模拟条图”双显示数字万用表克服了不能反映被测量连续度化的不足。总体电路原理相关说明数字万用表由以下几部分功+能组成,复原电路、震荡电路、ADC输入、被测量显示、ADC使能控制。复位电路用来清零进行下一次的测量;震荡电路用来消除一些外来干扰,使电路工作更加稳定;ADC输入则是将输入量进行AD转换;测量显示就是显示测量的数值。 数字万用表的核心是以ICL7106A/D转化器为核心的数字万用表。A/D转化器将0~2V范围的模拟电压变成三位半的BCD码数字显示出来。将被测直流电

LaunchPad-MSP430入门系列4-定时器模块(定时、计数、捕获)

LaunchPad-MSP430入门系列4-定时器模块 (定时、计数、捕获) Version 1.2 文先,介绍几个英文缩写的意思以及一些注意的地方。 1.Timer0/1 定时器0/1,在User's Guide中用的是TimerA/B,所指的也是Timer0/1 。 G2553Datasheet中用的是Timer0/1 ,本文以G2553Datasheet为准。全文以Timer0 为例,Timer1类同。 2.TAxR(x = 0/1)定时器x对应的计数器,这是一个只读寄存器。硬件自动驱动计数。 3.EQUy(y = 0/1/2)计数事件发生寄存器,当TAxR = TAxCCRy时EQUy置1。 4. 定时器简介 MSPG2553共有两个定时器,Timer0、Timer1,他们都是十六位的定时、计数器,内含三个捕获、比较寄存器。两个定时器均支持多个捕获、PWM输出、间歇性计时,定时器包含多个中断源,可以是计数溢出中断、捕获中断等等。 定时器包含: ●同步十六位定时、计数器运行模式。 ●时钟源可从MCLK、SMCLK、ACLK任意选择。 ●三个比较、捕获寄存器。 ●中断向量寄存器能快速解码的所有定时器中断 本文以Timer0为例详细介绍430的定时器模块,下图是Timer0组成框图

0-1定时器0组成框图 下面简要介绍一下该硬件框图的意思,从左上角看,首先是一个时钟源选择寄存器TASSELx,通过该寄存器选择定时器的时钟源,选择了时钟源后有一个分频器Divider,相应的设置寄存器是IDx,再过来就到一个定时器的核心部分,一个16位的定时器TAR。其右侧有一个定时器的计数模块,MCx寄存器用来设置计数模式。 接下来,TAR正下方有三个横线,右侧标有CCR0、CCR1、CCR2,意思是CCR1、CCR0的框图和下方CCR2的框图是一样的。此处省略不写。在CCR中,左上角为一个捕获源选择寄存器。可以从CCI2A、CCI2B、GND或者VCC选择捕获源,选择捕获源后有一个选择捕获模式寄存器Capture Mode,然后过来有一个捕获溢出状态寄存器COV,SCS同步/异步捕获模式选择位,然后连接到捕获比较寄存器。下方为模式选择寄存器,具体设置可以查看相应的寄存器设置。 这里仅是大概介绍一下Timer0的寄存器,具体的设置使用还看参考相应的寄存器并结合例程慢慢学习理解。 定时器运行方式 下面简要重点介绍定时器计数模块的四种模式以及7种输出模式。 Timer0有一个在不断计数的只读寄存器TA0R。计数器的计数模式共有四种,

简易万用表的设计与制作

简易万用表的设计与制作 万用表是常用的测量工具,主要是由直流计及若干电阻构成。由于万用表具有具有多用途用方便等优点,有着广泛的应用。本实验主要熟悉万用表的设计及校正。 一 实验目的 1. 了解万用表测量电压、电流以及电阻的基本原理。 2. 掌多量程万用表的制作方法。 二 实验原理 万用表主要由磁电式电流计以及一系列电阻构成。由磁 电式电流计和不同阻值的分流电阻可构成不同量程的电流 表,同样,磁电式电流计和不同阻就构成了不同量程的电压 表。电流计允许通过的最大电流称为电流计量程,用g I 表示, 电流计线圈有一定的电阻称为电流计内阻,用g R 表示。量程 g I 与内阻g R 是电流计特性的两个重要参数。 要将磁电式电表改装成量程为I 的电流表,只需在 电表表头两并联一分流电阻,分流电阻阻值按一下公式 计算:)/(g g g s I I I R R -?=。 并联不同的分流电阻可 构成不同量程的电流表,如图1所示电流表有四个不同 量程。 如果要将电流计改装成量程为U 的电压表,则电 流计需串联一分压电阻,分压电阻阻值按如下公式计 算:g g x R I U R -=。串联不同的分压电阻,得到不同 量程的电压表,如图2所示。 如果要将表头改成欧姆表,可由图3说明原理, 开始短接a 、b 两端,调节电阻R ’使得电流计满刻度,此时:' R R E I g O +=,则当x R 接入回路后,回路电流为:x g x R R R E I ++=(E 为电池电动势,g R 为表头内阻,x R 为待测电阻)。所以,一旦E 、g R 、R ’确定后,回路电流仅由x R 决定。当'R R R g x +=时, 2 o x I I =,此时电流表指针指向刻度线中点,这时的电阻x R 称为欧姆表的中值电阻。由此方法可在电流计面板上刻度以显示不同的阻值电阻x R 。由于x I 与x R 呈非线性关系,所以欧姆表刻度为非均匀刻度,另外,实际是作为电源的电池也 非恒定,所以欧姆表还需作零欧姆调整,实际电路中应增加零欧姆调整电位器。 如果要扩大欧姆表量程,可以采用一下两种方法,一是电流计两端并联不 同的分流电阻,二是可提高电源电压。 三 实验内容

数字台式万用表ut803使用简易说明

数字台式万用表ut803使用简易说明一、仪表显示界面简介 1.有效值提示符 2.数据保持提示符3.自动关机提示符4.显示负的读数 5.交流测量提示符6.直流测量提示符7.交流+直流测量提示符8.超量程提示符9.单位提示符 10.二极管测量提示符号11.电路通断测量提示符号12.自动或手动量程提示符13.最大或最小值提示符14.RS232接口输出提示符15.电池欠压提示符 16.三极管放大倍数测量提示符 二、测量操作说明 1.交直流电压测量 1)将红表笔插入“V”插孔,黑表笔插入“COM”插孔。并将功能旋钮开关置于“V”电压测量档,按SELECT键选择所需测量的交流或直流电压。 2)将表笔并联到待测电源或负载上。红表笔接正相端,黑表笔接被测电路中的地端。3)读出测量显示值。交流测量显示值为有效值。 4)注意测量交流加直流电压的有效值,必须按下AC/(DC+AC)选择按钮。 5 )当被测信号的电压值小于600.0mv时,必须将红表笔改插入“HzΩmV”插孔,同时,利用“RANGE”按钮,使仪表处于“手动”600.0mV档(LCD屏有“MANUL”和“mV”显示)。 2.交直流电流测量 1)将红表笔插入“A mA μ ”或“A”插孔,黑表笔插入“COM”插孔。

2)将功能旋钮开关置于电流测量档“A μ ” “mA ” 或“A ”,按SELECT 键选择所需测量的交流或直流电流,并将表笔串联到待测回路中。 3)读出测量显示值。交流测量显示值为有效值。 4)注意测量交流加直流电流的真有效值,必须按下AC/(DC+AC )选择按钮。 3.电阻测量 1)将红表笔插入“Ω”插孔,黑表笔插入 “COM ”插孔。 2)将功能旋钮开关置于 “Ω” 测量档,按SELECT 键选择电阻测量,并将表笔并联到待测电阻两端上。测量电阻元器件时也可 通过转接插座再插入万用表。 3)注意测量被侧回路中元器件电阻值 时,不得带电测量。 4)读出测量电阻值。 4.电路通断测量 1)将红表笔插入“Ω”插孔,黑表笔插入 “COM ”插孔。 2)将功能旋钮开关置于 “Ω”测量档,按SELECT 键,选择电路通断测量,并将表笔并联到被测电路负载两端。如果被测两端之间电阻<10Ω,则认为被测电路两端良好导通,蜂鸣器连续声响;如果被测两端之间电阻>30Ω,则认为不能良好导通,蜂鸣器不发声。 3)从显示器上能直接读出被测电路负载的电阻值。单位为:Ω。 5.二极管测量 1)将红表笔插入“Ω”插孔,黑表笔插入 “COM ”插孔。红表笔极性为“+”,黑表笔极性为“-”。 2)将功能旋钮开关置于 “Ω”测量档,按SELECT 键选择二极管测量,红表笔接到被测二极管的正极,黑表笔接到被测二极管的负极。 3)从显示器上读出被测二极管的近似正向PN 结节电压。如果被测二极管开路或极性反接的时候,示数显示为“0L ”。 6.电容测量 1)将红表笔插入“z H mV Ω ”插孔,黑表笔插入 “COM ”插孔。 2)将功能旋钮开关置于电容测量档,此时仪表会显示一个固定读数,此数为仪表内部的分布电容。对于小量程电容的测量,被测量值一定要减去此值,才能确保测量精度。 3)在测量电容时,可以使用转接插座代替 表笔插入(+ -应该对齐)。 4 )如果被测电容短路或容值超过仪表的最 大量程,显示器将显示“0L ”。 7.频率测量 1)将红表笔插入“z H ”插孔,黑表笔插入 “COM ”插孔。

智能数字万用表的设计

湖北经济学院 电子设计大赛设计报告 课题名称:数字智能万用表 指导教师:汪成义王金庭刘光然学生姓名:汪凡夏晶晶张薇 学生院系:电子工程系 时间: 2011年7月

智能数字万用表 一 设计目的 1、培养综合性电子线路的设计能力。 2、掌握综合性电子线路的安装和调试方法。 3、学会基于M3进行软件设计。 二 任务及要求 1、任务 设计并制作一台具有直流电压、交流电压和电阻测量功能的智能数字万用表。示意图如图1所示。 图1 智能数字万用表示意图 2、要求 1、基本要求 (1)2 1 3数码显示,最大读数1999。

(2)直流电压量程:0.2V 、2V 、20V ,精度为±0.2%±1个字;输入阻抗≥10M Ω。 (3)交流电压量程:0.2V 、2V 、20V ,精度为±0.5%±2个字(以50 Hz 为 基准);输入阻抗≥10M Ω;频率响应范围为40~1000Hz 。 (4)电阻量程: 2Ω、200Ω、2M Ω,精度±0.2%±2个字。 2、发挥部分 (1)直流电压测量具有自动量程转换功能。 (2)具有“自动关机”功能,即在测量过程中,若1分钟内无任何键按下,仪器会自动关闭显示并处于低功耗状态;再按任意键,仪器能返回“自动关机”前的工作状态。 (3)具有相对误差(△%)测量功能,即在进行某项测量时,首先通过示屏提示用户从键盘输入标称值,一旦输入确认后,仪器能显示相对误差中的△值。 (4)其它。 三 总体设计方案 1、系统模块图 根据题目要求和本系统的设计思想,系统主要包括图2所示的模块: 图2系统模块框 被 测 量 输 入 电测阻 测直流 测交流 交测直流转换电路 电阻测量电路 量 程 自 动 转 换 电 路 A /D 转换电路 单 片 机 系 统 键盘与显示

数字万用表的设计说明

电子工艺实习报告 ------数字万用表的设计

数字万用表的设计 一、摘要: 数字万用表又称数字多用表,简称DMM(Digital Multimeter)。它是由数字电压表DVM(Digital Voltmeter)与各种变换器组成的。其中直流数字电压表示数字万用表的基本组成部分,是数字万用表的核心。数字仪表是把连续的被测模拟量自动地变成断续的、用数字编码方式并以十进制数字自动显示测量结果的一种测量仪表。这是一种新型仪表,它把电子技术、计算机技术、自动化技术与精密电测量技术密切地结合在—起,成为仪器仪表领域中一个独立的分支。数字万用表(DMM)可直接测量电压、电流、电阻或其他电参量,其功能可任意组合并以十进制数字显示被测量的结果,应用十分广泛。本文以DT830B万用表为例。 二、关键词 数字万用表,DT830B万用表,硬件设计,焊接工艺。 三、引言 DT830B万用表是一种常用的万用表,它的技术成熟。而且它的应用广泛,可以测量直流电压、直流电流、交流电压、电阻、二极管的正向导通电压F U以及三极管的放大倍数hFE 等。该表使用7106型的A/D转换芯片,配3 1/2位的LCD液晶显示屏,表使用一只电位器来调整精度,一节9V电池做电源,量程开关兼做电源开关。该表具有体积小、电路简单、分辨力强、准确度高测试功能完善、测量速率快等特点,常用于电气测量,特别适合在校学生和电子爱好者学习、组装,在装配完成的同时也就得到了一款实用的测量工具。 四、数字万用表的功能: DCV:直流电压 ACV:交流电压 DCA:直流电流 R:电阻 F U:二极管的正向导通电压hFE:三极管放大倍数

简易万用表

功能及组成简介 本作品为”简易万用表”,各部件从作用上可分为六大部分,依次为:电源,输入部分,A/D转换器,校正电路,单片机和显示电路部分..它们的关系可如下图简单表示. AC/DC电源:通过变压,整流,滤波和稳压作用,将交流220V的市电转化为+5V和-5V直流电压,为各个组成芯片提供工作电源,是整个器件的能源部分。 输入部分:它的作用是将不同类型的,大小各异的待测输入信号转化为幅值在0~2V之间的模拟电压,该电压作为A/D转换器的输入。 A/D转换器:用来将模拟输入部分输入的电压转化为对应的数字量,实现待测信号的模数转换,转换结果供给单片机处理。 校正电路:为了减小各种不利因素的影响,提高测量精度,特别引入了该校正电路,它的输出引入到单片机,通过软件处理,减小误差。 单片机:是简易万用表的核心部分,首先它控制输入部分的3线—8线译码器74138的选通,使74138能够正确选择输出通道将信号输出;其次,单片机8051为A/D转换器7135提供时钟信号,使7135能够正常地工作,同时,它读取7135的输出信号,以及校正电路的输出,内部处理后送往数码管;最后,单片机控制显示部分各个数码管的导通或截止,并送入处理后的数据使之正确显示。 显示电路:由单片机控制,把处理的结果显示出来在七段数码管上显示出来,为整个器件的最终输出,数码管的显示,即为待测输入信号的测量值。 各部分具体介绍: 一:电源 组成:匝数比为N1/N2=220/18,中间有抽头的变压器,三端集成稳压器L7805CV和L7905CV,电解电容1000ūF×2,整流二极管IN4007×4 因为使用的三端固定输出式集成稳压器7805的输入电压范围为7.5V~35V,7905的输入电压范围为-7V~-35V,所以变压器的匝数比取N1/N2=220/18,中间有公共地,通过变压作用,输出有效值为18V的交流电压,该电压作为整流电路的输入。四个型号为IN4007的二极管组成桥式全波整流电流,两端的输出分别接7805和7905的输入管脚,由于变压器中间有抽头接地,所以整流电路的输出电压能同时满足7805和7905。7805和7905的GND 管脚接在一起共地。在输入管脚和GND管脚之间连接的电解电容是用来滤波,大小为1000ūF。该整流滤波电路输出的正电压为(+5±5%)V,负电压为(-5±5%)V,能够满足集成芯片的电源电压要求。

数字万用表报告

电子产品制造工艺报告(万用表的制作流程) 课程:电子产品制造工艺 系别:计算机/软件 班级: 学号: 姓名:

——1008143109 目录 一、电子产品的构成 (3) 1.1数字万用表的概述 (3) 1.2数字万用表的介绍 (3) 1.3电器符号 (4) 1.4 UT51万用表的技术指标与一般特征 (4) 1.5UT51数字万用表安全操作准则 (5) 1.6 数字万用表的基本组成 (6) 1.7数字万用表的原理图: (7) 二、电子产品形成的各阶段应该完成的工艺工作 (8) 2.1组装过程简介 (8) 2.2技术资料1:数字万用表的装配图 (10) 2.3制作工艺流程图: (11) 名词解释: (12) 参考文献: (12)

第一章电子工艺技术入门 一、电子产品的构成 1.1数字万用表的概述 数字万用表是目前在电子测量及维修工作中最常用、最得力的一种工具类数字仪表。数字万用表迄今已有几十年的发展史。近年来,有大规模集成电路构成的新型数字万用表和高档智能数字万用表的大量问世,标志着电子测量领域的一场革命,也开创了想在电子测量技术的先河。目前,我国数字万用表的产量已居世界首位,每年生产近十万台中、低当数字万用表,并向100多个国家的大量出口,占世界中低档数字万用表总长量的85%以上。 数字万用表又称数字多用表,简称DMM(DigitalMultmeter)。它是由数字电压表DVM(DigitalV oltmeter)与各种变换器组成的。其中直流数字电压表示数字万用表的基本组成部 分,是数字万用表的核心。 1.2数字万用表的介绍 图1.1面牌说明

智能数字万用表的设计

智能数字万用表的设计 摘要:本智能数字万用表由凌阳SPCE061A单片机、MC14433——3 位A/D 转换电路、自动量程转换电路、交直流转换电路和大、小电阻测量电路组成,能够对交流电压、直流电压、大电阻和小电阻进行精确测量。使用凌阳SPCE061A 单片机作为控制模块,实现量程自动转化;使用MC14433实现A/D转换;使用简易软键盘、凌阳SPLC501液晶显示模组实现输入和显示;使用单片机读取MC14433的数字信号来控制模拟开关,从而改变反馈电阻的大小实现档位的不同选择;本设计能够准确对被测量进行测量,所有性能指标符合要求。 关键词:数字万用表单片机 MC14433 交直流电压测量电阻测量 一、方案论证 1.交流电压的测量:由于交流电压不能直接测量,必须转换为直流电压。转换方案有3种: 方案一、热电偶测量法:根据交流有效值的物理定义来实现测量的,利用热电偶电路平衡原理通过两端的电势比较得到有效值。但热电偶转换线性度差,且热电偶具有配对较难、响应速度慢、负载能力差等缺点。 方案二、模拟运算法:根据有效值的数学定义,用集成器件乘法器、开放器等依次对被测信号进行平方、平均、开方等计算直接得到交流输入信号的有效值。这种方案测量的动态范围小、精度不高且输入信号的幅度变小时,平均器输出电压的平均值下降值很快、输出幅度很小。 方案三、交流整形电路:使用AD637等集成有效值转换芯片,把交流电压信号转换为幅值等于交流有效值的直流电压信号,在对直流电压进行测量,这种方案电路简单、响应速度快、失真度小、工作稳定可靠。 综上,采用方案三进行交流电压的测量。 2.小电阻的测量:由于小电阻在通入电压后发热,测量出的电阻值会产生较大的误差,对于小电路有3种方案测量: 方案一、直流电桥测量法。直流电桥又分直流单电桥和直流双电桥。采用这两种方法测量时很多操作需要手动,并且对元件精度要求高,通过数字电位器来改变需要的电阻参数,索然可以实现数控,但数字电位器的每一级步进电阻值不确定,调节困难,用单片机处理计算复杂并且测量时操作不便。 方案二、电阻比例法。电阻比例法采用如图1所示的双积分式A/D转换器电路,可实现电阻——数字的转换。由于在电阻上Rx、Rs中流过相同的电流,因

LaunchPad(MSP430G2553) 官方例程

LaunchPad 官方例程(无修改) 一切皆为2012TI杯电子设计大赛 1. //************************************************************************* ***** // LaunchPad Lab2 - Software Toggle P1.0, // // MSP430G2xx2 // ----------------- // /|\| XIN|- // | | | // --|RST XOUT|- // | | // | P1.0|-->LED // //************************************************************************* ***** #include void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer if (CALBC1_1MHZ == 0xFF || CALDCO_1MHZ == 0xFF) { while(1); // If calibration constants erased, trap CPU!! } // Configure Basic Clock BCSCTL1 = CALBC1_1MHZ; // Set range DCOCTL = CALDCO_1MHZ; // Set DCO step + modulation BCSCTL3 |= LFXT1S_2; // Set LFXT1 P1DIR = BIT6; // P1.6 output (green LED) P1OUT = 0; // LED off

数字万用表设计实验 (4)

数字万用表设计性实验 [概述] 随着数字测量技术的日趋普及,指针式仪表已经逐渐被淘汰,我厂对“指针式改装电表实验”进行了改进,现采用了“数字万用表设计性实验”,使学生对数字电表的原理和使用方法有了深入的理解和应用,深得广大院校师生的好评。 一、实验目的 1.掌握数字万用表的工作原理、组成和特性 2.掌握数字万用表的校准方法和使用方法 3.掌握分压及分流电路的连接和计算 4.了解整流滤波电路和过压过流保护电路的功用 二、实验仪器 1.DM-Ⅰ数字万用表设计性实验仪一台 2.三位半或四位半数字万用表一台(另配) 三、实验原理 1.数字万用表的特性 与指针式万用表相比较,数字万用表有如下优良特性: ⑴高准确度和高分辨力 三位半数字式电压表头的准确度为±0.5%,四位半的表头可达±0.03%,而指针式万用表中使用的磁电系表头的准确度通常仅为±2.5%。 分辨力即表头最低位上一个字所代表的被测量数值,它代表了仪表的灵敏度。通常三位半数字万用表的分辨力可达到电压0.1mV、电流(指电流强度,下同)0.1μA、电阻0.1Ω,远高于一般的指针式万用表。 ⑵电压表具有高的输入阻抗 电压表的输入阻抗越高,对被测电路影响越小,测量准确性也越高。 三位半数字万用表电压挡的输入阻抗一般为10MΩ,四位半的则大于100MΩ。而指针式万用表电压挡输入阻抗的典型值是20~100kΩ/V。 ⑶测量速率快 数字表的速率指每秒钟能完成测量并显示的次数,它主要取决于A/D转换的速率。三位半和四位半数字万用表的测量速率通常为每秒2~4次,高的可达每秒几十次。 ⑷自动判别极性 指针式万用表通常采用单向偏转的表头,被测量极性反向时指针会反打,极易损坏。而数字万用表能自动判别并显示被测量的极性,使用起来格外方便。 ⑸全部测量实现数字式直读 指针式万用表尽管刻画了多条刻度线,也不能对所有挡进行直接读数,需要使用者进行换算、小数点定位,易出差错。特别是电阻挡的刻度,既反向读数(由大到小)又是非线性刻度,还要考虑挡的倍乘。而数字万用表则没有这些问题,换挡时小数点自动显示,所有测量挡都可以直接读数,不用换算、倍乘。 ⑹自动调零 由于采用了自动调零电路,数字万用表校准好以后使用时无需调校,比指针式万用表方便许多。 ⑺抗过载能力强 数字万用表具备比较完善的保护电路,具有较强的抗过压过流的能力。 当然,数字万用表也有一些弱点,如: ⑴测量时不象指针式仪表那样能清楚直观地观察到指针偏转的过程,在观察充放电等过程时不够方便。不过有些新型数字表增加了液晶显示条,能模拟指针偏转,弥补这一不足。 ⑵数字万用表的量程转换开关通常与电路板是一体的,触点容量小,耐压不很高,有的机械强度不够高,寿命不够长,导致用旧以后换挡不可靠。 ⑶一般数字万用表的V/Ω挡公用一个表笔插孔,而A挡单独用一个插孔。使用时应注意根据被测量调换插孔,否则可能造成测量错误或仪表损坏。

简易数字万用表的方案设计书

2013年江西省大学生电子设计 简易数字万用表 (C 题) 2013年5月28日 目录 摘要0 一.设计任务1 二.系统方案2 三.理论分析与计算3 3.1器件的选择与比较3 3.2 测量电路的设计和分析3

3.2.1 模数(A/D)转换与数字显示电路3 3.2.2 多量程数字电压表原理3 3.2.3 多量程数字电流表原理4 3.2.4 电阻的测量原理5 3.2.5 电容测量原理6 四.电路设计与程序设计7 4.1 直流电压测量电路7 4.2 直流电流测量电路7 4.3 电阻测量电路8 4.4 测电容电路8 4.5 最小系统电路9 五.测试方案10 5.1 硬件调试10 1.测试仪器10 2.测试方法10 5.2 软件调试10 5.3 硬件软件联合调试10 模块程序设计法的主要优点是:10 5.4测试流程11 5.4.1 整体测试流程11 5.4.2电压测试流程11 11 电阻测量流程5.4.3 5.4.4 电流测试流程12 参考文献13

摘要 本次设计用单片机芯片STC12C5A60S2设计一个数字万用表,能够测量直流电压值、直流电流、直流电阻以及电容和电感,四位数码显示。此系统由分流电阻、分压电阻、基准电阻、555振荡电路、51单片机最小系统、显示部分、AD转换和控制部分组成。为使系统更加稳定,使系统整体硬件更简单,本电路使用了STC12C5A60S2自带的AD,它单片机系统设计采用STC12C5A60S2单片机作为主控芯片,配以RC上电复位电路和11.0592MHZ震荡电路,显示用四位数码管。程序每执行周期耗时缩到最短,这样保证了系统的实时性。关键字:数字万用表;单片机;AD 转换 一.设计任务 1.设计并制作一台支持直流电压、直流电流、电阻测量的数字万用表。 。ΩΩ-1M1002.测量范围:直流电压0.1V-100V;直流电流10mA-500mA;电阻使用按键或者拨码开关进行测量类型选择,并用数码管显示器显示测.3 量数值,发光二极管指示测量类型与单位。

相关文档
相关文档 最新文档