找回密码
 立即注册

QQ登录

只需一步,快速开始

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

Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列024_lcdLM4228

[复制链接]
跳转到指定楼层
楼主
一,打开文件(可以随文下载放置在文档中打开)。(如下图1所示)

图1

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

图2


图3


图4

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

图5

四,编辑main.c 代码如Proteus8.9 VSM Studio Keil编译器仿真AT89C51RD2系列024_lcdLM4228 (如下图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 "LM4280.h"
#include "LED.h"


unsigned char a=0;

void main(void)
{   
        lcd_init();                                                                                                                                                                                //LM4229液晶屏初始化
    clr_lcd(0,0,256);                                                                                                                        //清屏
        while(1)
        {
                 write_lcd(0,0,   "按钮及LED灯状态:");
                 write_lcd(30,0,  "Kaillen Work");
                 if(S1==0) {
                        delay(1000);
                        if(S1==0) {a++;delay(20000);}
                }
                switch(a){
                        case 0:P1=0xff;write_lcd(90,0, "初始状态");break;
                        case 1:P1=0x00;write_lcd(90,0, "按1下:全亮");break;
                        case 2:case1();write_lcd(90,0, "按2下:全部闪烁");break;
                        case 3:case3();write_lcd(90,0, "按3下:左右流水灯");break;
                        case 4:case2();write_lcd(90,0, "按4下:右左流水灯");break;
                        case 5:case4();write_lcd(90,0,  " ");
                        default:a=0;P1=0xff;clear_lcd();break;
                }                 
        }
}

LM4228.h:


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

#ifndef __LM4280_H_
#define __LM4280_H_

#include<At89x52.h>
#include <intrins.H>            //_nop_();
#include "en_code.h"                                                                //字符字库
#include "cn_code.h"                                                                //中文字库
//******************************************************************************************
#define uchar unsigned char                                //1字节无符号整数,值域:0~255
#define uint  unsigned int                                //2字节无符号整数,值域:0~65535
//#define ulong  unsigned long                //4字节无符号整数,值域:0~4294976295

#define fd 1200
#define ys 10000

//*****************************************************************************************                                                                                                                                                  
//功能:管脚定义
//*****************************************************************************************
#define DATA_PORT P0

#define HALT P2_0                                                           //暂不清楚
#define FS1  P2_1                                                            //字体模式选择
#define MD2  P2_2                                                            //方式选择
#define RST  P2_3                                                            //复位
#define CD   P2_4                                                             //数据(L)/命令(H)选择
#define READ P2_5                                                     //读,低电平有效
#define WRIT P2_6                                                     //写,低电平有效
#define CE   P2_7                                                     //使能,低电平有效



sbit S1=P2^0;


void delay_lcd(uchar t);
void write_data(uchar dat);
void write_com(uchar com);
void lcd_init(void);
void clr_lcd(uchar x,uchar y,uint length);
void clear_lcd(void);

//*****************************************************************************************                                                                                                                                                  
//功能:指定位置向LCD写入指定字符
//*****************************************************************************************
void write_lcd(uchar x, uchar y, char *cha);


#endif

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

图7

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

图8


图9

图10


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

图11

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

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


lm4228_02pt.rar

146.85 KB, 下载次数: 11, 下载积分: 黑币 -5

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

评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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