当前位置:文档之家› 基于STM32原子mini开发板的数字电压表资料

基于STM32原子mini开发板的数字电压表资料

基于STM32原子mini开发板的数字电压表资料
基于STM32原子mini开发板的数字电压表资料

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

一、设计目的和作用

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

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

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

二、设计内容

1、将一模拟电压信号输入到A/D转换器的任一通道,定义为规则组;测量环境温度(可用内部温度传感器,也可用外接温度传感器),定义为注入组。

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

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

4、将转换成电压值通过串口1显示,要求显示一位小数,并每隔1S显示一次温度。

三、设计原理

1、A/D变换原理

◆采样:

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

均匀采样:

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

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

A/D 转换器一般为标量均匀量化。(量化还可分为:标量量化、矢量量化) 量化误差(与舍入方式相关):1LSB 或 1/2LSB ◆编码:

A/D 模拟/数字转换器一般采用二进制编码,A/D 变换后的结果到此可以表示为一个以0、1二进制形式表示的比特流,单位时间内可以传输的二进制比特速率就是A/D 之后的码速率,数值上等于采样频率与量化比特数值之乘积。

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

3、ADC 的A/D 转换方式

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

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

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

STM32的ADC 是12位逐次逼近型的模拟数字转换器。它有18个通道可测量16个外部和2个内部信号源。各通道的A/D 转换可以单次、连续、扫描或间断

D0D1D2D3D4D5D6D7

数据输出

开始转换 SOC 结束转换 EOC 输出使能

模拟信号

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实时显示电压值,内部温度、外部温度

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卡设备,每一个存储块上的存储器类型是由用户在配置寄存器中定义的。

8、DS18B20

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

1、主程序:

int main(void)

{

double temp1;

float temp,ad;

u32 ad1=0,a,b;

u8 i;

delay_init(); //延时函数初始化

uart_init(9600); //串口初始化为9600

LED_Init(); //IO口的初始化和配置

LCD_Init(); //LCD的配置

ADC_Configuration1();//ADC内部温度注入组的初始化

ADC_Configuration();//ADC电压采集规则组的初始化

DMA_Configuration();//DMA的初始化

LCD_Clear(WHITE); //清屏,LCD底色为白色

POINT_COLOR=RED; //字体的颜色为红色

LCD_ShowString(15,15,200,24,24,"Digital Voltmeter");

LCD_ShowString(0,60,200,24,24,"Voltage: . V");

LCD_ShowString(0,100,200,24,24," Temp: . C");

LCD_ShowString(0,140,200,24,24,"DS18B20: . C");

while(1)

{

/* ADC电压采集数据处理*/ ad=0;

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

{

ad=ad+ADCData[i];

}

ad=3.26/4095.0*ad;

printf("电压=%0.4f V\r\r\n",ad/10);

ad=ad*10.0;

LCD_ShowNum(100,60,ad/100,1,24);

LCD_ShowNum(124,60,ad/10,2,24);

delay_ms(950);

/* ADC内部温度采集数据处理*/

ad1=0;

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

{

ADC_SoftwareStartConvCmd(ADC1,ENABLE);

while(!ADC_GetFlagStatus(ADC1,ADC_FLAG_JEOC));//转换完成JEOC被置位

ad1=ad1+ADC_GetInjectedConversionValue(ADC1,ADC_InjectedChannel_1);

}

ad1=ad1/10;

temp=(1.43-3.3/4095*ad1)/0.0043+25;

printf("温度=%0.4f ℃\r\r\n",temp);

b=temp*10.0;

LCD_ShowNum(100,100,b/10,2,24);

LCD_ShowNum(136,100,(b%10),1,24);

delay_ms(950);

/* DS18B20数据处理*/

temp1=DS18B20_Get_wd();//获取DS18B20的温度

printf("DS18B20: %0.4lf ℃\r\r\n",temp1);

temp1=temp1*10;

a=temp1;

LCD_ShowNum(100,140,temp1/10,2,24);

LCD_ShowNum(136,140,(a%10),1,24);

delay_ms(950);

}

}

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、内部温度的配置:

void ADC_Configuration1(void)

