通过SPI通信对mini12864进行驱动
此程序模块化性高,可随意搬运12864驱动代码,
且C语言注释详细。第一次发帖希望对大家有用。
(注:暂时没有用到图片中字库的四个引脚附件中包含图片转BMP文件以及BMP或文字转HEX文件)
单片机源程序如下:- #include "config.h"
- /*=========================================================
- 函数 : Delay_ms(unchar ms)
- 参数 : ms:毫秒数
- 返回值: 无
- 描述 : 12T 51单片机自适应主时钟毫秒级延时函数
- =========================================================*/
- void Delay_ms(int ms) //@11.0592MHz
- {
- int i;
- do{
- i = 11059200UL / 96000;
- while(--i); //96T per loop
- }while (--ms);
- }
- /*===============================================================================
- 数据区
- ===============================================================================*/
- unchar code pict[]=
- {/*-- 调入了一幅图像:D:\单片机\51单片机\MSC51资料V3_1\9、视频教程\【选配】汉字液晶12864\BMP图片\苹果.bmp --*/
- /*-- 宽度x高度=128x64 --*/
- //我(0) 爱(1) 你(2)
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x3C,0xF8,0x00,0x00,0x00,0x20,0x60,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x08,0x18,0xF6,0x87,0xC2,0xC2,0x40,0x47,0x7E,0xE0,0x20,0x30,0x30,0x10,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x40,0xC0,0xC3,0x63,0x63,0x21,0x31,0x11,0xFF,0xFF,0x04,0x04,0x00,0x00,0x80,0x83,0xCE,0x78,0xF8,0xCE,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x0C,0x1C,0x0F,0x01,0x00,0x02,0x02,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x03,0x06,0x0C,0x18,0x38,0x3F,0x30,0x00,0x00,/*"我",0*/
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0xE0,0xA0,0x30,0x38,0x18,0x10,0xC0,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0x20,0x20,0x23,0x26,0x1E,0x10,0xF0,0xF3,0x57,0x10,0x0C,0x0B,0x09,0x88,0x88,0x4C,0x3C,0x3C,0x1C,0x18,0x10,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x01,0x03,0x00,0x02,0x06,0x86,0xC6,0x72,0x9E,0xA7,0xA2,0x22,0x13,0x93,0xF3,0x71,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x10,0x08,0x0C,0x06,0x03,0x21,0x20,0x20,0x10,0x18,0x08,0x0D,0x07,0x07,0x07,0x0C,0x18,0x18,0x38,0x30,0x70,0x30,0x20,0x20,0x20,0x20,0x00,0x00,/*"爱",1*/
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xF0,0xF0,0x20,0x00,0x00,0x00,0x00,0x80,0xF8,0x78,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0xC0,0x60,0x38,0x3C,0xF7,0x03,0x00,0x00,0x40,0x20,0x18,0x0E,0x17,0x19,0xC8,0xC8,0x88,0x04,0x04,0x36,0x1E,0x1C,0x0C,0x08,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x02,0x01,0x00,0x00,0x00,0xF0,0xFF,0x00,0x00,0xC0,0xE0,0x7C,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x08,0x18,0x30,0x70,0xE0,0xC0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x07,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x0C,0x1C,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,/*"你",2*/
- 0x1C,0x3E,0x7E,0xFC,0xFC,0x7E,0x3E,0x1C
- };
- unchar code M[]=
- {
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0xF0,0xF8,0xE8,0xF4,
- 0xFC,0x7E,0x7E,0x7E,0xFF,0xFF,0xFF,0xFE,0x7E,0x7E,0xFC,0xFC,0xF8,0xF0,0xF0,0xC0,
- 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x70,0xF0,0xF8,0xF0,0xE0,0xC0,0xC0,
- 0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x61,0x61,0x60,0x60,0x7F,0x7F,0x73,0x67,
- 0x43,0x40,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xC0,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x01,0x03,0x07,0x0F,0x1F,0xFF,0xFF,0x7F,0x7F,0xFF,0xFF,0xFC,0xFC,0xFC,
- 0xFC,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xFC,0xFE,0xFE,0xFD,0xFF,0xFF,0xFF,
- 0x7F,0xFF,0xFF,0xFF,0xF0,0xE0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,
- 0x7F,0xC0,0x00,0x00,0x00,0x01,0x01,0x01,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
- 0x03,0x3F,0x7F,0x7F,0x7F,0x7F,0x7F,0x00,0x80,0xE0,0xFF,0x3F,0x1F,0x3F,0x7F,0x7E,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x44,0x41,0x83,0x86,0x8C,0x88,0x90,0x90,
- 0xA0,0xE0,0x60,0x60,0x20,0x20,0x20,0x60,0x60,0xE0,0xB0,0xB0,0x98,0x98,0x8C,0x86,
- 0x83,0xC3,0x4C,0x38,0x00,0x00,0x00,0x00,
- };
- /*===============================================================================
- 主函数
- ===============================================================================*/
- void main()
- {
- unchar i;
- Initialize();
- Clear(1, 1, 128, 64);
- TEXTput(1,1,32,32,pict);
- TEXTput(5,33,32,32,pict+128);
- TEXTput(1,65,32,32,pict+256);
- TEXTput(6,4,8,8,pict+128*3);
- TEXTput(6,18,8,8,pict+128*3);
- TEXTput(7,10,8,8,pict+128*3);
- TEXTput(8,1,8,8,pict+128*3);
- TEXTput(8,28,8,8,pict+128*3);
- Delay_ms(999);
- BMPput(4, 88, 40, 40, M);
- /*
- for(i=0; i<64; i++)
- {
- SPIsend_cd(0x40+i,0); //起始行
- Delay_ms(900);
- }滚动显示
- */
- SPIsend_cd(0xa7,0); //反显
- //SPIsend_cd(0xa6,0); //关反显
-
- while(1);
- }
复制代码 全部程序51hei下载地址:
12864.zip
(598.99 KB, 下载次数: 28)
|