当前位置:文档之家› 基于STM32的数字电压表的设计

基于STM32的数字电压表的设计

基于STM32的数字电压表的设计
基于STM32的数字电压表的设计

华南理工大学广州学院

题目:基于STM32的数字电压表的设计

姓名:

学号:

系别:

班级:

指导老师:

完成时间:

一、设计目的

1. 培养综合运用所学知识、独立分析和解决实际问题的能力,培养创新意识和创新能力,并获得科学研究的基础训练。

2. 掌握AD转换的基础知识,学习基于DMA专递方式的ADC采集软件的编制及控制流程。

3. 通过软硬件设计实现数字电压表的功能。

二、设计内容

1、将一模拟电压信号输入到A/D转换器的任一通道。

2、A/D转换器将输入的模拟电压值转换成数字量。

3、根据学习开发板所用A/D转换器的类型,将转换成的数字量通过一定的算法转换成相应的电压值。

4、将转换成电压值通过学习开发板上的LCD显示屏进行显示,要求显示一位小数。

三、设计原理

1、A/D变换原理

◆采样:

间隔一定时间对信号进行采样,用信号序列来代替原来时间上连续的信号。

均匀采样:

可完整地恢复原始信号,其中,T 为采样时间间隔,fs 表示采样频率,fm 表示原始信号最大频率。 ◆量化:

把采集到的数值送到量化器编码成数字形式,每个样值代表一次采样所获得的信号的瞬时幅度。

A/D 转换器一般为标量均匀量化。(量化还可分为:标量量化、矢量量化)

量化误差(与舍入方式相关):1LSB 或 1/2LSB ◆编码:

A/D 模拟/数字转换器一般采用二进制编码,A/D 变换后的结果到此可以表

示为一个以0、1二进制形式表示的比特流,单位时间内可以传输的二进制比特速率就是A/D 之后的码速率,数值上等于采样频率与量化比特数值之乘积。

二进制编码:量化与字长的关系。

3、ADC 的A/D 转换方式

D0

D1

D2D3

D4

D5

D6D7

数据输出开始转换 SOC

结束转换 EOC 输出使能模拟信号

A/D 转换器

在查询方式下,软件可通过读取ADC模块转换完毕引脚EOC的状态或状态寄存器中的转换完成标志位判断本次A/D是否结束;

若结束则从数据总线或数据寄存器中读取A/D结果数据。

2、ADC模拟/数字转换器:

STM32的ADC是12位逐次逼近型的模拟数字转换器。它有18个通道可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。

3、转换特点:

STM32的ADC最大的转换速率为1Mhz,也就是转换时间为1us(ADCCLK=14M,采样周期为1.5个ADC时钟下得到),不能让ADC的时钟超过14M,否则将导致结果准确度下降。

4、STM32将ADC的转换分为2个通道组:

规则通道组和注入通道组。规则通道相当于运行的程序,而注入通道就相当于中断。在程序正常执行的时候,中断是可以打断程序正常执行的。同这个类似,注入通道的转换可以打断规则通道的转换,在注入通道被转换完成之后,规则通道才得以继续转换。规则组设置后,可以按照设置的通道顺序对各通道进行依次采集。方便于对多路ADC通道的自动采集。注入组最多设置4个通道,简单来讲就是需要触发才能采集设置的通道ADC值。

本设计选择了采用规则组,设置了一个通道进行自动采集。

5、此设计显示电压的特点:

本设计测量电压值范围为0-3.3V的电压,显示误差为±0.001V。

LCD实时显示电压值,MicroSD卡对数据进行同步存储。

系统原理框图如图1所示。

6、DMA请求:

在这次设计中用到了ADC转换结果采用DMA传递方式。直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU

任何干预,通过DMA数据可以快速地移动。这就节省了CPU的资源来做其他操作。

7、LCD控制电路

(1)本设计所使用的LCD为3寸,400X240分辨率。LCD模块使用STM32的FSMC 接口控制。3TFT显示屏焊接在奋斗显示转接板上,在屏上贴有触摸屏,通过40芯的接口与V3或者MINI连接。40芯接口定义如下:

对要显示在LCD上的数据进行写入寄存器,其时序图如下:

图(a)写入寄存器时序图

对要显示在LCD上的数据进行读取,其时序图如下:

图(a)读出寄存器时序图

(2)FSMC(Flexible Static Memory Controller)即可变静态存储控制器,是STM32系列中内部集成256KB以上Flash,后缀为xC、xD和xE的高存储密度微控制器特有的存储控制机制。

通过对特殊功能寄存器的设置,FSMC能够根据不同的外部存储器类型,发出相应的数据/地址/控制信号类型以匹配信号的速度,从而使得STM32系列微控制器不仅能够应用各种不同类型、不同速度的外部静态存储器,在STM32内部,FSMC 的一端通过内部高速总线AHB连接到内核Cortex-M3,另一端则是面向扩展存储器的外部总线。内核对外部存储器的访问信号发送到AHB总线后,经过FSMC转换为符合外部存储器通信规约的信号,送到外部存储器的相应引脚,实现内核与外部存储器之间的数据交互。

F S M C起到桥梁作用,既能够进行信号类型的转换,又能够进行信号宽度和时序的调整,屏蔽掉不同存储类型的差异,使之对内核而言没有区别。FSMC 可以连接NOR/PSRAM/NAND/PC卡等设备,并且拥有FSMC_A[25:0]共26条地址总

线,FSMC[15:0]共16条数据总线。另外,FSMC扩展的存储空间被分成8个块。通过地址线选择操作的块。这样,LCD将被看作一个拥有一块地址空间的存储器进行操作。

从FSMC的角度看,可以把外部存储器划分为固定大小为256M字节的四个存储块。

●存储块1用于访问最多4个NOR闪存或PSRAM存储设备。这个存储区被划分为4个NOR/PSRAM区并有4个专用

的片选。

●存储块2和3用于访问NAND闪存设备,每个存储块连接一个NAND闪存。

●存储块4用于访问PC卡设备,每一个存储块上的存储器类型是由用户在配置寄存器中定义的。

四、设计程序(命令)清单以及程序流程图

1、主程序:

int main(void)

