?? lcddisp.c
字號:
/*****************************************************************/
/* */
/*名稱: LCD12864顯示程序 */
/*功能: 顯示圖片。 */
/*難度等級: 高 */
/* 作者: 51kaifa */
/* 版權: http://www.51kaifa.com */
/*編寫日期: 2006.05.20 */
/*****************************************************************/
#include <reg52.h>
#include <string.h>
#define uchar unsigned char
unsigned char code picture1[];
unsigned char code picture2[];
/**********引腳定義*********/
sbit lck = P3^5;//鎖存信號
/********常用命令及參數定義********/
#define DISPON 0x3f
#define DISPOFF 0x3e
#define DISPFIRST 0xc0
#define SETX 0x40
#define SETY 0xb8
#define LCDBUZY 0x80
#define L 0x00
#define R 0x40
#define LIMIT 0x80
/**********全局變量************/
uchar cbyte;
uchar data statu;
bit xy;
/**************函數******************/
void WrL(uchar x);
void WrR(uchar x);
void Lcmcls(void);
void Lcminit (void);
void Putpicture(uchar flag);
void VtoH8x16change(uchar *hzbuf);
void Puthalf(uchar *strch,uchar row,uchar col);
void Wrdata(uchar x,uchar row,uchar col);
void Locatexy(uchar row,uchar col);
void vWrite8x16Character(uchar *ch,uchar row,uchar col,bit flag);
void vWrite8x16String(uchar *str,uchar col, uchar row, bit flag);
extern void delay(unsigned int loop);
extern uchar code picture1[];
extern uchar code picture2[];
extern uchar code char_Table[95][16];
/***************初始化LCD*****************/
void Lcminit (void)
{
cbyte=DISPOFF;
WrL(cbyte);
WrR(cbyte);
cbyte=DISPON;
WrL(cbyte);
WrR(cbyte);
cbyte=DISPFIRST;
WrL(cbyte);
WrR(cbyte);
Lcmcls();
Locatexy(0,0);
}
/***************LCD清屏********************/
void Lcmcls(void)
{ uchar i,j;
for(i=0;i<8;i++){
delay(6);
for(j=0;j<LIMIT;j++){
delay(6);
Wrdata(0x0,i,j);
}
}
}
/**************寫左區***************/
void WrL(uchar x)
{
P0=0xFF;//P0口送FF,準備讀
lck = 0;
P1 = 0x2a;//ELCD=1
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -