找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 20049|回复: 1
收起左侧

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

[复制链接]
ID:371233 发表于 2020-5-26 03:12 | 显示全部楼层 |阅读模式
一,打开文件(可以随文下载放置在文档中打开)。(如下图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编译器仿真AT89C51RD2系列019_lcdPG12864 (如下图6所示)
6.png
图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 <INTRINS.H>

#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所示)
7.png
图7

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

9.png
图9
10.png
图10


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

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

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

019_PG12864_pt.rar

134.32 KB, 下载次数: 17, 下载积分: 黑币 -5

在已安装Proteus8.9的计算机文件夹中打开即可

评分

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

查看全部评分

回复

使用道具 举报

ID:795427 发表于 2021-11-10 12:03 | 显示全部楼层
LCD128X64驱动函数只是定义了,没有实现方法,能仿真时因为仿真里面包含了HEX文件,你这不是给别人挖坑吗,关键的实现方法PG12864.c不提供。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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