📄 lcd_cm160128-2c(t6963c).txt
字号:
/********************************
名称:CM160128液晶显示程序
设计:河南科技大学 创达科技 陈仲库
设计日期:2007年5月13日晚
技术服务:kuzi00@163.com QQ86828048
接口说明
LCD_CD=P2^0;LCD_WR=P3^6;LCD_RD=P3^7;LCD_CE=P2^7;
CE取低电平 也可以直接接GND
P1口为数据口 间接方式 控制T6963C
*********************************/
#include <reg51.h>
//#include <LCD_ziku.c>
sbit LCD_CD=P2^0;
sbit LCD_WR=P3^6;
sbit LCD_RD=P3^7;
sbit LCD_CE=P2^7;
#define unint unsigned int
unsigned char code HZTable[ ][32]={
{0x00,0x40,0x78,0x40,0x4B,0xFE,0x48,0x80,
0x51,0x00,0x61,0x40,0x52,0x40,0x4B,0xFC,
0x48,0x40,0x68,0x50,0x52,0x48,0x42,0x44,
0x44,0x46,0x48,0x42,0x41,0x40,0x40,0x80},/*"陈",0*/
{0x08,0x40,0x0C,0x40,0x18,0x40,0x17,0xFC,
0x34,0x44,0x24,0x44,0x64,0x44,0xA4,0x44,
0x27,0xFC,0x24,0x44,0x20,0x40,0x20,0x40,
0x20,0x40,0x20,0x40,0x20,0x40,0x00,0x00},/*"仲",1*/
{0x01,0x00,0x00,0x80,0x3F,0xFE,0x21,0x00,
0x21,0x00,0x3F,0xFC,0x22,0x40,0x24,0x40,
0x2F,0xFC,0x24,0x40,0x20,0x40,0x3F,0xFE,
0x20,0x40,0x40,0x40,0x40,0x40,0x80,0x40},/*"库",2*/
{0x20,0x00,0x17,0xFE,0x10,0x08,0x00,0x08,
0x88,0x08,0x4B,0xC8,0x52,0x48,0x12,0x48,
0x22,0x48,0x23,0xC8,0xE2,0x48,0x20,0x08,
0x20,0x08,0x20,0x08,0x20,0x28,0x20,0x10},/*"河",0*/
{0x01,0x00,0x01,0x04,0xFF,0xFE,0x01,0x00,
0x02,0x00,0x3F,0xFC,0x24,0x24,0x22,0x44,
0x2F,0xF4,0x21,0x04,0x3F,0xFC,0x21,0x04,
0x21,0x04,0x21,0x14,0x21,0x08,0x00,0x00},/*"南",1*/
{0x06,0x08,0x78,0x88,0x08,0x48,0x08,0x48,
0xFE,0x08,0x18,0x88,0x1C,0x48,0x2A,0x48,
0x28,0x0E,0x48,0x78,0x8B,0x88,0x08,0x08,
0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},/*"科",2*/
{0x10,0x20,0x10,0x20,0x10,0x20,0xFD,0xFE,
0x10,0x20,0x14,0x20,0x19,0xFC,0x31,0x08,
0xD0,0x88,0x10,0x90,0x10,0x60,0x10,0x60,
0x10,0x90,0x11,0x0E,0x56,0x04,0x20,0x00},/*"技",3*/
{0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
0x01,0x00,0xFF,0xFE,0x01,0x00,0x02,0x80,
0x02,0x80,0x02,0x40,0x04,0x40,0x04,0x20,
0x08,0x10,0x10,0x18,0x20,0x0E,0x40,0x04},/*"大",4*/
{0x01,0x08,0x10,0x8C,0x0C,0xC8,0x08,0x90,
0x7F,0xFE,0x40,0x04,0x8F,0xE8,0x00,0x40,
0x00,0x80,0x7F,0xFE,0x00,0x80,0x00,0x80,
0x00,0x80,0x00,0x80,0x02,0x80,0x01,0x00},/*"学",5*/
{0x10,0x00,0x10,0xF8,0x10,0x88,0xFE,0x88,
0x10,0x88,0x10,0x88,0x38,0x88,0x34,0x88,
0x54,0x88,0x50,0x88,0x91,0x08,0x11,0x0A,
0x12,0x0A,0x12,0x0A,0x14,0x06,0x10,0x00},/*"机",6*/
{0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,
0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,
0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,
0x01,0x02,0x01,0x02,0x00,0xFE,0x00,0x00},/*"电",7*/
{0x00,0x00,0x3F,0xFC,0x01,0x00,0x01,0x00,
0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
0x01,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00},/*"工",8*/
{0x0D,0xF8,0x71,0x08,0x11,0x08,0x11,0x08,
0xFD,0x08,0x11,0xF8,0x30,0x00,0x3B,0xFC,
0x54,0x40,0x50,0x40,0x93,0xFC,0x10,0x40,
0x10,0x40,0x10,0x40,0x17,0xFE,0x10,0x00},/*"程",9*/
{0x01,0x08,0x10,0x8C,0x0C,0xC8,0x08,0x90,
0x7F,0xFE,0x40,0x04,0x8F,0xE8,0x00,0x40,
0x00,0x80,0x7F,0xFE,0x00,0x80,0x00,0x80,
0x00,0x80,0x00,0x80,0x02,0x80,0x01,0x00},/*"学",10*/
{0x00,0x80,0xF8,0x40,0x8F,0xFE,0x94,0x04,
0xA0,0x00,0xA3,0xF8,0x90,0x00,0x88,0x00,
0x8F,0xFE,0xA9,0x20,0x91,0x20,0x81,0x20,
0x82,0x22,0x82,0x22,0x84,0x22,0x88,0x1E},/*"院",11*/
};
void LCD_Busy()
{
unint dat;
do{
P1=0xff;
LCD_CD=1;
LCD_RD=0;
dat=P1;
LCD_RD=1;
dat=0x03&dat;
}while(dat!=0x03);
}
void LCD_Data(dat)
{
LCD_Busy();
LCD_CD=0;
P1=dat;
LCD_WR=0;
LCD_WR=1;
}
void LCD_Com1(command)//写有 1 个参数命令
{
LCD_Busy();
LCD_CD=1;
P1=command;
LCD_WR=0;
LCD_WR=1;
}
void LCD_Com2(dat, command)//写有 2 个参数命令
{
LCD_Data(dat);
LCD_Com1(command);
}
void LCD_Com3(data1, data2, command)//写有 3 个参数命令
{
LCD_Data(data1);
LCD_Data(data2);
LCD_Com1(command);
}
void LCD_Clear()//清屏
{
long i;
LCD_Com3(0x00,0x00,0x24);
LCD_Com1(0xb0);
for(i=0;i<20500;i++) LCD_Data(0x00);
LCD_Com1(0xb2);
}
void LCD_Init()//初始化LCD
{
LCD_CD=1;
LCD_WR=1;
LCD_RD=1;
LCD_Com1(0x90);
LCD_Com3( 0x00,0x00,0x42 );
LCD_Com3( 0x14,0x00,0x43);
LCD_Com1(0x80);
LCD_Com1(0x98);
LCD_Clear();
}
//汉字显示 参数说明LCD_HZ(行,列,第几个字)
void LCD_HZ(unint x,unint y,unint n)
{
unint i, StartAddr;
StartAddr=x*320+y;
for(i=0;i<16;i++)
{
LCD_Com3(StartAddr,((StartAddr)/256),0x24);
LCD_Com2( HZTable[n][i*2], 0xc0);
LCD_Com2( HZTable[n][i*2+1], 0xc4);
StartAddr=StartAddr + 20;
}
}
void main(void)
{
LCD_CE=0;
LCD_Init();
LCD_HZ(1,5,0);
LCD_HZ(1,9,1);
LCD_HZ(1,13,2);
LCD_HZ(3,0,3);
LCD_HZ(3,2,4);
LCD_HZ(3,4,5);
LCD_HZ(3,6,6);
LCD_HZ(3,8,7);
LCD_HZ(3,10,8);
LCD_HZ(3,12,9);
LCD_HZ(3,14,10);
LCD_HZ(3,16,11);
LCD_HZ(3,18,12);
LCD_HZ(4,7,13);
LCD_HZ(4,11,14);
while(1){};
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -