一, 打開模板文件(可以隨文下載放置在文檔中打開)。(如下圖1所示)
1.png (370.04 KB, 下載次數: 87)
下載附件
2020-4-11 18:19 上傳
圖1 二,另存工程文件,添加虛擬仿真USART。(如下圖2,3所示)
2.png (137.12 KB, 下載次數: 82)
下載附件
2020-4-11 18:19 上傳
圖2
3.png (136.66 KB, 下載次數: 74)
下載附件
2020-4-11 18:19 上傳
圖3 三,點擊Source Code標簽。(如下圖4所示)
4.png (95.64 KB, 下載次數: 73)
下載附件
2020-4-11 18:19 上傳
圖4 四,編輯main.c代碼。Led.c, led.h 代碼如Proteus8.9 仿真STM32407ZGT6系列001(如下圖5所示)
5.png (95.64 KB, 下載次數: 78)
下載附件
2020-4-11 18:19 上傳
圖5 五,Main.c 代碼: #include "stm32f4xx_conf.h" #include "sys.h" #include "delay.h" #include "usart.h" #include "led.h" #define Oppsit(A) (A!=0)?0:1 u8 i, t=0; u8 str[6][17]={ "紅燈亮!!!...\r\n", "紅亮滅!!!...\r\n", "黃燈亮!!!...\r\n", "黃亮滅!!!...\r\n", "綠燈亮!!!...\r\n", "綠亮滅!!!...\r\n", }; int main (void) { NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置系統中斷優先級分組2 delay_init(168); //初始化延時函數 uart_init(9600); //串口初始化 LED_Init(); //初始化LED端口 if(USART_RX_STA&0x8000) while(1) { for(i=0; i<6; i++){ PCout((i/2+1))=Oppsit((i%2)); for(t=0;t<16;t++){ USART_SendData(USART1,(u16) str[ i][t]); while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET); } delay_ms(500); } } } 六,點擊構建工程按鈕,編譯工程。(如下圖6所示)
6.png (93.94 KB, 下載次數: 87)
下載附件
2020-4-11 18:19 上傳
圖6 七,點擊窗口左下方仿真按鈕,可見紅黃綠燈每個0.5s跳閃仿真,USART虛擬串口仿真顯示。(如下圖7,8,9所示)
7.png (141.06 KB, 下載次數: 71)
下載附件
2020-4-11 18:19 上傳
圖7
8.png (162.16 KB, 下載次數: 67)
下載附件
2020-4-11 18:19 上傳
圖8
9.png (143.23 KB, 下載次數: 74)
下載附件
2020-4-11 18:19 上傳
圖9 八,選擇release,點擊構建工程按鈕,編譯工程生成Hex文件。(如下圖10所示)
10.png (94.9 KB, 下載次數: 71)
下載附件
2020-4-11 18:19 上傳
圖10 九,筆者準備的是普中F407ZGT6的核心板,通過普中自動下載軟件將Proteus VSM Studio生成的Hex文件下載到開發板上。可見開發板連接的紅黃綠燈模塊每個0.5s紅黃綠燈跳閃,電腦串口將單片機紅黃綠等亮滅情況打印顯示。(如下圖11,12,13,14所示)
11.png (519.94 KB, 下載次數: 79)
下載附件
2020-4-11 18:19 上傳
圖11
12.png (438.34 KB, 下載次數: 67)
下載附件
2020-4-11 18:19 上傳
圖12
13.png (424.93 KB, 下載次數: 65)
下載附件
2020-4-11 18:19 上傳
圖13
14.png (426.64 KB, 下載次數: 75)
下載附件
2020-4-11 18:19 上傳
圖14 . 附件Proteus8.9 仿真STM32407ZGT6系列基礎模板t00在已安裝Proteus8.9的計算機文件夾中打開即可。 |