📄 7.0.c
字号:
#include<reg51.h>
#include<stdio.h>
#include<absacc.h>
#include<math.h>
#include<INTRINS.h>
#define uchar unsigned char
uchar *p,*p1,*p2;/*建立数组指针*/
sbit A0=P2^0;
sbit A1=P2^1;
sbit E=P2^7;/*读写使能信号,1有效*/
sbit R_W=P3^6;/*读写选择信号;1为读选通,0为写选通*/
sbit D_I=P3^7;/*数据指令选择信号;1为数据操作,0为写指令或读状态*/
char code hanzi[25][33]=
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,
0x01,0xF0,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xF0,0x00,0x00,
0x00,0x00,0xE0,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,
0x00,0x00,0x78,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x0F,0xF8,0x00,0x00,0x00,0x70,
0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x38,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0xE0,
0x00,0x00,0x07,0xFE,0xF8,0x00,0x00,0x38,0x70,0x00,0x00,0x00,0x01,0xFC,0x00,0x00,
0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0xE0,0x00,0x00,0x03,0xE0,0xE0,0x00,0x00,
0x3C,0x70,0x00,0x00,0x00,0x7F,0xFE,0x00,0xC0,0x01,0xFC,0x00,0x1F,0x00,0x00,0x00,
0x00,0xE0,0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x1C,0x70,0x00,0x00,0x3F,0xFC,0x00,
0x00,0xC7,0xFF,0xFE,0x00,0xF3,0x80,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x03,0x80,
0x00,0x00,0x1C,0x70,0x00,0x3F,0xFE,0x00,0x00,0x01,0xFF,0x00,0x3F,0x00,0x03,0x80,
0x00,0x00,0x00,0xE7,0xE0,0x00,0x00,0x07,0x00,0x00,0x00,0x18,0x60,0xC0,0x0F,0x00,
0x00,0x00,0x01,0xC0,0x00,0x38,0x00,0x03,0x80,0x00,0x00,0x03,0xFF,0xF8,0x00,0x00,
0x1E,0x00,0x00,0x00,0x18,0x61,0xE0,0x00,0x00,0x0C,0x00,0x03,0xC0,0x00,0x60,0x00,
0x03,0x80,0x00,0x00,0xFF,0xE0,0xF0,0x00,0x00,0x0E,0x00,0x00,0x00,0x18,0x61,0xE0,
0x00,0x00,0xFF,0x00,0x07,0x80,0x00,0x00,0x00,0x03,0xF8,0x07,0x00,0x70,0xE0,0xF0,
0x00,0x00,0x0E,0x1F,0xC0,0x00,0x38,0x67,0x80,0x00,0x7F,0x8F,0x80,0x03,0x80,0x00,
0x00,0x00,0x3F,0x80,0x7F,0xC0,0x70,0xE0,0xE0,0x00,0x00,0x0F,0xFF,0xF0,0x0F,0xF8,
0x6E,0x00,0x00,0x38,0x0E,0x00,0x00,0x00,0x1F,0xF0,0x07,0xFF,0x0F,0xE7,0xC0,0x30,
0xFE,0xE0,0x00,0x01,0xFF,0xC0,0x00,0x07,0x18,0x78,0x00,0x00,0x18,0x0C,0x00,0x00,
0x07,0xFF,0xF0,0x07,0x8F,0x0E,0x03,0x80,0x3F,0xF8,0xE0,0x01,0xFF,0xE7,0x00,0x00,
0x00,0x18,0x60,0x00,0x00,0x18,0x1C,0x00,0x00,0x7F,0xE0,0x00,0x00,0x0F,0x06,0x07,
0x80,0x38,0xE0,0xE0,0x00,0xF8,0x07,0x00,0x00,0x00,0x18,0x60,0x00,0x00,0x1C,0x7C,
0x00,0x00,0x00,0x70,0x00,0x00,0x1F,0x07,0x07,0x00,0x38,0xE1,0xC0,0x00,0x00,0x07,
0x00,0x00,0x00,0x18,0x60,0x00,0x00,0x1F,0xE0,0x00,0x00,0x00,0x70,0x00,0x00,0x3F,
0xF7,0x07,0x00,0x38,0xE1,0xC0,0x00,0x00,0x07,0x00,0x00,0x00,0x18,0x60,0x18,0x00,
0x0D,0xC0,0x00,0x00,0x00,0x70,0x00,0x00,0x3B,0x77,0x07,0x00,0x18,0xFF,0xC0,0x00,
0x00,0x07,0x00,0x00,0x00,0x38,0x60,0x18,0x00,0x00,0xC0,0x00,0x00,0x00,0x70,0x00,
0x00,0x73,0x07,0x3F,0x00,0x1F,0xFF,0xC3,0x00,0x00,0x07,0x00,0x00,0x00,0x78,0x60,
0x18,0x00,0x60,0xC0,0x00,0x00,0x00,0x70,0x00,0x00,0xE3,0x03,0xFE,0x00,0x18,0xE1,
0x83,0x00,0x00,0x07,0x00,0x00,0x03,0xD8,0x60,0x18,0x00,0x60,0xC7,0xC0,0x00,0x00,
0x30,0x00,0x01,0xC3,0x03,0x00,0x00,0x00,0xE0,0x03,0x00,0x00,0x07,0x00,0x00,0x0F,
0x98,0x70,0x3C,0x00,0xE0,0xC3,0xE0,0x00,0x00,0x30,0x00,0x03,0x83,0x03,0x00,0x00,
0x00,0xE0,0x03,0x00,0x00,0x07,0x00,0x00,0x3E,0x18,0x7C,0xFC,0x00,0xE0,0xC1,0xF0,
0x00,0x00,0x70,0x00,0x06,0x03,0x00,0x00,0x00,0x00,0x60,0x03,0x80,0x00,0x07,0x00,
0x00,0x1C,0x18,0x3F,0xF8,0x01,0xE0,0xC0,0xF0,0x00,0x00,0x70,0x00,0x00,0x03,0x00,
0x00,0x00,0x00,0x70,0x07,0x80,0x00,0x07,0x00,0x00,0x00,0x18,0x07,0x80,0x01,0xC0,
0xC0,0x70,0x00,0x00,0x70,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x78,0x1F,0x80,0x00,
0xFF,0x00,0x00,0x00,0x18,0x00,0x00,0x01,0x8D,0xC0,0x00,0x00,0x03,0x70,0x00,0x00,
0x07,0x00,0x00,0x00,0x00,0x3F,0xFF,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x07,0xC0,0x00,0x00,0x01,0xF0,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x07,0xF8,
0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0xF0,
0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0xE0,0x00,0x00,0x03,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,
0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
uchar data l1=33;
uchar data l2=25;
uchar data page=0x00;
uchar data col1=0x00;
uchar data col=0x00;
uchar data yanse1=0x00;
uchar data yanse2=0xf0;
#define dlcd XBYTE[0x0000]/*定义送数据的地址*/
#define clcd1 XBYTE[0x0100]/*定义送指令的地址*/
#define clcd2 XBYTE[0x0200]/*定义送指令的地址*/
#define clcd3 XBYTE[0x0300]/*定义送指令的地址*/
/**************************************************/
void Clearlcd();/*清屏*/
void Hanz();
void Hanz1();
void Imim();/*初始化*/
void Delay();/*延时*/
/********************主程序********************/
void main()
{
Delay();/*延时*/
Imim();/*初始化*/
p=hanzi;
Hanz();
loop:goto loop;
}
/********************初始化子程序********************/
void Imim()
{
uchar data i,j;
uchar data k=0x00;
clcd3=0x00;
clcd1=k;
clcd2=0x00;
clcd2=0x00;/*地址指针设置*/
Clearlcd();/*清屏*/
for(i=0;i<120;i++)
{
for(j=0;j<2;j++)
{
//Clearlcd();/*清屏*/
k=k+0x01;
clcd3=0x00;
clcd1=k;
clcd2=0x00;
clcd2=0x00;
}
}
}
/********************延时子程序********************/
void Delay()
{
uchar data i,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++);
}
/********************基本指令集清屏子程序********************/
void Clearlcd()
{
uchar data i,j;
uchar data k=0x00;
clcd3=0x00; /*设定显示页和操作页*/
for(i=0;i<234;i++)
{
clcd1=k; /*设定行地址*/
clcd2=0x00;
clcd2=0x00; /*设定列地址*/
for(j=0;j<80;j++)
{
dlcd=yanse1; /*写显示数据*/
dlcd=yanse1;
dlcd=yanse1;
dlcd=yanse1;
dlcd=yanse1;
dlcd=yanse1;
}
k=k+0x01;
}
}
/********************初始化子程序*******************/
void Hanz1()
{
uchar data i,wbyte,wbyte1;
wbyte=*p;
for(i=0;i<8;i++)
{
wbyte1=wbyte;
if((wbyte1&0x80)!=0x80)
{
wbyte=wbyte<<1;
dlcd=yanse1;
}
else
{
wbyte=wbyte<<1;
dlcd=yanse2;
}
}
p=p+1;
}
/********************初始化子程序*******************/
void Hanz()
{
uchar data i,j,col2;
for(i=0;i<l1;i++)
{
clcd3=0x00;
clcd1=page;
clcd2=col;
clcd2=col1;
page=page+0x01;
for(j=0;j<l2;j++)
{
Hanz1();
}
col2=col1;
col2=col2+0x01;
if((col2|0x00)!=0x00)
{
}
else
{
col=0x01;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -