基于STM32的AD采样电压转换二进制LED灯显示proteus仿真

硬件设计

链接:https://pan.baidu.com/s/1Ng-Rf9eY0St2mFXAZmkZ3g
提取码:jpng

仿真图如下所示:

在这里插入图片描述

程序设计

#include "stm32f10x.h"
#include "usart1.h"
#include "adc.h"
#include "stdio.h"
#include "led.h"

float temp;
int main(void)
{ 
	GPIO_Led_Config();
  ADC1_GPIO_Config();
  ADC_Config();
	while(1)
	{		
    int a,b,c,d,e,f,g,h,i,j,k,l,m;			
			 ADCConvertedValue=ADC_GetConversionValue(ADC1);
//			 temp=(float)ADCConvertedValue*(3.3/4096);	 
		a=ADCConvertedValue;
	b=a%2;
	c=(a/2)%2;
	d=(a/4)%2;
	e=(a/8)%2;
	f=(a/16)%2;
	g=(a/32)%2;
	h=(a/64)%2;
	i=(a/128)%2;
	j=(a/256)%2;
	k=(a/512)%2;
	l=(a/1024)%2;
	m=(a/2048)%2;
	
if(b==1)	
	GPIO_SetBits(GPIOB,GPIO_Pin_1);
else
	GPIO_ResetBits(GPIOB,GPIO_Pin_1);
if(c==1)	
	GPIO_SetBits(GPIOB,GPIO_Pin_2);
else
	GPIO_ResetBits(GPIOB,GPIO_Pin_2);
if(d==1)	
	GPIO_SetBits(GPIOB,GPIO_Pin_3);
else
	GPIO_ResetBits(GPIOB,GPIO_Pin_3);
if(e==1)	
	GPIO_SetBits(GPIOB,GPIO_Pin_4);
else
	GPIO_ResetBits(GPIOB,GPIO_Pin_4);
if(f==1)	
	GPIO_SetBits(GPIOB,GPIO_Pin_5);
else
	GPIO_ResetBits(GPIOB,GPIO_Pin_5);
if(g==1)	
	GPIO_SetBits(GPIOB,GPIO_Pin_6);
else
	GPIO_ResetBits(GPIOB,GPIO_Pin_6);
if(h==1)	
	GPIO_SetBits(GPIOB,GPIO_Pin_7);
else
	GPIO_ResetBits(GPIOB,GPIO_Pin_7);
if(i==1)	
	GPIO_SetBits(GPIOB,GPIO_Pin_8);
else
	GPIO_ResetBits(GPIOB,GPIO_Pin_8);
if(j==1)	
	GPIO_SetBits(GPIOB,GPIO_Pin_9);
else
	GPIO_ResetBits(GPIOB,GPIO_Pin_9);
if(k==1)	
	GPIO_SetBits(GPIOB,GPIO_Pin_10);
else
	GPIO_ResetBits(GPIOB,GPIO_Pin_10);
if(l==1)	
	GPIO_SetBits(GPIOB,GPIO_Pin_11);
else
	GPIO_ResetBits(GPIOB,GPIO_Pin_11);
if(m==1)	
	GPIO_SetBits(GPIOB,GPIO_Pin_12);
else
	GPIO_ResetBits(GPIOB,GPIO_Pin_12);
	}
}
	

.

.

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Proteus仿真软件是一款广泛应用于电子电路设计和嵌入式系统开发的工具。在使用Proteus进行仿真时,可以使用STM32微控制器进行信号采集和处理。 STM32微控制器是一系列基于ARM Cortex-M处理器核心的嵌入式系统开发平台。其中,ADC(模数转换器)是STM32微控制器的一项重要功能,可以用于采集外部设备输入的模拟信号并转换为数字信号。 在Proteus中,可以通过建立电路原理图并添加STM32微控制器以及其他外部设备,来模拟ADC电压采集的过程。可以根据具体的需要设置ADC的引脚连接和采样率等参数。然后,在仿真过程中,可以向ADC输入一个模拟的电压信号,并通过仿真引擎模拟ADC转换过程。 虚拟串口输出是指将虚拟信息通过串口进行输出。在STM32微控制器中,可以使用串口通信模块来与外部设备进行数据传输。在Proteus中,可以创建一个虚拟串口,并将其连接到STM32的串口引脚上。在仿真过程中,可以通过读取STM32串口的输出数据,来获取模拟电压采集结果。通过配置虚拟串口的波特率和其他通信参数,可以模拟实际串口通信的过程。 总之,Proteus仿真基于STM32 ADC电压采集的过程可以通过建立电路原理图、设置ADC参数、模拟输入电压信号、以及配置虚拟串口进行输出数据的方式来实现。这样可以方便地进行电路设计和嵌入式系统开发的测试和验证。 ### 回答2: Protues是一款常用的电子电路仿真软件,可以帮助工程师进行原理图绘制、仿真以及PCB设计等工作。在使用Protues进行基于STM32ADC电压采集仿真时,我们可以通过配置模拟信号源来模拟外部电压输入。首先,我们需要在原理图中将STM32的引脚与ADC模块进行连接,确保正确接入。然后,我们可以选择一个适当的电压源,将其连接到要采集的ADC引脚上,模拟外部电压输入。 在设置完电路连接后,我们需要对STM32ADC模块进行配置。通过设置寄存器的值,我们可以确定ADC的工作模式、采样位数、采样率等参数。在仿真时,我们可以通过逐个改变输入电压的值,来模拟实际环境下的电压变化情况。这样,我们可以通过仿真结果来验证ADC的正确性和准确性。 而关于虚拟串口输出,我们可以通过在原理图中添加虚拟串口模块来模拟串口通讯。虚拟串口模块可以实现从STM32芯片读取数据或向STM32芯片发送数据的功能。在仿真时,我们可以通过设置虚拟串口模块的参数,模拟串口的波特率、数据位、停止位等设置。通过虚拟串口输出模块,我们可以将ADC采集到的数据输出到虚拟串口,并观察输出结果,以验证ADC采集功能的正确性。 总之,通过在Protues中进行基于STM32ADC电压采集仿真,并通过虚拟串口输出模块实现数据输出,我们可以模拟出真实环境中的电路行为,并验证ADC采集功能的正确性。这种仿真方式可以帮助工程师快速调试和验证电路设计,提高工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值