📄 hulandengm16.c
字号:
#include <avr/io.h>
#include <util/delay.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>
#define SBI_E PORTC |=(1<<2)
#define CBI_E PORTC&=~(1<<2)
#define SBI_RS PORTC |=(1<<3)
#define CBI_RS PORTC &= ~(1<<3)
#define SBI_RW PORTC |= (1<<4)
#define CBI_RW PORTC &= ~(1<<4)
#define SBI_RST PORTC |= (1<<5)
#define CBI_RST PORTC &=~(1<<5)
#define SBI_CS2 PORTC |= (1<<6)
#define CBI_CS2 PORTC &=~(1<<6)
#define SBI_CS1 PORTC |= (1<<7)
#define CBI_CS1 PORTC &=~(1<<7)
#define LCM12864_databus PORTA
#define LCM12864_indatabus PINA
//LM12864屏接口线定义
#define SBI_R PORTD |= (1<<7)
#define CBI_R PORTD &= ~(1<<7)
#define SBI_G PORTD |= (1<<5)
#define CBI_G PORTD &= ~(1<<5)
#define SBI_B PORTD |= (1<<6)
#define CBI_B PORTD &= ~(1<<6)
#define SBI_SCK PORTB |= (1<<7)
#define CBI_SCK PORTB &=~(1<<7)
#define SBI_LAT PORTC |= (1<<0)
#define CBI_LAT PORTC &=~(1<<0)
#define SBI_OE PORTC |= (1<<1)
#define CBI_OE PORTC &=~(1<<1)
#define SBI_AA PORTB |= (1<<3)
#define CBI_AA PORTB &=~(1<<3)
#define SBI_BB PORTB |= (1<<2)
#define CBI_BB PORTB &=~(1<<2)
#define SBI_CC PORTB |= (1<<1)
#define CBI_CC PORTB &=~(1<<1)
#define SBI_DATA PORTB |= (1<<5) //数码管 数据
#define CBI_DATA PORTB &=~(1<<5)
//LED屏数据线定义
/* 全局变量声明*/
volatile unsigned char type=0,color=1,hang=0,mode=0,disp_color,scan=0;
// 型号 颜色 138行 模式 显示颜色 扫描
volatile unsigned char speed=5,disp_set=0,show=1,brightness=7,disp_number=1;
// 速度 当前菜单层数 菜单 亮度 级连屏数
unsigned char temp_bright=7,time2_count=10,time1_count=0,color_amount=7,shield_data=0x00;
//临时亮度(用于计数) 计数10次用 定时器计数 颜色总数 屏蔽数
unsigned char send_pels_count=0;
// 数码管发送像素计数
unsigned int gray_scale=0,temp_gray=0,gray_scale_set=250;
// 当前灰度 临时灰度 设置灰度值
unsigned char disp_ram[64]; //显示缓存
/*函数声明*/
void disp_update(void);
void disp_default(void);
void update_default(void);
void update_color(void); //更新颜色显示
void send_frame(void); //数码管发送一条管数据
void box(unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char);
//********************//
// 点阵字模
//********************//
const unsigned char hanzi[] PROGMEM={
/*-- 文字: 量 0 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x40,0x40,0x40,0xDF,0x55,0x55,0x55,0xD5,0x55,0x55,0x55,0xDF,0x40,0x40,0x40,0x00,
0x40,0x40,0x40,0x57,0x55,0x55,0x55,0x7F,0x55,0x55,0x55,0x57,0x50,0x40,0x40,0x00,
/*-- 文字: 红 -- 1 */
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x20,0x30,0x2C,0xA3,0x60,0x18,0x00,0x08,0x08,0x08,0xF8,0x08,0x08,0x0C,0x08,0x00,
0x22,0x66,0x23,0x12,0x12,0x52,0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x60,0x40,0x00,
/*-- 文字: 绿 -- 2 */
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x20,0x30,0xAF,0x62,0x30,0x20,0xA2,0x2A,0x2A,0xEA,0x2A,0x2A,0xBE,0x20,0x20,0x00,
0x22,0x23,0x12,0x12,0x00,0x10,0x08,0x45,0x82,0x7F,0x02,0x05,0x08,0x18,0x08,0x00,
/*-- 文字: 蓝 -- 3 */
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x04,0x04,0xE4,0x04,0x0F,0xF4,0x04,0x84,0x74,0x2F,0x64,0xA4,0x24,0x24,0x04,0x00,
0x40,0x40,0x41,0x7C,0x44,0x47,0x7D,0x44,0x7C,0x44,0x44,0x7D,0x40,0x40,0x40,0x00,
/*-- 文字: 颜 -- 4 */
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0xE4,0x2C,0x35,0xA6,0x74,0x2C,0x24,0x00,0xF2,0x1A,0xD6,0x12,0xF2,0x02,0x00,
0x60,0x5F,0x49,0x29,0x24,0x12,0x11,0x48,0x40,0x27,0x18,0x07,0x08,0x37,0x60,0x00,
/*-- 文字: 色 -- 5 */
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x40,0x20,0xF0,0x28,0x27,0x24,0xE4,0x24,0x34,0x2C,0xE4,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x3F,0x42,0x42,0x42,0x43,0x42,0x42,0x42,0x43,0x40,0x78,0x00,0x00,
/*-- 文字: 型 -- 6 */
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x10,0x12,0x92,0x7E,0x12,0x12,0xFE,0x12,0x12,0x10,0xFC,0x00,0x00,0xFF,0x00,0x00,
0x40,0x42,0x49,0x48,0x48,0x48,0x49,0x7E,0x48,0x48,0x48,0x4A,0x4C,0x4B,0x40,0x00,
/*-- 文字: 号 -- 7 */
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x40,0x40,0x40,0x5F,0xD1,0x51,0x51,0x51,0x51,0x51,0x51,0x5F,0x40,0x40,0x40,0x00,
0x00,0x00,0x00,0x02,0x07,0x02,0x02,0x22,0x42,0x82,0x42,0x3E,0x00,0x00,0x00,0x00,
/*-- 文字: 模 -- 8 */
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x10,0xD0,0xFF,0x50,0x90,0x04,0xF4,0x54,0x5F,0x54,0x54,0x5F,0xF4,0x04,0x00,0x00,
0x03,0x00,0xFF,0x00,0x00,0x84,0x85,0x45,0x35,0x0F,0x15,0x25,0x65,0xC4,0x44,0x00,
/*-- 文字: 式 -- 9 */
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x08,0x88,0x88,0x88,0x88,0x88,0x08,0xFF,0x08,0x09,0x0E,0x0A,0x08,0x00,0x00,
0x00,0x20,0x60,0x30,0x1F,0x10,0x08,0x08,0x00,0x07,0x18,0x20,0x40,0x80,0x70,0x00,
/*-- 文字: 全 10 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x80,0x40,0x60,0x50,0x48,0x44,0xC3,0x44,0x48,0x50,0x70,0x60,0x20,0x00,0x00,
0x00,0x40,0x40,0x44,0x44,0x44,0x44,0x7F,0x44,0x44,0x44,0x46,0x44,0x60,0x40,0x00,
/*-- 文字: 亮 -- 11 */
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x82,0x82,0x82,0xBA,0xAA,0xAA,0xAB,0xAA,0xAA,0xBA,0x82,0x82,0xC2,0x80,0x00,
0x02,0x41,0x40,0x20,0x10,0x0E,0x02,0x02,0x02,0x3E,0x40,0x40,0x42,0x41,0x70,0x00,
/*-- 文字: 扫 -- 12 */
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x10,0x10,0x10,0xFF,0x90,0x50,0x10,0x04,0x84,0x84,0x84,0x84,0x84,0xFC,0x00,0x00,
0x02,0x22,0x41,0x3F,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0x00,0x00,
/*-- 文字: 描 -- 13 */
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x08,0x08,0x08,0xFF,0x48,0x20,0x88,0x88,0xBF,0x88,0x88,0x88,0xBF,0x88,0x88,0x00,
0x02,0x42,0x81,0x7F,0x00,0x00,0x7F,0x24,0x24,0x24,0x3F,0x24,0x24,0x24,0x7F,0x00,
/*-- 文字: 数 -- 14 */
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x10,0x92,0x54,0x38,0xFF,0x38,0x54,0x52,0x80,0xF0,0x1F,0x12,0x10,0xF0,0x10,0x00,
0x42,0x42,0x2A,0x2E,0x13,0x1A,0x26,0x02,0x40,0x20,0x13,0x0C,0x33,0x60,0x20,0x00,
/*-- 文字: 码 -- 15 */
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x02,0x82,0xE2,0x5E,0x42,0xC2,0x00,0x02,0xFA,0x82,0x82,0x82,0xFE,0x80,0x00,0x00,
0x01,0x00,0x7F,0x10,0x10,0x3F,0x00,0x04,0x04,0x04,0x44,0x84,0x40,0x3F,0x00,0x00,
/*-- 文字: 管 -- 16 */
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x08,0x64,0x23,0xA6,0xAA,0xA2,0xAA,0xB4,0xA3,0xA2,0xA6,0x2A,0x22,0x62,0x20,0x00,
0x00,0x00,0x00,0xFF,0x4A,0x4A,0x4A,0x4A,0x4A,0x4A,0x4B,0xF8,0x00,0x00,0x00,0x00,
/*-- 文字: 彩 -- 17 注:全(10) */
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x82,0x8A,0xB2,0x86,0xDB,0xA1,0x91,0x8D,0x88,0x20,0x10,0x08,0x86,0x64,0x40,0x00,
0x20,0x10,0x08,0x06,0xFF,0x02,0x04,0x58,0x48,0x20,0x22,0x11,0x08,0x07,0x02,0x00,
/*-- 文字: 黄 18 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x20,0x24,0x24,0xA4,0xA4,0xBF,0xA4,0xE4,0xA4,0xBF,0xA4,0xA4,0x24,0x24,0x20,0x00,
0x00,0x80,0x80,0x5F,0x32,0x12,0x12,0x1F,0x12,0x12,0x32,0x5F,0xC0,0x00,0x00,0x00,
/*-- 文字: 青 19 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x40,0x40,0x44,0x54,0x54,0x54,0x54,0x7F,0x54,0x54,0x54,0x54,0x44,0x40,0x40,0x00,
0x00,0x00,0x00,0xFF,0x15,0x15,0x15,0x15,0x15,0x55,0x95,0x7F,0x00,0x00,0x00,0x00,
/*-- 文字: 紫 20 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x20,0x3E,0x20,0x1F,0x94,0x54,0x24,0x80,0x9F,0x24,0x24,0x22,0x22,0x30,0x00,
0x00,0x40,0x24,0x1D,0x05,0x47,0x85,0x7D,0x04,0x04,0x14,0x26,0x4C,0x00,0x00,0x00,
/*-- 文字: 白 21 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0xF8,0x08,0x08,0x0C,0x0B,0x08,0x08,0x08,0x08,0x08,0xF8,0x00,0x00,0x00,
0x00,0x00,0x7F,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x7F,0x00,0x00,0x00,
/*-- 文字: 效 22 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x08,0xC8,0x39,0x0E,0x18,0xA8,0x48,0x40,0xF0,0x1F,0x12,0x10,0xF0,0x10,0x00,
0x40,0x41,0x21,0x12,0x0C,0x0A,0x51,0x40,0x20,0x20,0x13,0x0C,0x33,0x60,0x20,0x00,
/*-- 文字: 果 23 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0x00,0x3E,0x2A,0x2A,0x2A,0xFE,0x2A,0x2A,0x2A,0x3E,0x00,0x00,0x00,0x00,
0x21,0x21,0x11,0x11,0x09,0x05,0x03,0xFF,0x03,0x05,0x09,0x09,0x11,0x31,0x11,0x00,
/*-- 左拳 24 宽度x高度=16x16 --*/
0x80,0xC0,0x20,0x30,0x08,0x08,0x04,0x04,0x02,0x01,0x02,0x0C,0x18,0x30,0xE0,0x80,
0x3F,0x64,0x42,0x42,0x64,0xFE,0x84,0x88,0x80,0x88,0xC4,0x42,0x70,0x90,0x9C,0x6F,
/*-- 右拳 25 宽度x高度=16x16 --*/
0xC0,0xE0,0xB0,0x38,0xC8,0x4C,0x04,0x84,0x02,0x03,0xC2,0x0C,0x98,0x30,0xE0,0xC0,
0x7F,0x59,0x71,0x61,0x40,0x80,0x87,0x89,0x87,0x80,0x9C,0x76,0x63,0x61,0x36,0x1F,
/*-- 大笑 26 宽度x高度=16x16 --*/
0x80,0x60,0x10,0x48,0x28,0x44,0x04,0x04,0x02,0x41,0x22,0x44,0x08,0x30,0xC0,0x00,
0x07,0x18,0x26,0x49,0x51,0xA6,0xA4,0xA4,0xA4,0xA2,0x91,0x49,0x46,0x20,0x18,0x07,
/*-- 文字: 设 27 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x40,0x41,0xCE,0x04,0x00,0x80,0x40,0xBE,0x82,0x82,0x82,0xBE,0xC0,0x40,0x40,0x00,
0x00,0x00,0x7F,0x20,0x90,0x80,0x40,0x43,0x2C,0x10,0x10,0x2C,0x43,0xC0,0x40,0x00,
/*-- 文字: 置 28 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x20,0x2F,0xA9,0xA9,0xAF,0xE9,0xB9,0xA9,0xAF,0xA9,0xA9,0x2F,0x20,0x00,0x00,
0x80,0x80,0x80,0xFF,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xFF,0x80,0x80,0x80,0x00,
/*-- 文字: 速 29 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x40,0x42,0xCC,0x00,0x04,0xE4,0x24,0x24,0xFF,0x24,0x24,0x24,0xE4,0x04,0x00,0x00,
0x40,0x20,0x1F,0x20,0x48,0x49,0x45,0x43,0x7F,0x41,0x43,0x45,0x4D,0x40,0x40,0x00,
/*-- 文字: 度 30 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0xFC,0x04,0x24,0x24,0xFC,0xA5,0xA6,0xA4,0xFC,0x24,0x24,0x24,0x04,0x00,
0x80,0x60,0x1F,0x80,0x80,0x42,0x46,0x2A,0x12,0x12,0x2A,0x26,0x42,0xC0,0x40,0x00,
/*-- 文字: 级 31 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x20,0x30,0xAC,0x63,0x20,0x18,0x02,0x82,0x7E,0x82,0x42,0x72,0x4E,0xC0,0x40,0x00,
0x10,0x13,0x11,0x49,0x29,0x91,0x8C,0x43,0x40,0x23,0x14,0x18,0x66,0xC1,0x40,0x00,
/*-- 文字: 连 32 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x40,0x41,0x4E,0xC4,0x00,0x44,0xE4,0x5C,0x47,0xF4,0x44,0x44,0x44,0x04,0x00,0x00,
0x00,0x40,0x20,0x1F,0x22,0x42,0x42,0x42,0x42,0x5F,0x42,0x42,0x42,0x42,0x42,0x00,
/*-- 文字: 屏 33 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0xFF,0x09,0x49,0x59,0xE9,0x49,0x49,0x49,0xE9,0x59,0x49,0x4F,0x00,0x00,
0x40,0x30,0x0F,0x82,0x42,0x32,0x0F,0x02,0x02,0x02,0xFF,0x02,0x02,0x02,0x02,0x00,
/*-- 文字: 数 34 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x10,0x92,0x54,0x38,0xFF,0x38,0x54,0x52,0x80,0xF0,0x1F,0x12,0x10,0xF0,0x10,0x00,
0x42,0x42,0x2A,0x2E,0x13,0x1A,0x26,0x02,0x40,0x20,0x13,0x0C,0x33,0x60,0x20,0x00,
/*-- 文字: 选 35 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x40,0x40,0x42,0xCC,0x00,0x50,0x4E,0xC8,0x48,0x7F,0xC8,0x48,0x48,0x40,0x00,0x00,
0x00,0x40,0x20,0x1F,0x20,0x48,0x46,0x41,0x40,0x40,0x47,0x48,0x48,0x4E,0x40,0x00,
/*-- 文字: 择 36 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x08,0x08,0xFF,0x88,0x48,0x08,0x42,0x46,0x2A,0xD2,0x2A,0x46,0x42,0x80,0x80,0x00,
0x42,0x81,0x7F,0x00,0x00,0x08,0x09,0x09,0x09,0xFF,0x09,0x09,0x09,0x08,0x08,0x00,
/*-- 文字: 返 37 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x40,0x42,0xDC,0x08,0x00,0x00,0xFE,0x52,0x92,0x12,0x12,0x92,0x73,0x02,0x00,0x00,
0x40,0x20,0x1F,0x20,0x48,0x46,0x51,0x50,0x48,0x45,0x42,0x45,0x48,0x50,0x00,0x00,
/*-- 文字: 回 38 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0xFE,0x02,0x02,0xF2,0x12,0x12,0x12,0x12,0x12,0xF2,0x02,0x02,0xFE,0x00,0x00,
0x00,0x7F,0x40,0x40,0x47,0x44,0x44,0x44,0x44,0x44,0x47,0x40,0x40,0x7F,0x00,0x00,
/*-- 文字: 暂 39 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x80,0x92,0x9A,0x96,0xFB,0x52,0x52,0x80,0x7E,0x12,0x12,0x12,0xF2,0x12,0x10,0x00,
0x00,0x00,0x00,0x7E,0x4B,0x4A,0x4B,0x4A,0x4A,0x4A,0x4A,0x7E,0x01,0x00,0x00,0x00,
/*-- 文字: 未 40 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x40,0x40,0x48,0x48,0x48,0x48,0xC8,0xFF,0x48,0x48,0x48,0x48,0x48,0x40,0x40,0x00,
0x20,0x20,0x10,0x10,0x08,0x06,0x01,0xFF,0x01,0x02,0x04,0x08,0x18,0x30,0x10,0x00,
/*-- 文字: 使 41 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x40,0x20,0xF0,0x1C,0x07,0xF2,0x94,0x94,0x94,0xFF,0x94,0x94,0x94,0xF4,0x04,0x00,
0x00,0x00,0x7F,0x00,0x40,0x41,0x22,0x14,0x0C,0x13,0x10,0x30,0x20,0x61,0x20,0x00,
/*-- 文字: 用 42 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0x00,0xFE,0x22,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0xFE,0x00,0x00,
0x80,0x40,0x30,0x0F,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x42,0x82,0x7F,0x00,0x00,
/*-- 文字: 双 43 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x12,0x22,0x42,0x82,0x62,0x1E,0x00,0x1E,0xE2,0x02,0x02,0xE2,0x1E,0x00,0x00,
0x20,0x10,0x08,0x06,0x01,0x03,0x4E,0x24,0x10,0x09,0x06,0x09,0x10,0x60,0x20,0x00,
/*-- 文字: 渐 44 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x10,0x61,0x06,0xE0,0xC4,0xB4,0xEF,0x84,0x84,0x00,0xFC,0x44,0x44,0xC2,0x42,0x00,
0x04,0xFC,0x03,0x04,0x04,0x04,0xFF,0x04,0x44,0x30,0x0F,0x00,0x00,0xFF,0x00,0x00,
/*-- 文字: 变 45 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x84,0x44,0x34,0x24,0x04,0xFD,0x06,0x06,0xFC,0x04,0x14,0x24,0xE4,0x44,0x00,
0x81,0x80,0x80,0x41,0x41,0x27,0x29,0x11,0x11,0x29,0x27,0x41,0xC0,0x40,0x40,0x00,
/*-- 文字: 自 46 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0x00,0xF8,0x48,0x48,0x4C,0x4B,0x4A,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,
0x00,0x00,0x00,0xFF,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0xFF,0x00,0x00,0x00,
/*-- 文字: 动 47 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x20,0x24,0x24,0xE4,0x24,0x24,0x24,0x20,0x10,0x10,0xFF,0x10,0x10,0xF0,0x00,0x00,
0x08,0x1C,0x0B,0x08,0x0C,0x05,0x4E,0x24,0x10,0x0C,0x03,0x20,0x40,0x3F,0x00,0x00,
/*-- 文字: 灰 48 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x08,0x08,0x08,0x88,0xF8,0x0F,0x08,0x08,0xF8,0x88,0x88,0x48,0x4C,0x08,0x00,
0x00,0x40,0x30,0x0C,0x43,0x20,0x13,0x08,0x06,0x01,0x06,0x18,0x30,0x60,0x20,0x00,
};
const unsigned char shuzi[] PROGMEM={
/*-- 文字: 0 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,
/*-- 文字: 1 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
/*-- 文字: 2 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,
/*-- 文字: 3 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,
/*-- 文字: 4 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,
/*-- 文字: 5 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,
/*-- 文字: 6 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,
/*-- 文字: 7 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,
/*-- 文字: 8 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,
/*-- 文字: 9 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,
/*-- 文字: : 10 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,
/*-- 文字: . 11 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,
/*-- 文字: -- 12 (空白) */
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*-- 文字: P 13 */
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00,
/*-- 文字: H -- 14 */
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20,
/*-- 箭头 15 --*/
/*-- 宽度x高度=8x16 --*/
0x00,0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00,
};
const unsigned char shaomiao[] PROGMEM={
/*-- 宽度x高度=8x16 "<" 0 --*/
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,
/*-- 斜线扫描 1 --*/
/*-- 宽度x高度=8x16 --*/
0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,
};
const unsigned char xiaoguo[] PROGMEM={
/*-- 左拳 0 宽度x高度=16x16 --*/
0x00,0x40,0x00,0xA0,0x03,0x10,0x0C,0x18,0x10,0x0C,0x30,0x06,0x40,0x02,0xC0,0x03,
0x80,0x01,0xB4,0x11,0xCE,0x23,0x85,0x43,0x84,0x0E,0xCC,0x09,0x7C,0x39,0x07,0xE6,
/*-- 右拳 1 宽度x高度=16x16 --*/
0x00,0x40,0x00,0xE0,0x07,0x10,0x1C,0x18,0x30,0x0C,0x70,0x06,0xCC,0x23,0xE9,0x2B,
0xF3,0x8D,0x82,0x9B,0x82,0xB3,0xC1,0x21,0xE0,0x33,0xB0,0x1E,0xF8,0x1C,0x07,0xE0,
/*-- 大笑 2 宽度x高度=16x16 --*/
0x80,0x60,0x10,0x48,0x28,0x44,0x04,0x04,0x02,0x41,0x22,0x44,0x08,0x30,0xC0,0x00,
0x07,0x18,0x26,0x49,0x51,0xA6,0xA4,0xA4,0xA4,0xA2,0x91,0x49,0x46,0x20,0x18,0x07,
};
void disp_ram_init(void)
{
unsigned char i;
for(i=0;i<64;i++)
{
disp_ram[i]=0xff;
}
}
//********************************************************************************************
//软件延时 Delay()
//*********************************************************************************************/
void Delay(unsigned int count)
{
unsigned char i;
while(--count != 0)
{
for(i = 0; i < 100; i++); // ";" 表示空语句
}
}
void LCM12864_E(void)
{
CBI_E;
_delay_us(5);
SBI_E;
}
void lat()
{
SBI_LAT;
SBI_LAT;
CBI_LAT;
}
//*********************************************************************************************
//定义LCM12864的指令
//*********************************************************************************************/
#define LCM12864_DISP_ON 0x3f // 打开LCM12864显示
#define LCM12864_DISP_OFF 0x3e // 关闭LCM12864显示
#define LCM12864_START_ROW 0xc0 // 显示起始行0,可以用LCM12864_START_ROW+x设置起始行。(x<64)
#define LCM12864_PAGE_START_ADDR 0xb8 // 页起始地址,可以用LCM12864_PAGE_START_ADDR+x设置当前页。(x<8)
#define LCM12864_COL_START_ADDR 0x40 // 列起始地址,可以用LCM12864_COL_START_ADDR+x设置当前列。(x<64)
//定义LCM12864的状态屏蔽码
//在BUSY和REST状态时,除读状态指令外,其他指令均不对LCM12864产生作用。
//在对LCM12864操作之前要查询BUSY状态,以确定是否可以对LCM12864进行操作。
#define LCM12864_STATUS_BUSY 0x80 // LCM12864忙状态屏蔽码
#define LCM12864_STATUS_DISP_OFF 0x20 // LCM12864显示关闭状态屏蔽码
#define LCM12864_STATUS_REST 0x10 // LCM12864复位状态屏蔽码
//*********************************************************************************************
//LCM12864测忙函数 LCM12864_TestBusy()
//
//**********************************************************************************************/
void LCM12864_TestBusy(void)
{
DDRA=0x7f;
SBI_RW;
CBI_RS;
LCM12864_E();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -