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

一,打开文件(可以随文下载放置在文档中打开)。(如下图1所示)

Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列011_lcd1602并口_第1张图片

图1

二,调整原理图大小,适合可视,另存工程文件。(如下图2,3,4所示)
Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列011_lcd1602并口_第2张图片
图2

Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列011_lcd1602并口_第3张图片
图3

Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列011_lcd1602并口_第4张图片
图4

三,点击Source Code标签。(如下图5所示)
Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列011_lcd1602并口_第5张图片
图5

四,编辑main.c 代码如Proteus8.9 Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列011_lcd1602并口(如下图6所示)
Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列011_lcd1602并口_第6张图片
图6

五,Main.c 代码:

#include
#include

#define u16 unsigned int
#define u8 unsigned char

void delay(int z);
void write_com(u8 com);
void write_data(u8 date );
void SetCursor(u8 x, u8 y);
void ShowStr(u8 x, u8 y, u8 *str, u8 len);
void ShowChar(u8 x, u8 y, u8 str);
void init(void);
void LClear(void);

sbit lcdrs =P2^7; //液晶屏数据/命令选择端
sbit lcdrw =P2^6; //液晶屏读写端
sbit lcden =P2^5; //使能端

void write_com(u8 com) //写命令函数
{
lcdrs = 0;
lcdrw = 0;
P0 = com;
delay(5);
lcden = 1;
delay(5);
lcden = 0;
}

void write_data(u8 date ) //写数据函数
{
lcdrs = 1;
lcdrw = 0;
P0 = date;
delay(5);
lcden = 1;
delay(5);
lcden = 0;
}

void SetCursor(u8 x, u8 y)
{
u8 addr;

if (y == 0)  //由输入的屏幕坐标计算显示RAM的地址
    addr = 0x00 + x;  //第一行字符地址从0x00起始
else
    addr = 0x40 + x;  //第二行字符地址从0x40起始
write_com(addr|0x80);  //设置RAM地址

}

void ShowStr(u8 x, u8 y, u8 *str, u8 len)
{
SetCursor(x, y); //设置起始地址
while (len–) //连续写入len个字符数据
{
write_data(*str++);
}
}

void ShowChar(u8 x, u8 y, u8 str)
{
SetCursor(x, y); //设置起始地址
write_data(str);
}

void init(void)
{
lcden = 0;//默认使能端是低电平
lcdrw = 0;
write_com(0x38);//显示模式设置
write_com(0x0c);// 开显示,显示光标,光标闪烁
write_com(0x06);//当读或者写一个字符后地址加一,且光标加一
write_com(0x01);
}

void LClear(void)
{
write_com(0x01); //清屏
}

void main(void)
{
init();
while(1){
LClear();
delay(500);
ShowStr(1, 0, “Kaillen WorkWork”, 12);
ShowStr(4, 1, “Wellcom YOU!”, 12);
delay(500);

	LClear();
	delay(500);
	ShowStr(1, 0,"Code Made", 9);
	ShowStr(2, 1, "---Ziegler Yin", 14);
	delay(500);
	}

}
六,点击构建工程按钮,编译工程。(如下图7所示)
Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列011_lcd1602并口_第7张图片
图7

七,点击窗口左下方仿真按钮,可见lcd1602信息显示在屏。 (如下图8,9,10所示)
Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列011_lcd1602并口_第8张图片
图8

Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列011_lcd1602并口_第9张图片
图9
Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列011_lcd1602并口_第10张图片
图10

八,选择release,点击构建工程按钮,编译工程生成Hex文件。(如下图11所示)
Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列011_lcd1602并口_第11张图片
图11

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

你可能感兴趣的:(Proteus仿真,C51,C语言)