找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 19170|回复: 2
打印 上一主题 下一主题
收起左侧

Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列020_lcdPG128x2

[复制链接]
跳转到指定楼层
楼主
本帖最后由 kaillen 于 2020-5-29 03:30 编辑

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

图1

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

图2


图3


图4

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

图5

四,编辑main.c 代码如Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列020_lcdPG128x2 (如下图6所示)

图6

五,Main.c 代码:
#include "PG128x2.h"

int main(void)
{
        u16 i, j=0, m=4;
        while(1) {
                init_128x2();
                if(0==m) m=4;
                else m=0;
                cls_img (128,128, 0xff);
                for(i=0;i<4;i++) for(j=0;j<2;j++) delayus(100);
                cls_img (128,128, 0x00);
                 for(i=0;i<4;i++) for(j=0;j<2;j++) delayus(100);
                for(i=0;i<4;i++) display_HZ(0+m,i,HZ0[ i]);
                        for(i=0;i<4;i++) for(j=0;j<400;j++) delayus(100);
                init_128x2();
                        for(i=0;i<4;i++) for(j=0;j<40;j++) delayus(100);
                 for(i=0;i<4;i++) display_HZ(4-m,i,HZ1[ i]);   
                        for(i=0;i<4;i++) for(j=0;j<400;j++) delayus(100);
                for(i=0;i<4;i++) display_HZ(8+m,i,HZ0[ i]);
                        for(i=0;i<4;i++) for(j=0;j<400;j++) delayus(100);
                init_128x2();
                        for(i=0;i<4;i++) for(j=0;j<40;j++) delayus(100);
                 for(i=0;i<4;i++) display_HZ(12-m,i,HZ1[ i]);   
                        for(i=0;i<4;i++) for(j=0;j<400;j++) delayus(100);
        }
}  
LcdPG128x2.h:


/* Main.c file generated by New Project wizard
*Coder:       Ziegler Yin
* Created:   周日 5月 3 2020
* Processor: AT89C51RD2
* Compiler:  Keil for 8051
*/

#ifndef __PG128X2_H_
#define __PG128X2_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

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

图8


图9

图10


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

图11

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

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

020_PG128x2_02pt.rar

139.1 KB, 下载次数: 20, 下载积分: 黑币 -5

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

评分

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

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:102963 发表于 2020-5-29 16:24 | 只看该作者
本帖最后由 songxia8013 于 2020-5-29 21:30 编辑

8.9版本仿真,建议搞下STC单片机的,大家好学习下STC单片机编程!

回复

使用道具 举报

板凳
ID:795427 发表于 2022-6-22 11:05 | 只看该作者
你这样还不如直接分享一个hex文件就好了,关键的OLED驱动显示你封装成了OBJ文件。只能看个演示效果。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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