|
本帖最后由 kaillen 于 2020-6-17 17:03 編輯
一,打開文件(可以隨文下載放置在文檔中打開)。(如下圖1所示)
1.png (744.8 KB, 下載次數(shù): 46)
下載附件
2020-6-16 22:48 上傳
圖1
二,調(diào)整原理圖大小,適合可視,另存工程文件。(如下圖2,3,4所示)
2.png (236.03 KB, 下載次數(shù): 55)
下載附件
2020-6-16 22:48 上傳
圖2
3.png (289.84 KB, 下載次數(shù): 65)
下載附件
2020-6-16 22:48 上傳
圖3
4.png (307.71 KB, 下載次數(shù): 65)
下載附件
2020-6-16 22:48 上傳
圖4
三,點(diǎn)擊Source Code標(biāo)簽。(如下圖5所示)
5.png (163.01 KB, 下載次數(shù): 69)
下載附件
2020-6-16 22:48 上傳
圖5
四,編輯main.c 代碼如Proteus8.9 VSM Studio Keil編譯器仿真AT89C51RD2系列026_lcdLM4287 (如下圖6所示)
6.png (181.72 KB, 下載次數(shù): 87)
下載附件
2020-6-16 22:48 上傳
圖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 "LM4287.h"
#include "LED.h"
unsigned char a=0;
void main(void)
{
lcd_init(); //LM4287液晶屏初始化
clr_lcd(0,0,240*128/64); //清屏
while(1)
{
write_lcd(2,0, "按鈕及LED燈狀態(tài):");
if(S1==0) {
delay(1000);
if(S1==0) {a++;delay(20000);}
}
switch(a){
case 0:P1=0xff;write_lcd(20,0, "初始狀態(tài)");break;
case 1:P1=0x00;write_lcd(40,0, "按1下:全亮");break;
case 2:case1();write_lcd(40,0, "按2下:全部閃爍");break;
case 3:case3();write_lcd(40,0, "按3下:左右流水燈");break;
case 4:case2();write_lcd(40,0, "按4下:右左流水燈");break;
case 5:case4();write_lcd(40,0, " ");;break;
default:a=0;P1=0xff;clear_lcd();break;
}
}
}
LM4287.h:
/* Main.c file generated by New Project wizard
*Coder: Ziegler Yin
* Created: 周日 5月 3 2020
* Processor: AT89C51RD2
* Compiler: Keil for 8051
*/
#ifndef __LM4287_H_
#define __LM4287_H_
#include<At89x52.h>
#include <intrins.H> //_nop_();
#include "en_code.h" //字符字庫
#include "cn_code.h" //中文字庫
//******************************************************************************************
#define uchar unsigned char //1字節(jié)無符號(hào)整數(shù),值域:0~255
#define uint unsigned int //2字節(jié)無符號(hào)整數(shù),值域:0~65535
//#define ulong unsigned long //4字節(jié)無符號(hào)整數(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
六,點(diǎn)擊構(gòu)建工程按鈕,編譯工程。(如下圖7所示)
7.png (166.67 KB, 下載次數(shù): 55)
下載附件
2020-6-16 22:48 上傳
圖7
七,點(diǎn)擊窗口左下方仿真按鈕,可見lcdLM4287屏上信息顯示在屏。 (如下圖8,9,10所示)
8.png (321.78 KB, 下載次數(shù): 66)
下載附件
2020-6-16 22:48 上傳
圖8
9.png (143.16 KB, 下載次數(shù): 48)
下載附件
2020-6-16 22:48 上傳
圖9
10.png (353.82 KB, 下載次數(shù): 52)
下載附件
2020-6-16 22:48 上傳
圖10
八,選擇release,點(diǎn)擊構(gòu)建工程按鈕,編譯工程生成Hex文件。(如下圖11所示)
11.png (190.95 KB, 下載次數(shù): 71)
下載附件
2020-6-16 22:48 上傳
圖11
九, 系列的001-003虛擬仿真與開發(fā)板對(duì)應(yīng)已證明:虛擬仿真程序?qū)τ陂_發(fā)板有效,之后不再➕上下載到開發(fā)板的介紹。
附件Proteus8.9 VSM Studio Keil編譯器仿真AT89C51RD2系列026_lcdLM4287在已安裝Proteus8.9的計(jì)算機(jī)文件夾中打開即可
需要進(jìn)一步了解,請(qǐng)加入QQ群:976235464
|
-
-
lm4287_02pt.rar
2020-6-16 22:51 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
159.87 KB, 下載次數(shù): 11, 下載積分: 黑幣 -5
評(píng)分
-
查看全部評(píng)分
|