当前位置:   article > 正文

STM32程序设计(跑马灯)以及STM32原理图绘制(通过ad软件)_ad画好原理图怎么写程序

ad画好原理图怎么写程序

STM32跑马灯程序设计及仿真

1、创建新的项目

在这里插入图片描述

2、选择stm32f103r6

选择r6的原因是新版proteus中自带r6的元件库,如果选择ZET6还需要另外在proteus安装库文件,具体可以去proteus官网搜索STM32库
在这里插入图片描述

3、主程序:

#include "stm32f10x.h" 
#include  "led.h"
#include   "stdio.h"
void Delay(u16 t)
{
 u32 i;
 while(t--)
  for(i=1;i<1000;i++);
}
int main(void) 
{ 
int i;  
LED_Init();//初始化LED
while(1)
{  
	GPIO_ResetBits(GPIOC,GPIO_Pin_0);//让PC_0口输出为低电平,从而使灯0亮
	Delay(200);//延时500ms

	GPIO_SetBits(GPIOC,GPIO_Pin_0);//灯0灭
	GPIO_ResetBits(GPIOC,GPIO_Pin_1);//灯1亮
	Delay(200);

	GPIO_SetBits(GPIOC,GPIO_Pin_1);//灯1灭
	GPIO_ResetBits(GPIOC,GPIO_Pin_2);//灯2亮
	Delay(200);

	GPIO_SetBits(GPIOC,GPIO_Pin_2);//灯2灭
	GPIO_ResetBits(GPIOC,GPIO_Pin_3);//灯3亮
	Delay(200);

	GPIO_SetBits(GPIOC,GPIO_Pin_3);//灯3灭
	GPIO_ResetBits(GPIOC,GPIO_Pin_4);//灯4亮
	Delay(200);

	GPIO_SetBits(GPIOC,GPIO_Pin_4);//灯4灭
	GPIO_ResetBits(GPIOC,GPIO_Pin_5);//灯5亮
	Delay(200);

	GPIO_SetBits(GPIOC,GPIO_Pin_5);//灯5灭
	GPIO_ResetBits(GPIOC,GPIO_Pin_6);//灯6亮
	Delay(200);

	GPIO_SetBits(GPIOC,GPIO_Pin_6);//灯6灭
	GPIO_ResetBits(GPIOC,GPIO_Pin_7);//灯7亮
	Delay(200);

	GPIO_SetBits(GPIOC,GPIO_Pin_7);//灯7灭
	Delay(200);

	GPIO_ResetBits(GPIOC,GPIO_Pin_0|GPIO_Pin_1);//灯0、1亮
	Delay(200);

	GPIO_SetBits(GPIOC,GPIO_Pin_0|GPIO_Pin_1);//灯0、1灭
	GPIO_ResetBits(GPIOC,GPIO_Pin_2|GPIO_Pin_3);//灯2、3亮
	Delay(200);

	GPIO_SetBits(GPIOC,GPIO_Pin_2|GPIO_Pin_3);//灯2、3灭
	GPIO_ResetBits(GPIOC,GPIO_Pin_4|GPIO_Pin_5);//灯4、5亮
	Delay(200);

	GPIO_SetBits(GPIOC,GPIO_Pin_4|GPIO_Pin_5);//灯4、5灭
	GPIO_ResetBits(GPIOC,GPIO_Pin_6|GPIO_Pin_7);//灯6、7亮
	Delay(200);
	GPIO_SetBits(GPIOC,GPIO_Pin_6|GPIO_Pin_7);//灯6、7灭
	for(i=0;i<=3;i++)
	{
		GPIO_ResetBits(GPIOC,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3);//灯0、1、2、3亮
		Delay(100);

		GPIO_SetBits(GPIOC,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3);//灯0、1、2、3灭
		GPIO_ResetBits(GPIOC,GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);//灯4、5、6、7亮
		Delay(100);

		GPIO_SetBits(GPIOC,GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);//灯4、5、6、7灭
	}
}
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78

实现功能:能使得led灯先一个一个闪烁,后面两个一起依次闪烁,最后四个一起闪烁。

4、led.c程序

void LED_Init(void)
{
 
	GPIO_InitTypeDef  GPIO_InitStructure;
	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);
	GPIO_SetBits(GPIOC,GPIO_Pin_0 | GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

目的:初始化IO口,使能IO口时钟,调整IO口输出频率,设置IO口输出方式,初始化IO口输出方式。
运行前记得点击魔法棒
在这里插入图片描述
选择output
在这里插入图片描述
选择创建HEX文件
然后运行,这样就可以生成proteus可以执行的文件。

5、proteus电路图设计

在这里插入图片描述

6、注意事项:

6.1:选择Design

在这里插入图片描述

6.2:选择power rail configuration

在这里插入图片描述

6.3:将vss、vdda添加到右边

在这里插入图片描述

6.4:退出界面后双击32单片机

在这里插入图片描述
将所圈的地方改为72MHZ

7、添加HEX文件:

在这里插入图片描述

8、运行结果:

在这里插入图片描述

9、总结:

STM32程序开发相对51来说更加的方便,很多程序在商家层面就将程序封装好了,很多只需要调用即可,通过这次程序设计,我收益颇多,感觉32的学习也还行,没有想象中的那么困难。

STM32原理图绘制

1、下载安装AD软件

因为我之前就安装好了,具体过程可以搜索阿虚同学,找到计算机常用软件,软件管家会告诉你安装过程
直接上链接: 点击我
阿虚同学还有更多丰富的资料。大家也可以多多去看看
在这里插入图片描述

2、进入AD软件

在这里插入图片描述

3、新建项目:

在文件里选择新的,然后选择新的项目
在这里插入图片描述

4、创建原理图

同样在文件里选择新的,选择原理图

5、创建原理图库

同样咋文件里选择新的,选择库,在选择原理图库
在这里插入图片描述

6、添加STM32元件库

6.1 选择AD界面右下角panels

在这里插入图片描述

6.2选择components

在这里插入图片描述

6.3点击右边三条横杠

步骤如下:
在这里插入图片描述

6.4将元件库复制到文件夹中

在这里插入图片描述

6.5退出文件夹界面后添加、安装元件库

在这里插入图片描述

7、绘制原理图

元件在components中,相隔的线可以用直尺选项
在这里插入图片描述
作线。
在这里插入图片描述

8、绘制小技巧:

1、先将所有元件找到并放入图中,最后连线。
2、一开始可以不用写元件号,最后一步添加,步骤如下
选择工具----->选择标注----->选择原理图标注
在这里插入图片描述
可以快速一件更新
3、封装可以将所有图画好后进行封装。

9、编译执行:

9.1 run

选择需要编译的原理图,然后点击run
在这里插入图片描述

9.2编译成功

在这里插入图片描述

10、小总结:

总的来说AD绘制原理图比较费时间,STM32最小系统板的原理图网上资源很多,但是具体原理还需要深入研究,还有PCB的绘制,这个比较费眼睛,但是学习这个过程充满了乐趣,当你编译成功的那一刻,真正感受到了喜悦,但是对于原理图,我还得线下需要花一些更多的时间去学习研究具体原理。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/164392
推荐阅读
相关标签
  

闽ICP备14008679号