基于Proteus仿真stm32—流水灯新手教程
·
导语
注意看自己选择的芯片型号,我这里选择的是stm32F103C6T6,同时Proteus的版本应该下载尽量新的版本,版本过低可能没有stm32系列的芯片。接下来是具体配置和实现过程。
配置GPIO
我这里选择的是GPIOA,配置GPIO首先需要使能时钟,让它工作,在初始化即可下面是配置代码
void Led_liushui_Init(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP ;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_All ;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
}在配置好我们的GPIO后,我们可以阅读GPIO的库函数,找到我们所需要的功能函数,来进行GPIO的基本使用,我们进行流水灯可以借助下面这个函数,它可以同时对你所选择的GPIO进行位操作,实现流水灯效果。
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);我操作它的低八位来进行流水灯的展示。
void Led_Liushui_state(void)
{
GPIO_Write (GPIOA,~0x0001);
Delay_ms(5000);
GPIO_Write (GPIOA,~0x0002);
Delay_ms(5000);
GPIO_Write (GPIOA,~0x0004);
Delay_ms(5000);
GPIO_Write (GPIOA,~0x0008);
Delay_ms(500);
GPIO_Write (GPIOA,~0x0010);
Delay_ms(500);
GPIO_Write (GPIOA,~0x0020);
Delay_ms(500);
GPIO_Write (GPIOA,~0x0040);
Delay_ms(500);
GPIO_Write (GPIOA,~0x0080);
Delay_ms(500);
}2.Proteus
我们打开软件,进行新建原理图即可,然后我们点击下图中画红圈的元器件模式,添加和选择我们所需要的元器件,画绿圈为终端模式,里面会有一些常用的电源或者地等等。

添加好元器件后我们进行连线,我一般采用端子连线,这样比较美观和方便。连线如下,proteus会帮我们最小系统需要的电路自动配置好,所以我们只需要连接自己想要实现的电路即可,上边那个Led是用来看仿真有没有跑起来的。

用stm系列需要注意配置一下电源设置,点击配置供电网,点开后看左边有未连接的,到增加到右边,上面有GND和VCC选择,选择VCC改为3.3V,stm32的工作电压。


3.添加keil程序
我们双击单片机会出现如下界面,我们点击图中的文件夹,去到我们存放hex文件的地方,添加进来,选择晶振8MHZ,然后开始仿真,就可以看到仿真现象了。

到此,我们的流水灯新手教程就结束了。
更多推荐



所有评论(0)