📄 mobi2006.h.bak
字号:
#include<zk16x16.h>
sbit RES=0x93;
sbit CS1=0x94;
sbit A0=0x95;
sbit SCL=0x96;
sbit SI=0x97;
/* 写指令函数: WriteCommand()
函数调用入口: WriteCommand()
函数输入变量:dat */
void WriteCommand(unsigned char dat) //写指令
{
unsigned char i;
for(i=0;i<8;i++)
{
CS1=0;
A0=0;
SCL=0;
SI=(bit)(dat&0x80);
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
SCL=1;
_nop_();
_nop_();
dat<<=1;
SCL=0;
}
}
/* 写数据函数: WriteData()
函数调用入口:WriteData()
函数输入变量:dat */
void WriteData(unsigned char dat)
{
unsigned char i;
for(i=0;i<8;i++)
{
CS1=0;
A0=1;
SCL=0;
SI=(bit)(dat&0x80);
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
SCL=1;
_nop_();
_nop_();
dat<<=1;
SCL=0;
}
}
/*****************************/
/* 初始化函数:init() */
/* 内部调用子程序:WriteCommand(),WriteData() */
/* 程序调用入口:init() */
/*****************************/
void init()
{ _nop_();
_nop_();
CS1=0;
_nop_();
_nop_();
RES=1;
_nop_();
_nop_();
RES=0;
_nop_();
_nop_();
_nop_();
_nop_();
RES=1;
WriteCommand(0xe2);
WriteCommand(0xa3); //LCD偏压 1/9
WriteCommand(0xa0); //ADC
WriteCommand(0xc0); //Common Output Status Select
WriteCommand(0x24); //倍压
WriteCommand(0x81); //设电压
WriteCommand(0x20);
WriteCommand(0x2f);
WriteCommand(0xaf);
WriteCommand(0xa4);
}
/********************************************/
/* 清显示RAM 区(清屏)函数:CLEAR */
/* 内部调用子函数:WriteCommd(),WriteData() */
/* 函数调用入口:CLEAR() */
/********************************************/
void clear()
{
unsigned int i,j;
for(i=0xb0;i<0xb8;i++)
{
WriteCommand(i);
WriteCommand(0x10);
WriteCommand(0x00);
for(j=0;j<128;j++)
{
WriteData(0x00);
}
}
}
/********************************/
/* 绘点函数W_DOT() */
/* 内部调用函数:PR1~PR6 */
/* 函数调用入口: W_DOT() */
/* 函数输入变量: O_X,O_Y */
/********************************/
void W_DOT(unsigned int O_X,unsigned int O_Y)
{unsigned char i,dat;
WriteCommand(0xb0+O_Y/8);
WriteCommand(0x10+O_X/16);
WriteCommand(0x00+O_X%16);
i=O_Y%8;
dat=0x01;
dat<<=i;
WriteData(dat);
}
/************************************/
/* 西文字符写入函数:CW_PR() */
/* 内部调用函数:WriteCommand() WriteData()*/
/* 连接字库: CHTAB */
/* 函数调用入口: CW_PR() */
/* 函数输入变量: O_X,O_Y,dat*/
/************************************/
void CW_PR(unsigned int O_X,unsigned int O_Y,unsigned char dat )
{unsigned char i;
WriteCommand(0xb0+O_Y);
WriteCommand(0x10+O_X/16);
WriteCommand(0x00+O_X%16);
for(i=0;i<8;i++)
{
WriteData(CHTAB[dat][i]);
}
}
/*************************************************/
/* 16*16点阵中文写入函数:CCW_PR */
/* 内部调用函数:WriteCommand(),WriteData(); */
/* 连接字库: CCTAB */
/* 函数调用入口: CCW_PR() */
/* 函数输入变量: O_X,O_Y,dat */
/*************************************************/
void CCW_PR(unsigned int O_X,unsigned int O_Y,unsigned char dat)
{
unsigned char j,i,k;
k=0xb0+O_Y;
for(j=0;j<2;j++)
{
WriteCommand(k);
WriteCommand(0x10+O_X/16);
WriteCommand(0x00+O_X%16);
for(i=16*j;i<(1+j)*16;i++)
{
WriteData(CCTAB[dat][i]);
}
k++;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -