文档库 最新最全的文档下载
当前位置:文档库 › 单片机测量电压的程序

单片机测量电压的程序

单片机测量电压的程序
单片机测量电压的程序

主要程序如下:

#include "stc15.h"

#define FOSC 11059200L //系统频率

#define BAUD 115200 //串口波特率

sbit P23 =P2^3;

sbit P22 =P2^2;

sbit P21 =P2^1;

unsigned char dataH,dataL;

unsigned int V olut,Shangxian,Xiaxian;

unsigned char Recieve[4];

unsigned char i=0,m=0;

unsigned char time0count;

unsigned char qian,bai,shi,ge;

bit thflag=0;

void SendData(unsigned char dat)

{

SBUF = dat; //写数据到UART数据寄存器while(TI==0);

TI=0;

}

void SendString(char *s)

{

while (*s) //检测字符串结束标志

{

SendData(*s++); //发送当前字符

}

}

void ClearAll(unsigned char *p)

{

char n;

for(n=0;n<5;n++)

{

*p++=' ';

}

}

void delay(int z)

{

int x,y;

for(x=z;x>0;x--)

for(y=10000;y>0;y--);

}

/*---------------------------------------------------------------------*/

void main(void)

{

P21=1; //初始化LED21灭

P22=1; //初始化LED22灭

Shangxian=500;

Xiaxian=100;

//////////////////////////////////////////////////////////

SCON = 0x50; //8位可变波特率

AUXR = 0x40; //定时器1为1T模式

TMOD = 0x00; //定时器1为模式0(16位自动重载) TL1 = (65536 - (FOSC/4/BAUD)); //设置波特率重装值

TH1 = (65536 - (FOSC/4/BAUD))>>8;

TR1 = 1; //定时器1开始启动

ES = 1; //使能串口中断

//////////////////////////////////////////////////////////

ADC_CONTR|=0X80;

delay(1);

P1ASF=0x04; //P12为模拟量输入口

ADC_CONTR=0x82;

CLK_DIV|=0x20;

delay(1);

//////////////////////////////////////////////////////////

TH0 = (65536-50000)/256; //定时50ms

TL0 = (65536-50000)%256; //定时50ms

TR0=1; //使能定时器0

ET0= 1; //使能定时器0中断

time0count=0;

EA = 1; //开总中断

//////////////////////////////////////////////////////////

while(1)

{

if(thflag)

{

thflag=0;

ADC_CONTR|=0X08;//启动转换

while(!(ADC_CONTR&0x10));

ADC_CONTR&=0xE7; //转换结束标志位清零

dataL=ADC_RESL;

dataH=ADC_RES&0x03;

Volut=(dataH*256+dataL);

qian =Volut/1000 +48;

bai=Volut/100%10+48;

shi=Volut/10%10+48;

ge=Volut%10+48;

SendData(qian);

SendData(bai);

SendData(shi);

SendData(ge);

SendData(' ');

}

}

}

/*----------------------------

定时器0 中断服务程序

-----------------------------*/

void T0_ISR (void) interrupt 1 {

i=0;

thflag=1;

time0count++;

if(time0count==10)

{

P23=~P23;

time0count=0;

if(Volut>Shangxian)

P21=~P21;

else if(V olut

P22=~P22;

else

{

P21=1;P22=1;

}

}

}

/*---------------------------- UART 中断服务程序

-----------------------------*/

void Uart() interrupt 4

{

if (RI)

{

RI=0;

Recieve[m]=SBUF;

m++;

if(m==4)

{

unsigned int tempp=(Recieve[1]-48)*100+(Recieve[2]-48)*10+(Recieve[3]-48);

if(Recieve[0]=='r')

{

Shangxian=tempp;

SendString("\n设置上限为:");

SendData(Recieve[1]);SendData(Recieve[2]);SendData(Recieve[3]);SendData('\n');

}

if(Recieve[0]=='d')

{

Xiaxian=tempp;

SendString("\n设置下限为:");

SendData(Recieve[1]);SendData(Recieve[2]);SendData(Recieve[3]);SendData('\n');

}

m=0;ClearAll(Recieve);

}

}

}

单片机课程设计数字电压表

单片机课程设计 ——电压表的设计 学院:信息工程学院 专业:电子信息科学与技术 班级:2011150 学号:201115002 姓名:王冬冬 同组同学:凡俊兴 201115001

目录 1 引言 (1) 2设计原理及要求 (2) 2.1数字电压表的实现原理 (2) 2.2数字电压表的设计要求 (2) 3软件仿真电路设计 (2) 3.1设计思路 (2) 3.2仿真电路图 (3) 3.3设计过程 (3) 3.4 AT89C51的功能介绍 (4) 3.4.1简单概述 (4) 3.4.2主要功能特性 (5) 3.4.3 AT89C51的引脚介绍 (5) 3.5 ADC0809的引脚及功能介绍 (7) 3.5.1芯片概述 (7) 3.5.2 引脚简介 (8) 3.5.3 ADC0809的转换原理 (8) 3.6 74LS373芯片的引脚及功能 (8) 3.6.1芯片概述 (8) 3.6.2引脚介绍 (9) 3.7 LED数码管的控制显示 (9) 3.7.1 LED数码管的模型 (9)

LED数码管模型如图3-6所示。 (9) 3.7.2 LED数码管的接口简介 (9) 4系统软件程序的设计 (9) 4.1 主程序 (10) 4.2 A/D转换子程序 (11) 4.3 中断显示程序 (12) 5使用说明与调试结果 (13) 6总结 (13) 参考文献 (14) 附录1 源程序 (15) 附录2原理电路 (19)

1 引言 在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用[1]。 传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。数字电压表是诸多数字化仪表的核心与基础[2]。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。 最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型[4]。数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC 化),另一方面,精度也从0.01%-0.005%。 目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面[3]。 本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。其中,A/D转换采用ADC0808对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号

51单片机测量5V电压

数字电压表 1.实验任务 利用单片机STC89C52与ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示。 2.现有元件 模数转换器ADC0804,STC89C52单片机,两个共阳极数码管。 3.硬件设计 3.1模数转换器ADC0809与单片机STC89C52的连接 (1) ADC0809规格及引脚分配图如下图3-1所示: 图3-1 ADC0809引脚图 (2) STC89C52各个引脚分布如下图3-2所示: 图3-2 STC89C52引脚图 (3) 硬件连线 (a) 把“单片机系统”区域中的P3.0与”模数转换模块ADC0809“区域中的ST端子用导线

相连接。 (b) 把“单片机系统”区域中的P3.1与”模数转换模块ADC0809“区域中的ALE端子用导线相连接。 (c) 把“单片机系统”区域中的P3.2与”模数转换模块ADC0809“区域中的OE端子用导线相连接。 (d) 把“单片机系统”区域中的P3.6与”模数转换模块ADC0809“区域中的EOC端子用导线相连接。 (e) 把“单片机系统”区域中的P3.7与”模数转换模块ADC0809“区域中的CLK端子用导线相连接。 (f) 把“模数转换模块ADC0809”区域中的ADDA、ADDB、ADDC端子用导线连接到单片机的VCC端子上。把“模数转换模块ADC0809”区域中IN7与外接输入电压相连。 (g) 把“单片机系统”区域中的P2.0-P2.7连接到“模数转换模块ADC0809”区域中D0D1D2D3D4D5D6D7端子上。 (h) 把“单片机系统”区域中的P1.0-P1.7连接到“数码管”区域中ABCDEFG端子上。把“单片机系统”区域中的P0.0-P0.1连接到“数码管”区域中12端口。 4. 电路原理图 图4 电路原理图 5. 程序设计内容 由于ADC0809在进行A/D转换时需要CLK信号,而此时ADC0809的CLK是接在单片机的P3.7口,也就是要求从P3.7输出CLK信号供ADC0809使用。因此产生CLK信号的方法就要用软件来产生。 6. C语言源程序 #include sbit ALE = P3^1; sbit ST = P3^0; sbit EOC = P3^2;

单片机测电压

仲恺农业工程学院 20010 —2011学年 第二学期 课程设计 课题名称:基于AT89c51单片机的数字电压表 设计时间: 2011.06.01—2011.06.9 系部:机电工程系 班级: 姓名: 指导教师: [摘要]本文介绍一种基于89c51单片机的一种电压测量电路,该电路采用ICL7135高精

度、双积分A/D转换电路,测量范围直流0-±2000伏,使用LCD液晶模块显示, 可以与PC机进行串行通信。正文着重给出了软硬件系统的各部分电路,介绍了双 积分电路的原理,89c51的特点,ICL7135的功能和应用,LCD1601的功能和应用。 该电路设计新颖、功能强大、可扩展性强。 [关键词]电压测量,ICL7135,双积分A/D转换器,1601液晶模块 第一章前言 1.1概述 目前,由各种单片机机A/D 转换器构成的测量数字电压的结构,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。本章重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。 1.2系统原理及基本框图 如图1.1所示,模拟电压经过档位切换到不同的分压电路衰减后,经隔离干扰送到A/D转换器进行A/D转换,然后送到单片机中进行数据处理。处理后的数据送到LCD中显示,同时通过串行通讯与上位机通信。 图1.1系统基本方框图 第二章硬件设计

2.1输入电路 图2.1.1量程切换开关 图2.1.2衰减输入电路 输入电路的作用是把不同量程的被测的电压规范到A/D转换器所要求的电压值。智能化数字电压表所采用的单片双积分型ADC芯片ICL7135,它要求输入电压0-±2V。本仪表设计是0-1000V电压,灵敏度高所以可以不加前置放大器,只需衰减器,如图3.1.2所示9M、900K、90K、和10K电阻构成1/10、1/100、1/1000的衰减器。衰减输入电路可由开关来选择不同的衰减率,从而切换档位。为了能让CPU自动识别档位,还要有图3.1.1的硬件连接。 2.2 A/D转换电路 A/D转换器的转换精度对测量电路极其重要,它的参数关系到测量电路性能。本设计采用双积A/D转换器,它的性能比较稳定,转换精度高,具有很高的抗干扰能力,电路结构简单,其缺点是工作速度较低。在对转换精度要求较高,而对转换速度要求不高的场合如电压测量有广泛的应用。 2.2.1双积A/D转换器的工作原理

基于单片机的直流电压检测系统设计_课程设计说明书

山东建筑大学 课程设计说明书 题目:基于单片机的直流电压检测系统设计课程:单片机原理及应用B课程设计 院(部):信息与电气工程学院 专业:通信工程 班级:通信111 姓名:张安珍 学号:2011081342 指导教师:张君捧 完成日期:2015年1月

目录 摘要......................................................... I I 正文.. (1) 1 设计目的和要求 (1) 3 设计内容和步骤 (2) 3.1单片机电压测量系统的原理 (2) 3.2 单片机电压测量系统的总体设计 (3) 3.2.1 硬件选择 (4) 3.2.2 软件选择 (4) 3.3 硬件电路的设计 (4) 3.3.1 输入电路模块设计 (4) 3.3.2 LM7805稳压电源电路介绍 (5) 3.3.3 显示模块电路设计 (5) 3.3.4 A/D转换设计 (7) 3.3.5 单片机模块的简介 (9) 3.4系统软件的设计 (12) 3.4.1主程序的设计 (12) 3.4.2 各子程序的设计 (14) 总结与致谢 (16) 参考文献 (17) 附录一系统整体电路图 (18) 附录二 A/D转换电路的程序 (19) 附录三 1602LCD显示模块的程序 (21)

摘要 随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段。对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。本设计在查阅了大量前人设计的数字电压表的基础上,利用单片机技术结合A/D转换芯片ADC0832构建了一个直流数字电压表。本文首先简要介绍了单片机系统的优势,然后详细介绍了直流数字电压表的设计流程,以及硬件系统和软件系统的设计。 本文介绍了基于89S51单片机的电压测量系统设计,介绍1602LCD液晶的功能和ADC0832的转换原理。该电路设计简单,方便。该设计可以测量0~5V的电压值,并在1602LCD液晶上显示出来。 本系统主要包括三大模块:主程序模块、显示模块、A/D转换模块,绘制点哭原理图与工作流程图,并进行调试,最终设计完成了该系统的硬件电路,在软件编程上,采用了c语言进行编程,开发了显示模块程序,A/D转换程序。 关键词:89S51单片机;1602LCD液晶;ADC0832

PIC单片机的交流电压测量C语言实例

第11章交流电压测量 11.3.2 程序清单 该程序已在模板上调试通过,可作读者的参考。有关显示部分请读者参考本书相关章节,有关A/D转换的详细设置请参考前面章节。 #include #include #include //该程序用于测电网的交流电压有效值,最后的结果将在4个LED上显示,保留 //1位小数。 //为了保证调试时数据运算的精确性,需要将PICC的double型数据选成32位 union adres { int y1; unsigned char adre[2]; }adresult;//定义一个共用体 bank3 int re[40];//定义存放A/D转换结果的数组,在bank3中 unsigned char k,data;//定义几个通用寄存器 double squ ,squad;//平方寄存器和平方和寄存器,squ又通用为存储其 //它数值 int uo; bank1 unsigned char s[4];//此数组用于存储需要显示的字符的ASII码 const char table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90}; //不带小数点的显示段码表 const char table0[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};//带小数点的显示段码表 //A/D转换初始化子程序 void adinitial() { ADCON0=0x41;//选择A/D通道为RA0,且打开A/D转换器 //在工作状态,使A/D转换时钟为8Tosc ADCON1=0X8E;//转换结果右移,及ADRESH寄存器的高6位为"0" //把RA0口设置为模拟量输入方式 ADIE=1;//A/D转换中断允许 PEIE=1;//外围中断允许 186

单片机实验——利用AD完成电压测量及显示

单片机实验——利用AD完成电压测量及显示 1.实验目的 (1)掌握A/D转换器的基本原理和使用方法。 (2)掌握二进制数和BCD码之间的数值转换方法。 2.预习要点 (1)A/D转换器的基本原理和使用方法 (2)二进制数和BCD码之间的数值转换方法 3.实验设备 计算机、单片机实验箱,万用表。 4.实验内容 基本要求: 利用电位器,在0~5V范围调节A/D转换器0809的输入端ADIN3的电压,在显示电路上显示00~50数值。 扩展要求: 相同输入条件下,在显示电路上显示-25~+24的数值 实验6 ORG 0000H SJMP MAIN ;**************************************************** ;主程序 ORG 0030H MAIN:MOV SP,#70H ;显示缓存区 MOV 32H,#11 ;为了兼容之前的显示程序,所以就通过改变 MOV 33H,#11 ;字型的方式让第3-8个数码管不亮,只显示前两位 MOV 34H,#11 MOV 35H,#11 MOV 36H,#11 MOV 37H,#11 ;初始化8155 MOV DPTR,#0100H MOV A,#03H MOVX @DPTR,A

