這段時間對12864—5V帶字庫的圖形模式和文本模式學(xué)習(xí)一段時間。我用的是STC12C5A60S2的單片機(jī),板子就是普通的開發(fā)板 推薦用32系列較快,51單片機(jī)的掃描太慢了。效果圖后面補(bǔ)上
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int //宏定義
#define LCD P0 //數(shù)據(jù)端口
sbit LCD_RS = P2^6; //指令/數(shù)據(jù)選擇信號
sbit LCD_RW = P2^5; //讀寫選擇信號
sbit LCD_EN = P2^7; //使能端
sbit LCD_PSB = P2^1; //串并端口/高電平為并行,低電平為串行
uchar code ai[] =
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF0,0xA3,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x3E,0xD7,0xC0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xEF,0x39,0xFB,0xC0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0xEF,0x41,0xFF,0xC0,0x1B,0x78,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x13,0xEF,0x4E,0xDF,0xC0,0xFF,0xFC,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x31,0xEF,0x9F,0x73,0x0F,0xFF,0x7C,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x7F,0xCF,0x77,0x4F,0xFF,0xB8,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x3F,0x87,0xDC,0x7F,0xF3,0xCE,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x1F,0x87,0x83,0xFF,0xE1,0xFE,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x06,0x8F,0x03,0xFF,0x00,0xF9,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xC3,0x8E,0x0F,0xFC,0x08,0xFE,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF9,0x0C,0x3F,0xF8,0x30,0xFF,0xC0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xEC,0xBE,0x7F,0xEC,0x60,0xFF,0x40,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x87,0xFF,0xF8,0xC4,0x9E,0x38,
0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x30,0x00,0x31,0xFD,0xFF,0x61,0xCD,0x9F,0xDC,
0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xEF,0xE0,0x73,0xF0,0xFD,0xC3,0x9F,0x8F,0xFC,
0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x60,0xFF,0xDF,0xFF,0x8F,0x07,0x1F,0xEF,0xF8,
0x00,0x00,0x00,0x00,0x01,0xFF,0xE0,0x60,0x3F,0xBF,0x8F,0xEF,0xFE,0x3F,0xFF,0xF4,
0x00,0x00,0x00,0x00,0x03,0xFF,0xFC,0x60,0x1F,0x9F,0x9C,0xFC,0xFF,0xFF,0xFF,0xF6,
0x00,0x00,0x00,0x00,0x07,0xFF,0xFC,0x60,0x0F,0x3F,0xBF,0xF8,0x30,0x73,0xFF,0xFF,
0x00,0x00,0x00,0x07,0xFF,0xF0,0x00,0x60,0x0F,0xFF,0xFF,0xE0,0xE0,0xF0,0x07,0xFF,
0x00,0x00,0x00,0x7F,0xFF,0x80,0x1F,0xEE,0x37,0xFF,0xC0,0x03,0xE1,0xE0,0x03,0xFB,
0x00,0x00,0xFF,0xFF,0xFF,0x00,0x03,0xFF,0xF7,0xFD,0xFC,0x0F,0xC3,0xE0,0x00,0xFE,
0x00,0x1F,0xFF,0xFF,0xFF,0x00,0x00,0xFE,0x0E,0xB9,0xFC,0x03,0x87,0xC0,0x00,0xF4,
0x00,0x3F,0xFF,0xFE,0x1E,0x00,0x02,0xC7,0xEF,0xBA,0xC0,0x01,0x0F,0x80,0x00,0x00,
0x08,0xFF,0xFF,0xFC,0x3E,0x00,0x03,0xFF,0x0F,0xFF,0x80,0x01,0x0F,0x80,0x00,0x00,
0x3F,0xFF,0xFF,0xF8,0x3E,0xC0,0x01,0xBF,0xF1,0xFD,0x03,0xF8,0x3F,0x00,0x00,0x00,
0x7F,0xFF,0xFF,0xF0,0x3F,0xFF,0x00,0xF0,0x7F,0xF9,0x03,0xFE,0x3E,0x00,0x00,0x00,
0xFF,0xFF,0xFF,0xE0,0x1F,0xBE,0x00,0xF0,0x0F,0xFB,0x00,0x1F,0xF8,0x00,0x00,0x00,
0xBF,0xFF,0xFF,0xC0,0x1F,0xE0,0xF8,0xD0,0x00,0xFE,0x00,0x0F,0xF8,0x00,0x00,0x00,
0x7F,0xFF,0xFF,0xC0,0x1F,0xFF,0xF8,0xD0,0x00,0xFC,0x7A,0x0F,0xF8,0x00,0x00,0x00,
0x1F,0xFF,0xFF,0x80,0x0F,0xFF,0xE0,0xDC,0x00,0xF9,0xFC,0x0F,0xF8,0x00,0x00,0x00,
0x2F,0xFD,0xFF,0x80,0x0F,0xFF,0xC0,0xDE,0x00,0xFF,0x80,0x0F,0xF8,0x00,0x00,0x00,
0x07,0xFF,0xF7,0x00,0x07,0xFF,0xC0,0xDF,0x80,0xFF,0x00,0x3F,0xF0,0x00,0x00,0x00,
0x01,0xE7,0xDC,0x00,0x01,0xF7,0xF0,0xDF,0xE0,0xFF,0x88,0xF3,0xF0,0x00,0x00,0x00,
0x00,0x04,0x30,0x00,0x00,0xF8,0x78,0xFF,0xFC,0xF9,0x8D,0xE3,0xE0,0x00,0x00,0x00,
0x00,0x00,0x18,0x00,0x00,0x1F,0x0C,0xFF,0xFF,0xF8,0x8C,0x07,0xE0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x07,0xC4,0xFF,0xFF,0xF1,0xB8,0xFF,0xE0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x01,0xE0,0x3D,0xFF,0xF9,0xF1,0xFF,0x60,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x3C,0x1F,0xFF,0xE1,0xFE,0xF8,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x3C,0x07,0xFF,0xBC,0x7E,0x9F,0x80,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x3E,0x00,0xFF,0xB9,0xBC,0x20,0xF0,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x7E,0x00,0x1F,0xB0,0xFF,0xFF,0x10,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x7E,0x00,0x00,0xF8,0x7F,0xFF,0xF8,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x7E,0x00,0x00,0x7E,0x2F,0xFF,0xF8,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0xFE,0x00,0x00,0x1F,0x84,0x00,0xF8,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x3E,0x00,0x00,0x07,0xE6,0x00,0x78,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xC7,0x80,0x00,0x01,0xE3,0x00,0x78,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0xFE,0x00,0x00,0x61,0x00,0x78,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xF8,0xE7,0x00,0x00,0x35,0x80,0x78,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF0,0x9F,0x80,0x1C,0x80,0x3C,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xCF,0xC0,0x1E,0x80,0x3C,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF3,0x47,0xEF,0xFF,0x80,0x7C,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x27,0xFF,0xE3,0xFF,0xFF,0x00,0x7C,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x60,0xFF,0xFC,0x00,0x38,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x3F,0x00,0x00,0x78,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xE0,0x00,0x00,0x00,0xF8,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFC,0x00,0x00,0x00,0xF0,0x00,0x00,
0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x01,0xFF,0x00,0x00,0x00,0xF0,0x00,0x00,
0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xFF,0xE0,0x00,0x00,0xF0,0x00,0x00,
0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x00,0x00,0xE0,0x00,0x00,
0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,0x60,0x00,0x00
}; //圖片數(shù)據(jù)
void delay(uint z) //延時函數(shù)
{
uint x,y;
for(x=z;x>0;x--)
for(y=100;y>0;y--)
;
}
void xiezhiling(uchar a) //寫指令函數(shù)
{
LCD_RS=0; //輸入指令/L
LCD_RW=0; //輸入指令或數(shù)據(jù)
LCD=a;
delay(5);
LCD_EN=1;
delay(5);
LCD_EN=0;
}
void xieshuju(uchar a) //寫數(shù)據(jù)函數(shù)
{
LCD_RS=1; //輸入數(shù)據(jù)/H
LCD_RW=0;
LCD=a;
delay(5);
LCD_EN=1; //讀取信息
delay(5);
LCD_EN=0;
}
void qingping() //清除RAM的數(shù)據(jù),送入0
{
uchar x,y,a,b,c;
x=0x80;
y=0x80;
xiezhiling(0x34); // 關(guān)閉繪圖功能
for(a=0;a<2;a++)
{
for(b=0;b<32;b++)
{
xiezhiling(y+b);
xiezhiling(x);
for(c=0;c<16;c++)
xieshuju(0x00);
}
x=0x88;
}
xiezhiling(0x36); //打開繪圖功能
xiezhiling(0x30);
}
void tupian(uchar *p) //圖片數(shù)據(jù)提取函數(shù)
{
uchar x,y,a,b,c;
xiezhiling(0x34); //關(guān)閉繪圖功能
x=0x80;
y=0x80;
for(c=0;c<2;c++)
{
for(a=0;a<32;a++)
{
xiezhiling(y+a);
xiezhiling(x);
for(b=0;b<16;b++)
xieshuju(*p++);
}
x=0x88;
}
xiezhiling(0x36); //打開繪圖功能
xiezhiling(0x30);
}
void init() //初始化函數(shù)
{
xiezhiling(0x30); //功能設(shè)定為基本指令
xiezhiling(0x0c); //顯示開,游標(biāo)關(guān)
xiezhiling(0x01); //清除顯示
qingping(); //清屏
}
void main()
{
init();
tupian(ai);
while(1);
}
12864源程序 資料.rar
(593.52 KB, 下載次數(shù): 54)
2018-6-24 19:44 上傳
點(diǎn)擊文件名下載附件
源程序+資料
下載積分: 黑幣 -5