標(biāo)題: Proteus8.9 VSM Studio Keil編譯器仿真STM32F103R6系列011_lcd1602并口 [打印本頁(yè)]

作者: kaillen    時(shí)間: 2020-5-10 23:45
標(biāo)題: Proteus8.9 VSM Studio Keil編譯器仿真STM32F103R6系列011_lcd1602并口
一,打開(kāi)文件(可以隨文下載放置在文檔中打開(kāi))。(如下圖1所示)

圖1

二,調(diào)整原理圖大小,適合可視,另存工程文件。(如下圖2,3,4所示)

圖2


圖3


圖4

三,點(diǎn)擊Source Code標(biāo)簽。(如下圖5所示)

圖5

四,編輯main.c 代碼如Proteus8.9 VSM Studio Keil編譯器仿真STM32F103R6系列011_lcd1602并口(如下圖6所示)

圖6

五,Main.c 代碼:

#include "delay.h"
#include "usart.h"
#include "led.h"
#include "lcd1602.h"

int main(void)
{
        u16 l;
        RCC_ClocksTypeDef     RCC_Clocks; //初始化程序
        RCC_Configuration(); //時(shí)鐘設(shè)置
    RCC_GetClocksFreq(&RCC_Clocks);

        USART1_Init(57600); //串口初始化(參數(shù)是波特率)

       LED_Init();                     //初始化LED端口 if(USART_RX_STA&0x8000)
       GPIOSt_Init();
                GPIOB->ODR= (0xff<<8);
                lcd_init();

        for(l=0; l<5000; l++) delay_ms(1);      
       LED0=1;
                printf("LED0燈亮!\r\n");
       LED1=0;
                printf("LED1燈滅!\r\n");
       while(1)
       {                        
                        LClear();
                        for(l=0; l<5000; l++) delay_ms(1);
                        ShowStr(1, 0, "Kaillen Work", 12);
                        ShowStr(2, 1, "Wellcom YOU!", 12);
                        for(l=0; l<50000; l++) delay_ms(1);
                        LED0=~LED0;
                   printf("LED0轉(zhuǎn)換!\r\n");
                        for(l=0; l<50000; l++) delay_ms(1);
                        LED1=~LED1;
                   printf("LED1轉(zhuǎn)換!\r\n");
                        LClear();
                        for(l=0; l<5000; l++) delay_ms(1);
                        ShowStr(1, 0, "Code Made", 9);
                        ShowStr(2, 1, "---Ziegler Yin", 14);
                        for(l=0; l<50000; l++) delay_ms(1);
     }
}
Lcd1602.h:
#ifndef _LCD1602_H_
#define _LCD1602_H_

#include "delay.h"

void GPIOSt_Init(void);
void delay(int z);
void WaitReady(void);
void write_com(u8 com);
void write_data(u8 dat );
void SetCursor(u8 x, u8 y);
void ShowStr(u8 x, u8 y, char *str, u8 len);
void ShowChar(u8 x, u8 y, char str);
void lcd_init(void);
void LClear(void);

#endif


六,點(diǎn)擊構(gòu)建工程按鈕,編譯工程。(如下圖7所示)

圖7

七,點(diǎn)擊窗口左下方仿真按鈕,可見(jiàn)lcd1602和虛擬串口的信息顯示在屏。 (如下圖8,9,10所示)

圖8


圖9

圖10


八,選擇release,點(diǎn)擊構(gòu)建工程按鈕,編譯工程生成Hex文件。(如下圖11所示)

圖11


附件Proteus8.9 VSM Studio Keil編譯器仿真STM32F103R6系列011_lcd1602并口在已安裝Proteus8.9的計(jì)算機(jī)文件夾中打開(kāi)即可
需要進(jìn)一步了解,請(qǐng)加入QQ群:976235464


Keil_STM32F103RT6_011_lcd1602并口pt.rar

827.52 KB, 下載次數(shù): 28, 下載積分: 黑幣 -5

附件Proteus8.9 VSM Studio Keil編譯器仿真STM32F103R6系列011_lcd1602并口在已安裝Proteus8.9的計(jì)算機(jī)文件 ...






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1