这是我写的程序,高手们给看看怎么回事,谢谢了
#include "REG52.H"
#include "stdio.h"
#include"absacc.h"
#define uchar unsigned char
#define uint unsigned int
#define LCDCOM XBYTE[0xfFfD]
#define LCDDATA XBYTE[0xfFfC]
sbit bflag=ACC^7;
unsigned char code tuxing[]={0x00,0x00,0x01,0xFF,0xF0,0x18,0x03,0xFE,0x00,0x07,0xFF,0xFC,0x07,0xFF,0xFF,0xFE,
0x00,0x00,0x03,0xFF,0xF0,0x18,0x03,0xFE,0x00,0x07,0xFF,0xFE,0x0F,0xFF,0xFF,0xFF,
0x00,0x00,0x07,0xFF,0xF0,0x38,0x03,0xFE,0x00,0x00,0x7F,0xFF,0x0F,0xFF,0xFF,0xFF,
0x00,0x00,0x0F,0xFF,0xF0,0x70,0x03,0xFF,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,
0x00,0x00,0x1F,0xFF,0xE0,0x70,0x03,0xFF,0x80,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,
0x00,0x00,0x1F,0x3F,0xC0,0xF0,0x03,0xF9,0xC0,0x00,0xFF,0xFF,0x8F,0xFF,0xFF,0xFF,
0x00,0x00,0x0F,0x1F,0xC0,0xE0,0x01,0xF8,0xC0,0x01,0xFF,0xF0,0x07,0xFF,0xFF,0xFF,
0x00,0x00,0x0F,0x1F,0xE1,0xE0,0x01,0xF8,0x60,0x03,0xFF,0xE0,0x07,0xFF,0xFF,0xFF,
0x00,0x00,0x1F,0x0F,0xE1,0xE0,0x01,0xF8,0x30,0x07,0xFF,0xE0,0x07,0xFF,0xFF,0xFF,
0x00,0x00,0x1F,0x0F,0xF3,0xC0,0x01,0xFC,0x30,0x07,0xFF,0xF0,0x07,0xEF,0xFF,0xFF,
0x00,0x00,0x3F,0x07,0xFF,0xC0,0x00,0xFC,0x0C,0x0F,0x3F,0xF8,0x1F,0xC7,0xFF,0xFF,
0x00,0x00,0x3F,0x83,0xFF,0xC0,0x00,0xFC,0x04,0x0F,0x38,0xFC,0x1F,0xE3,0xFF,0xFF,
0x00,0x00,0x7F,0x83,0xFF,0x80,0x00,0xFC,0x00,0x0F,0xB8,0xFE,0x3F,0xE1,0xFF,0xFF,
0x00,0x00,0xFF,0xC1,0xFF,0x80,0x00,0xFC,0x00,0x0F,0xF8,0xFE,0x9F,0xE0,0xFF,0xFF,
0x00,0x00,0xFF,0xC1,0xFF,0x80,0x00,0x7E,0x00,0x1F,0xF8,0xFF,0x9F,0xE0,0x7F,0xFF,
0x00,0x01,0xFF,0xE0,0xFF,0xC0,0x00,0x7E,0x00,0x7F,0xF8,0x7F,0x9F,0xF0,0x7F,0xFF,
0x00,0x03,0xFF,0xE0,0x7F,0xC0,0x00,0x7E,0x00,0x7F,0xFC,0x7F,0xFF,0xF0,0x3F,0xFF,
0x00,0x07,0xFF,0xF0,0x7F,0xE0,0x00,0x66,0x01,0xFF,0x3F,0xEF,0xFF,0xF0,0x07,0xFE,
0x00,0x0F,0xFF,0xF8,0x3F,0xF0,0x00,0x76,0x03,0xFF,0x1F,0xFF,0xFE,0xF8,0x03,0xFE,
0x00,0x1F,0xFF,0xFC,0x3F,0xF8,0x00,0x76,0x07,0xFC,0x3F,0xFF,0xFE,0x78,0x03,0xFF,
0x00,0x3F,0xFF,0xFF,0xFF,0xFC,0x00,0x73,0x1F,0xF8,0x3F,0xFF,0xFC,0x3C,0x00,0xFF,
0x00,0x7F,0xFF,0xFF,0xFF,0xFE,0x00,0x73,0xFF,0xF0,0x7F,0xFF,0xFE,0x3C,0x00,0xFF,
0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x73,0xFF,0xC0,0xF0,0xFF,0xFE,0x1E,0x04,0x7F,
0x01,0xFF,0x3F,0xFF,0xFF,0xFF,0x00,0x73,0xFF,0x81,0xF0,0x7F,0xFE,0x0E,0x1C,0x7F,
0x07,0xFE,0x3F,0xFF,0xFF,0xFF,0x80,0x7F,0xFF,0x01,0xF0,0x3F,0xFE,0x07,0x1C,0x7E,
0x0F,0xFC,0x7F,0xFF,0xFF,0xFF,0xC0,0x7F,0xFE,0x03,0xF8,0x3F,0xFE,0x07,0x1E,0x7F,
0x3F,0xF0,0x7F,0xFF,0xFC,0xFF,0xC0,0x7F,0xFC,0x03,0xF8,0x3F,0xFE,0x03,0x8E,0x7E,
0x7F,0xE0,0x7F,0xFF,0xFE,0xFF,0xE0,0x7F,0xF0,0x07,0xF8,0x3F,0xFF,0x01,0x8E,0x3E,
0x7F,0x80,0x7F,0xFF,0xFF,0x3F,0xF0,0x7F,0xE0,0x07,0xFC,0x3F,0xFF,0x00,0xCF,0x3E,
0x7C,0x00,0xFF,0xFF,0xFF,0x9F,0xF0,0x7F,0xC0,0x0F,0xFC,0x7F,0xFF,0x00,0x0F,0x3E,
0x00,0x00,0xFF,0xFF,0xFF,0x8F,0xF0,0x7E,0x00,0x0F,0xFE,0x7F,0xFF,0x00,0x0F,0x3F,
0x00,0x00,0xFF,0xFF,0x8F,0xC7,0xF8,0x78,0x00,0x1F,0xFE,0x7F,0xFF,0x00,0x0F,0xBF,
0x00,0x01,0xFF,0xFF,0x87,0xC3,0xFC,0xE0,0x00,0x1F,0xFF,0xFF,0x3F,0x80,0x07,0xFF,
0x00,0x01,0xFF,0xFF,0x87,0xE1,0xFC,0xE0,0x00,0x3F,0xFF,0xFF,0x3F,0x80,0x07,0xFF,
0x00,0x01,0xFF,0xFF,0xC3,0xF0,0xFF,0xC0,0x00,0x3F,0xFF,0xFF,0xFF,0x80,0x00,0xDF,
0x00,0x01,0xFF,0xFF,0xC1,0xF8,0xFF,0xC0,0x00,0x3F,0xCF,0xFF,0xFF,0xC0,0x00,0x1F,
0x00,0x03,0xFF,0xFF,0xE1,0xF8,0x7F,0x80,0x00,0x7F,0xDF,0xFF,0xE7,0xC0,0x04,0x1F,
0x00,0x03,0xFF,0xFF,0xE0,0xFC,0x3F,0x80,0x00,0x7F,0xFF,0xFF,0xC3,0xC0,0x04,0x0F,
0x00,0x03,0xFF,0xFF,0xF0,0x7C,0x1F,0x80,0x00,0x7F,0xFF,0xFF,0xC1,0xC0,0x06,0x0F,
0x00,0x03,0xFF,0xFF,0xF0,0x3E,0x0F,0x00,0x00,0xFF,0xFF,0xFF,0x80,0xE0,0x06,0x0F,
0x00,0x07,0xFF,0xFF,0xF0,0x1E,0x0E,0x00,0x01,0xFF,0xFF,0xFF,0x80,0x60,0x0E,0x3F,
0x00,0x07,0xFF,0xFF,0xF8,0x0F,0x0E,0x00,0x00,0xFF,0xFF,0xFF,0xC0,0x20,0x0F,0xFF,
0x00,0x07,0xFF,0xFF,0xF8,0x07,0xDE,0x00,0x00,0xFF,0xFF,0xFF,0xC0,0x00,0x0F,0xFF,
0x00,0x07,0xFF,0xFF,0xFC,0x03,0xF0,0x00,0x00,0xFF,0xFF,0xFF,0xC0,0x00,0x0C,0x03,
0x00,0x07,0xFF,0xFF,0xFC,0x01,0xE0,0x00,0x00,0xFF,0xFF,0xFF,0xC0,0x00,0x18,0x03,
0x00,0x07,0xFF,0xFF,0xFE,0x00,0xE0,0x00,0x01,0xFF,0xE7,0xFF,0xC0,0x00,0x38,0x03,
0x00,0x07,0xFF,0xFF,0xFE,0x00,0x30,0x00,0x01,0xFF,0xC3,0xFF,0xC0,0x00,0xF8,0x83,
0x00,0x07,0xFF,0xFF,0xFF,0x00,0x08,0x00,0x01,0xFF,0xC3,0xFF,0xE0,0x03,0xF0,0x81,
0x00,0x0F,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x01,0xFF,0xC3,0xFF,0xE0,0x07,0xF0,0x01,
0x00,0x0F,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x01,0xFF,0xE7,0xFF,0xE0,0x0F,0xF8,0x81,
0x00,0x0F,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x03,0xFF,0xC7,0xFF,0xF0,0x1F,0xFC,0x40,
0x00,0x0F,0xFF,0xF7,0xFF,0xC0,0x00,0x00,0x03,0xFF,0xE7,0x7F,0xF8,0x1F,0xFC,0x00,
0x00,0x0F,0xFF,0xE3,0xFF,0xE0,0x00,0x00,0x03,0xF3,0xFE,0x3F,0xFC,0x39,0xFE,0x00,
0x00,0x0F,0xFF,0xC3,0xFF,0xE0,0x00,0x00,0x07,0xF3,0xFE,0x1F,0xE3,0xF8,0xFF,0x00,
0x00,0x0F,0xFF,0x83,0xFF,0xF0,0x00,0x00,0x07,0xF3,0xFF,0x0F,0xE3,0xFD,0xFF,0x00,
0x00,0x07,0xFF,0xC1,0xFF,0xF8,0x00,0x00,0x0F,0xE3,0xFF,0x0F,0xF1,0xFF,0xFF,0xC0,
0x00,0x07,0xFF,0xC1,0xFF,0xF8,0x00,0x00,0x0F,0xE3,0xFF,0x0F,0xF0,0xFF,0xFF,0xE0,
0x00,0x07,0xFF,0xC0,0xFF,0x80,0x00,0x00,0x0F,0xE3,0xFF,0x0F,0xF8,0xE7,0xFF,0xF0,
0x00,0x07,0xFF,0xE0,0xFF,0x80,0x00,0x00,0x1F,0xC3,0xFF,0x87,0xFC,0xE7,0xFF,0xF0,
0x00,0x07,0xFF,0xE0,0x7F,0x80,0x00,0x00,0x1F,0xC3,0xFF,0x8F,0xFF,0xFF,0xFF,0xF0,
0x00,0x07,0xFF,0xE0,0x7F,0xC0,0x00,0x00,0x1F,0xC3,0xFF,0xCF,0xFF,0xFF,0xFF,0xF0,
0x00,0x07,0xFF,0xF0,0x3F,0xC0,0x00,0x00,0x1F,0x83,0xFF,0xDF,0xFF,0xFF,0xFF,0xF0,
0x00,0x07,0xFF,0x70,0x3F,0xC0,0x00,0x00,0x1F,0x83,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,
0x00,0x0F,0xFE,0x78,0x1F,0xC0,0x00,0x00,0x1F,0x83,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,
};
void delay(unsigned char m)
{
unsigned char i,j;
for(i=0;i
for(j=0;j<50;j++)
;
}
void busy(void)
{
do{ACC=LCDCOM;
}while(bflag==1);
}
void command_sending_with_one_data(uchar data1,uchar command)
{ busy();
LCDDATA=data1;
busy();
LCDCOM=command;
}
void command_sending_with_two_data(uint data1,uint data2,uchar command)
{
busy();
LCDDATA=data1;
busy();
LCDDATA=data2;
busy();
LCDCOM=command;
}
void dispay_tuxing(void)
{
uchar i,j;
uint address,x=0;
address=0;//首地址,图形显示
for(i=0;i<32;i++)
{ uint k=0;
if(address>=32)k=(address/32);
command_sending_with_two_data((uchar)(address*8),(uchar)(k),0x24);
for(j=0;j<16;j++)//每行16字节
{
command_sending_with_one_data(tuxing[x],0xc0);
x++;
}
address=address+16;//换行
}
}
void init_12864()
{
busy();
command_sending_with_two_data(0x00,0x00,0x21); //光标指针设置,本程序不设置偏移寄存器
busy(); //地址指针在开始写字的时候才进行设置
command_sending_with_two_data(0x00,0x00,0x42);
busy();
command_sending_with_two_data(128,00,0x43); //设置图形区域大小
busy();
LCDCOM=0x80; //模式设置
busy();
LCDCOM=0x98; //显示设置
busy();
LCDCOM=0xa5; //光标设置
}
void clear_play(void)
{ uchar i;
LCDCOM=0xB0;
busy();
for(i=0;i<300;i++)
LCDDATA=0x00;
busy();
LCDCOM=0xb2;
busy();
}
void main()
{ uchar i;
init_12864();
dispay_tuxing();
} |