找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3025|回复: 1
打印 上一主题 下一主题
收起左侧

51单片机LCD12864轮流显示两幅图片(C语言源程序)

[复制链接]
跳转到指定楼层
楼主
制作出来的实物图如下:

/*12864液晶显示屏我看过好多资料,始终没有弄懂
虽然我现在写出了程序.....但是我还是没有完全懂,
它的显示图形原理是这样的:它分为上半屏与下半屏
它一共有64行,即上半屏32行,下半屏32行,列呢?
就是128列了,所以叫12864,我是这样理解的,
它和1602一样,先需写一些初始化参数,如:清屏
开显示等,然后就是给显示写0X34(写扩散指令,关
图形显示)接着设行(0x80)与列(0x80)地址,然后
全部发送出去,接着连续查表16次,得到第0行128位数,
即第0行数,然后将0行加1,接着扫第1行,同样循环16次,
将第1行扫完,如此循环32次,上半屏就扫完了。
下半屏扫描:同样先给列都赋值(0x88),然后同样将
数发送出去,接着查表16次将下半屏第0行扫完,用同样的方
法扫完32次,下半屏也就出现了!哈哈,清楚吗?*/
#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;//定义记数器变量
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;//将数给P0
rs=0;//RW清0
rw=1;//清0
e=0;
e=1;
}
while(lu);//如果位P0.7为1,说明忙碌就一直等待
}
/**************写数子程序***************/
void xei(uchar tem1)
{
P0=tem1;//将数给P0
rs=0;
rw=0;
e=0;
mang();//判断是否忙碌
e=1;
}
/**************读数子程序***************/
void du(uchar tem)
{
P0=tem;//将取好的数给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;//规0从而可以开始新图片
  xei(0x01);//清屏
  xei(0x0c); //开显示,不显示光标
  yii();//调用显示子程序
  xuan=~xuan;//此句可以使两句切换
  delay(1000);
}
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:977804 发表于 2021-12-11 21:31 来自手机 | 只看该作者
正想用12864显示图形,学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表