标题:
12864GDRAM绘图,知道代码有错可是却找不出来求解救
[打印本页]
作者:
keil321
时间:
2016-2-25 21:32
标题:
12864GDRAM绘图,知道代码有错可是却找不出来求解救
#include<reg52.h>
#include"delay.h"
#include"hc595.h"
#include"boardinit.h"
#define IO_12864 P0
uchar code nBitmapDot0[] = // 数据表
{
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x05,0xAE,0x90,0x00,0x00,0x95,0x55,0x48,
0x80,0x00,0x00,0x00,0x00,0x2B,0x55,0x00,
0x00,0x00,0xA8,0x00,0x22,0x15,0x20,0x00,
0x00,0x00,0x97,0xFB,0x00,0x00,0x00,0x45,
0x55,0x08,0xA0,0x00,0x00,0x00,0x0A,0x6F,
0xF4,0x00,0x00,0x00,0xB2,0x80,0x40,0x00,
0x04,0x40,0x00,0x00,0xBA,0xE0,0x00,0x00,
0x00,0x4D,0x55,0x15,0x15,0x20,0x00,0x00,
0x95,0xD5,0x00,0x00,0x00,0x00,0xFF,0xE8,
0x40,0x40,0x00,0x00,0x00,0x4A,0xAA,0x80,
0x00,0x00,0x00,0xFF,0xFF,0x2A,0x00,0x40,
0x00,0x00,0x15,0x54,0x00,0x00,0x00,0x00,
0xFF,0xFD,0xD0,0xAA,0x01,0x00,0x00,0x25,
0x20,0x10,0x00,0x00,0x00,0xFF,0xFF,0xB6,
0x00,0x10,0x00,0x01,0x4A,0x49,0x00,0x00,
0x00,0x00,0xFF,0xFF,0xFD,0xE8,0x40,0x00,
0x00,0x11,0x00,0x24,0x84,0x00,0x00,0xAB,
0xFF,0xFF,0x55,0x00,0x00,0x00,0x24,0x02,
0x49,0x5E,0xA0,0x00,0x84,0xBF,0xFF,0xF4,
0x88,0x00,0x00,0x00,0x10,0x05,0xFF,0xF4,
0x00,0x29,0x0B,0xFF,0xFA,0x20,0x00,0x00,
0x00,0x02,0xBF,0xFF,0xFC,0x00,0x44,0xA0,
0x57,0xFD,0x80,0x00,0x00,0x00,0x08,0x5F,
0xFF,0xFF,0x80,0x91,0x0A,0xAA,0xF6,0x50,
0x00,0x00,0x00,0x41,0xFF,0xFF,0xFF,0xC0,
0x44,0xA0,0x01,0x1B,0x84,0x00,0x00,0x00,
0x26,0xFF,0xFF,0xFF,0x90,0x11,0x0A,0xAA,
0x6D,0x68,0x00,0x00,0x00,0x0B,0xFB,0xFF,
0xEF,0xE0,0xC4,0xA0,0x01,0x02,0x80,0x00,
0x00,0x00,0x43,0xF1,0xFE,0x63,0xF0,0x15,
0x55,0x54,0x55,0x6A,0x00,0x00,0x00,0x9F,
0xE3,0xFC,0x87,0x30,0xCA,0xAB,0x91,0x00,
0x90,0x00,0x00,0x00,0x07,0xC1,0xFA,0x2A,
0x80,0x25,0xFF,0xFE,0x95,0x2A,0x00,0x00,
0x00,0x2F,0x13,0xFE,0xFC,0x10,0x95,0xFF,
0xFF,0xC0,0x50,0x00,0x00,0x00,0x0F,0x41,
0xFF,0xF3,0x80,0x4F,0xFF,0xFF,0xF9,0x2A,
0x00,0x00,0x00,0x9F,0x08,0xFF,0xD4,0x00,
0xB3,0xFF,0xFF,0xFE,0x54,0x80,0x00,0x00,
0x1E,0xA0,0x7F,0xA0,0x00,0x5F,0xFE,0x7F,
0xFE,0xAA,0x00,0x00,0x00,0x5F,0x57,0xFE,
0x00,0x00,0xAF,0xFD,0x7F,0xFF,0x94,0x80,
0x00,0x00,0x1F,0xFE,0xE8,0x00,0x00,0x7F,
0xFA,0x7F,0x5F,0xCA,0x00,0x00,0x00,0x3F,
0x55,0x00,0x00,0x00,0xAF,0xF1,0x7F,0xDE,
0xF5,0x40,0x00,0x00,0x1A,0xA0,0x80,0x00,
0x00,0xDF,0xF2,0x3F,0xFC,0xC2,0x00,0x00,
0x00,0x50,0x08,0x00,0x00,0x00,0x2F,0xFA,
0xBF,0xFF,0xF4,0xA0,0x00,0x00,0x05,0x42,
0x00,0x00,0x00,0x97,0xFE,0x3F,0xFF,0xE3,
0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,
0x68,0xFF,0xDF,0xD5,0x78,0x40,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x07,0x5F,0xFF,
0x48,0x02,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xD0,0xAA,0xF4,0xA0,0xAA,0x40,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A,
0x45,0x09,0x05,0x11,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xA1,0x28,0xA0,0x00,
0x44,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x08,0x42,0x04,0x52,0x12,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x09,
0x51,0x00,0x48,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x50,0x04,0x4A,0x12,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xAA,0x05,0x50,0x21,0x48,0x20,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x90,0x02,
0x84,0x12,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xD4,0x05,0x48,0x10,0x48,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x81,
0x20,0x00,0x02,0x02,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xA4,0x84,0x92,0x48,
0x94,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x48,0x10,0x00,0x00,0x21,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00
};
unsigned char code nBitmapDot1[] = // 数据表
{
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,0x01,
0x3F,0xC0,0x80,0x42,0x04,0x20,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x8A,0x1F,0xFC,
0x42,0x04,0xF8,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x3F,0x80,0x01,0xFF,0xDE,0x88,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x2A,
0x87,0xF0,0xA2,0x0A,0xF8,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xBF,0x84,0x10,0xA2,
0x0A,0x88,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x80,0x1F,0xFC,0xA2,0x0A,0xF8,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x9F,0x90,
0x05,0x2F,0xCA,0xA4,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0x80,0x03,0xE1,0xA8,0x4A,
0xA8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xBF,0xC2,0x24,0x48,0x44,0x90,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x92,0x84,0x24,
0xA8,0x4A,0xA8,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xA6,0x58,0x3D,0x0F,0xD0,0xC4,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,
0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x23,0x08,0x37,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x40,0x10,0x08,0x40,0x00,0xFF,0x90,
0x10,0x08,0x00,0x00,0x00,0x00,0x81,0x86,
0x10,0x40,0x00,0x08,0x08,0x10,0xFF,0x86,
0x00,0x00,0x01,0x02,0x49,0x40,0x40,0x00,
0x7F,0x0B,0xFC,0x08,0x0F,0x00,0x00,0x01,
0x08,0x00,0x40,0x20,0x00,0x10,0x00,0x10,
0x49,0x0F,0x00,0x00,0x02,0x08,0x00,0x20,
0x20,0x01,0xFF,0xDD,0x10,0x2A,0x0F,0x00,
0x00,0x04,0x31,0x83,0x20,0x20,0x00,0x20,
0x04,0x91,0xFF,0xC6,0x00,0x00,0x04,0x52,
0x44,0x90,0x20,0x00,0x7F,0x04,0x90,0x1C,
0x06,0x00,0x00,0x09,0xA4,0x28,0x4C,0x10,
0x00,0xA1,0x04,0x10,0x2A,0x00,0x00,0x00,
0x0E,0x44,0xE9,0xC3,0x90,0x01,0x3F,0x04,
0x70,0x49,0x06,0x00,0x00,0x00,0x82,0xC5,
0x81,0x70,0x00,0x21,0x0A,0x01,0x88,0xC6,
0x00,0x00,0x01,0x01,0x83,0x00,0x80,0x80,
0x3F,0x11,0xFC,0x08,0x00,0x00,0x00,0x01,
0x0C,0x70,0x00,0x80,0x30,0x40,0x00,0x00,
0x00,0x00,0x00,0x00,0x02,0x13,0x87,0x10,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x02,0x20,0x78,0xA0,0x40,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x20,
0x00,0x60,0x40,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x02,0x21,0x80,0x60,0x40,
0x00,0x00,0x71,0xEE,0x3C,0x00,0x00,0x00,
0x01,0x11,0x98,0x90,0x80,0x00,0x00,0x8E,
0x31,0xC6,0x00,0x00,0x00,0x01,0x08,0x18,
0x80,0x80,0x00,0x01,0x24,0x24,0x83,0x00,
0x00,0x00,0x00,0x96,0x01,0x01,0x00,0x00,
0x01,0x40,0x28,0x03,0x00,0x00,0x00,0x00,
0x49,0x86,0x03,0x00,0x00,0x01,0x40,0x28,
0x03,0x00,0x00,0x00,0x00,0x34,0x78,0x8C,
0x00,0x00,0x01,0x00,0x20,0x03,0x00,0x00,
0x00,0x00,0x0E,0x01,0x30,0x00,0x00,0x00,
0x80,0x30,0x06,0x00,0x00,0x00,0x00,0x71,
0x87,0xCE,0x00,0x00,0x00,0x40,0x68,0x0C,
0x00,0x00,0x00,0x00,0xE0,0x78,0x07,0x00,
0x00,0x00,0x20,0xC4,0x18,0x00,0x00,0x00,
0x01,0xAF,0xFF,0xC5,0x80,0x00,0x00,0x11,
0x82,0x30,0x00,0x00,0x00,0x03,0xA9,0xB6,
0x45,0xC0,0x00,0x00,0x0B,0x01,0x60,0x00,
0x00,0x00,0x07,0x2F,0x03,0xC4,0xE0,0x00,
0x00,0x06,0x00,0xC0,0x00,0x00,0x00,0x0E,
0x16,0x01,0x88,0x70,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0F,0x08,0x00,0x10,
0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x0F,0x84,0x00,0x21,0xF0,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00
};
//#define uchar unsigned char
sbit RS=P2^5;
sbit RW=P2^6;
sbit E=P2^4;
sbit PSB=P1^3;
sbit RST=P1^5;
void read_busy() //测忙函数
{
E=0;
RS=0;
RW=1;
E=1;
IO_12864=0xff;
while(IO_12864&0X80);
E=0;
}
void write_com(uchar com) //写指令函数
{
read_busy();
E=0;
RS=0;
RW=0;
E=1;
IO_12864=com;
E=0;
}
void write_dat(uchar dat) //写数据函数
{
read_busy();
E=0;
RS=1;
RW=0;
E=1;
IO_12864=dat;
E=0;
}
uchar read_dat() //读数据函数
{
uchar dat1;
read_busy();
E=0;
RS=1;
RW=1;
E=1;
IO_12864=0xff;
dat1=IO_12864;
E=0;
return dat1;
}
void CLGDRAM() //清空GDRAM函数
{
uchar i,j;
write_com(0x34); //扩充指令集动作
for(i=0;i<32;i++)
{
write_com(0x80+i); //行坐标(垂直坐标)
write_com(0x80); //列坐标(水平坐标)
for(j=0;j<32;j++)
write_dat(0x00);
}
write_com(0x30); //基本指令集动作
}
void Draw(uchar *addr) //全屏绘图函数
{
uchar i,j;
write_com(0x34); //扩充指令集动作
for(i=0;i<32;i++)
{
write_com(0x80+i); //行坐标(垂直坐标)
write_com(0x80); //列坐标(水平坐标)
for(j=0;j<32;j++)
write_dat(*addr++);
}
write_com(0x30); //基本指令集动作
}
void init_12864()
{
PSB=1; //并口打开
RST=1;
RST=0; //复位
delayus(100);
RST=1;
write_com(0x30); //基本指令集动作
delayus(10);
write_com(0x30); //基本指令集动作
delayus(10);
write_com(0x06); //设置显示和游标开
delayus(10);
write_com(0x01); //清楚显示
delay(10);
write_com(0x0c); //开显示
}
void main()
{
boardinit();
init_12864();
while(1)
{
init_12864();
CLGDRAM();
Draw(nBitmapDot0);
write_com(0x36);
delay(500);
init_12864();
CLGDRAM();
Draw(nBitmapDot1);
write_com(0x36);
delay(500);
}
}
复制代码
作者:
keil321
时间:
2016-2-25 21:37
[attach]19028[/attach]
作者:
keil321
时间:
2016-2-25 21:40
显示结果
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1