{ u16 len, c2len,c3len,c4len;

u8 c[] = " Voltage ";

u8 c2[] = " ";

u8 c3[] = " ";

u8 c4[] = " . V ";

u16 bkColor;

len = sizeof(c)-1; //计算字节数长度sizeof() c2len = sizeof(c2)-1;

c3len = sizeof(c3)-1;

c4len = sizeof(c2)-1;

bkColor = White;

RCC_Configuration(); //系统时钟配置为72MHz

Usart1_Init(); //串口1初始化

ADC_Configuration(); //ADC初始化

FSMC_LCD_Init(); //FSMC总线配置

lcd_Init(); //液晶初始化

// lcd_PutChar(10,10,'g',0x0000,0xffff);

// LCD_test();

USART_OUT(USART1,"\r\n USART1 print AD_value -------------------------- \r\n");

while (1)

{

if (ticks++ >= 900000) { //间隔时间显示转换结果

ticks = 0;

Clock1s = 1;

}

if (Clock1s) {

Clock1s = 0;

USART_OUT(USART1,"The current AD value = %d \r\n", ADC_ConvertedValue); //串口显示字符段

//Delay(0xAFFFFf);

Precent = (ADC_ConvertedValue*100/4096);// 算出百分比,2的12次幂为0xfff Voltage = Precent*33; // Voltage为实际电压值的1000倍.

c4[3]=(Voltage/1000+'0') ; // 取千位数的整数部分

c4[5]=((Voltage%1000)/100+'0') ; //对千位数取余数后再取其百位的整数部分

c4[6]=(((Voltage%100)/10)+'0') ; //对百位数取余数后再取其十位的整数部分

c4[7]=((Voltage%10)+'0') ; //对百位数取余数后再取其个位的整数部分

lcd_PutStr_16x24_Center(0, c3, c4len,Black, bkColor);

lcd_PutStr_16x24_Center(Line1, c, len,Black, bkColor);

lcd_PutStr_16x24_Center(Line2, c3, c3len,Black, bkColor);

lcd_PutStr_16x24_Center(Line3, c4, c4len,Black, bkColor);

lcd_PutStr_16x24_Center(Line4, c2, c2len,Black,bkColor);

USART_OUT(USART1,"The v value = %d.%d%d%d V\r\n", c4[3]=(Voltage/1000),c4[5]=((Voltage%1000)/100),c4[6]=(Voltage%100)/10,c4[7]=(V oltage%10)); //显示实际电压值

LCD_test();

}

}

}

2、ADC配置:

ADC_Configuration函数用于配置ADC1的通道11,因为只用了ADC1所以采用了ADC独立模式,设置通道11进入规则组,规则组里的通道只有1个,就是通道1,转换用了扫描方式,软件触发,转换结果采用DMA方式传递到2字节长度的缓存区里(ADC_ConvertedValue),默认的ADCCLK为36MHz,采样周期是55.5+12.5时钟周期,相当于采样时间是间隔(68/36)us。

void ADC_Configuration(void)

{

ADC_InitTypeDef ADC_InitStructure;

GPIO_InitTypeDef GPIO_InitStructure;

DMA_InitTypeDef DMA_InitStructure;

//设置AD模拟输入端口为输入 1路AD 规则通道

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;

GPIO_Init(GPIOC, &GPIO_InitStructure);

/* Enable DMA clock */

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);

/* Enable ADC1 and GPIOC clock */

RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 , ENABLE);

/* DMA channel1 configuration ----------------------------------------------*/

//使能DMA

DMA_DeInit(DMA1_Channel1);

DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address;

//DMA通道1的地址

DMA_InitStructure.DMA_MemoryBaseAddr = (u32)&ADC_ConvertedValue;

//DMA传送地址

DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;

//传送方向

DMA_InitStructure.DMA_BufferSize = 1;

//传送内存大小,100个16位

DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;

DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;

//传送内存地址递增

DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;

//ADC1转换的数据是16位

DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;

//传送的目的地址是16位宽度

DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;

//循环

DMA_InitStructure.DMA_Priority = DMA_Priority_High;

DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;

DMA_Init(DMA1_Channel1, &DMA_InitStructure);

/* 允许DMA1通道1传输结束中断 */

//DMA_ITConfig(DMA1_Channel1,DMA_IT_TC, ENABLE);

//使能DMA通道1

DMA_Cmd(DMA1_Channel1, ENABLE);

//ADC配置

ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //ADC1工作在独立模式ADC_InitStructure.ADC_ScanConvMode = ENABLE; //模数转换工作在扫描模式(多通道)还是单次(单通道)模式

ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; //模数转换工作在扫描模式(多通道)还是单次(单通道)模式

ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;//转换由软件而不是外部触发启动

ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;//ADC数据右对齐

ADC_InitStructure.ADC_NbrOfChannel = 1; //规定了顺序进行规则转换的ADC通道的数目。这个数目的取值范围是1到16

ADC_Init(ADC1, &ADC_InitStructure);

/* ADC1 regular channels configuration [规则模式通道配置]*/

//ADC1 规则通道配置

ADC_RegularChannelConfig(ADC1, ADC_Channel_11, 1, ADC_SampleTime_55Cycles5);

//通道11采样时间 55.5周期

//使能ADC1 DMA

ADC_DMACmd(ADC1, ENABLE);

//使能ADC1

ADC_Cmd(ADC1, ENABLE);

// 初始化ADC1校准寄存器

ADC_ResetCalibration(ADC1);

//检测ADC1校准寄存器初始化是否完成

while(ADC_GetResetCalibrationStatus(ADC1));

//开始校准ADC1

ADC_StartCalibration(ADC1);

//检测是否完成校准

while(ADC_GetCalibrationStatus(ADC1));

//ADC1转换启动

ADC_SoftwareStartConvCmd(ADC1, ENABLE);

}

3、程序流程图:

START

ADC、串口、液晶初始化

启动A/D转换

读取ADC状态

A/D转换结束?

五、运行步骤、结果,保存截屏,实物图

1、运行步骤、结果:

步骤:

(1)对程序编译并且下载到STM32开发板; (2)按下复位键,记录所测到的内部电压值U

内部;

(3)用跳线把外部20个GPIO 电压源端口分别接入到CANERA 的14口,从而测量外部电压U

外部GPIO1

—U 外部GPIO20

(4)在每次接入一个外部GPIO 电压源时,都复位一次并且记录所测到电压值U

外部GPIO1

—U 外部GPIO20。

结果:

读取A/D 转换结束

处理A/D 转换

写入寄存FSMC

启动LCD

读出寄存器FSMC,LCD 显示

启动串口

串口数据传输

电压值显示

结束

(1)内部电压值:U内部= 1.683V

(2)外部端口电压值:

外部端口U外部GPIO1U外部GPIO2U外部GPIO3U外部GPIO4U外部GPIO5电压值 3.267V0.000V 3.267V 3.267V 3.267V 外部端口U外部GPIO6U外部GPIO7U外部GPIO8U外部GPIO9U外部GPIO10电压值 3.267V 3.267V 1.617V 1.650V0.429V 外部端口U外部GPIO11U外部GPIO12U外部GPIO13U外部GPIO14U外部GPIO15电压值 1.650V 1.650V 2.409V 3.267V0.000V 外部端口U外部GPIO16U外部GPIO17U外部GPIO18U外部GPIO19U外部GPIO20电压值 1.617V 1.617V 1.617V 3.267V0.000V

2、保存截屏:

测试到的个别电压值在串行助手显示结果如下:

(1)内部电压值:

(2)外部端口1电压值:

(3)外部端口8电压值:

(4)外部端口10电压值:

(5)外部端口13电压值:

3、实物图:

上图显示结果如下图:

六、设计的收获与体会

今个学期刚刚接触到STM32,经过黄金杨老师的介绍,我真正的体会到

了STM32的强大之处,STM32采用Contex-M3内核,是32位的,比起8位的51单片机好多了,并且其处理数据速度非常快, flash,ram 也是很大的,还有16 位的FSMC 总线等等的强项,这是51单片机望而不及的。

老师刚刚定好课程设计的题目的时候,正好黄老师在跟我们讲解STM32的AD模数转换,这里的STM32F103X是一个12位的逐次逼近型的ADC模块,所以说它的采样精度是很高的,同时自己以前还没有做过有关于AD的模块,所以我决定亲自尝试做一个简单的STM32数字电压表。首先自己根据上一次做过的ADC 实验拿出来慢慢的看main.c的ADC、DMA、GPIO、RCC、USART配置对照着库函数理解,其实这些配置基本上都是固定的,只不过根据自己的需要或者硬件的不同而配置不同而已。利用库函数可以减少了编程的复杂性,更有利于开发更多的产品,相对于采用寄存器来编程好多了,所以说利用固件库来写程序是很重要的。

在我刚开始编程的时候,我首先先在以前那个ADC实验,把采样到的电压值准确的在串口线上显示出来,显示出采样到的电压值,其实就是要将采样值经过转化后(采样值最高为4096,采样最高电压都为3.3V)利用相应的比例算出测量的电压值,所以利用以前C语言学到的知识,先求出千位、然后再求百位、十位、个位(采样的精度为0.001),我认为这是关键性的一步,然后在LCD上显示就容易些了。搞定了在串口上的显示电压后,紧接着就是让电压值在LCD

上显示了,在这里,LCD的配置,函数,我觉得是很难理解的,故根据以往的经验,要先看看使用的LCD的文档,读懂时序图,理解LCD的命令表,这是深入了解LCD的关键,另外LCD的初始化可以在库函数里面找到。功夫不负有心人,我足足花了一个星期,终于把程序编好了,在期间,自己不懂的东西,就问同学或者网上学习,说真的,在课程设计期间自己学到的东西是最多的。这个课程设计

基于51单片机的数字电压表设计说明

1.1数字电压表介绍 数字电压表简称DVM,数字电压表基本原理是将输入的模拟电压信号转化为数字信号,再进行输出显示。而A/D转换器的作用是将连续变化的模拟信号量转化为离散的数字信号,器基本结构是由采样保持,量化,编码等几部分组成。因此AD转换是此次设计的核心元件。输入的模拟量经过AD转换器转换,再由驱动器驱动显示器输出,便得到测量的数字电压。 本次自己的设计作品从各个角度分析了AD转换器组成的数字电压表的设计过程及各部分电路的组成及原理,并且分析了数模转换进而使系统运行起来的原理及方法。通过自己的实践提高了动手能力,也只有亲历亲为才能收获掌握到液晶学过的知识。其实也为建立节约成本的意识有些帮助。本次设计同时也牵涉到了几个问题:精度、位数、速度、还有功耗等不足之处,这些都是要慎重考虑的,这些也是在本次设计中的收获。 1.3 本次设计要求 本次设计的作品要求制作数字电压表的量程为0到10v,由于用到的模数转换芯片是ADC0809,设计系统给的供电电压为+5v,所以能够测量的电压围为-0.25v到5.25v之间,但是一般测量的直流电压围都在这之上,所以采用电阻分压网络,设计的电压测量围是0到25v之间,满足设计要求的最大量程5v的要求。同时设计的精度为小数点后三位,满足要求的两位小数的精度,在不考虑AD芯片的量化误差的前提下,此次设计的精度能够满足一般测量的要求。

2单片机和AD相关知识 2.1 51单片机相关知识 51单片机是对目前所有兼容intel 8031指令系统的单片机的统称。该系列单片机的始祖是intel的8031单片机,后来随着技术的发展,成为目前广泛应用的8为单片机之一。单片机是在一块芯片集成了CPU、RAM、ROM、定时器/计数器和多功能I/O口等计算机所需要的基本功能部件的大规模集成电路,又称为MCU。51系列单片机包含以下几个部件: 一个8位CPU;一个片振荡器及时钟电路; 4KB的ROM程序存储器; 一个128B的RAM数据存储器; 寻址64KB外部数据存储器和64KB外部程序存储空间的控制电路; 32条可编程的I/O口线; 两个16位定时/计数器; 一个可编程全双工串行口; 5个中断源、两个优先级嵌套中断结构。51系列单片机如下图: 图1 51单片机引脚图

基于单片机的数字电压表设计

引言 数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本论文重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。

1 实训要求 (1)基本要求: ①实现8路直流电压检测 ②测量电压范围0-5V ③显示指定电压通道和电压值 ④用按键切换显示通道 (2)发挥要求 ①测量电压范围为0-25V ②循环显示8路电压 2 实训目的 (1)进一步熟悉和掌握单片机的结构和工作原理; (2)掌握单片机的借口技术及,ADC0809芯片的特性,控制方法; (3)通过这次实训设计,掌握以单片机为核心的电路设计的基本方法和技术;(4)通过实际程序设计和调试,逐步掌握模块化程序设计的方法和调试技术。 3 实训意义 通过完成一个包括电路设计和程序开发的完整过程,使自身了解开发单片机应用系统的全过程,强化巩固所学知识,为以后的学习和工作打下基础。 4 总体实训方案 测量一个0——5V的直流电压,通过输入电路把信号送给AD0809,转换为数字信号再送至89s52单片机,通过其P1口经数码管显示出测量值。 4.1 结构框图 如图1—1所示 图1—1

单片机课程设计报告——数字电压表[1]剖析

数字电压表 单片机课程设计报告 班级: 姓名: 学号: 指导教师: 2011 年3 月29 日

数字电压表电路设计报告 一、题目及设计要求 采用51系列单片机和ADC设计一个数字电压表,输入为0~5V线性模拟信号,输出通过LED显示,要求显示两位小数。 二、主要技术指标 1、数字芯片A/D转换技术 2、单片机控制的数码管显示技术 3、单片机的数据处理技术 三、方案论证及选择 主要设计方框图如下: 1、主控芯片 方案1:选用专用转化芯片INC7107实现电压的测量和实现,用四位数码管显示出最后的转换电压结果。缺点是京都比较低,内部电压转换和控制部分不可控制。优点是价格低廉。 方案2:选用单片机AT89C51和A/D转换芯片ADC0809实现电压的转换和控制,用四位数码管显示出最后的转换电压结果。缺点是价格稍贵;优点是转换京都高,且转换的过程和控制、显示部分可以控制。 基于课程设计的要求和实验室能提供的芯片,我选用了:方案2。 2、显示部分 方案1:选用4个单体的共阴极数码管。优点是价格比较便宜;缺点是焊接时比较麻烦,容易出错。 方案2:选用一个四联的共阴极数码管,外加四个三极管驱动。这个电路几乎没有缺点;优点是便于控制,价格低廉,焊接简单。 基于课程设计的要求和实验室所能提供的仪器,我选用了:方案2。

四、电路设计原理 模拟电压经过档位切换到不同的分压电路筛减后,经隔离干扰送到A/D 转换器进行A/D 转换。然后送到单片机中进行数据处理。处理后的数据送到LED 中显示。同时通过串行通讯与上位通信。硬件电路及软件程序。而硬件电路又大体可分为A/D 转换电路、LED 显示电路,各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用汇编语言编程,利用Keil 和PROTEUS 软件对其编译和仿真。 一般I/O 接口芯片的驱动能力是很有限的,在LED 显示器接口电路中,输出口所能提供的驱动电流一般是不够的尤其是设计中需要用到多位LED ,此时就需要增加LED 驱动电路。驱动电路有多种,常用的是TTL 或MOS 集成电路驱动器,在本设计中采用了74LS244驱动电路。 本实验采用AT89C51单片机芯片配合ADC0808模/数转换芯片构成一个简易的数字电压表,原理电路如图1所示。该电路通过ADC0808芯片采样输入口IN0输入的0~5 V 的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道 D0~D7传送给AT89C51芯片的P0口。AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过其P1口传送给数码管。同时它还通过其三位I/O 口P1.0、P1.1、P1.2、P1.3产生位选信号,控制数码管的亮灭。另外,AT89C51还控制着ADC0808的工作。其ALE 管脚为ADC0808提供了1MHz 工作的时钟脉冲;P2.4控制ADC0808的地址锁存端 (ALE);P2.1控制ADC0808的启动端(START);P2.3控制ADC0808的输出允许端(OE);P2.0控制ADC0808的转换结束信号(EOC)。 电路原理图如下所示,三个地址位ADDA,ADDB,ADDC 均接高电平+5V 电压,因而所需测量的外部电压可由ADC0808的IN7端口输入。由于ADC0808

数字电压表的设计实验报告

课程设计 ——基于51数字电压表设计 物理与电子信息学院 电子信息工程 1、课程设计要求 使用单片机AT89C52和ADC0832设计一个数字电压表,能够测量0-5V之间的直流电压值,两位数码显示。在单片机的作用下,能监测两路的输入电压值,用8位串行A/D转换器,8位分辨率,逐次逼近型,基准电压为 5V;能用两位LED进行轮流显示或单路选择显示,显示精度0.1伏。 2、硬件单元电路设计 AT89S52单片机简介 AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存

储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS -51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级,2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 ADC0832模数转换器简介 ADC0832 是美国国家半导体公司生产的一种8 位分辨率、双通道A/D转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用ADC0832 可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。 图1 芯片接口说明: 〃 CS_ 片选使能,低电平芯片使能。 〃 CH0 模拟输入通道0,或作为IN+/-使用。

数字电压表课程设计实验报告

自动化与电气工程学院 电子技术课程设计报告 题目数字电压表的制作 专业 班级 学号 学生姓名 指导教师 二○一三年七月

一、课程设计的目的与意义 1.课程设计的主要目的,是通过电子技术综合设计,熟悉一般电子电路综合设计过程、设计要求、完成的工作内容和具体的设计方法。 2.同时了解双积分式A/D转换器ICL7107的性能及其引脚功能,熟悉集成电路ICL7107构成直流数字电压表的使用方法,并掌握其在电路中的工作原理。 3.通过设计也有助于复习和巩固以往的模电、数电内容,达到灵活应用的目的。在完成设计后还要将设计的电路进行安、调试以加强学生的动手能力。在此过过程中培养从事设计工作的整体观念。 4.利用双积分式A/D转换器ICL7107设计一数字电压表,量程为-1.99—+1.99,通过七段数码管显示。 二、电路原理图 数字电压表原理图

三、课程设计的元器件 1.课程设计所使用的元器件清单: 2.主要元器件介绍 (1)芯片ICL7107: ICL7107的工作原理 双积分型A/D转换器ICL7107是一种间接A/D转换器。它通过对输入模拟电压和参考电压分别进行两次积分,将输入电压平均值变换成与之成正比的时间间隔,然后利用脉冲时间间隔,进而得出相应的数字性输出。 它的原理性框图如图所示,它包括积分器、比较器、计数器,控制逻辑和时钟信号源。积分器是A/D转换器的心脏,在一个测量周期内,积分器先后对输入信号电压和基