{

ADC_InitTypeDef ADC_InitStructure;

ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;

ADC_InitStructure.ADC_ScanConvMode=ENABLE;

ADC_InitStructure.ADC_ContinuousConvMode=DISABLE;

ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None;

ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;

ADC_InitStructure.ADC_NbrOfChannel=1;

ADC_Init(ADC1,&ADC_InitStructure);

ADC_InjectedSequencerLengthConfig(ADC1,1);//转换的长度,几个ADC

ADC_InjectedChannelConfig(ADC1,ADC_Channel_16,1,ADC_SampleTime_239Cycles5);//注入组:通道16,采样时间

ADC_TempSensorVrefintCmd(ENABLE);

ADC_ExternalTrigInjectedConvConfig(ADC1,ADC_ExternalTrigInjecConv_None);//软件启动ADC触发

ADC_Cmd(ADC1,ENABLE);

ADC_ResetCalibration(ADC1);

while(ADC_GetResetCalibrationStatus(ADC1));

ADC_StartCalibration(ADC1);

while(ADC_GetCalibrationStatus(ADC1));

ADC_SoftwareStartInjectedConvCmd(ADC1, ENABLE);

}

4、串口配置

void uart_init(u32 bound){

//GPIO端口设置

GPIO_InitTypeDef GPIO_InitStructure;

USART_InitTypeDef USART_InitStructure;

NVIC_InitTypeDef NVIC_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE);

//使能USART1,GPIOA时钟

USART_DeInit(USART1); //复位串口1

//USART1_TX PA.9

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出

GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化PA9

//USART1_RX PA.10

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入

GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化PA10

//Usart1 NVIC 配置

NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3 ;//抢占优先级3

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //子优先级3

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能

NVIC_Init(&NVIC_InitStructure); //根据指定的参数初始化VIC寄存器

//USART 初始化设置

USART_https://www.doczj.com/doc/467349911.html,ART_BaudRate = bound;//一般设置为9600;

USART_https://www.doczj.com/doc/467349911.html,ART_WordLength = USART_WordLength_8b;//字长为8位数据格式USART_https://www.doczj.com/doc/467349911.html,ART_StopBits = USART_StopBits_1;//一个停止位

USART_https://www.doczj.com/doc/467349911.html,ART_Parity = USART_Parity_No;//无奇偶校验位

USART_https://www.doczj.com/doc/467349911.html,ART_HardwareFlowControl = USART_HardwareFlowControl_None;//无硬件数据流控制

USART_https://www.doczj.com/doc/467349911.html,ART_Mode = USART_Mode_Rx | USART_Mode_Tx; //收发模式

USART_Init(USART1, &USART_InitStructure); //初始化串口

USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);//开启中断

USART_Cmd(USART1, ENABLE); //使能串口

}

void USART1_IRQHandler(void)

{

if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET)

{

USART_SendData(USART1,USART_ReceiveData(USART1));

while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);

}

}

5、DS18B20的配置

void DS18B20_IO_IN(void)

{ GPIO_InitTypeDef GPIO_InitStructure;

GPIO_InitStructure.GPIO_Pin=IO_DS18B20;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;

GPIO_Init(GPIO_DS18B20,&GPIO_InitStructure);}

void DS18B20_IO_OUT(void)

{ PIO_InitTypeDef GPIO_InitStructure;

GPIO_InitStructure.GPIO_Pin=IO_DS18B20;

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;

GPIO_Init(GPIO_DS18B20,&GPIO_InitStructure);}

u8 DS18B20_Read_Byte(void)

