📄 lq12864.c
字号:
/********************************************************
龙丘MC9S12(DG128)多功能开发板V4.0
Designed by Chiu Sir
E-mail:chiusir@163.com
软件版本:V1.1
最后更新:2008年12月26日
相关信息参考下列地址:
博客: http://longqiu.21ic.org
淘宝店:http://shop36265907.taobao.com
------------------------------------
Code Warrior 4.7
Target : MC9S12DG128B
Crystal: 16.000Mhz
busclock:16.000MHz
pllclock:32.000MHz
*********************************************************/
#include <mc9s12dg128.h>
#include "LQ12864.h"
#ifndef U8
typedef unsigned char U8;
typedef unsigned int U16;
typedef unsigned long U32;
typedef signed char S8;
typedef signed int S16;
#endif
#define LCD_Data_Dir DDRA
#define LCD_Data_Out PORTA
#define LCD_SDA 0x10
#define LCD_SCL 0x08
#define LCD_CD 0x04
#define LCD_RST 0x02
#define LCD_CS 0x01
/*
#define LCD_RST 0x01 //PB0(RESET)
#define LCD_CD 0x02 //PB1(A0:0cmd/1data)
#define LCD_SDA 0x04 //PB2(MOSI)
#define LCD_SCL 0x08 //PB3(SCK)
#define LCD_CS 0x10 //PB4(SS)
*/
#define X_WIDTH 128
#define Y_WIDTH 64
//======================================
const U8 F6x8[][6] =
{
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // sp
{ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 }, // !
{ 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 }, // "
{ 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 }, // #
{ 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 }, // $
{ 0x00, 0x62, 0x64, 0x08, 0x13, 0x23 }, // %
{ 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 }, // &
{ 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 }, // '
{ 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 }, // (
{ 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 }, // )
{ 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 }, // *
{ 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 }, // +
{ 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00 }, // ,
{ 0x00, 0x08, 0x08, 0x08, 0x08, 0x08 }, // -
{ 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 }, // .
{ 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 }, // /
{ 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E }, // 0
{ 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 }, // 1
{ 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 }, // 2
{ 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 }, // 3
{ 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 }, // 4
{ 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 }, // 5
{ 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 }, // 6
{ 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 }, // 7
{ 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 }, // 8
{ 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E }, // 9
{ 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 }, // :
{ 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 }, // ;
{ 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 }, // <
{ 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 }, // =
{ 0x00, 0x00, 0x41, 0x22, 0x14, 0x08 }, // >
{ 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 }, // ?
{ 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E }, // @
{ 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C }, // A
{ 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 }, // B
{ 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 }, // C
{ 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C }, // D
{ 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41 }, // E
{ 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 }, // F
{ 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A }, // G
{ 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F }, // H
{ 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 }, // I
{ 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 }, // J
{ 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 }, // K
{ 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 }, // L
{ 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F }, // M
{ 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F }, // N
{ 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E }, // O
{ 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 }, // P
{ 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E }, // Q
{ 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 }, // R
{ 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 }, // S
{ 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 }, // T
{ 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F }, // U
{ 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F }, // V
{ 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F }, // W
{ 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 }, // X
{ 0x00, 0x07, 0x08, 0x70, 0x08, 0x07 }, // Y
{ 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 }, // Z
{ 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 }, // [
{ 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55 }, // 55
{ 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00 }, // ]
{ 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 }, // ^
{ 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 }, // _
{ 0x00, 0x00, 0x01, 0x02, 0x04, 0x00 }, // '
{ 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 }, // a
{ 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 }, // b
{ 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 }, // c
{ 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F }, // d
{ 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 }, // e
{ 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 }, // f
{ 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C }, // g
{ 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 }, // h
{ 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 }, // i
{ 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00 }, // j
{ 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 }, // k
{ 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 }, // l
{ 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 }, // m
{ 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 }, // n
{ 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 }, // o
{ 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18 }, // p
{ 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC }, // q
{ 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 }, // r
{ 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 }, // s
{ 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20 }, // t
{ 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C }, // u
{ 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C }, // v
{ 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C }, // w
{ 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 }, // x
{ 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C }, // y
{ 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 }, // z
{ 0x14, 0x14, 0x14, 0x14, 0x14, 0x14 } // horiz lines
};
const U8 F14x16_Idx[] =
{
"龙丘科技开发板智能车接收发送节点地址数据本室温度按键次电压"
};
const U8 F14x16[] = {
0x10,0x10,0x10,0x10,0x90,0x7E,0x10,0xF0,0x12,0x14,0xD8,0x10,0x10,0x00,
0x20,0x10,0x08,0x06,0x11,0x10,0x08,0x1F,0x22,0x21,0x20,0x20,0x1C,0x00,//龙0
0x00,0x00,0xF8,0x88,0x88,0x88,0x84,0x84,0x82,0x82,0x80,0x80,0x00,0x00,
0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x00,//丘1
0x24,0x24,0xA4,0xFE,0xA2,0x22,0x00,0x24,0x48,0x00,0xFE,0x80,0x80,0x00,
0x04,0x03,0x00,0x3F,0x00,0x01,0x01,0x01,0x01,0x01,0x3F,0x00,0x00,0x00,//科2
0x10,0x10,0xFE,0x90,0x10,0x48,0xC8,0x48,0x7E,0x48,0x48,0xC8,0x08,0x00,
0x12,0x21,0x1F,0x00,0x20,0x20,0x11,0x0A,0x04,0x0A,0x11,0x20,0x20,0x00,//技3
0x80,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x80,0x00,
0x00,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,//开4
0x00,0x18,0x16,0x10,0x90,0xF0,0x9E,0x90,0x90,0x92,0x94,0x10,0x10,0x00,
0x10,0x08,0x24,0x22,0x21,0x11,0x0A,0x04,0x0A,0x11,0x20,0x20,0x20,0x00,//发5
0x10,0xD0,0xFE,0x90,0x10,0xFC,0xA4,0x24,0x24,0x22,0xA2,0x62,0x00,0x00,
0x03,0x00,0x3F,0x20,0x11,0x2F,0x20,0x11,0x0A,0x0E,0x11,0x20,0x20,0x00,//板6
0x28,0x26,0xE4,0x3C,0xA4,0x24,0x20,0xFC,0x84,0x84,0x84,0xFC,0x00,0x00,
0x02,0x01,0x3E,0x2A,0x2A,0x2B,0x2A,0x2A,0x2A,0x2A,0x3E,0x00,0x00,0x00,//智7
0x10,0xD8,0x54,0x52,0xD0,0x38,0x00,0x3E,0x50,0x48,0x44,0x60,0x00,0x00,
0x00,0x3F,0x09,0x29,0x3F,0x00,0x00,0x1F,0x24,0x22,0x23,0x20,0x30,0x00,//能8
0x08,0xC8,0xA8,0x98,0x88,0x8C,0xEA,0x88,0x88,0x88,0x88,0x08,0x00,0x00,
0x04,0x04,0x04,0x04,0x04,0x04,0x3F,0x04,0x04,0x04,0x04,0x04,0x04,0x00,//车9
0x10,0x10,0xFE,0x90,0x10,0x48,0x58,0xEA,0x4C,0x68,0x58,0x48,0x00,0x00,
0x11,0x21,0x1F,0x00,0x01,0x25,0x2B,0x11,0x11,0x29,0x27,0x01,0x01,0x00,//接10
0xF8,0x00,0x00,0xFE,0x00,0x80,0x60,0xDE,0x10,0x10,0x90,0x70,0x10,0x00,
0x07,0x02,0x01,0x3F,0x00,0x20,0x20,0x10,0x09,0x06,0x09,0x30,0x20,0x00,//收11
0x00,0x18,0x16,0x10,0x90,0xF0,0x9E,0x90,0x90,0x92,0x94,0x10,0x10,0x00,
0x10,0x08,0x24,0x22,0x21,0x11,0x0A,0x04,0x0A,0x11,0x20,0x20,0x20,0x00,//发12
0x42,0x44,0xCC,0x00,0x80,0x92,0x94,0x98,0xF0,0x98,0x94,0x92,0x80,0x00,
0x20,0x10,0x0F,0x10,0x20,0x30,0x28,0x26,0x21,0x24,0x28,0x38,0x20,0x00,//送13
0x08,0x48,0x48,0x48,0x7E,0xC8,0x48,0x48,0x7E,0x48,0x48,0xC8,0x08,0x00,
0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x04,0x08,0x08,0x07,0x00,0x00,//节14
0x00,0xC0,0x40,0x40,0x40,0x7E,0x48,0x48,0x48,0x48,0xC8,0x08,0x00,0x00,
0x20,0x1B,0x02,0x02,0x0A,0x32,0x02,0x0A,0x32,0x02,0x0B,0x10,0x20,0x00,//点15
0x40,0x40,0xFE,0x40,0x80,0xFC,0x40,0x40,0xFE,0x20,0x10,0xF8,0x00,0x00,
0x10,0x10,0x0F,0x08,0x08,0x1F,0x20,0x20,0x2F,0x22,0x24,0x23,0x18,0x00,//地16
0x10,0x10,0xFE,0x10,0x10,0x00,0xF0,0x00,0x00,0xFE,0x20,0x20,0x20,0x00,
0x08,0x08,0x0F,0x04,0x24,0x22,0x3F,0x20,0x20,0x3F,0x20,0x20,0x20,0x00,//址17
0x92,0x54,0x30,0xFE,0x50,0x94,0x32,0xD8,0x16,0x10,0xF0,0x10,0x10,0x00,
0x22,0x26,0x1B,0x12,0x2A,0x26,0x10,0x0B,0x04,0x0B,0x10,0x20,0x20,0x00,//数18
0x10,0x10,0xFE,0x90,0x50,0xFE,0x92,0x92,0xF2,0x92,0x92,0x9E,0x80,0x00,
0x21,0x21,0x1F,0x20,0x1C,0x03,0x3C,0x24,0x27,0x24,0x24,0x3C,0x00,0x00,//据19
0x00,0x08,0x08,0x88,0x68,0x18,0xFE,0x18,0x68,0x88,0x08,0x08,0x00,0x00,
0x08,0x04,0x02,0x05,0x04,0x04,0x3F,0x04,0x04,0x05,0x02,0x0C,0x04,0x00,//本20
0x1C,0x24,0x24,0xA4,0x64,0x24,0x26,0x24,0x24,0xA4,0x24,0x24,0x1C,0x00,
0x20,0x20,0x25,0x25,0x25,0x25,0x3F,0x25,0x25,0x25,0x25,0x20,0x20,0x00,//室0
0x10,0x22,0x04,0x88,0x00,0xFE,0x92,0x92,0x92,0x92,0xFE,0x00,0x00,0x00,
0x02,0x3E,0x01,0x20,0x3E,0x22,0x3E,0x22,0x22,0x3E,0x22,0x3E,0x20,0x00,//温1
0x00,0xFC,0x24,0x24,0x24,0xFC,0xA6,0xA6,0xFC,0x24,0x24,0x24,0x04,0x00,
0x30,0x0F,0x20,0x22,0x26,0x2A,0x12,0x12,0x2A,0x26,0x22,0x20,0x20,0x00,//度2
0x10,0x90,0xFE,0x50,0x00,0xB8,0x88,0x88,0xEE,0x88,0x88,0xB8,0x80,0x00,
0x11,0x20,0x1F,0x00,0x00,0x20,0x22,0x15,0x08,0x14,0x23,0x20,0x00,0x00,//按3
0x38,0xE6,0x24,0x24,0xC2,0xB2,0x8E,0x54,0x54,0xFE,0x54,0x7C,0x10,0x00,
0x01,0x3F,0x11,0x29,0x12,0x0C,0x13,0x25,0x25,0x3F,0x25,0x25,0x24,0x00,//键4
0x82,0x84,0x4C,0x20,0x80,0x60,0x18,0xD6,0x10,0x10,0x50,0x30,0x00,0x00,
0x00,0x3F,0x00,0x00,0x20,0x20,0x18,0x07,0x06,0x08,0x30,0x20,0x20,0x00,//次5
0xF0,0x90,0x90,0x90,0x90,0xFE,0x90,0x90,0x90,0x90,0xF0,0x00,0x00,0x00,
0x0F,0x04,0x04,0x04,0x04,0x1F,0x24,0x24,0x24,0x24,0x27,0x20,0x18,0x00,//电6
0x00,0xFE,0x02,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x82,0x00,0x00,
0x38,0x07,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x22,0x24,0x2C,0x20,0x00,//压7
};
//======================================================
// 128X64I液晶底层驱动[8X16]字体库
// 设计者: powerint
// 描 述: [8X16]西文字符的字模数据 (纵向取模,字节倒序)
// !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
//======================================================
const U8 F8X16[]=
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// 0
0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00,//!1
0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//"2
0x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00,//#3
0x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00,//$4
0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00,//%5
0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10,//&6
0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//'7
0x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00,//(8
0x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00,//)9
0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00,//*10
0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x00,//+11
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00,//,12
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,//-13
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,//.14
0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,///15
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,//016
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//117
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,//218
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,//319
0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,//420
0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,//521
0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,//622
0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,//723
0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,//824
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,//925
0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//:26
0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,//;27
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -