资源简介
供学习爱好者交流使用。互惠互利,共赢。愿我们相互扶持越走越远
代码片段和文件信息
#include
#define LcdDataPort P2 //数据端口
typedef unsigned char uchar;
#define uint unsigned int
sbit Reset = P3^0; //复位
sbit RS = P3^1; //指令数据选择
sbit E = P3^2; //指令数据控制
sbit CS1 = P3^4; //左屏幕选择,低电平有效
sbit CS2 = P3^5; //右屏幕选择
sbit RW = P3^3; //读写控制
sbit busy = P2^7; //忙标志
/*******************测忙函数******************/
void CheckState()
{
E = 1;
RS = 0;
RW = 1;
LcdDataPort = 0xff;
while(!busy);
}
/*******************延时函数******************/
void LcdDelay(uint time)
{
while(time --);
}
/*******************写数据函数******************/
void WriteData(uchar dat)
{
E = 1;
CheckState();
RS = 1;
RW = 0;
LcdDataPort = dat;
E = 0;
}
/*******************写命令函数******************/
void SendCommand(uchar command)
{
CheckState();
E = 1;
RW = 0;
RS = 0;
LcdDataPort = command;
E = 0;
}
/*******************选屏函数******************/
void SelectScreen(uchar screen) //0-全屏,1—左屏,2-右屏
{
switch(screen)
{
case 0 :CS1 = 0;CS2 = 1;break; //01 左屏幕显示
case 1 :CS1 = 1;CS2 = 0;break; //10 右屏幕显示
case 2 :CS1 = 0;CS2 = 0;break; //00 全屏
} //11
}
/*******************设置行函数******************/
void SetLine(uchar line)
{
line = line & 0x07;
line = line | 0xb8;
SendCommand(line);
}
/*******************设置列函数******************/
void SetColum(uchar colum)
{
colum = colum & 0x3f;
colum = colum | 0x40;
SendCommand(colum);
}
/*******************设置开始行函数******************/
void SetStartLine(uchar startline)
{
startline = startline & 0x3f;
startline = startline | 0xc0;
SendCommand(startline);
}
/*******************清屏函数******************/
void ClearScreen(uchar screen)
{
uchar ij;
SelectScreen(screen);
for(i = 0;i < 8;i ++)
{
SetLine(i);
SetColum(0);
for(j = 0;j < 64; j ++)
WriteData(0);
}
}
/*******************复位函数******************/
void ResetLcd()
{
Reset = 0;
LcdDelay(2);
Reset = 1;
LcdDelay(2);
RS0 = 0;
LcdDelay(2);
RS1 = 0;
LcdDelay(2);
SendCommand(0x3f);
}
/*******************初始化函数******************/
void InitLcd()
{
ResetLcd();
SendCommand(0x3e);
ClearScreen(2);
SetLine(0);
SetColum(0);
SetStartLine(0);
SendCommand(0x3f);
}
/*******************汉字显示函数******************/
void Show1616(uchar lineuchar columuchar *address)
{
uchar i;
SetLine(line);
SetColum(colum);
for(i = 0;i < 16;i ++)
WriteData(*(address ++));
SetLine(line + 1);
SetColum(colum);
for(i = 0;i < 16;i ++)
WriteData(*(address ++));
}
/*******************数据段******************/
uchar code HZ_table[]={
0x200x620xC60x8C0x000x100x380x9F
0xBF0xEC0xEC0xBC0x9C0x800x800x00
0x000x700x3C0x060x010x010x7F0x7E
0x320x320x320x7E0x7F0x010x000x00//“洛“
0x000xFF0xFF0x630xFF0x9F0x000xFE
0xFE0xC60xC60xC60xFE0xFE0x000x00
0x000x7F0x7F0x0C0x0F0x070x000x3F
0x3F0x180x180x180x3F0x3F0x000x00//“阳“
0xCC0xCC0xFC0xFC0xCC0x0
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1858309 2011-07-22 11:10 新建文件夹\12864LCD(ST7920控制器)简体中文字库表+54页+1[1].8M.pdf
文件 1131520 2011-08-03 16:57 新建文件夹\12864中文字库说明书.doc
文件 7065 2011-08-03 11:18 新建文件夹\keil uVision4\无中文字库练习.c
文件 3331 2011-08-03 11:18 新建文件夹\keil uVision4\无中文字库练习.hex
文件 76 2011-08-03 11:18 新建文件夹\keil uVision4\无中文字库练习.lnp
文件 12831 2011-08-03 16:29 新建文件夹\keil uVision4\无中文字库练习.LST
文件 16169 2011-08-03 11:18 新建文件夹\keil uVision4\无中文字库练习.M51
文件 11903 2011-08-03 16:29 新建文件夹\keil uVision4\无中文字库练习.OBJ
文件 641 2011-08-03 16:29 新建文件夹\keil uVision4\无中文字库练习.plg
....... 55706 2011-08-03 16:29 新建文件夹\keil uVision4\无中文字库练习.uvopt
文件 13448 2011-08-01 17:38 新建文件夹\keil uVision4\无中文字库练习.uvproj
....... 55706 2011-08-03 16:26 新建文件夹\keil uVision4\无中文字库练习_uvopt.bak
文件 13445 2011-08-01 16:32 新建文件夹\keil uVision4\无中文字库练习_uvproj.bak
文件 28615 2011-08-03 16:24 新建文件夹\protues仿真\12864 2.DSN
文件 1028 2011-08-03 16:26 新建文件夹\protues仿真\12864 2.PWI
文件 28615 2011-08-02 16:19 新建文件夹\protues仿真\Last Loaded 12864 2.DBK
目录 0 2011-08-03 16:29 新建文件夹\keil uVision4
目录 0 2011-08-03 16:28 新建文件夹\protues仿真
目录 0 2011-08-03 16:57 新建文件夹
----------- --------- ---------- ----- ----
3238408 19
- 上一篇:微博系统 毕业论文
- 下一篇:大类招生专业分流系统
评论
共有 条评论