標題: Proteus8.9 VSM Studio Keil編譯器仿真AT89C51RD2系列027_lcdLM3229 [打印本頁]

作者: kaillen    時間: 2020-6-16 23:31
標題: Proteus8.9 VSM Studio Keil編譯器仿真AT89C51RD2系列027_lcdLM3229
一,打開文件(可以隨文下載放置在文檔中打開)。(如下圖1所示)

圖1

二,調(diào)整原理圖大小,適合可視,另存工程文件。(如下圖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,  "按鍵控制多種花樣霓虹燈設(shè)計");
                 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                                                            //復(fù)位
#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


六,點擊構(gòu)建工程按鈕,編譯工程。(如下圖7所示)

圖7

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

圖8


圖9


圖10


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

圖11

九, 系列的001-003虛擬仿真與開發(fā)板對應(yīng)已證明:虛擬仿真程序?qū)τ陂_發(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的計算機文件夾中打開即可


作者: lionlike    時間: 2020-9-28 16:15
源代碼可以提供嗎?只有仿真圖下載




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1