LOOP:MOV DPTR,#6000H ;AD的地址,应接CS3 MOV A,#00H ;选择通道0 IN0 MOVX @DPTR,A ;启动AD,开始转换 LCALL DELAY ;延时,等待转换完成,一般转换时间为100us左右 LCALL ADCON ;读取数据并处理 LCALL DISPLAY ;数码管显示 SJMP LOOP ;***************************************** ;读取数据并处理子程序 ADCON: MOVX A,@DPTR ;读取AD的输出X MOV B,#51 ;把00H-FFH之间的数据转换为0-50的数据 DIV AB ;这个我会给大家讲讲,很简单的,这里就不注释了 MOV 30H,A MOV A,B MOV B,#5 DIV AB MOV 31H,A RET ;************************************* ;显示子程序 DISPLAY: MOV R0,#30H MOV R3,#0FEH LD0:MOV DPTR,#0102H ;送字位 MOV A,R3 MOVX @DPTR,A MOV DPTR,#DTAB ;查表,送字形 MOV A,@R0 MOVC A,@A+DPTR MOV DPTR,#0101H MOVX @DPTR,A LCALL DELAY INC R0 MOV A,R3 JNB ACC.7,LD1 RL A

基于单片机的电压测量系统的设计【开题报告】

毕业设计(论文)开题报告 题目:基于单片机的电压测量系统的设计 专业:电子信息工程 1选题的背景、意义 电子测量是泛指以电子技术为基础手段的一种测量技术。它是测量学和电子学相互结合的产物。电子测量除具体运用电子科学的原理、方法和设备对各种电量、电信号及电路元器件的特性和参数进行测量外,还可以通过各种敏感器件和传感装置对非电量进行测量,这种测量方法往往更加方便、快捷、准确,有时是用用其他测量方法不可替代的[1]。近几十年来计算机技术和微电子技术的迅猛发展为电子测量和测量仪器增添了巨大活力。电子计算机尤其是尤其是微型计算机与电子测量仪器相结合,构成了一代崭新的仪器和测试系统,即人们通常所说的“智能仪器”和“自动测试系统”,它们能够对若干电参数进行自动测量,自动量程选择,数据记录和处理,数据传输,误差修正,自检自校,故障诊断及在线测试等,不仅改变了若干传统测量的概念,更对整个电子技术和其他科学技术产生了巨大的推动作用。现在,电子测量技术(包括测量理论、测量方法、测量仪器装置等)已成为电子科学领域重要且发展迅速的分支学科[2]。 电压是属于电子测量中一个重要的组成部分。了解,测出各种电压的值,有助于让我们更加安全、方便的使用电压。因此研究电压的测量值具有重要价值[4]。 电压,也称作电势差或电位差,是衡量单位电荷在静电场中由于电势不同所产生的能量差的物理量。电压的基本概念电压是指电路中两点A、B之间的电位差(简称为电压),其大小等于单位正电荷因受电场力作用从A点移动到B点所作的功,电压的方向规定为从高电位指向低电位的方向。电压的国际单位制为伏特(V),常用的单位还有毫伏(mV)、微伏(μV)、千伏(kV)等,直流电压与交流电压如果电压的大小及方向都不随时间变化,则称之为稳恒电压或恒定电压,简称

单片机直流电压检测系统设计

目录 摘要 ................................................................... II 1 设计目的 (1) 2 设计要求 (2) 3 设计内容 (3) 3.1 系统需求分析 (3) 3.1.1 硬件选择 (3) 3.1.2 软件选择 (4) 3.2 硬件电路的设计 (4) 3.2.1 输入电路模块设计 (4) 3.2.2 LM7805稳压电源电路介绍 (5) 3.2.3 显示模块电路设计 (6) 3.2.4 A/D转换设计 (7) 3.2.5 单片机模块的简介 (10) 3.3系统软件的设计 (13) 3.3.1主程序的设计 (14) 3.3.2 各子程序的设计 (15) 总结与致谢 (17) 参考文献 (18) 附录一系统整体电路图 (19) 附录二 A/D转换电路的程序 (20) 附录三 1602LCD显示模块的程序 (22)

摘要 本设计在查阅了大量前人设计的数字电压表的基础上,利用单片机技术结合A/D 转换芯片ADC0832构建了一个直流数字电压表。本文首先简要介绍了单片机系统的优势,然后详细介绍了直流数字电压表的设计流程,以及硬件系统和软件系统的设计。 本文介绍了基于89S51单片机的电压测量系统设计,介绍1602LCD液晶的功能和ADC0832的转换原理。该电路设计简单,方便。该设计可以测量0~5V的电压值,并在1602LCD液晶上显示出来。 本系统主要包括三大模块:主程序模块、显示模块、A/D转换模块,绘制点哭原理图与工作流程图,并进行调试,最终设计完成了该系统的硬件电路,在软件编程上,采用了c语言进行编程,开发了显示模块程序,A/D转换程序。 关键词:电压测量;A/D转换;89S51单片机

基于单片机的电流电压测量

