制作出來的實物圖如下:
1.jpg (79.72 KB, 下載次數(shù): 46)
下載附件
2019-8-25 15:44 上傳
/*12864液晶顯示屏我看過好多資料,始終沒有弄懂
雖然我現(xiàn)在寫出了程序.....但是我還是沒有完全懂,
它的顯示圖形原理是這樣的:它分為上半屏與下半屏
它一共有64行,即上半屏32行,下半屏32行,列呢?
就是128列了,所以叫12864,我是這樣理解的,
它和1602一樣,先需寫一些初始化參數(shù),如:清屏
開顯示等,然后就是給顯示寫0X34(寫擴散指令,關(guān)
圖形顯示)接著設(shè)行(0x80)與列(0x80)地址,然后
全部發(fā)送出去,接著連續(xù)查表16次,得到第0行128位數(shù),
即第0行數(shù),然后將0行加1,接著掃第1行,同樣循環(huán)16次,
將第1行掃完,如此循環(huán)32次,上半屏就掃完了。
下半屏掃描:同樣先給列都賦值(0x88),然后同樣將
數(shù)發(fā)送出去,接著查表16次將下半屏第0行掃完,用同樣的方
法掃完32次,下半屏也就出現(xiàn)了!哈哈,清楚嗎?*/
#include <reg52.h>//頭文件
#define uchar unsigned char//宏定義
#define uint unsigned int//宏定義
sbit rs=P2^6;//位定義
sbit rw=P2^7;//位定義
sbit e=P2^0;//使能端定義
sbit lu=P0^7;//忙碌位定義
uint num;//定義記數(shù)器變量
bit xuan;
uchar code table[] ={
0x02,0x08,0x00,0x08,0x00,0x00,0x04,0x00,
0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xD0,0x06,0x04,0x08,0x03,0x02,0x00,
0x38,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x41,0x00,0x09,0x43,0x00,0x04,0xA1,0x80,
0x41,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,
0x42,0x00,0x29,0x00,0x00,0x14,0x80,0x00,
0x8E,0x00,0xE7,0x00,0x00,0x00,0x00,0x00,
0x32,0x88,0x29,0x30,0x04,0x14,0x98,0x00,
0x70,0x00,0x1C,0x80,0x00,0x00,0x00,0x00,
0x0C,0x00,0x16,0x48,0x00,0x0B,0x24,0x00,
0x20,0x00,0x08,0x60,0x00,0x00,0x00,0x00,
0x00,0x20,0x4D,0x80,0x00,0x26,0xC0,0x00,
0x40,0x00,0x08,0x10,0x00,0x00,0x00,0x00,
0x40,0x20,0x00,0x10,0x00,0x00,0x08,0x00,
0x4C,0x00,0x08,0x10,0x00,0x00,0x00,0x00,
0x04,0x24,0x00,0x00,0x80,0x00,0x00,0x00,
0x90,0x00,0x08,0x20,0x00,0x00,0x00,0x00,
0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
0x80,0x08,0x09,0xC0,0x00,0x00,0x00,0x00,
0x18,0x10,0x00,0x00,0x00,0x00,0x00,0x01,
0x00,0x04,0x00,0x40,0x00,0x00,0x00,0x00,
0x25,0x3F,0xC3,0xFE,0x3F,0xE0,0x00,0x01,
0x10,0x04,0x00,0x40,0x00,0x00,0x00,0x00,
0xA4,0x08,0x40,0x20,0x00,0x41,0x80,0x01,
0x10,0x00,0x00,0x20,0x00,0x00,0x00,0x00,
0xA4,0xC8,0x47,0xFF,0x00,0x83,0xC0,0x01,
0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x00,
0x59,0x28,0x40,0x20,0x03,0x03,0xC0,0x02,
0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x00,
0x36,0x08,0x81,0xFC,0x02,0x03,0xC0,0x02,
0xF0,0x40,0x10,0x20,0x00,0x00,0x00,0x00,
0x00,0x44,0x81,0x24,0x02,0x01,0x80,0x05,
0x0C,0x04,0x10,0x20,0x00,0x00,0x00,0x00,
0x00,0x05,0x01,0xFC,0x02,0x01,0x80,0x05,
0x42,0x00,0x14,0x40,0x00,0x00,0x00,0x00,
0x00,0x02,0x01,0x24,0x02,0x00,0x00,0x05,
0x51,0x00,0x1C,0x40,0x00,0x00,0x00,0x00,
0x00,0x05,0x03,0xFE,0x02,0x01,0x80,0x04,
0x91,0x03,0xC0,0x40,0x00,0x00,0x00,0x00,
0x00,0x18,0xC0,0x20,0x02,0x01,0x80,0x04,
0x61,0x00,0x00,0x40,0x00,0x00,0x00,0x00,
0x02,0x60,0x37,0xFF,0x0E,0x00,0x00,0x04,
0x1E,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x02,
0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
0x40,0x7F,0xF4,0x0A,0x3B,0xF3,0xFE,0x01,
0x01,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,
0x38,0x05,0x02,0x0A,0x2A,0x90,0x04,0x00,
0xC7,0xF8,0x02,0x00,0x00,0x00,0x00,0x00,
0x04,0x3F,0xE2,0xFF,0x2A,0x90,0x08,0x00,
0x70,0xF8,0x04,0x00,0x00,0x00,0x00,0x00,
0x20,0x25,0x20,0x88,0x3A,0x90,0x30,0x00,
0xC7,0x00,0x08,0x00,0x00,0x00,0x00,0x00,
0x00,0x3F,0xE2,0xF9,0x2B,0xF0,0x20,0x01,
0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,
0x00,0x04,0x02,0x89,0x2A,0x00,0x20,0x02,
0x20,0x00,0x01,0x00,0x00,0x00,0x00,0x00,
0x41,0x7F,0xF4,0xFA,0x3A,0x00,0x20,0x04,
0x48,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
0x18,0x08,0x84,0xD4,0x2A,0x00,0x20,0x08,
0x80,0x08,0x00,0x80,0x00,0x00,0x00,0x00,
0x20,0x1D,0x05,0x75,0x2A,0x10,0x20,0x09,
0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,
0x40,0x03,0x85,0x4B,0x4A,0x10,0x20,0x12,
0x30,0x00,0x80,0x40,0x00,0x00,0x00,0x00,
0x50,0x7C,0x62,0x11,0x5B,0xF0,0xE0,0x13,
0x8F,0xC0,0x80,0x20,0x00,0x00,0x00,0x00,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x14,
0x78,0x3F,0x00,0x20,0x00,0x00,0x00,0x00,
0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x20,
0x03,0xC0,0x80,0x20,0x00,0x00,0x00,0x00,
0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x28,
0x00,0x0F,0x80,0x20,0x00,0x00,0x00,0x00,
0x84,0x80,0x00,0x1C,0x08,0x0E,0x04,0x28,
0x00,0x00,0x40,0x20,0x00,0x00,0x00,0x00,
0x04,0x1C,0x08,0x22,0x00,0x11,0x00,0x18,
0x00,0x00,0x20,0x20,0x00,0x00,0x00,0x00,
0x02,0x22,0x00,0x21,0x00,0x10,0x80,0x08,
0x00,0x00,0x20,0x20,0x00,0x00,0x00,0x00,
0xA1,0xA1,0x00,0x24,0xE0,0x12,0x70,0x10,
0x00,0x00,0x30,0x20,0x00,0x00,0x00,0x00,
0x80,0x24,0xE0,0x18,0x10,0x0C,0x08,0x10,
0x00,0x00,0x28,0x20,0x00,0x00,0x00,0x00,
0x98,0x18,0x10,0x00,0x80,0x00,0x40,0x10,
0x08,0x00,0x25,0xE0,0x00,0x00,0x00,0x00,
0x24,0x00,0x81,0x00,0x00,0x80,0x00,0x1A,
0x08,0x00,0x22,0x20,0x00,0x00,0x00,0x00,
0xC1,0x00,0x00,0x00,0x00,0x00,0x00,0x1D,
0x46,0x00,0x22,0xA0,0x00,0x00,0x00,0x00,
0x08,0x00,0x00,0x01,0x04,0x00,0x82,0x0F,
0x93,0x40,0x21,0x40,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,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,
0x00,0x3E,0x00,0x00,0x44,0xFC,0x00,0x00,
0x00,0x04,0xC2,0x40,0x12,0x61,0x07,0xC4,
0xFC,0x20,0x20,0x38,0x44,0xFC,0x00,0x00,
0x00,0x04,0xC2,0x43,0x12,0x61,0x04,0x05,
0x00,0x20,0x20,0x20,0x44,0xA4,0x00,0x00,
0x00,0x04,0xC4,0x43,0x12,0x62,0x04,0x05,
0x00,0x20,0x20,0x40,0x44,0xA4,0x00,0x00,
0x00,0x04,0xC4,0x45,0x12,0xE4,0x04,0x05,
0x00,0x1E,0x20,0x40,0x44,0xA4,0x00,0x00,
0x00,0x02,0xA4,0x25,0x22,0xA8,0x07,0xC5,
0x00,0x02,0x20,0x40,0x44,0xA4,0x00,0x00,
0x00,0x02,0xA8,0x29,0x22,0x98,0x00,0x84,
0x80,0x02,0x20,0x7C,0x7C,0x84,0x00,0x00,
0x00,0x03,0xA8,0x29,0x42,0x90,0x00,0x84,
0x40,0x0C,0x20,0x00,0x00,0x00,0x00,0x00,
0x00,0x01,0x30,0x31,0x81,0x80,0x1F,0x00,
0x3C,0x30,0x04,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,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,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
uchar code table1[] ={
0x00,0x00,0x00,0x04,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,0x01,0x3F,0xC0,
0x80,0x42,0x04,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x8A,0x1F,
0xFC,0x42,0x04,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x80,
0x01,0xFF,0xDE,0x88,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x01,0x2A,0x87,
0xF0,0xA2,0x0A,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0x84,
0x10,0xA2,0x0A,0x88,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x1F,
0xFC,0xA2,0x0A,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x9F,0x90,
0x05,0x2F,0xCA,0xA4,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x03,
0xE1,0xA8,0x4A,0xA8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0xC2,
0x24,0x48,0x44,0x90,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x92,0x84,
0x24,0xA8,0x4A,0xA8,0x00,0x00,0x00,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,0x00,0x00,0x00,0x00,0x00,
0x00,0x1C,0xFF,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x23,0x08,0x37,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x40,0x10,0x08,0x40,0x00,0xFF,0x90,
0x10,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x81,0x86,0x10,0x40,0x00,0x08,0x08,
0x10,0xFF,0x86,0x00,0x00,0x00,0x00,0x00,
0x01,0x02,0x49,0x40,0x40,0x00,0x7F,0x0B,
0xFC,0x08,0x0F,0x00,0x00,0x00,0x00,0x00,
0x01,0x08,0x00,0x40,0x20,0x00,0x10,0x00,
0x10,0x49,0x0F,0x00,0x00,0x00,0x00,0x00,
0x02,0x08,0x00,0x20,0x20,0x01,0xFF,0xDD,
0x10,0x2A,0x0F,0x00,0x00,0x00,0x00,0x00,
0x04,0x31,0x83,0x20,0x20,0x00,0x20,0x04,
0x91,0xFF,0xC6,0x00,0x00,0x00,0x00,0x00,
0x04,0x52,0x44,0x90,0x20,0x00,0x7F,0x04,
0x90,0x1C,0x06,0x00,0x00,0x00,0x00,0x00,
0x09,0xA4,0x28,0x4C,0x10,0x00,0xA1,0x04,
0x10,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,
0x0E,0x44,0xE9,0xC3,0x90,0x01,0x3F,0x04,
0x70,0x49,0x06,0x00,0x00,0x00,0x00,0x00,
0x00,0x82,0xC5,0x81,0x70,0x00,0x21,0x0A,
0x01,0x88,0xC6,0x00,0x00,0x00,0x00,0x00,
0x01,0x01,0x83,0x00,0x80,0x00,0x3F,0x11,
0xFC,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0x0C,0x70,0x00,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x02,0x13,0x87,0x10,0x40,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x02,0x20,0x78,0xA0,0x40,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x02,0x20,0x00,0x60,0x40,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x02,0x21,0x80,0x60,0x40,0x00,0x00,0x71,
0xEE,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0x11,0x98,0x90,0x80,0x00,0x00,0x8E,
0x31,0xC6,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0x08,0x18,0x80,0x80,0x00,0x01,0x24,
0x24,0x83,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x96,0x01,0x01,0x00,0x00,0x01,0x40,
0x28,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x49,0x86,0x03,0x00,0x00,0x01,0x40,
0x28,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x34,0x78,0x8C,0x00,0x00,0x01,0x00,
0x20,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x0E,0x01,0x30,0x00,0x00,0x00,0x80,
0x30,0x06,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x71,0x87,0xCE,0x00,0x00,0x00,0x40,
0x68,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xE0,0x78,0x07,0x00,0x00,0x00,0x20,
0xC4,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0xAF,0xFF,0xC5,0x80,0x00,0x00,0x11,
0x82,0x30,0x00,0x00,0x00,0x00,0x00,0x00,
0x03,0xA9,0xB6,0x45,0xC0,0x00,0x00,0x0B,
0x01,0x60,0x00,0x00,0x00,0x00,0x00,0x00,
0x07,0x2F,0x03,0xC4,0xE0,0x00,0x00,0x06,
0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
0x0E,0x16,0x01,0x88,0x70,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x0F,0x08,0x00,0x10,0xF0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x0F,0x84,0x00,0x21,0xF0,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,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,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,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,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,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
void delay(uint z)
{
uint x,y;
for(x=255;x>0;x--)
for(y=z;y>0;y--);
}
/**************忙碌子程序***************/
void mang()
{
do {
P0=0xff;//將數(shù)給P0
rs=0;//RW清0
rw=1;//清0
e=0;
e=1;
}
while(lu);//如果位P0.7為1,說明忙碌就一直等待
}
/**************寫數(shù)子程序***************/
void xei(uchar tem1)
{
P0=tem1;//將數(shù)給P0
rs=0;
rw=0;
e=0;
mang();//判斷是否忙碌
e=1;
}
/**************讀數(shù)子程序***************/
void du(uchar tem)
{
P0=tem;//將取好的數(shù)給P0口
rs=1;
rw=0;
e=0;
mang();//判斷忙碌
e=1;
}
/**************顯示子程序***************/
void yii()//顯示子程序
{
uchar lei=0x80,a,b,c;
for(a=0;a<2;a++)
{
for(b=0;b<32;b++)
{
xei(0x34);
xei(0x80+b);
xei(lei);
for(c=0;c<16;c++)
{
if(xuan==0)
{
du(table[num]);
num++;
}
else
{
du(table1[num]);
num++;
}
}
}
lei=0x88;
}
xei(0x36);
}
/**************主程序***************/
void main()
{
while(1)
{
num=0;//規(guī)0從而可以開始新圖片
xei(0x01);//清屏
xei(0x0c); //開顯示,不顯示光標
yii();//調(diào)用顯示子程序
xuan=~xuan;//此句可以使兩句切換
delay(1000);
} }
|