STM32程序设计(跑马灯)以及STM32原理图绘制(通过ad软件)
STM32程序設計以及原理圖繪制
- STM32跑馬燈程序設計及仿真
- 1、創建新的項目
- 2、選擇stm32f103r6
- 3、主程序:
- 4、led.c程序
- 5、proteus電路圖設計
- 6、注意事項:
- 6.1:選擇Design
- 6.2:選擇power rail configuration
- 6.3:將vss、vdda添加到右邊
- 6.4:退出界面后雙擊32單片機
- 7、添加HEX文件:
- 8、運行結果:
- 9、總結:
- STM32原理圖繪制
- 1、下載安裝AD軟件
- 2、進入AD軟件
- 3、新建項目:
- 4、創建原理圖
- 5、創建原理圖庫
- 6、添加STM32元件庫
- 6.1 選擇AD界面右下角panels
- 6.2選擇components
- 6.3點擊右邊三條橫杠
- 6.4將元件庫復制到文件夾中
- 6.5退出文件夾界面后添加、安裝元件庫
- 7、繪制原理圖
- 8、繪制小技巧:
- 9、編譯執行:
- 9.1 run
- 9.2編譯成功
- 10、小總結:
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);//延時500msGPIO_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滅} } }實現功能:能使得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); }目的:初始化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的繪制,這個比較費眼睛,但是學習這個過程充滿了樂趣,當你編譯成功的那一刻,真正感受到了喜悅,但是對于原理圖,我還得線下需要花一些更多的時間去學習研究具體原理。
總結
以上是生活随笔為你收集整理的STM32程序设计(跑马灯)以及STM32原理图绘制(通过ad软件)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c 的word转为html5,word与
- 下一篇: js的原型和原型链