⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hulandengm16.c

📁 这是带四乘四按键的程序,带LCD显示,可以控制灯饰单色,七彩变化,调光的程序,用AVRM16写的程序
💻 C
📖 第 1 页 / 共 4 页
字号:
#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 + -