准电压进行两次积分。比较器将积分器的输出信号与零电平进行比较,比较的结果作为数字电路的控制信一号。时钟信号源的标准周期Tc 作为测量时间间隔的标准时间。它是由内部的两个反向器以及外部的RC组成的。其振荡周期Tc=2RCIn1.5=2.2RC 。 ICL7106A/D转换器原理图 计数器对反向积分过程的时钟脉冲进行计数。控制逻辑包括分频器、译码器、相位驱动器、控制器和锁存器。 分频器用来对时钟脉冲逐渐分频,得到所需的计数脉冲fc和共阳极LED数码管公共电极所需的方波信号fc。 译码器为BCD-7段译码器,将计数器的BCD码译成LED数码管七段笔画组成数字的相应编码。 驱动器是将译码器输出对应于共阳极数码管七段笔画的逻辑电平变成驱动相应笔画的方波。 控制器的作用有三个:第一,识别积分器的工作状态,适时发出控制信号,使各模拟开关接通或断开,A/D转换器能循环进行。第二,识别输入电压极性,控制LED 数码管的负号显示。第二,当输入电压超量限时发出溢出信号,使千位显示“1" ,其余码全部熄灭。 钓锁存器用来存放A/D转换的结果,锁存器的输出经译码器后驱动LED 。它的每个测量周期自动调零(AZ)、信号积分(INT)和反向积分(DE)三个阶段。

基于51单片机的数字电压表设计

目录 摘要........................................................................ I 1 绪论. (1) 1.1数字电压表介绍 (1) 1.2仿真软件介绍 (1) 1.3 本次设计要求 (2) 2 单片机和AD相关知识 (3) 2.1 51单片机相关知识 (3) 2.2 AD转换器相关知识 (4) 3 数字电压表系统设计 (5) 3.1系统设计框图 (5) 3.2 单片机电路 (5) 3.3 ADC采样电路 (6) 3.4显示电路 (6) 3.5供电电路和参考电压 (7) 3.6 数字电压表系统电路原理图 (7) 4 软件设计 (8) 4.1 系统总流程图 (8) 4.2 程序代码 (8) 5 数字电压表电路仿真 (15) 5.1 仿真总图 (15) 5.2 仿真结果显示 (15) 6 系统优缺点分析 (16) 7 心得体会 (17) 参考文献 (18)

1 绪论 1.1数字电压表介绍 数字电压表简称DVM,数字电压表基本原理是将输入的模拟电压信号转化为数字信号,再进行输出显示。而A/D转换器的作用是将连续变化的模拟信号量转化为离散的数字信号,器基本结构是由采样保持,量化,编码等几部分组成。因此AD转换是此次设计的核心元件。输入的模拟量经过AD转换器转换,再由驱动器驱动显示器输出,便得到测量的数字电压。 本次自己的设计作品从各个角度分析了AD转换器组成的数字电压表的设计过程及各部分电路的组成及原理,并且分析了数模转换进而使系统运行起来的原理及方法。通过自己的实践提高了动手能力,也只有亲历亲为才能收获掌握到液晶学过的知识。其实也为建立节约成本的意识有些帮助。本次设计同时也牵涉到了几个问题:精度、位数、速度、还有功耗等不足之处,这些都是要慎重考虑的,这些也是在本次设计中的收获。 1.2仿真软件介绍 Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows 操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是: (1)现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 (2)支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、 A VR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。 (3)提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。 (4)具有强大的原理图绘制功能。 可以仿真51系列、A VR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的

数字电压表设计课程设计

东北石油大学课程设计 2

东北石油大学课程设计任务书 课程硬件课程设计 题目数字电压表设计 专业 主要内容、基本要求等 一、主要内容: 利用EL教学实验箱、微机和QuartusⅡ软件系统,使用VHDL语言输入方法设计数字钟。可以利用层次设计方法和VHDL语言,完成硬件设计设计和仿真。最后在EL教学实验箱中实现。 二、基本要求: 1、A/D转换接口电路的设计,负责对ADC0809的控制。 2、编码转换电路设计,负责把从ADC0809数据总线中读出的电压转换成BCD码。 3、输出七段显示电路的设计,负责将BCD码用7段显示器显示出来。 三、参考文献 [1] 潘松.EDA技术实用教程[M].北京:科学出版社, 2003.11-13. [2] 包明.《EDA技术与数字系统设计》.北京航天航空大学出版社. 2002. [3] EDA先锋工作室.Altera FPGA/CPLD设计[M].北京:人民邮电出版社 2005.32-33. [4] 潘松.SOPC技术实用教程[M] .清华大学出版社.2005.1-15. 完成期限第18-19周 指导教师 专业负责人

摘要 本文介绍了基于EDA技术的8位数字电压表。系统采用CPLD为控制核心,采用VHDL语言实现,论述了基于VHDL语言和CPLD芯片的数字系统设计思想和实现过程。在硬件电子电路设计领域中,电子设计自动化(EDA)工具已成为主要的设计手段,而VHDL语言则是EDA的关键技术之一,。VHDL的英文全名是 Very-High-Speed Integrated Circuit HardwareDescription Language,它采用自顶向下的设计方法,即从系统总体要求出发,自上至下地将设计任务分解为不同的功能模块,最后将各功能模块连接形成顶层模块,完成系统硬件的整体设计。 电子设计自动化技术EDA的发展给电子系统的设计带来了革命性的变化,EDA软件设计工具,硬件描述语言,可编程逻辑器件(PLD)使得EDA技术的应用走向普及。CPLD是新型的可编程逻辑器件,采用CPLD进行产品开发可以灵活地进行模块配置,大大缩短了产品开发周期,也有利于产品向小型化,集成化的方向发展。而 VHDL语言是EDA的关键技术之一,它采用自顶向下的设计方法,完成系统的整体设计。 本文用CPLD芯片和VHDL语言设计了一个八位的数字电压表。它的计时周期为24小时,显示满刻度为23时59分59秒,另外还具有校时功能和闹钟功能。总的程序由几个各具不同功能的单元模块程序拼接而成,其中包括分频程序模块、时分秒计数和设置程序模块、比较器程序模块、三输入数据选择器程序模块、译码显示程序模块和拼接程序模块。 关键词:数字电压表;QuartusⅡ软件;EDA(电子设计自动化)

#简易数字电压表的设计

