?? lcdm.c
字號(hào):
#include "chip.h"
#include "st7565.h"
#include "lcdm.h"
#include "asc16dot.h"
void InitLCDM(void)
{
InitLCMDPhy(); //port for A0,CS initialized
LCDMdelay(1000);
RST_RELEASE; //release reset control signal
LCDMdelay(2000);
DisplayOff(); //close display
/******** Optinal **********/
WrLCMComd(SCRN_NORMAL); //Normal display mode
WrLCMComd(BIAS_SET1); //LCD bias setting
WrLCMComd(ADC_NORMAL); //LCD ADC setting
WrLCMComd(COM_REVERS); //LCD Com setting
// WrLCMComd(COM_NORMAL);
WrLCMComd(BOOST_REG | BOOST_ON | VREG_ON | VFOL_ON);
LCDMdelay(5000); //Waiting for power up
WrLCMComd(BOOST_SEL); //Boost ratio 2x,3x,4x
WrLCMComd(BOOST_234X);
WrLCMComd(EVOL_MODE | 0x00); //LCD Electronic Volumn
WrLCMComd(BRIGHTNESS); //defalut contrast
ClrScr(); //clear LCM DDRAM
DisplayOn(); //screen on
}
void SetPage(unsigned char nPage)
{
WrLCMComd(SET_PAGE|nPage);
}
void SetColumn(unsigned char y)
{
WrLCMComd(SET_COLL | (y & 0x0f)); //column high 4-bit
WrLCMComd(SET_COLH | ((y & 0xf0)>>4)); //column low 4-bit
}
void DisplayOn(void) //turn LCM screen off
{
WrLCMComd(SCRN_ON); //command 0xAF,enable to display DDRAM
}
void DisplayOff(void) //turn LCM screen on
{
WrLCMComd(SCRN_OFF); //command 0xAF,disable to display DDRAM
}
void SetBeginLine(unsigned char line) //setting beging line at the page appointed
{
WrLCMComd(SET_LINE+line); //command 0xC0+the unmber of beging line
}
void ClrScr(void) //clear ST7565 DDRAM
{
unsigned char row,column;
for(row=0;row<8;row++)
{
SetPage(row); //setting page
SetColumn(0); //setting to 1th line
for(column=0;column<128;column++)
{
WrLCMData(0x00); //clear one column
LCDMdelay(10); //waiting for completion
}
}
}
//writting one column
void WriteRAMOneColumn(unsigned char column,unsigned char ramdata)
{
SetColumn(column); //setting the number of column
WrLCMData(ramdata); //writting DDRAM to location appointed
}
//wirting 8x8 dot martix into DDRAM
void WriteRAM8Column(unsigned char nPage,unsigned char column,unsigned char *pramdata)
{
unsigned char cnt;
SetPage(nPage); //setting page
for(cnt=0;cnt<8;cnt++) WriteRAMOneColumn(column+cnt,*(pramdata+cnt)); //writting one column
}
//display 8x8 ASCII character
void LcdmDisplayChar(unsigned char nPage,unsigned char column,unsigned char c)
{
unsigned int index;
index=c;
index<<=4; //font index multiple 16
WriteRAM8Column(nPage,column,(unsigned char *)&asc16dot[index]); //writting one column
}
//display 8x8 ASCII string from the location appointed
void LcdmDisplayString(unsigned char nPage,unsigned char column,unsigned char *pstr)
{
unsigned char *ptrs;
ptrs=pstr;
while(*ptrs) //return if null character
{
LcdmDisplayChar(nPage,column,*ptrs); //display 8x8 ASCII character
ptrs++; //point to next character to be displayed
column+=8; //locating to next display position
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -