STM32F103 +PROTEUS 8.6 之GPIO 仿真。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- #include "stm32f10x.h"
- #include "led.h"
- void RCC_Configuration(void);
- void Delay(u32 count)
- {
- u32 i=0;
- for(;i<count;i++);
- }
- int main(void)
- {
- RCC_Configuration(); // 时钟配置
- GPIO_Configuration();
-
- while(1)
- {
-
- GPIO_ResetBits(GPIOB,GPIO_Pin_5);
-
- Delay(3000000);
- GPIO_SetBits(GPIOB,GPIO_Pin_5);
-
- Delay(3000000);
-
-
- }
- }
- void RCC_Configuration(void)
- {
- ErrorStatus HSEStartUpStatus;
- RCC_DeInit();
- RCC_HSEConfig(RCC_HSE_ON);
- HSEStartUpStatus = RCC_WaitForHSEStartUp();
- if(HSEStartUpStatus == SUCCESS)
- {
-
- RCC_HCLKConfig(RCC_SYSCLK_Div1);
- RCC_PCLK2Config(RCC_HCLK_Div1);
- RCC_PCLK1Config(RCC_HCLK_Div2);
- FLASH_SetLatency(FLASH_Latency_2);
- FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
-
- RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
-
- RCC_PLLCmd(ENABLE);
-
- while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
-
- RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
-
- while(RCC_GetSYSCLKSource() != 0x08);
- }
-
-
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
-
- }
复制代码
所有资料51hei提供下载:
stm32_gpio_jude.7z
(191.96 KB, 下载次数: 50)
|