找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 24682|回复: 0
收起左侧

Proteus8.9 VSM Studio Keil编译器仿真STM32F103R6系列011_lcd1602并口

[复制链接]
ID:371233 发表于 2020-5-10 23:45 | 显示全部楼层 |阅读模式
一,打开文件(可以随文下载放置在文档中打开)。(如下图1所示)
1.png
图1

二,调整原理图大小,适合可视,另存工程文件。(如下图2,3,4所示)
2.png
图2

3.png
图3

4.png
图4

三,点击Source Code标签。(如下图5所示)
5.png
图5

四,编辑main.c 代码如Proteus8.9 VSM Studio Keil编译器仿真STM32F103R6系列011_lcd1602并口(如下图6所示)
6.png
图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(); //时钟设置
    RCC_GetClocksFreq(&RCC_Clocks);

        USART1_Init(57600); //串口初始化(参数是波特率)

       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转换!\r\n");
                        for(l=0; l<50000; l++) delay_ms(1);
                        LED1=~LED1;
                   printf("LED1转换!\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


六,点击构建工程按钮,编译工程。(如下图7所示)
7.png
图7

七,点击窗口左下方仿真按钮,可见lcd1602和虚拟串口的信息显示在屏。 (如下图8,9,10所示)
8.png
图8

9.png
图9
10.png
图10


八,选择release,点击构建工程按钮,编译工程生成Hex文件。(如下图11所示)
11.png
图11


附件Proteus8.9 VSM Studio Keil编译器仿真STM32F103R6系列011_lcd1602并口在已安装Proteus8.9的计算机文件夹中打开即可
需要进一步了解,请加入QQ群:976235464


Keil_STM32F103RT6_011_lcd1602并口pt.rar

827.52 KB, 下载次数: 27, 下载积分: 黑币 -5

附件Proteus8.9 VSM Studio Keil编译器仿真STM32F103R6系列011_lcd1602并口在已安装Proteus8.9的计算机文件 ...

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表