Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列019_lcdPG12864

一,打开文件(可以随文下载放置在文档中打开)。(如下图1所示)
Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列019_lcdPG12864_第1张图片
图1

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

Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列019_lcdPG12864_第3张图片
图3

Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列019_lcdPG12864_第4张图片
图4

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

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

五,Main.c 代码:

/* Main.c file generated by New Project wizard
*Coder: Ziegler Yin

  • Created: 周日 5月 3 2020
  • Processor: AT89C51RD2
  • Compiler: Keil for 8051
    */

#include “PG12864.h”

int main(void)
{
u16 i, j=0;
while(1) {
init_12864();
for(i=0;i<4;i++) for(j=0;j<40;j++) delayus(100);
for(i=0;i<4;i++) display_HZ(0,i,HZ0[i]);
for(i=0;i<4;i++) for(j=0;j<400;j++) delayus(100);
init_12864();
for(i=0;i<4;i++) for(j=0;j<40;j++) delayus(100);
for(i=0;i<4;i++) display_HZ(4,i,HZ1[i]);
for(i=0;i<4;i++) for(j=0;j<400;j++) delayus(100);
}
}
LcdPG12864.h:

/* Main.c file generated by New Project wizard
*Coder: Ziegler Yin

  • Created: 周日 5月 3 2020
  • Processor: AT89C51RD2
  • Compiler: Keil for 8051
    */

#ifndef _PG12864_H
#define _PG12864_H

#include “89c51rd2.h”
#include

#define u8 unsigned char
#define u16 unsigned int

sbit wr=P2^0;
sbit rd=P2^1;
sbit ce=P2^2;
sbit cd=P2^3;
sbit rst=P2^4;

