Proteus仿真STM32的学习与方法
proteus工程创建以及keil5的的配置
一、创建一个实验工程
1.点击创建新工程,输入工程名、安装路径
2.选中下列选项
3.选择不创建PCB布版设计。
4.选择创建固件项目,依次选择Cortex-M3,STM32F103R6,点击下一步,然后创建成功。
二、配置实验所需原件
1.完成创建后,显示自己所选的芯片。
2.添加实验所需灯,点击左边P,搜索框输入LED- 设定你想选择颜色的灯,实验中选的是红色,然后点左下角OK完成添加。
3.继续点击左边P,添加电阻,找到RES选中并添加它。
4.将灯和电阻分别添加到原理图,并按照下图摆放,设置电阻阻值为50。
三、进入keil 5中,生成所需的HEX文件。
1.首先创建一个stm32工程文件
2.再进行配置,创建一个信文件,把主函数放进去。
#include "stm32f10x.h"
GPIO_InitTypeDef GPIO_InitStructure;
void delay_ms(uint32_t ms)
{
uint32_t i_cnt,j_cnt;
for(i_cnt=0;i_cnt<3000;i_cnt++);
for(j_cnt=0;j_cnt<ms;j_cnt++);
}
uint32_t i;
int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIOC->BSRR=0xff;
while (1)
{
for(i=0;i<8;i++)
{
delay_ms(99000);
GPIOC->BRR=(1<<i);
delay_ms(99000);
GPIOC->BSRR=(1<<i);
}
for(i=0;i<8;i++)
{
delay_ms(99000);
GPIOC->BRR=0x000000ff;
delay_ms(99000);
GPIOC->BSRR=0x000000ff;
}
}
}
3.接着右键target1,把生成hex文件勾上
四、在proteus中运行
双击芯片打开并添加hex文件
下面是运行仿真图
五、总结
通过这次实践,再次加深了对keil5和proteus的理解与运行,在实践过程中还遇到了一些库文件错误和缺少等,但通过网上方法解决了这些问题。