基于单片机的电流电压测量系统设计 摘要:本次设计所提供的是基于单片机的电压电流测量系统软硬件的设计。电学参量测量技术设计范围广,能应用的领域也十分广泛。随着电子技术的发展,在数字化、智能化、科技化为主的今天,数字电压、电流表以成为电压、电流表设计的主要方向,并且有非常重要的地位。 关键词:单片机,应用领域,设计 Abstract:The design is provided by SCM-based voltage and current measurement system hardware and software design. Electrical parameter measurement techniques designed a wide range of application areas can be very extensive. With the development of electronic technology, in digital, intelligent, technology-based today, the digital voltage meter to a voltage, current meter design of the main direction, and there is a very important position. Keywords: MicroController Unit, Applications, Devise

目录 1 前言 (3) 1.1 电子测量概述 (3) 1.2 数字电压表的特点 (3) 1.3 单片机的概述 (4) 2 系统方案的选择与论证 (5) 2.1 功能要求 (5) 2.2 系统的总体方案规划 (5) 2.3 各模块方案选择与论证 (5) 2.3.1 控制模块 (5) 2.3.2 量程自动转换模块 (6) 2.3.3 A/D转换模块 (6) 2.3.4 显示模块 (7) 2.3.5 通信模块 (7) 3 系统的硬件电路设计与实现 (8) 3.1 系统的硬件组成部分 (8) 3.2 主要单元电路设计 (8) 3.2.1 中央控制模块 (8) 3.2.2 量程自动转换模块 (9) 3.2.3 A/D模数转换模块 (13) 3.2.4 显示模块 (15) 3.2.5 通信模块 (15) 3.2.6 电源部分 (16) 4 系统的软件设计 (17) 4.1 软件的总体设计原理 (17) 4.1.1 A/D转换程序设计 (18) 4.1.2 数字滤波程序设计 (18) 4.1.3 量程自动转换的程序设计 (20) 5 系统调试及性能分析 (22) 5.1 调试与测试 (22) 5.2 性能分析 (22) 6 结束语 (23) 6.1 设计总结 (23) 6.2 设计的心得 (23) 7 致谢词 (24) 附录 (25) 附录1 参考文献 (25) 附录2 系统总电路图 (26) 附录3 源程序 (27)

单片机数字电压表设计

基于51单片机的数字电压表设计 二级学院铜陵学院 专业自动化 班级 组号 组员 指导教师

目录 一课程设计任务书·············································································错误!未定义书签。 1.1 设计题目、目的 ·······································································错误!未定义书签。 1.2 题目的基本要求和拓展功能························································错误!未定义书签。 1.3 设计时间及进度安排 ·································································错误!未定义书签。 二设计内容······················································································错误!未定义书签。 2.1 元器件选型··············································································错误!未定义书签。 2.2 系统方案确定 ··········································································错误!未定义书签。 2.3 51单片机相关知识 ···································································错误!未定义书签。 2.4 AD转换器相关知识 ···································································错误!未定义书签。 三数字电压表系统设计 (7) 3.1系统设计框图 (8) 3.2 单片机电路 (9) 3.3 ADC采样电路 (10) 3.4显示电路 (11) 3.5供电电路和参考电压 ···························································································· 3.6 数字电压表系统电路原理图 ·················································································· 四软件部分 4.1 主程序 4.2 显示子程序 五数字电压表电路仿真 5.1 仿真总图 5.2 仿真结果显示 六系统性能分析 七心得体会

单片机测电压电流

单片机测电压电流 设计要求:1、用单片机测30-36V的直流电压,0-10A的直流电流; 2、用单片机测30-36V交流电压有效值、平均值、交流电压的频谱 分析; 3、用单片机测0-10A交流电流的有效值、平均值、峰值。 一、设计思路 用调理电路电路将电压和电流采入AD转换器,AD转换器将电压电流转化为数字信号,使用单片机与AD进行数据传输,在单片机的内部进行处理后,在LED或者LCD上进行显示。可设计出一个选择开关,选择是进行电压还是电流的测量.可测电压电流的范围和精度取决于AD的精度,分辨率越高,精度越高. 总体框图 二、设计方案选择 1、主控芯片 方案1:选用专用转化芯片INC7107实现电压和电流的测量和实现,用四位数码管显示出最后的转换电压和电流的结果。缺点是精度比较低,内部电压转换和控制部分不可控制。优点是价格低廉。 方案2:选用单片机MSC80C51和A/D转换芯片ADC0809实现电压和电压的转换和控制,用四位数码管显示出最后的转换电压结果。缺点是价格稍贵;优点是转换精度高,且转换的过程和控制、显示部分可以控制。 基于课程设计的要求选用方案2. ADC0809的精度不高,不是很好用,初级用户才用。 2、显示部分 方案1:选用2个单体的共阴极数码管。优点是价格比较便宜;可以实现电路要求。 方案2:选用一个并联在一起的共阴极数码管,外加两个三极管驱动。因为还需要驱动,相对方案一有些复杂,且价格有点贵。

