找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8188|回復: 1
打印 上一主題 下一主題
收起左側

Proteus8.9 VSM Studio Keil編譯器仿真AT89C51RD2系列027_lcdLM3229

[復制鏈接]
跳轉到指定樓層
樓主
ID:371233 發(fā)表于 2020-6-16 23:31 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
一,打開文件(可以隨文下載放置在文檔中打開)。(如下圖1所示)

圖1

二,調整原理圖大小,適合可視,另存工程文件。(如下圖2,3,4所示)

圖2


圖3


圖4

三,點擊Source Code標簽。(如下圖5所示)

圖5

四,編輯main.c 代碼如Proteus8.9 VSM Studio Keil編譯器仿真AT89C51RD2系列027_lcdLM3229 (如下圖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 "LM3229.h"
#include "LED.h"


unsigned char a=0;

void main(void)
{   
         lcd_init();                                                                                                                                                                                //LM3229液晶屏初始化
    clr_lcd(0,0,240*128/64);                                                                                                                        //清屏
        while(1)
        {
                  write_lcd(2,0,   "按鈕及LED燈狀態(tài):");
                 write_lcd(20,0,  "Kaillen Work");
                 write_lcd(38,0,  "WelcomeYou!");
                 write_lcd(56,0,  "www*wark*top:");
                 write_lcd(74,0,  "按鍵控制多種花樣霓虹燈設計");
                 write_lcd(92,0,  "按鈕及LED燈狀態(tài):");
                 if(a==4)  write_lcd(110,0, "按4下:至右而左流水燈循環(huán)");
                 if(S1==0) {
                        delay(1000);
                        if(S1==0) {a++;delay(20000);}
                }
                switch(a){
                        case 0:P1=0xff;write_lcd(110,0, "初始狀態(tài)");break;
                        case 1:P1=0x00;write_lcd(110,0, "按1下:全亮");break;
                        case 2:case1();write_lcd(110,0, "按2下:全部閃爍");break;
                        case 3:case3();write_lcd(110,0, "按3下:至左而右流水燈循環(huán)");break;
                        case 4:case2();write_lcd(110,0, "按4下:至右而左流水燈循環(huán)");break;
                        default:a=0;P1=0xff;clear_lcd();break;
                }                 
        }
}

LM3229.h:


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

#ifndef __LM3229_H_
#define __LM3229_H_

#include<At89x52.h>
#include <intrins.H>            //_nop_();
#include "en_code.h"                                                                //字符字庫
#include "cn_code.h"                                                                //中文字庫
//******************************************************************************************
#define uchar unsigned char                                //1字節(jié)無符號整數(shù),值域:0~255
#define uint  unsigned int                                //2字節(jié)無符號整數(shù),值域:0~65535
//#define ulong  unsigned long                //4字節(jié)無符號整數(shù),值域: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                                                             //數(shù)據(jù)(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

七,點擊窗口左下方仿真按鈕,可見lcdLM3229屏上信息顯示在屏。 (如下圖8,9,10所示)

圖8


圖9


圖10


八,選擇release,點擊構建工程按鈕,編譯工程生成Hex文件。(如下圖11所示)

圖11

九, 系列的001-003虛擬仿真與開發(fā)板對應已證明:虛擬仿真程序對于開發(fā)板有效,之后不再➕上下載到開發(fā)板的介紹。

附件Proteus8.9 VSM Studio Keil編譯器仿真AT89C51RD2系列027_lcdLM3229在已安裝Proteus8.9的計算機文件夾中打開即可
需要進一步了解,請加入QQ群:976235464


lm3229_02pt.rar

144.74 KB, 下載次數(shù): 13, 下載積分: 黑幣 -5

在已安裝Proteus8.9的計算機文件夾中打開即可

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:67179 發(fā)表于 2020-9-28 16:15 | 只看該作者
源代碼可以提供嗎?只有仿真圖下載
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表