12864显示程序
更新时间:2024-04-18 07:40:01 阅读量: 综合文库 文档下载
- 1286代表什么意思推荐度:
- 相关推荐
按昭下面的编程很方便的。。。。 硬件连接方式是:并口直接访问。 这是汉字显示程序: #include
#define uchar unsigned char
#define datawr 0x1200 //写数据通道
#define comwr 0x1000 //写控制命令通道 #define datare 0x1300 //读数据通道 #define comre 0x1100 //读忙通道
uchar code disp_data[]={\浙江大学 \//第一行,第一页 \级通信工程一班\//第三行 \宁波理工学院 \//第二行 \竞赛小组 \//第四行
\液晶显示器\//第一行,第二页 \测试程序 \//第三行 \年07月25日 \//第二行 \Tornado \//第四行 void set12864();
void write_command(uchar command); void write_page(uchar data_add); void read_page(uchar data_add); void delays(uchar cont);
void main() {
while(1) {
set12864(); //初始化12864 write_page(0); //写入一页数据
read_page(0x30); //读出一页数据到内部RAM delays(2); //延时2s
write_page(64); //写入下一页数据 delays(2); //延时2s } }
//初始化12864子程序 void set12864()
{
write_command(0x30); //功能设定控制字 write_command(0x0c); //显示开关控制字 write_command(0x01); //清除屏幕控制字 write_command(0x06); //进入设定点控制字 }
//写控制命令子程序
void write_command(uchar command) {
bit flag=1; //12864空闲标志位 while(flag) //检查12864是否空闲 flag=\
XBYTE[comwr]=command; //空闲传送控制字 }
//写一页子程序
void write_page(uchar data_add) {
bit flag=1; //12864空闲标志位
uchar num=64; //64个循环,连续写入32个汉字或是64个西文字符 write_command(0x80); for(;num>0;num--) {
while(flag) //检查12864是否空闲 flag=\
XBYTE[datawr]=disp_data[data_add++]; //空闲传送数据 } }
//读一页子程序
void read_page(uchar data_add) {
bit flag=1; //12864空闲标志位
uchar num=64; //64个循环,连续写入32个汉字或是64个西文字符 write_command(0x80); for(;num>0;num--) {
while(flag) //检查12864是否空闲 flag=\
DBYTE[data_add++]=XBYTE[datare]; //空闲传送数据 } }
//延时cont秒子程序 void delays(uchar count) {
unsigned char h,i,j,k; do {
for(h=5;h>0;h--) for(i=4;i>0;i--) for(j=116;j>0;j--) for(k=214;k>0;k--); }while(--count); }
这是图象显示程序: #include
#define uchar unsigned char #define uint unsigned int
#define datawr 0x1200 //写数据通道
#define comwr 0x1000 //写控制命令通道 #define datare 0x1300 //读数据通道 #define comre 0x1100 //读忙通道
uchar code disp_data[] = // 数据表 {
0x00,0x01,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,
0x00,0x01,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,
0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,
0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,
0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,
0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,
0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x80,0x00,0x00,0x00,
0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF
F,0xFF,0xFF,0xFF,
0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,
0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x07,0xFF,0xFF,
0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x0B,0xFF,
0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x1F,
0x01,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,
0x01,0xFF,0xFF,0xFF,0xF3,0x79,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,
0x03,0xFF,0xFF,0xFF,0xE6,0x62,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE1,0x60,0x00,0x68,
0x01,0xFF,0xFF,0xFE,0x00,0x60,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE1,0x00,0x00,0x0E,
0x01,0xFF,0xFF,0xF8,0x00,0x4B,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x8E,0x08,0x79,
0x07,0xFF,0xFF,0xF0,0x00,0x41,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE6,0xC0,0x07,0x61,
0xC3,0xFF,0xFE,0xC0,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xED,0xEF,0x3F,
0x83,0xFF,0xFE,0x60,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xC0,0xFF,0xFD,0xFC,0x6C,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xF0,0x7F,0xF3,0xFF,0xFE,0x60,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xF3,0xFF,0xFF,0x50,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC9,
0xFB,0xFF,0xF1,0xF8,0x8C,0xD8,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFB,0x6F,0xD9,
0xC2,0x3F,0xF8,0x40,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xF6,0xDF,0x1E,0xFF,
0xFF,0x7F,0xFC,0x38,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0x64,0x2F,0x6F,0xFF,
0xFD,0x7B,0xFC,0x1F,0xE0,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0x5F,0x7C,0xEE,0xFF,
0xC7,0xFF,0xBC,0x0F,0xFF,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFE,0xEF,0xFF,
0xFF,0xE7,0xDC,0x07,0xE7,0xF8,0x12,0x7F,0xFF,0xFF,0xFF,0xFF,0x4
7,0xFF,0xFF,0xFF,
0xFF,0xE7,0x80,0x03,0xF4,0x00,0x00,0x5F,0xFF,0xFF,0xFE,0xFE,0xE3,0xFF,0xFF,0xFF,
0xFF,0xFE,0xC0,0x01,0xC0,0x00,0x00,0x1B,0xFF,0xFF,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,
0x7F,0xEE,0xC0,0x00,0xC0,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFE,0x98,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x20,0x0E,0x60,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x8F,0xFF,0xFF,0xFF,0xFF,0xFF,
0x05,0x80,0xE0,0x00,0x00,0x00,0x00,0x01,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x09,0x80,0xA0,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,
0x85,0x2A,0xC0,0x00,0x00,0x00,0x00,0x01,0xFF,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,
0xBF,0xF3,0xC0,0x00,0x00,0x00,0x00,0x00,0xFF,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,
0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x01,0xFF,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,
0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0xFF,0xC0,0xFF,0xFF,0xFF,0xFF,0xC0,0x1F,
0xFF,0xFF,0x80,0x00,0x40,0x00,0x00,0x00,0xFF,0x80,0xFF,0xFF,0xFF,0x80,0x07,0xFF,
0xFF,0xFF,0xC0,0x00,0xC0,0x00,0x00,0x01,0xFF,0x01,0xFF,0xFF,0xF8,0x00,0xFF,0xFF,
0xFF,0xFF,0xE0,0x63,0x80,0x00,0x00,0x01,0xFE,0x01,0xFF,0x18,0x00,0x3F,0xFF,0xFF,
0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x01,0xCC,0x01,0xFE,0x00,0x07,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x07,0xA0,0x03,0xFC,0x00,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x05,0xC0,0x03,0xC8,0x00,0x7F,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x88,0x0C,0x07,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFC,0x00,0x0C,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0xC0,0x7F,0xFF,0xFF,
0xFF,0xFF,0xF8,0x07,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x0F,0xFF,0xFE,
0xFF,0xFF,0xD0,0x07,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x03,0xFF,0xF8,
0xFF,0xFC,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0
x3F,0xFF,0xC0,
0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0xFF,0xF8,
0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x1F,0xFE,
0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x78,0x02,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x03,0xF0,0x78,0x00,0x00,0x00,0x00,0x00,0x02,0xFF,
0xFE,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,
0xF0,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,
0xE0,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,
0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x27,
0xC0,0x00,0x00,0x00,0x00,0x00,0x01,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
0x80,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01 };
void set12864();
void setxy(uchar x,uchar y);
void write_command(uchar command); void write_16byte(uint data_add); void delays(uchar count);
void main() {
uchar x,y,i; while(1) {
y=\//设置液晶上半部分坐标 x=\
delays(2); //延时2s
set12864(); //初始化12864 delays(2);
for(i=0;i<32;i++) //写入液晶上半图象部分 { //写入坐标 setxy(x,y);
write_16byte(i*16); //连续写入16字节数据
y++; //y轴地址加1 }
y=\//设置液晶下半部分坐标 x=\
for(i=0;i<32;i++) //写入液晶下半图象部分 {
setxy(x,y); //写入坐标
write_16byte((32+i)*16);//连续写入16字节数据 y++; //y轴地址加1 }
write_command(0x34); //写入扩充指令命令 write_command(0x36); //显示图象 } }
//初始化12864子程序 void set12864() {
write_command(0x30); //功能设定控制字 write_command(0x0c); //显示开关控制字 write_command(0x01); //清除屏幕控制字 write_command(0x06); //进入设定点控制字 }
//设置绘图坐标
void setxy(uchar x,uchar y) {
write_command(0x34); //写入扩充指令命令 write_command(y); //写入y轴坐标 write_command(x); //写入x轴坐标
write_command(0x30); //写入基本指令命令 }
//写控制命令子程序
void write_command(uchar command) {
bit flag=\//12864空闲标志位 while(flag) //检查12864是否空闲 flag=\
XBYTE[comwr]=command; //空闲传送控制字 }
void write_16byte(uint data_add) {
bit flag=\//12864空闲标志位
uchar num=\//16个循环,连续写入16个字节 for(;num>0;num--) {
while(flag) //检查12864是否空闲 flag=\
XBYTE[datawr]=disp_data[data_add++]; //空闲传送数据 } }
//延时count秒子程序 void delays(uchar count) {
unsigned char h,i,j,k; do {
for(h=5;h>0;h--) for(i=4;i>0;i--) for(j=116;j>0;j--) for(k=214;k>0;k--); }while(--count); }
程序代码如下: #include
#define uint unsigned int #define uchar unsigned char #define x1 0x80 #define x2 0x88 #define y 0x80 #define comm 0 #define dat 1 sbit cs = P0^0;
sbit std = P0^1; sbit sclk = P0^2;
//sbit rst = P0^3; //Reset Signal 低电平有效
void wr_lcd (uchar dat_comm,uchar content); void delay (uint us);
void lcd_char(uchar x0,uchar y0,uchar k,uchar *chn); void init_lcd (void);
void lcd_string(uchar x0,uchar y0,uchar k,uchar *chn); /*------------------初始化-----------------*/ void init_lcd (void) {
// rst=1;
wr_lcd (comm,0x30); /*30---基本指令动作*/ wr_lcd (comm,0x01); /*清屏,地址指针指向00H*/ delay (100);
wr_lcd (comm,0x06); /*光标的移动方向*/ wr_lcd (comm,0x0c); /*开显示,关游标*/ }
/*--------------清DDRAM------------------*/ void clrram (void) {
wr_lcd (comm,0x30); wr_lcd (comm,0x01); delay (180); }
/*---------------------------------------*/ void wr_lcd (uchar dat_comm,uchar content) {
uchar a,i,j; delay (500); a=content; cs=1; _nop_(); sclk=0; _nop_(); std=1; _nop_();
for(i=0;i<5;i++) {
sclk=1; _nop_();
_nop_(); _nop_(); sclk=0; }
std=0; _nop_(); sclk=1; _nop_(); _nop_(); _nop_(); sclk=0; _nop_();
if(dat_comm)
std=1; //data else
std=0; //command sclk=1; _nop_(); _nop_(); _nop_(); sclk=0; std=0; _nop_(); sclk=1; _nop_(); _nop_(); _nop_(); sclk=0;
for(j=0;j<2;j++) {
for(i=0;i<4;i++) {
a=a<<1; std=CY; sclk=1; _nop_(); _nop_(); _nop_(); sclk=0; }
std=0;
for(i=0;i<4;i++) {
sclk=1;
_nop_(); _nop_(); _nop_(); sclk=0; } } }
/*-----------------------------------*/ void delay (uint us) //delay time {
while(us--); }
void delay1 (uint ms) {
uint i,j;
for(i=0;i /*-------在任意位置显示一串汉字------ X0为行,Y0为列,chn为所要显示的汉字串 ,k为汉字个数 */ void lcd_char(uchar x0,uchar y0,uchar k,uchar *chn) { uchar adr,i; switch(x0) { case 0: adr = 0x80 + y0; break; //在第1行y列显示 case 1: adr = 0x90 + y0; break; //在第2行y列显示 case 2: adr = 0x88 + y0; break; //在第3行y列显示 case 3: adr = 0x98 + y0; break; //在第4行y列显示 default: ; } wr_lcd (comm,0x30); wr_lcd (comm,adr); for(i=0;i<2*k;i++) wr_lcd (dat,chn[i]); } //在任意位置显示字符串,k为字符个数 void lcd_string(uchar x0,uchar y0,uchar k,uchar *chn) { uchar adr,i; switch(x0) { case 0: adr = 0x80 + y0; break; //在第1行y列显示 case 1: adr = 0x90 + y0; break; //在第2行y列显示 case 2: adr = 0x88 + y0; break; //在第3行y列显示 case 3: adr = 0x98 + y0; break; //在第4行y列显示 default: ; } wr_lcd (comm,0x30); wr_lcd (comm,adr); for(i=0;i wr_lcd (dat,chn[i]); } /*------------------主程序--------------------*/ void main () { uchar chn[4]={0x31,0x32,0x35,0x36}; uchar b[]={\欢迎使用本程序\init_lcd (); while (1) { clrram(); lcd_char(0,0,7,b); lcd_string(1,0,4,chn); delay1 (8000); } } /*********************************************************************/ /*文件名称:12864-01-8x8.asm SIDE: 128 X 64 DOTS */ /*模 块 名: 12864-1 模块 CONTROLLER: KS0108 */ /*创 建 人:zmlceo 日期:2008-12-01 */ /*QQ:527717539 日期:2008-12-01 */ /*功能描述: */ /*其他说明: */ /*版 本:V1.0 */ /*********************************************************************/ //显示 /*****************/ /* */ /* 12864lcd */ /* */ /* */ /*****************/ #include #include /* Define the register command code */ #define Disp_On 0x3f #define Disp_Off 0x3e #define Col_Add 0x40 #define Page_Add 0xb8 #define Start_Line 0xc0 #define Lcd_Bus P0 //MCU P1 LCM /*sbit Mcs=\//Master chip enable sbit Scs=\//Slave chip enable sbit Enable=\//6800 mode Enable single sbit Di=\//Data or Instrument Select sbit RW=\//Write or Read sbit Lcd_Rst=P2^2; //Lcm reset sbit Test_Key=P2^1;*/ sbit Mcs=\//Master chip enable sbit Scs=\//Slave chip enable sbit Enable=\//6800 mode Enable single sbit Di=\//Data or Instrument Select sbit RW=\//Write or Read sbit Lcd_Rst=P2^5; //Lcm reset sbit Test_Key=P1^0; //;**************************************************************** /*;RS REG P2.0 DEFINE LCM DATA/INSTRUCTION PIN ;R/W REG P2.1 DEFINE LCM READ/WRITE PIN ;E REG P2.2 DEFINE LCM CHIP ENABLE PIN ;CS1 REG P2.3 DEFINE LCM CHIP 1 SELECT PIN ;CS2 REG P2.4 DEFINE LCM CHIP 2 SELECT PIN ;RSTB REG P2.5 DEFINE LCM /RESET PIN*/ char code SHU1[]={ /*-- 文字: 1 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/ 0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00 }; char code SHU2[]={ /*-- 文字: 2 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/ 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00 }; char code SHU8[]={ /*-- 文字: 8 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/ 0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00 }; char code SHU6[]={ /*-- 文字: 6 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/ 0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00 }; char code SHU4[]={ /*-- 文字: 4 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/ 0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00 }; char code L[]={ /*-- 文字: L --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/ 0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00 }; char code C[]={ /*-- 文字: C --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/ 0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10, 0x08,0x00 }; char code D[]={ /*-- 文字: D --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/ 0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00 }; /*****************/ /* */ /* 12864LCD */ /* */ /* */ /*****************/ /*------------------延时子程序-----------------------------*/ void delay(unsigned int t) { unsigned int i,j; for(i=0;i ; } /*------------------写命令到LCD------------------------------*/ void write_com(unsigned char cmdcod e) { Di=0; RW=0; Lcd_Bus=cmdcode; delay(0); Enable=1; delay(0); Enable=0; } /*-------------------写数据到LCD----------------------------*/ void write_data(unsigned char Dispdata) { Di=1; RW=0; Lcd_Bus=Dispdata; delay(0); Enable=1; delay(0); Enable=0; } /*-------------------读LCD数据----------------------------*/ unsigned char read_data() { unsigned char tmpin; Di=1; RW=1; delay(0); Enable=1; delay(0); Enable=0; tmpin=Lcd_Bus; return tmpin; } /*------------------清除内存---------------*/ void Clr_Scr() { unsigned char j,k; Mcs=1;Scs=1; write_com(Page_Add+0); write_com(Col_Add+0); for(k=0;k<8;k++){ write_com(Page_Add+k); for(j=0;j<64;j++)write_data(0x00); } } /*---------------------指定位置显示字符8*16-----------------------*/ void hz_disp816(unsigned char pag,unsigned char col, unsigned char code *hzk) { unsigned char j=\for(j=0;j<2;j++){ write_com(Page_Add+pag+j); write_com(Col_Add+col); for(i=0;i<8;i++) write_data(hzk[8*j+i]); } }
正在阅读:
12864显示程序04-18
发展服务外包考试题目92分03-11
晨读对韵(拼音版)分析03-26
暑期招生活动方案范本04-06
区行政审批服务局上半年主要工作和2022年重点工作规划07-30
焊接课程的改革发展01-06
机房整改方案 - 图文10-12
电子政务内网安全域防护体系设计方案06-25
《自然辩证法》读书笔记范文03-22
签证发给申请表(中文)04-24
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 程序
- 显示
- 12864