static u8 code HZ0[4][128]={{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,
0x00,0x07,0x80,0x00,0x00,0x07,0x80,0x00,0x00,0x07,0x80,0x00,0x00,0x07,0x80,0x00,
0x00,0x07,0x80,0x00,0x00,0x07,0x80,0x00,0x00,0x07,0x80,0x00,0x00,0x07,0x80,0x00,
0x00,0x07,0x8F,0xC0,0x00,0x07,0xFF,0xE0,0x07,0xFF,0x80,0x00,0x03,0xE7,0x00,0x00,
0x00,0x07,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x07,0x80,0x00,0x00,0x0F,0xC0,0x00,
0x00,0x0E,0xE0,0x00,0x00,0x0E,0xF0,0x00,0x00,0x1E,0x78,0x00,0x00,0x1C,0x3C,0x00,
0x00,0x3C,0x3E,0x00,0x00,0x78,0x1F,0x00,0x00,0xF0,0x1F,0xC0,0x01,0xC0,0x0F,0xF0,
0x07,0x00,0x07,0xFE,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x00,
0x00,0x03,0xC0,0x00,0x01,0x81,0xC7,0xE0,0x03,0x83,0xFD,0xF0,0x03,0xFE,0x01,0xF8,
0x07,0x80,0x03,0xC0,0x07,0x00,0x03,0x00,0x0F,0x03,0xF8,0x00,0x0E,0x7F,0xF0,0x00,
0x00,0x0F,0x1C,0x00,0x00,0x0F,0x1E,0x00,0x00,0x3E,0x1E,0x00,0x00,0x7C,0x3C,0x00,
0x01,0xEE,0x70,0x00,0x03,0x1F,0xE0,0x00,0x00,0x3F,0xE0,0x00,0x00,0x7F,0xF0,0x00,
0x00,0xE7,0xBC,0x00,0x03,0x8F,0xDF,0x00,0x00,0x3D,0xCF,0xE0,0x00,0x79,0xC7,0xFC,
0x00,0xE1,0xC0,0x00,0x03,0x81,0xC0,0x00,0x07,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,
0x00,0x3F,0x80,0x00,0x00,0x0F,0x80,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x3C,0x00,0x00,
0x00,0x3C,0x00,0x00,0x00,0x38,0xC0,0x00,0x00,0x38,0xE0,0x00,0x00,0x3F,0xE0,0x78,
0x00,0xFF,0xFF,0xFC,0x03,0xF9,0xDE,0x78,0x00,0x3B,0x9E,0xF0,0x00,0x3F,0x1E,0xE0,
0x00,0x3F,0xFF,0xC0,0x07,0xFE,0x1F,0x80,0x7F,0x9C,0x1F,0xC0,0x00,0x38,0x1E,0xE0,
0x01,0xFF,0x9E,0x70,0x00,0xFF,0xDE,0x38,0x01,0xE3,0xDE,0x38,0x03,0xE3,0x9E,0x1C,
0x07,0xFF,0x9F,0xFC,0x0E,0xFF,0x9E,0xFC,0x1C,0xE3,0x9E,0x7C,0x38,0xE3,0x9E,0x38,
0x60,0xE3,0x9E,0x00,0x00,0xFF,0xDC,0x00,0x00,0xE3,0x9C,0x00,0x00,0xE3,0x9C,0x00,
0x00,0x00,0x1C,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xE0,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0xF0,0x0F,0xF0,0x00,0xE1,0xFD,0xF0,
0x00,0xE0,0x61,0xE0,0x00,0xE0,0x03,0x80,0x00,0xE8,0x07,0x00,0x01,0xCE,0x1E,0x00,
0x01,0xCF,0x1E,0x00,0x01,0xFE,0x0E,0x00,0xFF,0xFE,0x07,0xFE,0x7D,0x9C,0xFF,0xF2,
0x03,0x9F,0xF7,0x00,0x03,0xBC,0x07,0x00,0x03,0xB8,0x07,0x00,0x01,0xF8,0x07,0x00,
0x00,0xF0,0x07,0x00,0x00,0xF8,0x07,0x00,0x01,0xFC,0x07,0x00,0x03,0xDE,0x07,0x00,
0x07,0x8E,0x07,0x00,0x0E,0x06,0xCF,0x00,0x3C,0x00,0x7F,0x00,0x00,0x00,0x3E,0x00,
0x00,0x00,0x1E,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
};

static u8 code HZ1[4][128]={
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0xE0,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xEF,0x00,0x00,0x1C,0xEF,0x80,0x00,
0x0E,0xEF,0x07,0x80,0x0E,0xEE,0xFF,0xC0,0x0D,0xFE,0xF7,0x80,0x1F,0xCC,0xF7,0x80,
0x1E,0x00,0xF7,0x00,0x00,0x78,0xE7,0x00,0x03,0xFC,0xE7,0x00,0x0F,0x38,0xE7,0x00,
0x00,0x38,0xE7,0x00,0x00,0x70,0xE7,0x00,0x00,0x78,0xE7,0x00,0x1F,0xE0,0xE7,0x00,
0x0E,0x01,0xE7,0x00,0x0E,0x01,0xC7,0x06,0x0E,0x01,0xC7,0x06,0x0E,0x3B,0x87,0x0E,
0x0F,0xE7,0x03,0x8E,0x1F,0xCE,0x03,0xFE,0x1F,0x1C,0x01,0xFE,0x1E,0x70,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xE0,0xE0,0x00,0x00,0xF0,0xF8,0x00,0x00,0xF0,0xF0,0x00,0x00,0xF0,0xF0,0x00,
0x01,0xE1,0xF0,0x00,0x01,0xC1,0xD8,0x00,0x03,0xC3,0xDC,0x00,0x03,0x83,0x8F,0x00,
0x07,0x87,0x87,0x80,0x07,0x87,0x03,0xC0,0x0F,0xCE,0x03,0xF0,0x1F,0xDC,0x01,0xFC,
0x1D,0xFB,0x80,0xFF,0x39,0xF3,0xCE,0x00,0x61,0xE3,0x9F,0x80,0x41,0xC3,0xBE,0x00,
0x01,0xC3,0xF0,0x00,0x01,0xC3,0xE0,0x00,0x01,0x83,0x80,0xC0,0x03,0x83,0x80,0xC0,
0x03,0x83,0x80,0xC0,0x03,0x83,0x81,0xC0,0x03,0x81,0xC1,0xE0,0x03,0x81,0xFF,0xE0,
0x03,0x80,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x80,
0x00,0x0F,0xFF,0x80,0x00,0xFF,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,
0x00,0x03,0xC0,0x00,0x00,0x01,0xC0,0x00,0x00,0x01,0xC0,0x00,0x00,0x01,0xC0,0x00,
0x00,0x01,0xC0,0x00,0x00,0x01,0xC0,0x00,0x00,0x01,0xC0,0x00,0x00,0x01,0xC0,0x00,
0x00,0x01,0xC0,0x00,0x00,0x01,0xC0,0x00,0x00,0x01,0xC1,0xF8,0x00,0x07,0xFF,0xFC,
0x3F,0xFF,0xF8,0x06,0x3F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,
0x03,0x80,0x3E,0x00,0x03,0xC0,0x1F,0x00,0x03,0xC0,0x0F,0x00,0x03,0xC0,0x00,0x00,
0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0xFE,0x03,0xC0,0x1F,0xF8,
0x03,0xFF,0xFE,0x00,0x1F,0xE3,0x1E,0x00,0x3F,0x80,0x3C,0x00,0x03,0x80,0x3F,0xC0,
0x03,0x80,0x79,0xE0,0x03,0x8C,0x71,0xE0,0x03,0xB8,0xF1,0xE0,0x03,0xE1,0xE1,0xC0,
0x07,0xC1,0xC1,0xC0,0x1F,0x03,0x83,0xC0,0x7E,0x07,0x03,0xC0,0x7C,0x0E,0x03,0x80,
0x38,0x1C,0x07,0x80,0x00,0x38,0xEF,0x80,0x00,0xE0,0x7F,0x00,0x00,0xC0,0x3E,0x00,
0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
};

void delayus(u8 x);
u8 read_status();
void status_check();
void data_write(u16 data1);
void command_write(u8 command);
void command_sending_with_one_data(u8 data1,u8 command);
void command_sending_with_two_data(u16 data1, u16 data2, u8 command);
void display_HZ(u8 x,u16 y,u8 *hz);
void clsA(u8 x,u16 y);
void cls(void);
void init_12864(void);

#endif

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

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

Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列019_lcdPG12864_第9张图片
图9
Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列019_lcdPG12864_第10张图片
图10

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

九, 系列的001-003虚拟仿真与开发板对应已证明:虚拟仿真程序对于开发板有效,之后不再➕上下载到开发板的介绍。

附件下载:https://download.csdn.net/download/kaillen/12459717
Proteus8.9 SP2下载:https://download.csdn.net/download/kaillen/12459968

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

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