故基于课程设计的要求选用方案1。 三、电路设计原理 模拟电压和电流经调理电路电路筛减调理电路后,经隔离干扰送到A/D转换器进行A/D转换。然后送到单片机中进行数据处理。处理后的数据送到LED 中显示。同时通过串行通讯与上位通信。硬件电路及软件程序。而硬件电路又大体可分为调理电路电路、A/D转换电路、LED显示电路,各部分电路的设计及原理将会在硬件电路设计部分详细介绍; 一般I/O接口芯片的驱动能力是很有限的,在LED显示器接口电路中,输出口所能提供的驱动电流一般是不够的尤其是设计中需要用到多位LED,此时就需要增加LED驱动电路。驱动电路有多种,常用的是TTL或MOS集成电路驱动器,在本设计中采用了74LS244驱动电路。 本实验采用MSC80D51单片机芯片配合ADC0809模/数转换芯片构成一个简易的数字电表。电路通过ADC0809芯片调理电路输入口IN0输入的0~5 V 的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0~D7 传送给80C51芯片的P0口。80C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过其P1口传送给数码管。同时它还通过I/O 口P2.5、P2.6产生位选信号,控制数码管的亮灭。另外80C51还控制着ADC0809的工作;P2.7和P3.6共同控制ADC0809的地址锁存端(ALE)和启动端(START);P3.7和P2.7控制ADC0809的输出允许端(OE);P3.2控制ADC0809的转换结束信号(EOC)。 1、模数转换 三个地址位ADDA,ADDB,ADDC均接P2.0,P2.1,P2.2,根据测量需要由单片机送入P2口数据,从而选通对应的通道,由于ADC0809在进行A/D转换时需要有CLK信号,利用80C51的定时中断产生一个500KHZ的脉冲,由P2.4口送给ADC0809的时钟端,送START一高脉冲,START的上升沿使逐次逼近寄存器复位,下降沿来临时即可立即启动A/D转换,并使EOC信号为低电平。 2、数据处理及控制 A/D转换完毕后,单片机的P2.7和读信号同为低电平OE置1,ADC0809 的三态输出锁存器被打开,转换完的数字信号经过与D0~D7相连的P0口进入80C51。80C51内经过程序转换和处理将信号分别通过P1口输出到LED上。

基于MSP430单片机的交流电压测量设计

基于MSP430单片机的交流电压测量设计 东南大学仪器科学与工程学院 许欢 摘要:在单片机的一些测量中,有时候需要我们直接测量交流信号, 现介绍一种基于 msp430 单片机实现的交流电压的测量方法。 关键字:MSP430单片机,交流电压,测量,中断 日常生活及学习中, 我们一般需要之间测量交流信号, 测量交流信号的方法有很多, 而在 应用单片机的测量中,我们常常用来测量直流电压,现在将介绍一种基于 msp430单片机实 现的交流电压的测量方法。 系统的构成主要分硬件设计和软件设计两块来介绍。 硬件设计: 为了保证硬件电路设计的通用性, 采用单级性电压测量的方法, 将输入的双极性电压转换 成单级性电压进行测量。 整个电路主要包括极性转换电路和输入处理电路。 其中,极性转换 电路主要由放大电路实现,在此我采用 MCP 601放大芯片。 MCP601芯片:(Microchip 公司的一款高性能的放大芯片) Vcc 管脚:电源管脚 GND 管脚:接地管脚 VIN-管脚:负输入端管脚 VIN+管脚:正输入端管脚 OUT 管脚:输出管脚 极性转换电路设计: 在进行A/D 转换时,我们一般会采用芯片的工作电压作为 A/D 转换的参考电压。由于一般 芯片的工作电压都为正电压, 而我们在这里要测量交流电压, 所以要对输入的交流信号进行 极性转换,将双极性变成单级性。下图为极性转换电路: 如图所示,该芯片共有 8个管脚,

在极性转换电路中,ADOUT 为输出信号。输出信号是在输入信号 ADIN 的基础上叠加了一 个直流分量,调节上面的 Vref 的值就可以改变直流分量的值。如果调节 Vref 使直流分量的 值为1.5V ,并且此时输入信号是幅值为 1.5V 的交流正弦信号,那么输出信号就为最大值为 3V ,最小值为0V 的单级性正弦信号。在极性转换电路基础上我们将很容易设计出我们要的 输入电路。 输入处理电路: 在极性转换电路基础上,输入处理电路需要将 220V 的交流电压信号变为幅值为 1.5V 左右 的交流信号,此外,还需要为 MCP 601提供适当的参考电压信号。电路如下图所示: 从所设计的电路中我们可以得到, 首先通过变压器将 220V 的交流电压降成 8V 的交流电压, 再经过极性转换电路将双极性的交流电压转换为单级性的交流电压。电路中的 R405电位器 主要用于调节参考电压, R404电位器用于调节交流输入电压的幅度。 经过上面电路的处理, 可以将输入的交流电压转换成 0?3V 的单级性交流电压,这样很容易使用 MSP430单片机 自带的A/D 转换通道进行模拟量采集,从而实现交流电压的测量。 在上面的电路中,电压采用 3V 供电,电源芯片采用 TPS76030,实现电路如下图所示: R403 0.0 4.19K 厂 C4M 二 R401 4 721t C404 O.O47nf tic NC _S O.lnf ^C4C2 V1H- Vcc 7 J ■ ? r riTTT —s UU 1 GHD HC _5 2 kDOUT 琴曲 3 MOI~ —斗 I 01肚

用51单片机设计数字电压表的程序(汇编)

//晶振频率12MHZ AD采样频率为8.192ms COM EQU 50H ;指令寄存器 DA T EQU 51H ;数据寄存器 RS EQU P2.1 ;LCD寄存器选择信号 RW EQU P2.2 ;LCD读/写选择信号 E EQU P2.3 ;LCD使能信号 ORG 0000H LJMP MAIN ;主程序入口 ORG 000BH LJMP BT0 ;T0中断入口 ORG 0030H ;主程序,初始化 MAIN: MOV SP,#60H LCALL INT MOV 30H,#30H ;显示电压整数位 MOV 31H,#02EH ;显示小数点 MOV 32H,#30H ;显示电压小数个位 MOV 33H,#30H ;显示电压小数十位 MOV 34H,#30H ;显示电压小数百位 MOV 35H,#56H ;显示V MOV R7,#30H LCALL N1 ;显示V oltage=0.000V //**********************定时器初始化程序*********************** MOV TMOD,#00H ;定时器T0设为方式0,为13位定时/计数器 MOV TL0,#00H ;装入定时初值 MOV TH0,#00H SETB TR0 ;启动T0 MOV 24H,#08H ;装入T0中断次数 MOV IE,#82H ;开中断定时器T0溢出中断允许位 //************************************************************* LP: MOV R7,#30H ;显示缓冲区首地址 LCALL DISPLY SJMP LP ;循环显示 //****定时器中断服务程序,读取0809第0通道的转换结果并化为显示值***** BT0: PUSH ACC ;保护现场 PUSH PSW PUSH DPH PUSH DPL MOV PSW,#08H ;设定工作寄存器1区 CLR TR0 ;停止T0 MOV TH0,#00H ;重装定时常数

基于单片机的电流电压测量 毕业设计

基于单片机的电流电压测量毕业设计

基于单片机的电流电压测量系统设计 摘要:本次设计所提供的是基于单片机的电压电流测量系统软硬件的设计。电学参量测量技术设计范围广,能应用的领域也十分广泛。随着电子技术的发展,在数字化、智能化、科技化为主的今天,数字电压、电流表以成为电压、电流表设计的主要方向,并且有非常重要的地位。 关键词:单片机,应用领域,设计 Abstract: The design is provided by SCM-based voltage and current measurement system hardware and software design. Electrical parameter measurement techniques designed a wide range of application areas can be very extensive. With the development of electronic technology, in digital, intelligent, technology-based today, the digital voltage meter to a voltage, current meter design of the main direction, and there is a very important position. Keywords:MicroController Unit, Applications, Devise

目录 1 前言 (5) 1.1 电子测量概述 (5) 1.2 数字电压表的特点 (5) 1.3 单片机的概述 (6) 2 系统方案的选择与论证 (7) 2.1 功能要求 (7) 2.2 系统的总体方案规划 (7) 2.3 各模块方案选择与论证 (7) 2.3.1 控制模块 (7) 2.3.2 量程自动转换模块 (8) 2.3.3 A/D转换模块 (8) 2.3.4 显示模块 (9) 2.3.5 通信模块 (9)

51单片机测量5V电压

51单片机测量5V电压 数字电压表 1. 实验任务 利用单片机STC89C52与ADC0809设计一个数字电压表,能够测量0-5V 之间的直流电压值,四位数码显示。 2. 现有元件 模数转换器ADC0804,STC89C52单片机,两个共阳极数码管。 3. 硬件设计 3.1 模数转换器ADC0809与单片机STC89C52的连接 (1) ADC0809规格及引脚分配图如下图3-1所示: 图3-1 ADC0809引脚图 (2) STC89C52各个引脚分布如下图3-2所示: 图3-2 STC89C52引脚图 (3) 硬件连线 (a) 把“单片机系统”区域中的P3.0与”模数转换模块ADC0809“区域中的ST 端子用导线 相连接。 (b) 把“单片机系统”区域中的P3.1与”模数转换模块ADC0809“区域中的ALE 端子用导线相连接。 (c) 把“单片机系统”区域中的P3.2与”模数转换模块ADC0809“区域中的OE 端子用导线相连接。 (d) 把“单片机系统”区域中的P3.6与”模数转换模块ADC0809“区域中的EOC 端子用导线相连接。 (e) 把“单片机系统”区域中的P3.7与”模数转换模块ADC0809“区域中的CLK 端子用导线相连接。 (f) 把“模数转换模块ADC0809”区域中的ADDA 、ADDB 、ADDC 端子用导线连接到单片机的VCC 端子上。把“模数转换模块ADC0809”区域中IN7与外接输入电压相连。

(g) 把“单片机系统”区域中的P2.0-P2.7连接到“模数转换模块ADC0809”区域中 D0D1D2D3D4D5D6D7端子上。 (h) 把“单片机系统”区域中的P1.0-P1.7连接到“数码管”区域中ABCDEFG 端子上。把“单片机系统”区域中的P0.0-P0.1连接到“数码管”区域中12端口。 4. 电路原理图 图4 电路原理图 5. 程序设计内容 由于ADC0809在进行A/D转换时需要CLK 信号,而此时ADC0809的CLK 是接在单片 机的P3.7口,也就是要求从P3.7输出CLK 信号供ADC0809使用。因此产生CLK 信号的 方法就要用软件来产生。 6. C语言源程序 #include sbit ALE = P3^1; sbit ST = P3^0; sbit EOC = P3^2; sbit OE = P3^6; sbit CLK = P3^7; sbit wexuan1=P0^0; sbit wexuan2=P0^1; //sbit IN1 = P0^5; //sbit IN2 = P0^6; //sbit IN3 = P0^7; unsigned int code table[]={ 0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90}; //段码表

单片机测电压电流(DOC)

基于单片机的直流电压电流检测的设计 一设计要求 用单片机做一个电压,电流检测装置。 (1)电压的范围:DC10-36V,要求精度1%以内。 (2)电流DC 0.1-3A,要求精度1%以内。 (3)用液晶显示电压,电流值 (4)通过按键可切换电压,电流显示。 (5)每组做一个实物,实物要求用通用板焊接完成,单片机自选。 二设计简介: 利用单片机系统与模数转换芯片、显示模块,按键选择等的结合构建直流电压电流表。由于单片机的发展已经成熟,利用单片机系统的软硬件结合,可以组装出许多的应用电路来。此方案的原理是模数(A/D)转换芯片的基准电压端,被测量电压输入端分别输入基准电压和被测电压。模数(A/D)转换芯片通过按键选择模块将被测量电压或电流输入端所采集到的模拟电压或电流信号转换成相应的数字信号,然后通过对单片机系统进行软件编程,使单片机系统能按规定的时序来采集这些数字信号,通过一定的算法计算出被测量电压或电流的值。最后单片机系统将计算好了的被测电压电流值按一定的时序送入显示电路模块加以显示。 三.单片机简介及本设计单片机的选择 在这一设计中,我们涉及到了一个关键系统模块——单片机系统模块,而目前单片机的种类是很繁多的,主要有主流的8位单片机和高性能的32位单片机,结合本设计各方面因素,8位单片机对于本设计已经是绰绰有余了,但将用哪一种类8的单片机呢。 单片机是指一个集成在一块芯片上的完整计算机系统,具有一个完整计算机所需要的大部分部件:CPU,内存,总线系统等。而目前常用的单片机的8位有51系列单片机,AVR单片机,PIC单片机。 应用最广的8位单片机还是intel的51系列单片机。51系列单片机的特点是:硬件结构合理,指令系统规范,加之生产历史悠久,世界有许多芯片公司都买了51的芯片核心专利技术,并在其基础上扩充其性能,使得芯片的运行速度变得更快,性价比更高。 AVR单片机是atmel公司推出较新的单片机,它的显著特点是:高性能,低功能,高速度,指令单周期为主,但性格方面比51单片机要高。有专门的I/O方向寄存器。虽然有转强的驱动电压,但I/O口使用不比51单片机方便。 PIC单片机系列是美国微芯公司的产品,也是市面上增长最快的单片机之一,属精简指令集单片机,其特点是:高速度,高性能,但在性格方面比51单片机要高,也有专门的I/O方向寄存器,I/O口使用不比51单片机方便。

基于单片机电压采集电路设计

基于单片机电压采集电 路设计 标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]

1 引言 数据采集是分析模拟信号量数据的有效方法。而实时显示数据是自动化检测系统的现实需求。在测试空空导弹导引头的过程中,导引头的响应信号包括内部二次信号和模拟量电压信号。检测过程中要求检测系统实时显示导引头的工作状态,显示二次电源和模拟量响应电压信号,判断导引头性能,同时保证在非常情况下人为对导引头做出应急处理,保护导引头。对于模拟量电压信号,通常采用模数转换、事后数据标定的方法实现。根据现实需求,研制相应检测系统可作为导引头日常维护和修理的重要工具。这里介绍一种基于单片机和CPLD的实时数据采集显示系统设计方案。 2 系统构成 该系统中待采集显示电压信号共路,动态电压范围为-~+27 V。由于这些电压信号变化频率较低,或者认为频率无变化,且检测系统只关心其电压值,所以在低采样率下就可满足系统要求。根据需求,系统设计的采样率即显示刷新速率在1.56 k/s以上。 采用单片机80C196KB和可编程逻辑器件78SLC为核心控制器,以80C196KB内部集成A/D转换器作为模数转换器实现16路电压信号的实时数据采集、显示、控制。该系统总体设计结构框图如图1所示。 整个系统主要由信号预处理、信号选通、单片机采集、双机以及数据处理显示等构成。其中,信号选通模块由CPLD和多路模拟选择器组成。 3 系统硬件电路设计 3.1 信号预处理电路 由于待采集电压信号输入动态范围较宽,且极性各异,对于单片机A/D转换器来说,需要调理到能够采集的电压范围闱0~5 V,所以要统一调理采集信号,如图2所示。 图2中运放和1556均采用双电压供电,以提高动态信号输入范围;均采用精度为0.1%的精密型金属膜电阻,以提高电压转换精度。

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