一、简易数字电压表的设计 l .功能要求 简易数字电压表可以测量0~5V 的8路输入电压值,并在四位LED 数码管上轮流显示或单路选择显示。测量最小分辨率为0.019 V ,测量误差约为土0.02V 。 2.方案论证 按系统功能实现要求,决定控制系统采用A T89C52单片机,A /D 转换采用ADC0809。系统除能确保实现要求的功能外,还可以方便地进行8路其它A /D 转换量的测量、远程测量结果传送等扩展功能。数字电压表系统设计方案框图如图1-1。 3.系统硬件电路的设 计 简易数字电压测量电 路由A /D 转换、数据处 理及显示控制等组成,电 路原理图如图1-2所示。A /D 转换由集成电路0809完 成。0809具有8路模拟输人 端口,地址线(23~25脚)可决定对哪一路模拟输入作A /D 转换,22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存,6脚为测试控制,当输入一个2us 宽高电平脉冲时,就开始A /D 转换,7脚为A /D 转换结束标志,当A /D 转换结束时,7脚输出高电平,9脚为A /D 转换数据输出允许控制,当OE 脚为高电平时,A /D 转换数据从该端口输出,10脚为0809的时钟输入端,利用单片机30脚的六分频晶振频率再通过14024二分频得到1 MHz 时钟。单片机的P1、P3.0~P3.3端口作为四位LED 数码管显示控制。P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。P0端口作A /D 转换数据读入用,P2端口用作0809的A /D 转换控制。 4.系统程序的设计 (1)初始化程序 系统上电时,初始化程序将70H ~77H 内存单元清0,P2口置0。 (2)主程序 在刚上电时,系统默认为循环显示8个通道的电压值状态。当进行一次测量后,将 图1-1 数字电压表系统设计方案

双通道数字电压表课程设计

目录 1 引言.......................................................... - 2 - 2设计原理及要求................................................ - 2 - 2.1数字电压表的实现原理..................................... - 2 - 2.2数字电压表的设计要求..................................... - 2 - 3软件仿真电路设计................................. 错误!未定义书签。 3.1设计思路.................................... 错误!未定义书签。 3.3设计过程.................................... 错误!未定义书签。 3.4 AT89C51的功能介绍....................................... - 3 - 3.4.1简单概述........................................... - 3 - 3.4.2主要功能特性....................................... - 3 - 3.4.3 AT89C51的引脚介绍................................. - 3 - 3.5 ADC0808的引脚及功能介绍................................. - 5 - 3.5.1芯片概述........................................... - 5 - 3.5.2 引脚简介........................................... - 5 - 3.5.3 ADC0808的转换原理................................. - 6 - 3.6 74LS373芯片的引脚及功能................................. - 6 - 3.6.1芯片概述........................................... - 6 - 3.6.2引脚介绍........................................... - 6 - 3.7 LED数码管的控制显示..................................... - 7 - 3.7.1 LED数码管的模型................................... - 7 - 3.7.2 LED数码管的接口简介............................... - 7 - 4系统软件程序的设计............................... 错误!未定义书签。 4.1 主程序................................................. - 15 - 4.2 A/D转换子程序.......................................... - 16 - 4.3 中断显示程序............................... 错误!未定义书签。5电压表的调试及性能分析........................... 错误!未定义书签。 5.1 调试与测试................................. 错误!未定义书签。 5.2 性能分析............................................... - 17 - 6电路仿真图....................................... 错误!未定义书签。7总结......................................................... - 14 - 参考文献........................................... 错误!未定义书签。

基于LABVIEW的数字电压表的设计

学号 XX 虚拟仪器 学生姓名XX 专业班级XX

基于LABVIEW的数字电压表的设计 一、设计目的 1.掌握数字电压表的基本原理和方法。 2.基于LabView设计数字电压表并实现。 二、设计原理 电压是电路中常用的电信号,通过电压测量,利用基本公式可以导出其他的参数。因此,电压测量是其他许多电参数和非电参数量的基础。测量电压相当普及的一种测量仪表就是电压表,但常用的是模拟电压表。模拟电压表根据检波方式的不同。分为峰值电压表、均值电压表和平均值电压表,它们都各自做成独立的仪表。这样,使用模拟电压表进行交流电压测量时,必须根据测量要求选择仪表。另外,多数电压表的表头是按正弦交流有效值刻度的,而测量非正弦波时,必须经过换算才能得到正确的测量结果,从而给实际工作带来不便。 采用虚拟电压表,可将表征交流电压特征的峰值、平均值和有效值集中显示在一块面板上,测量时可根据波形在面板上选择仪表,用户仅通过面板指示值就能对测量结果进行分析比较,大大简化了测量步骤。 三、设计思路 LabVIEw 8.5版本的工程技术比以往任何一个版本都丰富.它采用了英文界面,各个控件的功能一目了然。利用它全新的用户界面对象和功能,能开发出专业化、可完全自定义的前面板。LabVIEW 8.2对数学、信号处理和分析也进行了重大的补充和完善,信号处理分析和数学具有更为全面和强大的库,其中包括500多个函数。所以在LabVIEW 8.5版本下能够更方便地实现虚拟电压表的设计。 该电压表主要用于电路分析和模拟电子技术等实验课的教学和测量仪器,能够让使用者了解和掌握电压的测量和电压表对各种波形的不同响应。因此,虚拟电压表应具备电源开关控制、波形选择,以及显示峰值、有效值和平均值三种结果,且输入信号的大小可调节等功能。所以,用软件虚拟了一个信号发生器。该信号发生器可产生正弦波、方波和三角波,还可以输入公式,产生任意波形。根据需要,可调节面板上的控件来改变信号的频率和幅度等可调参数,然后检测电压表的运行情况。因此,在LabVIEW图形语言环境下设计的虚拟电压表主要分为

虚拟数字电压表的设计

