51与12864液晶屏IIC的连接方式
IIC数据接口连接
CS ————————>RS
SID ————————>RW
SCLK ————————>EN
PSB ————————>PSB
RESET ————————>RESET
单片机源程序如下:
- /********************************************************************
- * *
- * TX-51STAR单片机开发系统演示程序 -12864 图片与文字显示 *
- * *
- * ST7920控制芯片(汉字库),串口模式。 *
- * *
- * 工作芯片:STC89C516 晶振频率:11.0592MHz *
- * *
- /*******************************************************************/
- #include <reg51.h>
- #include <intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- /********** 12864LCD引脚定义 **********/
- sbit CS = P3^5; //片选 高电平有效 单片LCD使用时可固定高电平
- sbit SID = P3^6; //数据
- sbit SCLK = P3^4; //时钟
- sbit PSB = P3^7; //低电平时表示用串口驱动,可固定低电平
- //sbit RESET = P2^5; //LCD复位,LCD模块自带复位电路。可不接
- /*********************************************************/
- uchar code DIS1[] = {" 天祥电子 "};
- uchar code DIS2[] = {"TX51STAR实验箱 "};
- uchar code DIS3[] = {"wwwtx-powercom"};
- uchar code DIS4[] = {"TEL:045187572303"};
- uchar code Photo1[] ={
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
- 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
- 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x02,
- 0x10,0x04,0x00,0x40,0xF1,0x02,0x10,0x01,
- 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x02,
- 0xFE,0x0A,0x07,0xFE,0x11,0x07,0xBE,0x01,
- 0x83,0xED,0x80,0xF8,0x87,0xBE,0x23,0xC4,
- 0x82,0x11,0x04,0x02,0x52,0x89,0x48,0x01,
- 0x82,0xA5,0x00,0x81,0x88,0xAA,0x21,0x29,
- 0x7C,0x20,0x89,0x24,0x54,0x42,0x00,0x01,
- 0x80,0x85,0x00,0x80,0x88,0x08,0x31,0x2E,
- 0x00,0xDF,0x60,0xA0,0x5B,0xA2,0x7C,0x01,
- 0x80,0x82,0x3E,0xF0,0x86,0x08,0x51,0xC2,
- 0xFE,0x00,0x02,0x20,0xF0,0x0F,0xC4,0x01,
- 0x80,0x82,0x00,0x08,0x81,0x08,0x51,0x45,
- 0x10,0x00,0x01,0x20,0x15,0x42,0x7C,0x01,
- 0x80,0x85,0x00,0x08,0x80,0x88,0x79,0x2E,
- 0x58,0x3F,0x8F,0xFE,0x35,0x47,0x44,0x01,
- 0x80,0x85,0x00,0x88,0x88,0x88,0x49,0x21,
- 0x54,0x20,0x80,0x50,0xD5,0x4A,0x7C,0x01,
- 0x81,0xCD,0x80,0x71,0xCF,0x1C,0xCF,0xBE,
- 0x92,0x20,0x80,0x88,0x10,0x82,0x44,0x01,
- 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
- 0x30,0x3F,0x87,0x04,0x6F,0xE2,0x7C,0x01,
- 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
- 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
- 0x80,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x01,
- 0x80,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x01,
- 0x80,0x03,0xFF,0xFB,0x7C,0x00,0x70,0x38,
- 0x77,0xFA,0xBF,0xFF,0xFF,0xFF,0xE0,0x01,
- 0x80,0x03,0xFF,0xFA,0xFF,0xD7,0xF7,0xBF,
- 0x40,0x86,0xDF,0xFF,0xFF,0xFF,0xE0,0x01,
- 0x80,0x03,0xFF,0xF6,0x06,0x00,0xF0,0x3B,
- 0x5E,0xF6,0xFF,0xFF,0xFF,0xFF,0xE0,0x01,
- 0x80,0x03,0xFF,0xE5,0xF6,0xD6,0xF7,0xBB,
- 0x40,0x80,0x0F,0xFF,0xFF,0xFF,0xE0,0x01,
- 0x80,0x03,0xFF,0xD3,0xBE,0x00,0xF0,0x3B,
- 0x5F,0xF6,0xFF,0xFF,0xFF,0xFF,0xE0,0x01,
- 0x80,0x03,0xFF,0xF6,0xAF,0xDF,0xFF,0xF8,
- 0x40,0xF4,0xDF,0xFF,0xFF,0xFF,0xE0,0x01,
- 0x80,0x03,0xFF,0xF6,0xAC,0x00,0x00,0x0F,
- 0x4A,0xE2,0xBF,0xFF,0xFF,0xFF,0xE0,0x01,
- 0x80,0x03,0xFF,0xF5,0xB7,0xBB,0xED,0xFE,
- 0x40,0x97,0x7F,0xFF,0xFF,0xFF,0xE0,0x01,
- 0x80,0x03,0xFF,0xF3,0xB7,0x17,0xE4,0x19,
- 0x2A,0xF6,0x6F,0xFF,0xFF,0xFF,0xE0,0x01,
- 0x80,0x03,0xFF,0xF7,0xBF,0xE3,0xD9,0xFF,
- 0x6A,0xF1,0xAD,0xEF,0xBE,0xF7,0xE0,0x01,
- 0x80,0x03,0xFF,0xF6,0x3C,0x1C,0xBC,0x0C,
- 0x7C,0xC7,0xCF,0xFF,0xFF,0xFF,0xE0,0x01,
- 0x80,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x01,
- 0x80,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x01,
- 0x80,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x01,
- 0x80,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x01,
- 0x80,0x03,0xAB,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0x87,0xFF,0xF7,0xFF,0xE0,0x01,
- 0x80,0x03,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0x80,0xFF,0x73,0xFF,0xE0,0x01,
- 0x80,0x03,0x00,0xBF,0xFF,0xFF,0xCF,0xFF,
- 0xFF,0xFF,0xFE,0xF6,0x33,0xFF,0xE0,0x01,
- 0x80,0x03,0xC7,0xFF,0xFF,0xFF,0x1F,0xBF,
- 0xFF,0xF3,0xFE,0xE4,0x13,0xFF,0xE0,0x01,
- 0x80,0x03,0xA3,0xFF,0xFF,0xFC,0x1C,0x7D,
- 0xFF,0xFC,0xFF,0xC0,0x83,0xFF,0xE0,0x01,
- 0x80,0x03,0x6D,0xFF,0xFF,0xF0,0x30,0x71,
- 0xFD,0xFF,0x3F,0xB9,0xC7,0xFF,0xE0,0x01,
- 0x80,0x03,0xEF,0xDF,0x8F,0xE0,0x00,0x43,
- 0x7E,0x3F,0xCF,0xF9,0xF7,0xFF,0xE0,0x01,
- 0x80,0x03,0xFF,0xEF,0x07,0xC0,0x00,0x02,
- 0x5F,0x07,0xE3,0xFB,0xFF,0xBF,0xE0,0x01,
- 0x80,0x03,0xEF,0xAE,0x63,0x80,0x00,0xE4,
- 0x43,0xC0,0xF0,0xFF,0xFE,0xFF,0xE0,0x01,
- 0x80,0x03,0xFF,0xC6,0x93,0x80,0x00,0x10,
- 0x40,0x70,0x18,0x7E,0x3E,0x5F,0xE0,0x01,
- 0x80,0x03,0xFF,0x46,0x2B,0x00,0x00,0x00,
- 0xC0,0x00,0x04,0x3C,0x1E,0x3F,0xE0,0x01,
- 0x80,0x03,0xFF,0x82,0x28,0x00,0x00,0x00,
- 0xC0,0xE0,0x00,0x18,0xCC,0x6F,0xE0,0x01,
- 0x80,0x03,0xFE,0x81,0x10,0x00,0x00,0x01,
- 0x41,0x00,0x00,0x19,0x2C,0x5F,0xE0,0x01,
- 0x80,0x03,0xFF,0x01,0x80,0x00,0x3F,0x01,
- 0x20,0x00,0x00,0x0A,0x88,0x17,0xE0,0x01,
- 0x80,0x03,0xFD,0x01,0xC0,0x00,0xFF,0x82,
- 0x20,0x00,0x00,0x02,0x88,0x0F,0xE0,0x01,
- 0x80,0x03,0xFE,0x03,0xE0,0x00,0x03,0xC4,
- 0x10,0x1F,0x80,0x01,0x10,0x07,0xE0,0x01,
- 0x80,0x03,0xFA,0x07,0xA0,0x00,0x07,0x08,
- 0x11,0x3F,0xE0,0x00,0x3C,0x0F,0xE0,0x01,
- 0x80,0x03,0xFC,0x00,0x20,0x00,0x06,0x10,
- 0x08,0xF8,0x00,0x00,0x7E,0x0B,0xE0,0x01,
- 0x80,0x03,0xF4,0x00,0x40,0x00,0x02,0x20,
- 0x04,0x18,0x00,0x00,0x41,0x07,0xE0,0x01,
- 0x80,0x03,0xF8,0x07,0x80,0x04,0x4C,0x20,
- 0x02,0x1C,0x00,0x00,0x40,0x06,0xE0,0x01,
- 0x80,0x03,0xFC,0x18,0x80,0x02,0x20,0x40,
- 0x01,0x0C,0x00,0x00,0x40,0x04,0x60,0x01,
- 0x80,0x03,0xF4,0x28,0x40,0x05,0x10,0x40,
- 0x00,0x88,0x00,0x00,0x60,0x06,0xE0,0x01,
- 0x80,0x03,0xE0,0x44,0x40,0x02,0x00,0x40,
- 0x00,0x86,0x44,0x00,0x50,0x07,0xE0,0x01,
- 0x80,0x03,0xF0,0x42,0x21,0xC0,0x00,0x40,
- 0x00,0x40,0x88,0x0F,0x80,0x02,0xE0,0x01,
- 0x80,0x03,0xF8,0x82,0x11,0x30,0x00,0x80,
- 0x00,0x41,0x14,0x14,0xC4,0x03,0xE0,0x01,
- 0x80,0x03,0xD0,0x81,0x0E,0x2E,0x03,0x00,
- 0x00,0x40,0x08,0x22,0x22,0x02,0xE0,0x01,
- 0x80,0x03,0xF0,0x81,0x00,0x23,0xFC,0x00,
- 0x00,0x40,0x00,0x61,0x01,0x01,0xE0,0x01,
- 0x80,0x03,0xD8,0x81,0x00,0x22,0x00,0x00,
- 0x00,0x20,0x01,0xA1,0x00,0x03,0x60,0x01,
- 0x80,0x03,0xF0,0x81,0x00,0x22,0x00,0x00,
- 0x00,0x18,0x0E,0x40,0x80,0x81,0xA0,0x01,
- 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
- };
- /******************************************************************************/
- uchar code Photo2[] ={
- //海豚戏水
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x7F,0x00,0x00,0x00,0x03,0xFE,0x00,0x00,0x00,0x00,0x02,0x00,0x76,0x00,0x00,
- 0x00,0xC3,0xFF,0x00,0x00,0x3F,0xE7,0xE0,0x00,0x00,0x00,0x03,0x00,0xFF,0x80,0x00,
- 0x00,0x81,0xFF,0xFE,0x00,0x7C,0x03,0xF0,0x00,0x00,0x00,0x01,0xF7,0xCB,0xF8,0x00,
- 0x01,0x83,0xF8,0x7B,0x00,0x40,0x00,0x30,0x00,0x00,0x00,0x00,0x3F,0xC0,0xF8,0x00,
- 0x03,0x1E,0x3C,0x01,0x80,0x60,0x00,0x30,0x00,0x00,0x00,0x00,0x01,0x40,0x18,0x00,
- 0x03,0x30,0x0C,0x01,0xE0,0x6C,0x00,0x70,0x00,0x00,0x00,0x00,0x01,0x7C,0xCC,0x00,
- 0x03,0x24,0x6F,0x31,0x20,0x7C,0x40,0x60,0x00,0x00,0x00,0x00,0x01,0x97,0xFC,0x00,
- 0x01,0xBF,0xFB,0xF3,0xE0,0x3F,0xE7,0xC0,0x00,0x00,0x00,0x00,0x01,0xFB,0x1C,0x00,
- 0x00,0x9B,0xC2,0x1F,0x00,0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x0C,0xFE,0x00,
- 0x00,0xCC,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xB8,0x00,
- 0x00,0x7E,0x7E,0x00,0x00,0x00,0x00,0x00,0x1F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0xE0,0x03,0xFF,0xE0,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x1F,0x00,0x00,0x78,0x01,0xC0,0x00,0x00,0x70,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x20,0x80,0x00,0xF8,0x01,0x80,0x00,0x00,0x30,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x2E,0x80,0x00,0xD8,0x03,0x60,0x00,0x01,0xF8,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x2A,0x80,0x00,0x98,0x02,0x60,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x2E,0x80,0x01,0x98,0x03,0xE0,0xC0,0x00,0x60,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x20,0x83,0xFF,0x8C,0x07,0xE1,0xC8,0x00,0x30,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x1F,0x7F,0x07,0x8C,0x0F,0xFF,0x8C,0x00,0x18,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xB8,0x0F,0xCC,0x1F,0x83,0x8F,0x00,0x18,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x39,0xC0,0x38,0xFE,0x1E,0x00,0x8F,0xC0,0x0C,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x3B,0x80,0x70,0x1E,0x00,0x00,0xCC,0xF0,0x0C,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x76,0x00,0xC0,0x00,0x00,0x00,0x6E,0x3C,0x06,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x7E,0x01,0x80,0x00,0x00,0x00,0x3F,0x0E,0x06,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xDC,0x03,0x00,0x00,0x00,0x00,0x1F,0x03,0x82,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xD8,0x06,0x00,0x00,0x00,0x00,0x00,0x01,0xC2,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xC0,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0xC2,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x80,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x62,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xC0,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xC0,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x26,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x80,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x6C,0x00,0x00,0x00,0x00,
- 0xFF,0xFF,0xFF,0x80,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFE,0x00,
- 0x00,0x00,0x01,0x80,0x30,0x00,0x00,0x00,0x00,0x00,0x3F,0xD8,0x00,0x00,0x00,0x00,
- 0x3E,0x00,0x01,0x80,0x60,0x00,0x00,0x00,0x07,0xE0,0x3D,0xF0,0x01,0xF0,0x0C,0x00,
- 0xFF,0x80,0x01,0x80,0x6C,0x00,0x00,0x00,0x3E,0xF0,0x2C,0x60,0x07,0xFF,0xFC,0x00,
- 0x81,0xF8,0x71,0x01,0xDC,0x03,0xFC,0x00,0xF3,0xFF,0x87,0xE0,0x06,0x07,0xE0,0x00,
- 0x00,0x3F,0xE1,0x03,0xFC,0x0F,0x1F,0x87,0xC2,0x00,0x04,0xE0,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x03,0x00,0x0C,0x1C,0x03,0xFF,0x00,0x00,0x01,0xE0,0x7F,0x03,0xF0,0x00,
- 0x00,0x00,0x03,0x00,0x18,0x10,0x00,0x00,0x00,0x00,0x01,0xC1,0xF3,0xF7,0x3C,0x00,
- 0xFF,0xC0,0x0F,0x02,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x7E,0x0E,0x00,
- 0xE1,0xFF,0xFF,0x03,0xF0,0x00,0x00,0x00,0x00,0x03,0xF8,0x7C,0x00,0x00,0x02,0x00,
- 0x00,0x01,0xE3,0x03,0xC0,0x00,0x03,0xFF,0x00,0x0F,0x1F,0xE0,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x03,0x01,0x00,0x00,0x0F,0x03,0xF0,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x03,0xFC,0x03,0x01,0x0F,0x00,0x0C,0x00,0x7F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x0F,0x0F,0x8D,0x01,0x3F,0xE0,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x1C,0x01,0xFD,0x81,0x30,0x7C,0x03,0xC0,0xFE,0x00,0x00,0x00,0x04,0x00,0x00,0x00,
- 0x18,0x00,0x01,0xBF,0x00,0x0F,0xFF,0x07,0xC7,0xE0,0x00,0x00,0x1C,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xFF,0x80,0x01,0xF8,0x3E,0x00,0x78,0x0F,0xF0,0x78,0x00,0x00,0x00,
- 0x00,0x0F,0x00,0x7F,0x83,0x80,0x3F,0xF1,0xF8,0x1E,0x1C,0x7F,0xE0,0x07,0xE0,0x00,
- 0x00,0x1F,0xE0,0x3F,0xDF,0xFE,0x00,0x07,0x9F,0x83,0xF0,0x00,0x00,0x1C,0x7C,0x00,
- 0x00,0x78,0x70,0x1F,0xD0,0x07,0xC0,0x3C,0x01,0xF8,0x03,0xC0,0x00,0x18,0x00,0x00,
- 0xFF,0xE0,0x1F,0x73,0xE0,0x00,0xFF,0xE0,0x00,0x1F,0xFF,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x07,0xE1,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x0F,0x80,0x00,0xE1,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x7F,0xE0,0x00,0x07,0x9E,0x00,0x7F,0xC0,0x60,0x0F,0xC0,0x0F,0x00,0x00,0x00,
- 0x00,0xE0,0x7C,0x00,0x03,0xF7,0xC7,0xE0,0xFF,0xE0,0x3F,0xFF,0xFC,0x00,0x00,0x00,
- 0x01,0xC0,0x0F,0x00,0x03,0xBD,0xFE,0xFC,0x00,0x00,0xF0,0x1F,0xF0,0x00,0xC6,0x00,
- };
- /********************************************************
- * *
- * 延时t毫秒 *
- * 11.0592MHz时钟,延时约1ms *
- * *
- ********************************************************/
- void delay(uint t)
- {
- uchar k;
- while(t--)
- {
- for(k=0; k<125; k++)
- { }
- }
- }
- /*********************************************************
- * *
- * 延时函数 200us *
- * *
- *********************************************************/
- void delay_lcd(int ms)
- {
- uchar t;
- while(ms--)
- {
- for(t=0; t<20; t++) ;
- }
- }
- /*********************************************************
- * *
- * 发送一个字节 *
- * *
- *********************************************************/
- void sendbyte(uchar bbyte)
- {
- uchar i;
- for(i=0;i<8;i++)
- {
- SID=bbyte&0x80; //取出最高位
- SCLK=1;
- _nop_();
- _nop_();
- SCLK=0;
- bbyte<<=1; //左移
- }
- }
- /*********************************************************
- * *
- * 写指令或数据函数 *
- * *
- *********************************************************/
- void write(bit start, uchar ddata)
- {
- uchar start_data,Hdata,Ldata;
- if(start==0) //11111,(0),(0),0
- start_data=0xf8; //写指令
- else //11111,(0),(1),0
- start_data=0xfa; //写数据
-
- Hdata=ddata&0xf0; //取高四位
- Ldata=(ddata<<4)&0xf0; //取低四位
- sendbyte(start_data); //发送起始信号
- delay_lcd(1); //延时
- sendbyte(Hdata); //发送高四位
- delay_lcd(1); //延时
- sendbyte(Ldata); //发送低四位
- delay_lcd(1); //延时
- }
- /*********************************************************
- * *
- * 初始化LCD *
- * *
- *********************************************************/
- void lcdinit()
- {
- delay_lcd(10); //延时等待LCM进入工作状态
- PSB=0; ; //串口驱动模式
- // RESET=0;
- delay_lcd(5);
- // RESET=1; //复位LCD
- CS=1; //片选 高电平有效
- write(0,0x30); //基本指令操作
- write(0,0x0c); //显示打开,光标关,反白关
- write(0,0x01); //清屏,将DDRAM的地址计数器归零
- write(0,0x06);
- }
- /*********************************************************
- * *
- * 图形显示 *
- * *
- *********************************************************/
- void photodisplay(uchar *bmp)
- {
- uchar i,j;
- write(0,0x34); //写数据时,关闭图形显示
- for(i=0;i<32;i++)
- {
- write(0,0x80+i); //先写入水平坐标值
- write(0,0x80); //写入垂直坐标值
- for(j=0;j<16;j++) //再写入两个8位元的数据
- write(1,*bmp++);
- delay_lcd(1);
- }
- for(i=0;i<32;i++)
- {
- write(0,0x80+i);
- write(0,0x88);
- for(j=0;j<16;j++)
- write(1,*bmp++);
- delay_lcd(1);
- }
- write(0,0x36); //写完数据,开图形显示
- }
- /*********************************************************
- * *
- * 主函数 *
- * *
- *********************************************************/
- void main()
- {
- uchar i;
- lcdinit(); //初始化LCD
-
- while(1)
- {
- photodisplay(Photo1); //显示图片1
- delay(2000);
-
- write(0,0x30); //基本指令操作
- write(0,0x01); //清屏
- photodisplay(Photo2); //显示图片2
- delay(2000);
- write(0,0x30); //基本指令操作
- write(0,0x01); //清屏
-
- write(0,0x80);
- for(i=0;i<16;i++) write(1,DIS1[i]);
- write(0,0x90);
- for(i=0;i<16;i++) write(1,DIS2[i]);
- write(0,0x88);
- for(i=0;i<16;i++) write(1,DIS3[i]);
- write(0,0x98);
- for(i=0;i<16;i++) write(1,DIS4[i]);
- delay(2000);
- write(0,0x01); //清屏
- }
- }
- /*********************************************************/
复制代码
所有资料51hei提供下载:
112864液晶串行操作方式.zip
(36.55 KB, 下载次数: 44)
|