{ u8 i=0,TempData=0;

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

{TempData>>=1;

DS18B20_IO_OUT();//输出

DS18B20_DQ_Low; //拉低

delay_us(4);//延时4微妙

DS18B20_DQ_High;

delay_us(10);//延时10微妙

DS18B20_IO_IN();

if(GPIO_ReadInputDataBit(GPIO_DS18B20,IO_DS18B20)==1)

{

TempData|=0x80;//读数据从低位开始}

delay_us(45);//延时45微妙

} return TempData;

}void DS18B20_Write_Byte(u8 dat)

{ u8 i=0;

DS18B20_IO_OUT();//输出

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

{ DS18B20_DQ_Low; //拉低

delay_us(15);//延时15微妙

if((dat&0x01)==1)

{ DS18B20_DQ_High; }

else

{ DS18B20_DQ_Low; }

delay_us(60);//延时60微妙

DS18B20_DQ_High;

dat>>=1;//准备下一位数据的发送}} void DS18B20_Reset(void)

{ DS18B20_IO_OUT();//输出

DS18B20_DQ_Low;

delay_us(480);//延时480微妙

DS18B20_DQ_High;

delay_us(480);//延时480微妙

}double DS18B20_Get_wd(void)

{ u8 TL=0,TH=0;

u16 temp=0;

double wd=0;

DS18B20_Reset();//复位

DS18B20_Write_Byte(0xCC); //跳过ROM命令DS18B20_Write_Byte(0x44); //温度转换命令

delay_ms(800);//延时800毫秒

DS18B20_Reset();//复位

DS18B20_Write_Byte(0xCC); //跳过ROM命令DS18B20_Write_Byte(0xBE); //读温度命令

TL=DS18B20_Read_Byte();//LSB

TH=DS18B20_Read_Byte();//MSB

temp=TH;temp=(temp<<8)+TL;

if((temp&0xF800)==0xF800)//负温度判断

{ temp=~temp;

temp=temp+1;

wd=temp*(-0.0625);}

else

{

wd=temp*0.0625;

}

return wd;

流程图:

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

1、LCD显示电压voltage显示的是外部的模拟量输入的电压,temp显示是STM32内部的温度,DS18B20是外部温度

串口打印:每隔一秒打印一组数据

六、设计的收获与体会

课程设计评语

完成情况

优秀良好中等及格不及格出勤

方案设计

安装调试

答辩

报告

总成绩

指导教师评语

基于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

STM32视频教程 智芯STM32开发板全套资料

视频下载地址: 第00讲智芯一号开发板硬件介绍和软件的安装方法:https://www.doczj.com/doc/467349911.html,/file/20155941第01讲绪论(上):https://www.doczj.com/doc/467349911.html,/file/20155942 第01讲绪论(下):https://www.doczj.com/doc/467349911.html,/file/20155943 第02讲STM32最小系统:https://www.doczj.com/doc/467349911.html,/file/20159819 第03讲系统时钟初始化函数与延时函数的实现:https://www.doczj.com/doc/467349911.html,/file/20159820 第04讲GPIO的工作原理与配置方法:https://www.doczj.com/doc/467349911.html,/file/20159821 第05讲点亮第一个LED(直接存在寄存器):https://www.doczj.com/doc/467349911.html,/file/20159822 第06讲软件仿真:https://www.doczj.com/doc/467349911.html,/file/20159823 第07讲点亮第一个LED(上)(库函数):https://www.doczj.com/doc/467349911.html,/file/20167862 第07讲点亮第一个LED(下)(库函数):https://www.doczj.com/doc/467349911.html,/file/20168792 第08讲按键输入(直接操作存寄存器):https://www.doczj.com/doc/467349911.html,/file/20166818 第09讲按键输入(库函数):https://www.doczj.com/doc/467349911.html,/file/20166819 第10讲STM32的中断(上):https://www.doczj.com/doc/467349911.html,/file/20170166 第10讲STM32的中断(下):https://www.doczj.com/doc/467349911.html,/file/20170167 第10讲STM32的中断(中):https://www.doczj.com/doc/467349911.html,/file/20204175 第11讲外部中断(直接操作寄存器):https://www.doczj.com/doc/467349911.html,/file/20204176 第12讲外部中断(库函数):https://www.doczj.com/doc/467349911.html,/file/20198720 第13讲彩屏的工作原理:https://www.doczj.com/doc/467349911.html,/file/20198721 第14讲彩屏的GUI函数:https://www.doczj.com/doc/467349911.html,/file/20198722 第15讲彩屏的GUI(库函数):https://www.doczj.com/doc/467349911.html,/file/20198723 第16讲串口的工作原理:https://www.doczj.com/doc/467349911.html,/file/20201012 第17讲串口通信程序(库函数):https://www.doczj.com/doc/467349911.html,/file/20204174 第18讲LabVIEW(一):https://www.doczj.com/doc/467349911.html,/file/20201869 第19讲LabVIEW(二) :https://www.doczj.com/doc/467349911.html,/file/20204173 第20讲LabView(三):https://www.doczj.com/doc/467349911.html,/file/20207918 第21讲LabVIEW(四):https://www.doczj.com/doc/467349911.html,/file/20207921 第22讲LabVIEW(五):https://www.doczj.com/doc/467349911.html,/file/20207923 第23讲LabVIEW(六):https://www.doczj.com/doc/467349911.html,/file/20207924 第24讲定时器的工作原理:https://www.doczj.com/doc/467349911.html,/file/20210307 第25讲ADC的工作原理:https://www.doczj.com/doc/467349911.html,/file/20211591 第26讲ADC的工作原理(库函数):https://www.doczj.com/doc/467349911.html,/file/20210308 第27讲内部温度传感器的原理:https://www.doczj.com/doc/467349911.html,/file/20211035 第28讲内部温度传感器(库函数):https://www.doczj.com/doc/467349911.html,/file/20212909 第29讲DS18B20的工作原理:https://www.doczj.com/doc/467349911.html,/file/20214967 第30讲DS18B20的工作原理(库函数):https://www.doczj.com/doc/467349911.html,/file/20212910 第31讲DMA的工作原理:https://www.doczj.com/doc/467349911.html,/file/20214969 第32讲DMA的工作原理(库函数):https://www.doczj.com/doc/467349911.html,/file/20214971 第33讲RTC和BKP的工作原理与配置:https://www.doczj.com/doc/467349911.html,/file/20214973 第34讲RTC的工作原理(库函数):https://www.doczj.com/doc/467349911.html,/file/20214975 第35讲STM32低功耗的工作原理:https://www.doczj.com/doc/467349911.html,/file/20214977 第36讲STM32的低功耗的工作原理(库函数):https://www.doczj.com/doc/467349911.html,/file/20214979 第37讲红外遥控的工作原理:https://www.doczj.com/doc/467349911.html,/file/20216279

奋斗版STM32开发板Mini板硬件说明书

奋斗版STM32开发板Mini板的硬件说明 1. 供电电路: AMS1117-3.3输入+5V,提供3.3V的固定电压输出,为了降低电磁干扰,C1-C5为CPU 提供BANK电源(VCC:P50、P75、P100、P28、P11 GND:P49、P74、P99、P27、P10)滤波。CPU的模拟输入电源供电脚VDDA(P22)通过L1 22uH的电感与+3.3V VDD电压连接,CPU的模拟地VSSA(P19)及VREF-(P20)通过R1 0欧电阻与GND连接。VREF+(P21)采用VDDA(P22)电源基准。 为RTC的备份电源采用V1 3.3V锂离子片状电池。 2. 启动方式设置: Boot1—Boot0(P37,P94): x0: 内部程序存储区启动01:系统存储区启动(为异步通信ISP编程方式) 在此将BOOT1始终设置为0, BOOT0为可变的状态,在正常模式下将其置为0,在ISP 编程时将其置为1。用JP1跳线块设置,开路为ISP模式,短路为正常运行模式。 3. 时钟源电路: 外部晶体/陶瓷谐振器(HSE)(P12、P13):B1:8MHz晶体谐振器,C8,C9谐振电容选择10P。系统的时钟经过PLL模块将时钟提高到72MHz。 低速外部时钟源(LSE)(P8、P9):B2: 32.768KHz晶体谐振器。C10,C11谐振电容选择

10P。注意:根据ST公司的推荐, B2要采用电容负载为6P的晶振,否则有可能会出现停振的现象。 4. SPI存储电路: D2 AT45DB161(2M Bytes)CPU采用SPI1端口PA7-SPI1-MOSI(P32)、PA6-SPI1-MISO (P31)、PA5-SPI1-SCK(P30)、PA4-SPI1-NSS(P29)控制读写访问, SPI1地址:0x4000 3800 - 0x4000 3BFF 5. 显示及触摸接口模块: 显示器采用2.4” TFT320X240LCD(控制器ILI9325), 采用CPU的FSMC功能,LCD片选CS采用FSMC_NE1(P88),FSMC_A16(P58)作为LCD的RS选择,FSMC_nWE(P86)作为LCD的/WR, FSMC_nOE(P85)作为LCD的/RD, LCD的RESET脚用CPU的PE1(P98)(LCD-RST),FSMC_D0---FSMC_D15和LCD的D1-D8 D10-D17相互连接,触摸屏接口采用SPI1接口,片选为PB7-SPI1-CS3,由于LCD背光采用恒流源芯片PT4101控制,采用了PWM控制信号控制背光的明暗, PWM信号由PD13-LIGHT-PWM来控制。触摸电路的中断申请线由PB6-7846-INT接收。 LCD寄存器地址为:0x6000 0000, LCD数据区地址:0x6002 0000。

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

课程设计 ——基于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+/-使用。

基于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、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的

GD STM32F407开发板介绍

金龙电子工作室GD STM32F407开发板 板载:USB转串口,以太网,USB OTG,SD卡座(SDIO接口),摄像头OV7670(DCMI接口),I2S音频,2.8寸液晶屏(FSMC接口),SPI FLASH,加数度传感器等硬件资源。 主芯片:STM32F407VGT6,100PIN,Cortex-M4处理器最高运行频率为168MHz 1 Mbyte Flash 192+4 Kbyte SRAM 支持片外Flash, SRAM, PSRAM, NOR及NAND Flash 8080/6800 模式的LCD接口 USB 2.0 high-speed/full-speed device/host/OTG 10/100 Ethernet MAC 硬件IEEE 1588v2 2 CAN(2.0B Active) 4 UART 3 SPI 最高30 Mbit 2 IIS 8- to 14-bit摄像头接口最高48 Mbyte/s 1-bit (default), 4-bit and 8-bit SD/SDIO MMC card 12-bit 0.5μs A/D 12-bit D/A

17 timers 最高120MHz的计数频率 I/O最高频率为60MHz ISP及IAP编程 407板载资料 1.主芯片:STM32F407VGT6,100PIN 2.以太网功能(PHY:DM9161AEP) 3.2.8寸彩屏模块(FSMC总线方式),带加速度传感器 4.摄像头OV7670(配套) 5.JTAG 20PIN标准下载口 6.MICRO SD卡接口(SDIO方式) https://www.doczj.com/doc/467349911.html,B OTG主从设备接口 https://www.doczj.com/doc/467349911.html,B转串口(PL2303HX),可用USB下载程序,做串口实验 9.RTC电池座 10.I2S音频DA,支持WAV播放

数字电压表设计课程设计

东北石油大学课程设计 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 数字电压表系统设计方案

基于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图形语言环境下设计的虚拟电压表主要分为两个部分:第一部分是虚拟电压表前面板的设计;第二部分是虚拟电压表流程图的设汁。

STM32F429开发板用户手册

STM32F429开发板用户手册 介绍 STM32F429(32F429IDISCOVERY)开发板可以帮助你去学习高性能STM32F4系列,并去开发你自己的应用。它包含了一个STM32F429ZIT6和一个嵌入ST-LINK/V2调试接口,2.4吋TFTLCD,64MbitsSDRAM,ST微机电陀螺仪,按键和USB OTG接口。

1约定 下表提供了一些约定惯例,目前的文档可能会用到。

2快速入门 STM32F429开发板是一种廉价且易于上手的开发套件,可以让使用者快速评估和开始STM32F4的开发工作。 在安装和使用产品以前,请接收评估产品许可协议。 2.1启动 跟随以下顺序来设置STM32F429开发板并开始开发应用: 1、确认跳线JP3和CN4被设置为“on”(开发模式) 2、连接STM32F429Discovery开发板CN1到PC,使用USB电缆(type A/mini-B),开发板上电。 3、屏幕上以下应用可用: 时钟日历和游戏 视频播放器和图片浏览器(播放浏览USB大容量存储器上的视频和图片)性能显示器(观察CPU负载和图形测试) 系统信息 4、演示软件,也像其他软件例程,运行你用来开发STM32F4。 5、从例程开始开发你自己的应用吧。 2.2系统要求 ?Windows PC(XP,Vista,7) ?USB type A to mini-B cable 2.3支持STM32F429开发板的开发工具 ?Altium:TASKING?VX-Toolset ?Atollic:TrueSTUDIO ?IAR:EWARM ?Keil?:MDK-ARM 2.4订购码 要订购STM32F429Discovery kit,请使用STM32F429I-DISCO订购码。 3特性 STM32F429Discovery开发板提供一下特性: ?S TM32F429ZIT6具有2MB闪存,256KB的RAM,LQFP144封装。 ?板载ST-LINK/V2,带有选择模式跳线,可以作为独立的ST-LINK/V2使用。 ?板电源:通过USB总线或外部3V或5V电源。 ?L3GD20:ST微机电动作传感器,3轴数字输出陀螺仪 ?TFT LCD,2.4寸,262K色RGB,240*230分辨率 ?SDRAM64Mbits(1Mbit x16-bit x4-bank),包含自动刷新模式和节能模式 ?六个LED: LD1(红绿):USB通信 LD2(红):3.3V电源 两个用户LED LD3(绿),LD4红 两个USBOTG LED:LD5(绿)VBUS和LD6OC(过流) ?两个按键(user and reset)

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

电子制作课程考核报告 课程名称简易数字直流电压表的设计 学生姓名贾晋学号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 显示结果及误差分析 ........................................................ 结论................................................................................................. 参考文献........................................................................................... 附录...................................................................................................

STM32 开发板的介绍

STM32 开发板的介绍 STM32的开发板硬件资源如下: 1、STM32F103RBT6 TQFP64 FLASH:128K SRAM:20K; 2、MAX232通讯口可用于程序代码下载和调试实验; 3、SD卡接口; 4、RTC后备电池座; 5、两个功能开关; 6、复位连接; 7、两个状态灯; 8、所有I/O输出全部引用; 9、USB接口、可用于USB与MCU通讯实验; 10、标准的TJAG/SWDT仿真下载; 11、BOOT0 BOOT1Q启动模式; 12、电源开关; 13、电源指示灯

STM32开发板硬件详解 1、MCU部分原理图 该开发板采用3.3V工作电压,几个耦合电容使系统更加稳定。系统工作频率8M晶振、时钟频率32.768。 这里STM32的VBAT采用CR1220纽扣电池和VCC3.3混合供电方式,在有外部电源(VCC3.3)的时候,CR1220不给VBAT供电,而在外部电源断开的时候,则由CR1220给VBAT供电。这样,VBAT 总是有电的,以保证RTC的走时以及后备寄存器的内容不丢失。2、启动模式电路图 上图中的BOOT1用于设置STM32的启动方式,其对应启动模式如下表所示

PCB板标志图解如下: 3、TJAG电路 4、LED状态灯原理图 两个LED状态灯,其中LED0接在PA8、LED1接在PD2。 5、SD卡原理图

SD卡我们使用的是SPI1模式通讯,SD卡地SPI接口连接到STM32的SPI1上,SD-CS接在PA3上,MOSI接MCU PA7(MOSI)、SCK 接在MCU PA5(SCK)、MIS0接在MCU PA6(MIS0). 6、按键原理图 KEY1和KEY2用作普通按键输入,分别接在PA13和PA15上,

实验四 基于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。

数字电压表设计

《单片机课程设计》设计报告 设计题目: 姓名: 设计时间:2010-12-28 备注:

目录 1.引言 (2) 2.概述··2 2.1实验要求 (2) 2.2实验目的 (2) 2.3 实验器材 (2) 3.总体设计方案 (3) 3.1系统的总体结构 (3) 3.2芯片的选择 (4) 3.3 ADC0809 的主要性能指标 (4) 4.硬件电路设计 (6) 4.1 AT89S52 单片机最小系统 (6) 4.2 ADC0809 与AT89S52 单片机接口电路设计 (6) 4.3显示电路与AT89S52 单片机接口电路设计 (6) 5.软件设计 (7) 5.1 主程序图 (7) 5.2 ADC0809 电压采集程序框图 (8) 5.3显示程序框图 (9) 6.调试与测量结果分析 (10) 6.1实验系统连线图 (11) 6.2程序调试 (12) 6.3 仿真结果 (13) 6.4 实验结果分析 (14) 7.程序清单和系统原理图 (15) 7.1程序清单 (15) 7.2 系统原理图 (16) 8.实验总结和实验收获 (17)

1.引言 本次课程设计要求完成是数字电压表的设计,随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量 最为普遍。本次课程设计我们小组xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx该电路设计新颖、功能强大、可 扩展性强。 实验报告首先简要介绍了设计数字电压表的实验要求和目的;根据要求和目的设计出直流数字电压表的系统结构流程,以及硬件系统和软件系统的设计,并给出了硬件电路的设计细节,以及调试和仿真结果。最后进行了实验和心得体会的总结。 通过完成一个包括电路设计和程序开发的完整过程,使自身了解开发单片机应用系统的全过程,强化巩固所学知识,为以后的学习和工作打下基础。 2.概述 2.1实验要求 采用ADC0809 和AT89S52 单片机及显示电路完成0~5V 直流电压的检测 2.2实验目的 (1)进一步熟悉和掌握单片机的结构和工作原理; (2)掌握单片机的借口技术及,ADC0809芯片的特性,控制方法;(3)通过这次实训设计,掌握以单片机为核心的电路设计的基本

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