摘要 LabVIEw 8.5版本的工程技术比以往任何一个版本都丰富.它采用了中文界面,各个控件的功能一目了然。利用它全新的用户界面对象和功能,能开发出专业化、可完全自定义的前面板。LabVIEw 8.5对数学、信号处理和分析也进行了重大的补充和完善,信号处理分析和数学具有更为全面和强大的库,其中包括500多个函数。所以在LabVIEw 8.5版本下能够更方便地实现虚拟电压表的设计。 虚拟电压表是基于计算机和标准总线技术的模块化系统,通常它由控制模块、仪器模块和软件组成,由软件编程来实现仪器的功能。在虚拟仪器中,计算机显示器是惟一的交互界面,物理的开关、按键、旋钮以及数码管等显示器件均由与实物外观相似的图形控件来代替,操作人员只要通过鼠标或键盘操作虚拟仪器面板上的旋钮、开关、按键等设置各种参数,就能根据自己的需要定义仪器的功能。在虚拟电压表的设计中,考虑到仪器主要用于教学和实验,使用对象是学生,因此将引言中提到的三种检波方式的仪器合为一体,既简化了面板操作,又便于直接对比。 该电压表主要用于电路分析和模拟电子技术等实验课的教学和测量仪器,能够使学习者了解和掌握电压的测量和电压表对各种波形的不同响应。因此,虚拟电压表应具备电源开关控制、波形选择,以及显示峰值、有效值和平均值三种结果,且输入信号的大小可调节等功能。虚拟电压表由硬件设备与接口、设备驱动软件和虚拟仪器面板组成。其中,硬件设备与接口包括仪器接口设备和计算机,设备驱动软件是直接控制各种硬件接口的驱动程序,虚拟仪器通过底层设备驱动软件与真实的仪器系统进行通信,并以虚拟仪器面板的形式在计算机屏幕上显示与真实仪器面板操作相对应的各种控件。在此,用软件虚拟了一个信号发生器。该信号发生器可产生正弦波、方波和三角波,还可以输入公式,产生任意波形。根据需要,可调节面板上的控件来改变信号的频率和幅度等可调参数,然后检测电压表的运行情况。因此,在LabVIEW图形语言环境下设计的虚拟电压表主要分为两个部分:第一部分是虚拟电压表前面板的设计;第二部分是虚拟电压表流程图的设汁。

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

《单片机原理及应用》课程设计报告书 课题名称数字电压表设计 名姓 学号 专业

指导教师 机电与控制工程学院月年日 1 任务书 电压表是测量仪器中不可缺少的设备,目前广泛应用的是采用专用集成电路实现的数字电压表。本系统以8051单片机为核心,以逐次逼近式A/D转换器ADC0809、LED显示器为主体,设计了一款简易的数字电压表,能够测量0~5V的直流电压,最小分辨率为0.02V。 该设计大体分为以下几个部分,同时,各部分选择使用的主要元器件确定如下: 1、单片机部分。使用常见的8051单片机,同时根据需要设计单片机电路。 2、测量部分。该部分是实验的重点,要求将外部采集的模拟信号转换成数字信号,通过单片机的处理显示在显示器上,该部分决定了数字电压表的精度等主要技术指标。根据需要本设计采用逐次逼近型A∕D转换器ADC0809进行模数转换。 3、键盘显示部分。利用4×6矩阵键盘的一个按键控制量程的转换,3或4位LED显示。其中一位为整数部分,其余位小数部分。 关键词:8051 模数转换LED显示矩阵键盘 2 目录

1 绪论 (1) 2 方案设计与论证 (2) 3 单元电路设计与参数计算 (3) 4 总原理图及参考程序 (8) 5 结论 (14) 6 心得体会 (15) 参考文献16 (7) 3 1.绪论 数字电压表的基本工作原理是利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优

点。 电压表的数字化测量,关键在于如何把随时连续变化的模拟量转化成数字量,完成这种转换的电路叫模数转换器(A/D)。数字电压表的核心部件就是A/D转换器,由于各种不同的A/D转换原理构成了各种不同类型的DVM。一般说来,A/D 转换的方式可分为两类:积分式和逐次逼近式。 积分式A/D转换器是先用积分器将输入的模拟电压转换成时间或频率,再将其数字化。根据转化的中间量不同,它又分为U-T(电压-时间)式和U-F(电压-频率)式两种。 逐次逼近式A/D转换器分为比较式和斜坡电压式,根据不同的工作原理,比较式又分为逐次比较式及零平衡式等。斜坡电压式又分为线性斜坡式和阶梯斜坡式两种。 在高精度数字电压表中,常采用由积分式和比较式相结合起来的复合式A/D转换器。本设计以8051单片机为核心,以逐次比较型A/D转换器ADC0809、LED 显示器为主体,构造了一款简易的数字电压表,能够测量1路0~5V直流电压,最小分辨率0.02V。 4 2.方案设计与论证 基于单片机的多路数字电压表电路的基本组成如图3.1所示。

多功能数字电压表课程设计

1.设计主要内容及要求; 设计一个多功能数字电压表。 要求:1)硬件电路设计,包括原理图和PCB板图。 2)数字电压表软件设计。 3)要求能够测量并显示直流电压、交流电压,测量范围0.002V---2V。 2.对设计论文撰写内容、格式、字数的要求; (1).课程设计论文是体现和总结课程设计成果的载体,一般不应少于3000字。 (2).学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。课程设计论文的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。应做到文理通顺,内容正确完整,书写工整,装订整齐。 (3).论文要求打印,打印时按《沈阳工程学院毕业设计(论文)撰写规范》的要求进行打印。 (4). 课程设计论文装订顺序为:封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、参考文献。 3.时间进度安排;

中文摘要 随着微型计算机及微电子技术在测试领域中的广泛应用,仪器仪表在测量原理、准确度、灵敏度、可靠性、多种功能及自动化水平等方面都发生了巨大的变化,逐步形成了完全突破传统概念的新一代仪器——智能仪器。智能化是现代仪器仪表的发展趋势,许多嵌入式系统、电子技术和现场总线领域的新技术被应用于智能仪器仪表的设计,尤其是嵌入式系统的许多新的理念极大地促进了智能仪器仪表技术的发展。 今年来,随着大规模集成电路的发展,有单片A/D转换器构成的数字电压表获得了迅速普及和广泛应用,它是目前在电子测量及维修工作中最常用、最得力的一种工具类数字仪表。数字电压表具有很高的性价比,其主要优点是准确度高、分辨力强测试功能完善、测量速率快、显示直观。 测试仪器的智能化已是现代仪器仪表发展的主流方向。因此学习智能仪器的工作原理、掌握新技术和设计方法无疑是十分重要的。 关键词智能,数字,电压表,仪器仪表

简易数字直流电压表的设计

电子制作课程考核报告 课程名称简易数字直流电压表的设计 学生姓名贾晋学号1313014041 所在院(系)物理与电信工程 专业班级电子信息工程1302 指导教师秦伟 完成地点 PC PROTEUS 2015年 6 月 13 日

简易数字直流电压表的设计 简易数字直流电压表的设计 摘要本文介绍一种基于AT89C51单片机的简易数字电压表的设计。该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。A/D转换芯片为ADC0808,它主要负责把采集到的模拟量转换为数字量再传送到数据处理模块。数据处理则是由芯片AT89C51来完成,主要负责把ADC0808传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;并且,它还控制着ADC0808芯片工作。 该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。此数字电压表可以测量0-200V的模拟直流输入电压值,并通过数码管显示。 关键词单片机;数字电压表;AT89C51;ADC0808

目录 1 引言............................................................................................... 2 总体设计方案............................................................................... 2.1设计要求 ............................................................................... 2.2 设计思路 .............................................................................. 2.3 设计方案 .............................................................................. 3 详细设计....................................................................................... 3.1 A/D转换模块 .................................................................... 3.2 单片机系统 ........................................................................ 3.3 时钟电路 ............................................................................ 3.4 LED显示系统设计 ........................................................... 3.5 总体电路设计 .................................................................... 4 程序设计....................................................................................... 4.1 程序设计总方案 ................................................................ 4.2 系统子程序设计 ................................................................ 5 仿真............................................................................................. 5.1 软件调试 (11) 5.2 显示结果及误差分析 ........................................................ 结论................................................................................................. 参考文献........................................................................................... 附录...................................................................................................

实验四 基于LabVIEW的虚拟直流电压表设计

西华大学实验报告(理工类) 开课学院及实验室:电气信息学院电气信息专业实验中心 实验时间:2014年 6 月 11 日 一、实验目的: 1. 理解双积分A/D 转换器7109及数字电压表的工作原理。 2. 掌握虚拟直流电压表设计的基本方法。 3. 测量数据的误差分析。 二、实验内容: 1. 根据实验指导实现直流电压表的设计。 设计要求:测试对象:电位器,外部电压 量程:40mV ,80 mV ,200 mV ,400 mV ,800 mV ,2V ,4V ,8V 。 2. 选择电压表不同量程和不同测量对象,进行测量。 三、实验器材: 1. 1.SJ-8002B 电子测量实验箱 1台 2.双踪示波器(20MHz 模拟或数字示波器) 1台 3.计算机(具有运行windowsXP 和LabVIEW 软件的能力) 1台 4. 万用表(3 1/2位以上) 1台 5. Q9连接线 1根 四、实验原理: 1. 双积分A/D 转换器ICL7109. 如图4-1为双积分A/D 转换器ICL7109实验电路图。 7109+ 图4-1 双积分式A/D 转换器7109测量电压原理图

2.工作原理 整个直流电压表设计主要包括四个部分: 7109工作原理,A/D转换时序,增益选择电路,通道输入电路。 系统电路图如图4-2所示: 图4-2 电路图 (1)7109工作原理 ICL 7109 是双积分式12 位A/D转换器,转换时间由外部时钟周期决定,为10140/58个时钟周期。 其主要引脚定义如下: ① B1~B12:12bit的数据输出端 ②OR:溢出判别,输出高电平表示过量程;反之,数据有效。 ③POL:极性判别,输出高电平表示测量值为正值;反之,负值。 ④MODE:方式选择,当输入低电平信号时,转换器处于直接输出工作方式。此时可在片选和字节使能的控制下直接读取数据;当输入高电平时,转换器将在信号信号握手方式的每一转换周期的结尾输出数据(本实验选用直接输出工作方式)。 ⑤REF:外部参考电压输入(本实验用其典型值:2.048V)。 ⑥INL,INH:输入电压端口(有效范围是参考电压的2倍)。 ⑦OO,OI:外部时钟输入(本实验用其典型值:3.579MHz)。 ⑧RUN/HOLD_:运行/保持输入, 当输入高电平时,每经8192时钟脉冲完成一次转换;当输入低电平时,完成正在进行的转换,并停在自动调零阶段 ⑨STATUS:状态输出,输出高电平,表明芯片处于积分和反向积分阶段;输出为低电平,表明反向积分结束,数据被锁存,模拟部分处于自动返回零态阶段。 ⑩CE/LOAD_:片选,当其为低电平时,数据正常输出;当其为高电平时,所有数据输出端(B1~B12、POL、OR)均处于高阻状态。 ⑾LBEN_:低字节使能,输入低电平时,数据线输出低位字节B1~B8。

数字电压表的设计与制作

毕业设计(论文) 题目:数字电压表的设计与制作年级专业:电气自动化14321班 学生姓名:秦小钧 指导教师:杨海蓉

2016年 10 月 13 日 毕业设计任务书 毕业设计题目:数字电压表的设计与制作 题目类型工程设计题目来源学生自选题 毕业设计时间从 2016/09/25 至 2016/10/13 1.毕业设计内容要求: 采用AT89S52作MCU,ADC0809(或其他芯片)进行AD转换,测量电压的范围为直流0-5V 电压,四位数码管显示。 2.主要参考资料 [1]万福君,潘松峰.单片微机原理系统设计与应用[M],中国科学技术大学出版社,01年8月第2版 [2]周责魁. 控制仪表与计算机控制装置[M] ,化学工业出版社,02年9月第1版 [3]李青. 电路与电子技术基础[L] ,浙江科学技术出版社,05年2月第1版 [4]陈乐. 过程控制与仪表[M], 中国计量学院出版社,07年3月 [5]孙育才. 新型AT89S52系列单片机及其应用[M] ,清华大学出版社,05年5月第1版3.毕业设计进度安排

摘要 本设计由A/D转换、数据处理及显示控制等组成,测量0~5V范围内的输入电压值,由4位共阳8段数码管扫描显示,最大分辨率0.1V,误差±0.05V。数字电压表的核心为AT89S52单片机和ADC0832 A/D转换集成芯片。 关键词:数字电压表;单片机;AT89S52; ADC0832

第一章设计方案的选择 1.1功能要求及设计目标 采用AT89S52作MCU,ADC0809(或其他芯片)进行AD转换,测量电压的范围为直流0-5V电压,四位数码管显示。(设计并制作出实物为优). 1.2 系统设计方案 AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器 AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash 存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。 AT89S5与AT89c52相比,前者的性能比后者高,所以本设计采用AT89S52芯片。 数模转换芯片:

相关主题
文本预览
相关文档 最新文档