虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

RCD<b>箝位</b> 反激变换器

  • 51单片机电子日历 电子日历

    51单片机电子日历 电子日历,有时间显示、闹铃、日期、秒表及键盘设置功能 功能键A: 设置位数字+1 闹钟模式下为闹钟开关 秒表模式下为记时开关 功能键B: 设置位数字-1 闹钟模式下为闹钟开关 功能键C:设置模式及设置位选择 秒表模式下为清零键 功能键D:在四种工作模式下切换 设置闹钟开关

    标签: 电子日历 51单片机

    上传时间: 2013-12-16

    上传用户:zycidjl

  • C语言实现快速傅里叶算法

    C语言实现快速傅里叶算法,可以输入任意位,有正变换和反变换!

    标签: C语言 快速傅里叶 算法

    上传时间: 2017-07-13

    上传用户:xymbian

  • 红外解码程序

    /*  * _168ZHONGDUAN2.c  *  * Created: 2014/11/2 15:12:45  *  Author: lenovo  */  #include <avr/io.h> #include <avr/iom168pa.h> #include <avr/interrupt.h> #include <util/delay.h> #include <avr/eeprom.h> //#include <util/delay_basic.h> //unsigned char const SEGtable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}; #define BIT(x) (1<<(x)) #include<avr/signal.h>       #include<avr/pgmspace.h>  #include<util/delay.h>  #include<avr/eeprom.h> #define setb(val,bitn) (val|=(1<<(bitn)))//设置某IO口某位为1 #define clr(val,bitn) (val&=~(1<<(bitn)))//设置某IO口某位为0 #define get(val,bitn) (val&(1<<(bitn)))//读取某位状态 //uchar ACT[8] ={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; #define CPL_BIT(x,y) (x^=(1<<y)) #define CLR_BIT(x,y) (x&=~(1<<y)) #define  SET_1(a,b) a|=(1<<b)   #define  CLE_0(a,b) a&=~(1<<b)    /*------宏定义------*/  #include <avr/wdt.h> #include <avr/sleep.h>    #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <util/delay.h> #include <avr/eeprom.h> #define setb(val,bitn) (val|=(1<<(bitn)))//设置某IO口某位为1 #define clr(val,bitn) (val&=~(1<<(bitn)))//设置某IO口某位为0 #define get(val,bitn) (val&(1<<(bitn)))//读取某位状态  #define uint8  unsigned char  #define uint16 unsigned int  #define   P_LCDCS1 setb(PORTB,5)  #define  P_LCDCS0 clr(PORTB,5)  #define   P_LCDRST1 setb(PORTB,1)  #define   P_LCDRST0 clr(PORTB,1)  #define  P_LCDRS1 setb(PORTB,2)  #define   P_LCDRS0 clr(PORTB,2)  #define  P_LCDDAT1 setb(PORTB,4)  #define   P_LCDDAT0 clr(PORTB,4)  #define P_LCDCLK1 setb(PORTB,3)  #define   P_LCDCLK0 clr(PORTB,3) //#define     LCD_ //-----页地址定义----- #define     Page1       0 #define     Page2       1 #define     Page3       2 #define     Page4       3 #define     Page5       4 #define     Page6       5 #define     Page7       6 #define     Page8       7 //-----列地址定义-----每8列地址增1 #define     List8_1        0 #define     List8_2        7 #define     List8_3        15 #define     List8_4        23 #define     List8_5        31 #define     List8_6        39 #define     List8_7        47 #define     List8_8        55 #define     List8_9        63 #define     List8_10       71 #define     List8_11       79 #define     List8_12       87 #define     List8_13       95 #define     List8_14       103 #define     List8_15       111 #define     List8_16       119 //#define     List8_17       127 //-----列地址定义-----每16列地址增1 #define     List16_1        0 #define     List16_2        15 #define     List16_3        31 #define     List16_4        47 #define     List16_5        63 #define     List16_6        79 #define     List16_7        95 #define     List16_8        111 //---------------------------------- #define     STR_CHARG       "Charge"    //提示充电 #define     STR_PRCE        "%"         //电量百分比 #define     STR_ERR         "Err" //出错显示 #define     STR_OFF         "OFF"  //关机显示 //待机显示 #define     STR_WAIT1         "Portable UPS"  #define     STR_WAIT2         "110V/60HZ"  #define     STR_WAIT3         "Select:DC OR AC"  #define     STR_WAIT4         "BATTERY:"  //开机显示 #define     STR_OUTSTATUS      "Out Status:"  #define     STR_DCOUT12V         "DC12V"  #define     STR_DCOUT5V         "DC5V"  #define     STR_ACOUT         "AC110V" //#define     STR_MAOHAO         ":"   //====================================== extern uint8  LOCKA[2][16] ; //extern uint8 code BATS[10][16] ; extern uint8  BAT2S[12][32] ; extern uint8  NC[] ; extern uint8  mao_hao[] ; extern uint8  num1[] ; extern uint8  num2[] ; extern uint8 num3[] ; extern uint8  num4[] ; extern uint8  num5[] ; extern uint8 num6[] ; extern uint8  num7[] ; extern uint8  num8[] ; extern uint8  num9[] ; extern uint8  Tab_Ascii_8x16[95][16] ; extern uint8  Tab_Ascii_5x7[95][5] ; extern uint8  zhuang1[] ; extern uint8  tai1[] ; extern uint8  shi1[] ; extern uint8  yong1[] ; //---------------------------------- //extern void LcdWriteCommand(uint8 data1) ; extern void Display_Graphic_32x32(uint8 page,uint8 column,uint8 *dp) ; extern void Display_Graphic_32x16(uint8 page,uint8 column,uint8 *dp) ; extern void Display_Graphic_16x16(uint8 page,uint8 column,uint8 *dp) ; extern void Display_Graphic_8x16(uint8 page,uint8 column,uint8 *dp) ; extern void Display_String_8x16(uint8 page,uint8 column,uint8 *text) ; extern void Display_Num_8x16(uint8 page,uint8 column,uint8 Num) ; extern void Display_Digital_8x16(uint8 page,uint8 column,uint8 *a) ; extern void Display_Nop_8x16(uint8 page,uint8 column,uint8 DatLong) ; extern void Display_String_5x7(uint8 page,uint8 column,uint8 *text) ; extern void Full_Display(void) ; extern void Clear_Screen(void) ; extern void Init_lcd12864(void) ; //#endif   //========c12864.c============================================== /*************************************************** LCD:晶联讯电子 JLX12864G-086-PN(不带字库IC-UC1701X) 仅支持串行驱动方式 ***************************************************/ //#include "global.h"  //#include "c12864.h"   #define     Tab_Ascii_8x16_CALL1  //粗体字形 #define     Tab_Ascii_8x16_CALL2  //细体字形 #define     Tab_Ascii_5x7_CALL #define     Display_Graphic_32x32_CALL #define     Display_Graphic_32x16_CALL #define     Display_Graphic_16x16_CALL #define     Display_Graphic_8x16_CALL #define     Display_String_8x16_CALL     //显示字符串 #define     Display_Num_8x16_CALL        //显示单个数据0-9 #define     Display_Digital_8x16_CALL    //显示数据0-9999 #define     Display_Nop_8x16_CALL        //填充8*16的空字符N个 #define     Display_String_5x7_CALL #define     Full_Display_CALL   //==============================================================================  uint8 aa[]={0,1,2,3,4,5,6,7,8,9};   uint8 LOCKA[2][16]={ //--   童锁符号  -- //--    此字体下对应的点阵为:宽x高=16x16   -- //0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xd8, 0xcc, 0xc4, 0xc4, 0xcc, 0xd8, 0xf0, 0xe0, 0xc0, 0x00, 0x00, //0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xb0, 0x98, 0x8c, 0x8c, 0x8c, 0x8c, 0x98, 0xb0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x00, 0x00, } ; const PROGMEM uint8_t  BATS[10][16]={ //--   电池符号  -- //--    此字体下对应的点阵为:宽x高=16x16   -- 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x0c, 0x0e, 0x0e, 0x0c, 0x08, 0x08, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x0c, 0x0e, 0x0e, 0x0c, 0x08, 0x08, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x0c, 0x0e, 0x0e, 0x0c, 0x08, 0x08, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xc8, 0xc8, 0xcc, 0xce, 0xce, 0xcc, 0xc8, 0xc8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf8, 0xf8, 0xfc, 0xfe, 0xfe, 0xfc, 0xf8, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, }; const PROGMEM uint8_t  BAT2S1[12][32]={ /*--   电池符号  --*/ /*--    此字体下对应的点阵为:宽x高=32x16   --*/ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf8, 0xc0, 0x80}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3f, 0x07, 0x03}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf8, 0xc0, 0x80}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3f, 0x07, 0x03}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf8, 0xc0, 0x80}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3f, 0x07, 0x03}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf8, 0xc0, 0x80}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3f, 0x07, 0x03}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf8, 0xc0, 0x80}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3f, 0x07, 0x03}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xe8, 0xe8, 0x08, 0x08, 0xf8, 0xc0, 0x80}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x3f, 0x07, 0x03}, } ;   const PROGMEM uint8_t  BAT2S2[2][32]={ //--   电池符号 不显示 -- //--    此字体下对应的点阵为:宽x高=32x16   -- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, } ;  uint8 NC[]={ /*--  文字: 空符号  --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, } ; uint8 mao_hao[]={ /*--  文字:  : (冒号) --*/ /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00}; uint8  num0[]={ /*--  文字:  0  --*/ /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00 }; uint8  num1[]={ /*--  文字:  1  --*/ /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00 }; uint8  num2[]={ /*--  文字:  2  --*/ /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00  //细体 //0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00, // 粗体 }; uint8  num3[]={ /*--  文字:  3  --*/ /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00 }; uint8  num4[]={ /*--  文字:  4  --*/ /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00 }; uint8  num5[]={ /*--  文字:  5  --*/ /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00 }; uint8  num6[]={ /*--  文字:  6  --*/ /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00 }; uint8  num7[]={ /*--  文字:  7  --*/ /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00 }; uint8  num8[]={ /*--  文字:  8  --*/ /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00 }; uint8  num9[]={ /*--  文字:  9  --*/ /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00 }; //=======8x16======================================================================= #ifdef  Display_String_8x16_CALL   //Tab_Ascii_8x16_CALL    const PROGMEM uint8_t Tab_Ascii_8x161[95][16]={  //粗体字形  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // - -  0x00,0x00,0x38,0xFC,0xFC,0x38,0x00,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00, // -!-  0x00,0x0E,0x1E,0x00,0x00,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -"-  0x20,0xF8,0xF8,0x20,0xF8,0xF8,0x20,0x00,0x02,0x0F,0x0F,0x02,0x0F,0x0F,0x02,0x00, // -#-  0x38,0x7C,0x44,0x47,0x47,0xCC,0x98,0x00,0x03,0x06,0x04,0x1C,0x1C,0x07,0x03,0x00, // -$-  0x30,0x30,0x00,0x80,0xC0,0x60,0x30,0x00,0x0C,0x06,0x03,0x01,0x00,0x0C,0x0C,0x00, // -%-  0x80,0xD8,0x7C,0xE4,0xBC,0xD8,0x40,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00, // -&-  0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -'-  0x00,0x00,0xF0,0xF8,0x0C,0x04,0x00,0x00,0x00,0x00,0x03,0x07,0x0C,0x08,0x00,0x00, // -(-  0x00,0x00,0x04,0x0C,0xF8,0xF0,0x00,0x00,0x00,0x00,0x08,0x0C,0x07,0x03,0x00,0x00, // -)-  0x80,0xA0,0xE0,0xC0,0xC0,0xE0,0xA0,0x80,0x00,0x02,0x03,0x01,0x01,0x03,0x02,0x00, // -*-  0x00,0x80,0x80,0xE0,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00, // -+-  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x1E,0x0E,0x00,0x00,0x00, // -,-  0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ---  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00, // -.-  0x00,0x00,0x00,0x80,0xC0,0x60,0x30,0x00,0x0C,0x06,0x03,0x01,0x00,0x00,0x00,0x00, // -/-  0xF8,0xFC,0x04,0xC4,0x24,0xFC,0xF8,0x00,0x07,0x0F,0x09,0x08,0x08,0x0F,0x07,0x00, // -0-  0x00,0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x08,0x08,0x00, // -1-  0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00, // -2-  0x08,0x0C,0x44,0x44,0x44,0xFC,0xB8,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00, // -3-  0xC0,0xE0,0xB0,0x98,0xFC,0xFC,0x80,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00, // -4-  0x7C,0x7C,0x44,0x44,0xC4,0xC4,0x84,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00, // -5-  0xF0,0xF8,0x4C,0x44,0x44,0xC0,0x80,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00, // -6-  0x0C,0x0C,0x04,0x84,0xC4,0x7C,0x3C,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00, // -7-  0xB8,0xFC,0x44,0x44,0x44,0xFC,0xB8,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00, // -8-  0x38,0x7C,0x44,0x44,0x44,0xFC,0xF8,0x00,0x00,0x08,0x08,0x08,0x0C,0x07,0x03,0x00, // -9-  0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00, // -:-  0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x08,0x0E,0x06,0x00,0x00,0x00, // -;-  0x00,0x80,0xC0,0x60,0x30,0x18,0x08,0x00,0x00,0x00,0x01,0x03,0x06,0x0C,0x08,0x00, // -<-  0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00, // -=-  0x00,0x08,0x18,0x30,0x60,0xC0,0x80,0x00,0x00,0x08,0x0C,0x06,0x03,0x01,0x00,0x00, // ->-  0x18,0x1C,0x04,0xC4,0xE4,0x3C,0x18,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00, // -?-  0xF0,0xF8,0x08,0xC8,0xC8,0xF8,0xF0,0x00,0x07,0x0F,0x08,0x0B,0x0B,0x0B,0x01,0x00, // -@-  0xE0,0xF0,0x98,0x8C,0x98,0xF0,0xE0,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00, // -A-  0x04,0xFC,0xFC,0x44,0x44,0xFC,0xB8,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0F,0x07,0x00, // -B-  0xF0,0xF8,0x0C,0x04,0x04,0x0C,0x18,0x00,0x03,0x07,0x0C,0x08,0x08,0x0C,0x06,0x00, // -C-  0x04,0xFC,0xFC,0x04,0x0C,0xF8,0xF0,0x00,0x08,0x0F,0x0F,0x08,0x0C,0x07,0x03,0x00, // -D-  0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00, // -E-  0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00, // -F-  0xF0,0xF8,0x0C,0x84,0x84,0x8C,0x98,0x00,0x03,0x07,0x0C,0x08,0x08,0x07,0x0F,0x00, // -G-  0xFC,0xFC,0x40,0x40,0x40,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00, // -H-  0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00, // -I-  0x00,0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x07,0x0F,0x08,0x08,0x0F,0x07,0x00,0x00, // -J-  0x04,0xFC,0xFC,0xC0,0xF0,0x3C,0x0C,0x00,0x08,0x0F,0x0F,0x00,0x01,0x0F,0x0E,0x00, // -K-  0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00, // -L-  0xFC,0xFC,0x38,0x70,0x38,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00, // -M-  0xFC,0xFC,0x38,0x70,0xE0,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00, // -N-  0xF0,0xF8,0x0C,0x04,0x0C,0xF8,0xF0,0x00,0x03,0x07,0x0C,0x08,0x0C,0x07,0x03,0x00, // -O-  0x04,0xFC,0xFC,0x44,0x44,0x7C,0x38,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00, // -P-  0xF8,0xFC,0x04,0x04,0x04,0xFC,0xF8,0x00,0x07,0x0F,0x08,0x0E,0x3C,0x3F,0x27,0x00, // -Q-  0x04,0xFC,0xFC,0x44,0xC4,0xFC,0x38,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00, // -R-  0x18,0x3C,0x64,0x44,0xC4,0x9C,0x18,0x00,0x06,0x0E,0x08,0x08,0x08,0x0F,0x07,0x00, // -S-  0x00,0x1C,0x0C,0xFC,0xFC,0x0C,0x1C,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00, // -T-  0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00, // -U-  0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x01,0x03,0x06,0x0C,0x06,0x03,0x01,0x00, // -V-  0xFC,0xFC,0x00,0x80,0x00,0xFC,0xFC,0x00,0x03,0x0F,0x0E,0x03,0x0E,0x0F,0x03,0x00, // -W-  0x0C,0x3C,0xF0,0xC0,0xF0,0x3C,0x0C,0x00,0x0C,0x0F,0x03,0x00,0x03,0x0F,0x0C,0x00, // -X-  0x00,0x3C,0x7C,0xC0,0xC0,0x7C,0x3C,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00, // -Y-  0x1C,0x0C,0x84,0xC4,0x64,0x3C,0x1C,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0E,0x00, // -Z-  0x00,0x00,0xFC,0xFC,0x04,0x04,0x00,0x00,0x00,0x00,0x0F,0x0F,0x08,0x08,0x00,0x00, // -[-  0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x00, // -\-  0x00,0x00,0x04,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x00,0x00, // -]-  0x08,0x0C,0x06,0x03,0x06,0x0C,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -^-  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, // -_-  0x00,0x00,0x03,0x07,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -`-  0x00,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00, // -a-  0x04,0xFC,0xFC,0x20,0x60,0xC0,0x80,0x00,0x08,0x0F,0x07,0x08,0x08,0x0F,0x07,0x00, // -b-  0xC0,0xE0,0x20,0x20,0x20,0x60,0x40,0x00,0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00, // -c-  0x80,0xC0,0x60,0x24,0xFC,0xFC,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00, // -d-  0xC0,0xE0,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00, // -e-  0x40,0xF8,0xFC,0x44,0x0C,0x18,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00, // -f-  0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x27,0x6F,0x48,0x48,0x7F,0x3F,0x00,0x00, // -g-  0x04,0xFC,0xFC,0x40,0x20,0xE0,0xC0,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00, // -h-  0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00, // -i-  0x00,0x00,0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x30,0x70,0x40,0x40,0x7F,0x3F,0x00, // -j-  0x04,0xFC,0xFC,0x80,0xC0,0x60,0x20,0x00,0x08,0x0F,0x0F,0x01,0x03,0x0E,0x0C,0x00, // -k-  0x00,0x00,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00, // -l-  0xE0,0xE0,0x60,0xC0,0x60,0xE0,0xC0,0x00,0x0F,0x0F,0x00,0x0F,0x00,0x0F,0x0F,0x00, // -m-  0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00, // -n-  0xC0,0xE0,0x20,0x20,0x20,0xE0,0xC0,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00, // -o-  0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x40,0x7F,0x7F,0x48,0x08,0x0F,0x07,0x00, // -p-  0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x07,0x0F,0x08,0x48,0x7F,0x7F,0x40,0x00, // -q-  0x20,0xE0,0xC0,0x60,0x20,0x60,0xC0,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00, // -r-  0x40,0xE0,0xA0,0x20,0x20,0x60,0x40,0x00,0x04,0x0C,0x09,0x09,0x0B,0x0E,0x04,0x00, // -s-  0x20,0x20,0xF8,0xFC,0x20,0x20,0x00,0x00,0x00,0x00,0x07,0x0F,0x08,0x0C,0x04,0x00, // -t-  0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00, // -u-  0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x03,0x07,0x0C,0x0C,0x07,0x03,0x00, // -v-  0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x07,0x0F,0x0C,0x07,0x0C,0x0F,0x07,0x00, // -w-  0x20,0x60,0xC0,0x80,0xC0,0x60,0x20,0x00,0x08,0x0C,0x07,0x03,0x07,0x0C,0x08,0x00, // -x-  0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x47,0x4F,0x48,0x48,0x68,0x3F,0x1F,0x00, // -y-  0x60,0x60,0x20,0xA0,0xE0,0x60,0x20,0x00,0x0C,0x0E,0x0B,0x09,0x08,0x0C,0x0C,0x00, // -z-  0x00,0x40,0x40,0xF8,0xBC,0x04,0x04,0x00,0x00,0x00,0x00,0x07,0x0F,0x08,0x08,0x00, // -{-  0x00,0x00,0x00,0xBC,0xBC,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00, // -|-  0x00,0x04,0x04,0xBC,0xF8,0x40,0x40,0x00,0x00,0x08,0x08,0x0F,0x07,0x00,0x00,0x00, // -}-  0x08,0x0C,0x04,0x0C,0x08,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -~- } ; #endif  //Tab_Ascii_8x16_CALL1 //=======8x16======================================================================= //#ifdef   Tab_Ascii_8x16_CALL2  // #ifdef  Display_Num_8x16_CALL  const PROGMEM uint8_t Tab_Ascii_8x162[95][16]={  //细体字形 /*--  文字:     --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*--  文字:  !  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00, /*--  文字:  "  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*--  文字:  #  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00, /*--  文字:  $  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00, /*--  文字:  %  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00, /*--  文字:  &  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10, /*--  文字:  '  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*--  文字:  (  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00, /*--  文字:  )  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00, /*--  文字:  *  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00, /*--  文字:  +  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x00, /*--  文字:  ,  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00, /*--  文字:  -  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01, /*--  文字:  .  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00, /*--  文字:  /  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00, /*--  文字:  0  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00, /*--  文字:  1  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00, /*--  文字:  2  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00, /*--  文字:  3  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00, /*--  文字:  4  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00, /*--  文字:  5  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00, /*--  文字:  6  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00, /*--  文字:  7  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00, /*--  文字:  8  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00, /*--  文字:  9  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00, /*--  文字:  :  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00, /*--  文字:  ;  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00, /*--  文字:  <  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00, /*--  文字:  =  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00, /*--  文字:  >  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00, /*--  文字:  ?  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00, /*--  文字:  @  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,0x07,0x18,0x27,0x24,0x23,0x14,0x0B,0x00, /*--  文字:  A  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20, /*--  文字:  B  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00, /*--  文字:  C  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00, /*--  文字:  D  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00, /*--  文字:  E  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00, /*--  文字:  F  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00, /*--  文字:  G  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00, /*--  文字:  H  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20, /*--  文字:  I  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00, /*--  文字:  J  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00, /*--  文字:  K  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00, /*--  文字:  L  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00, /*--  文字:  M  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00, /*--  文字:  N  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00, /*--  文字:  O  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00, /*--  文字:  P  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00, /*--  文字:  Q  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00, /*--  文字:  R  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20, /*--  文字:  S  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00, /*--  文字:  T  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00, /*--  文字:  U  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00, /*--  文字:  V  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00, /*--  文字:  W  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00, /*--  文字:  X  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20, /*--  文字:  Y  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00, /*--  文字:  Z  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00, /*--  文字:  [  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00, /*--  文字:  \  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00, /*--  文字:  ]  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00, /*--  文字:  ^  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*--  文字:  _  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, /*--  文字:  `  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*--  文字:  a  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20, /*--  文字:  b  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00, /*--  文字:  c  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00, /*--  文字:  d  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20, /*--  文字:  e  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00, /*--  文字:  f  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00, /*--  文字:  g  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00, /*--  文字:  h  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20, /*--  文字:  i  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00, /*--  文字:  j  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00, /*--  文字:  k  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00, /*--  文字:  l  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00, /*--  文字:  m  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F, /*--  文字:  n  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20, /*--  文字:  o  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00, /*--  文字:  p  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00, /*--  文字:  q  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80, /*--  文字:  r  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00, /*--  文字:  s  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00, /*--  文字:  t  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00, /*--  文字:  u  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20, /*--  文字:  v  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00, /*--  文字:  w  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00, /*--  文字:  x  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00, /*--  文字:  y  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00, /*--  文字:  z  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00, /*--  文字:  {  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40, /*--  文字:  |  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00, /*--  文字:  }  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00, /*--  文字:  ~  --*/ /*--  Comic Sans MS12;  此字体下对应的点阵为:宽x高=8x16   --*/ 0x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; ///#endif //#endif  //Tab_Ascii_8x16_CALL1 //=======5x7======================================================================= //#ifdef  Tab_Ascii_5x7_CALL    const PROGMEM uint8_t Tab_Ascii_5x71[95][5]={ /*全体ASCII 列表:5x7点阵*/ 0x00,0x00,0x00,0x00,0x00,//space 0x00,0x00,0x4f,0x00,0x00,//! 0x00,0x07,0x00,0x07,0x00,//" 0x14,0x7f,0x14,0x7f,0x14,//# 0x24,0x2a,0x7f,0x2a,0x12,//$ 0x23,0x13,0x08,0x64,0x62,//% 0x36,0x49,0x55,0x22,0x50,//& 0x00,0x05,0x07,0x00,0x00,//] 0x00,0x1c,0x22,0x41,0x00,//( 0x00,0x41,0x22,0x1c,0x00,//) 0x14,0x08,0x3e,0x08,0x14,//* 0x08,0x08,0x3e,0x08,0x08,//+ 0x00,0x50,0x30,0x00,0x00,//, 0x08,0x08,0x08,0x08,0x08,//- 0x00,0x60,0x60,0x00,0x00,//. 0x20,0x10,0x08,0x04,0x02,/// 0x3e,0x51,0x49,0x45,0x3e,//0 0x00,0x42,0x7f,0x40,0x00,//1 0x42,0x61,0x51,0x49,0x46,//2 0x21,0x41,0x45,0x4b,0x31,//3 0x18,0x14,0x12,0x7f,0x10,//4 0x27,0x45,0x45,0x45,0x39,//5 0x3c,0x4a,0x49,0x49,0x30,//6 0x01,0x71,0x09,0x05,0x03,//7 0x36,0x49,0x49,0x49,0x36,//8 0x06,0x49,0x49,0x29,0x1e,//9 0x00,0x36,0x36,0x00,0x00,//: 0x00,0x56,0x36,0x00,0x00,//; 0x08,0x14,0x22,0x41,0x00,//< 0x14,0x14,0x14,0x14,0x14,//= 0x00,0x41,0x22,0x14,0x08,//> 0x02,0x01,0x51,0x09,0x06,//? 0x32,0x49,0x79,0x41,0x3e,//@ 0x7e,0x11,0x11,0x11,0x7e,//A 0x7f,0x49,0x49,0x49,0x36,//B 0x3e,0x41,0x41,0x41,0x22,//C 0x7f,0x41,0x41,0x22,0x1c,//D 0x7f,0x49,0x49,0x49,0x41,//E 0x7f,0x09,0x09,0x09,0x01,//F 0x3e,0x41,0x49,0x49,0x7a,//G 0x7f,0x08,0x08,0x08,0x7f,//H 0x00,0x41,0x7f,0x41,0x00,//I 0x20,0x40,0x41,0x3f,0x01,//J 0x7f,0x08,0x14,0x22,0x41,//K 0x7f,0x40,0x40,0x40,0x40,//L 0x7f,0x02,0x0c,0x02,0x7f,//M 0x7f,0x04,0x08,0x10,0x7f,//N 0x3e,0x41,0x41,0x41,0x3e,//O 0x7f,0x09,0x09,0x09,0x06,//P 0x3e,0x41,0x51,0x21,0x5e,//Q 0x7f,0x09,0x19,0x29,0x46,//R 0x46,0x49,0x49,0x49,0x31,//S 0x01,0x01,0x7f,0x01,0x01,//T 0x3f,0x40,0x40,0x40,0x3f,//U 0x1f,0x20,0x40,0x20,0x1f,//V 0x3f,0x40,0x38,0x40,0x3f,//W 0x63,0x14,0x08,0x14,0x63,//X 0x07,0x08,0x70,0x08,0x07,//Y 0x61,0x51,0x49,0x45,0x43,//Z 0x00,0x7f,0x41,0x41,0x00,//[ 0x02,0x04,0x08,0x10,0x20,//\ 0x00,0x41,0x41,0x7f,0x00,//] 0x04,0x02,0x01,0x02,0x04,//^ 0x40,0x40,0x40,0x40,0x40,//_ 0x01,0x02,0x04,0x00,0x00,//` 0x20,0x54,0x54,0x54,0x78,//a 0x7f,0x48,0x48,0x48,0x30,//b 0x38,0x44,0x44,0x44,0x44,//c 0x30,0x48,0x48,0x48,0x7f,//d 0x38,0x54,0x54,0x54,0x58,//e 0x00,0x08,0x7e,0x09,0x02,//f 0x48,0x54,0x54,0x54,0x3c,//g 0x7f,0x08,0x08,0x08,0x70,//h 0x00,0x00,0x7a,0x00,0x00,//i 0x20,0x40,0x40,0x3d,0x00,//j 0x7f,0x20,0x28,0x44,0x00,//k 0x00,0x41,0x7f,0x40,0x00,//l 0x7c,0x04,0x38,0x04,0x7c,//m 0x7c,0x08,0x04,0x04,0x78,//n 0x38,0x44,0x44,0x44,0x38,//o 0x7c,0x14,0x14,0x14,0x08,//p 0x08,0x14,0x14,0x14,0x7c,//q 0x7c,0x08,0x04,0x04,0x08,//r 0x48,0x54,0x54,0x54,0x24,//s 0x04,0x04,0x3f,0x44,0x24,//t 0x3c,0x40,0x40,0x40,0x3c,//u 0x1c,0x20,0x40,0x20,0x1c,//v 0x3c,0x40,0x30,0x40,0x3c,//w 0x44,0x28,0x10,0x28,0x44,//x 0x04,0x48,0x30,0x08,0x04,//y 0x44,0x64,0x54,0x4c,0x44,//z 0x08,0x36,0x41,0x41,0x00,//{ 0x00,0x00,0x77,0x00,0x00,//| 0x00,0x41,0x41,0x36,0x08,//} 0x04,0x02,0x02,0x02,0x01,//~ }; //#endif  //Tab_Ascii_5x7_CALL uint8  zhuang1[]={ /*--  文字:  状  --*/ /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/ 0x08,0x30,0x00,0xFF,0x20,0x20,0x20,0x20,0xFF,0x20,0xE1,0x26,0x2C,0x20,0x20,0x00, 0x04,0x02,0x01,0xFF,0x40,0x20,0x18,0x07,0x00,0x00,0x03,0x0C,0x30,0x60,0x20,0x00 }; uint8  tai1[]={ /*--  文字:  态  --*/ /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/ 0x00,0x04,0x04,0x04,0x84,0x44,0x34,0x4F,0x94,0x24,0x44,0x84,0x84,0x04,0x00,0x00, 0x00,0x60,0x39,0x01,0x00,0x3C,0x40,0x42,0x4C,0x40,0x40,0x70,0x04,0x09,0x31,0x00 }; uint8  shi1[]={ /*--  文字:  使  --*/ /*--  宋体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 }; uint8  yong1[]={ /*--  文字:  用  --*/ /*--  宋体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 }; //x=9 y=16 点阵 0-9 const PROGMEM uint8_t  lcd_numbers_lit[]={ 0x00,0xE0,0xE0,0x60,0x20,0x60,0xE0,0xE0,0x00,//0 0x00,0x7F,0x7F,0x60,0x40,0x60,0x7F,0x7F,0x00, 0x00,0x00,0x40,0x40,0xE0,0xE0,0x00,0x00,0x00,//1 0x00,0x00,0x00,0x00,0x7F,0x7F,0x00,0x00,0x00, 0x00,0xE0,0xE0,0x20,0x20,0xE0,0xE0,0xC0,0x00,//2 0x00,0x71,0x79,0x78,0x5E,0x47,0x43,0x41,0x00, 0x00,0xE0,0xE0,0x20,0x20,0xE0,0xE0,0xC0,0x00,//3 0x00,0x78,0x78,0x42,0x47,0x7F,0x7D,0x39,0x00, 0x00,0x00,0x00,0x80,0xE0,0xE0,0xE0,0x00,0x00,//4 0x00,0x0E,0x0F,0x0B,0x7F,0x7F,0x7F,0x08,0x00, 0x00,0xE0,0xE0,0xE0,0x20,0x20,0x20,0x20,0x00,//5 0x00,0x73,0x73,0x43,0x41,0x7F,0x7F,0x3E,0x00, 0x00,0xE0,0xE0,0x60,0x20,0x60,0x60,0x60,0x00,//6 0x00,0x7F,0x7F,0x43,0x43,0x7F,0x7E,0x3C,0x00, 0x00,0x20,0x20,0x20,0xA0,0xE0,0xE0,0x60,0x00,//7 0x00,0x00,0x40,0x78,0x7F,0x0F,0x01,0x00,0x00, 0x00,0xE0,0xE0,0x20,0x20,0x20,0xE0,0xE0,0x00,//8 0x00,0x7D,0x7D,0x47,0x42,0x47,0x7D,0x7D,0x00, 0x00,0xE0,0xE0,0x20,0x20,0xE0,0xE0,0x80,0x00,//9 0x00,0x67,0x6F,0x4C,0x6C,0x7F,0x3F,0x0F,0x00 }; //x=12 y=16 点阵 0-9数字 const PROGMEM uint8_t  lcd_numbers[]={ 0x00,0xF0,0xFC,0xFC,0x0E,0x02,0x02,0x0E,0xFC,0xFC,0xF0,0x00,//0 0x00,0x07,0x3F,0x3F,0x70,0x40,0x40,0x70,0x3F,0x3F,0x07,0x00, 0x00,0x00,0x00,0x08,0x08,0xFC,0xFE,0xFE,0x00,0x00,0x00,0x00,//1 0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x7F,0x00,0x00,0x00,0x00, 0x00,0x38,0x3C,0x3E,0x06,0x02,0x86,0xFE,0xFC,0x78,0x00,0x00,//2 0x00,0x60,0x78,0x7C,0x5E,0x4F,0x43,0x41,0x40,0x40,0x00,0x00, 0x00,0x18,0x1C,0x1E,0x86,0x82,0xC6,0xFE,0x7C,0x38,0x00,0x00,//3 0x00,0x1C,0x3C,0x7C,0x60,0x40,0x61,0x7F,0x3F,0x1E,0x00,0x00, 0x00,0x00,0x80,0xC0,0xF0,0x3C,0xFE,0xFE,0xFE,0x00,0x00,0x00,//4 0x00,0x06,0x07,0x05,0x04,0x04,0x7F,0x7F,0x7F,0x04,0x04,0x00, 0x00,0x00,0xFE,0xFE,0xFE,0x62,0x62,0xE2,0xE2,0x82,0x00,0x00,//5 0x00,0x18,0x38,0x78,0x60,0x40,0x60,0x7F,0x3F,0x1F,0x00,0x00, 0x00,0xF0,0xFC,0xFC,0xCE,0x42,0xC6,0xCE,0x8E,0x0C,0x00,0x00,//6 0x00,0x0F,0x3F,0x7F,0x60,0x40,0x60,0x7F,0x3F,0x1F,0x00,0x00, 0x00,0x02,0x02,0x02,0x02,0x82,0xF2,0xFE,0x7E,0x0E,0x00,0x00,//7 0x00,0x00,0x00,0x60,0x7C,0x7F,0x1F,0x03,0x00,0x00,0x00,0x00, 0x00,0x38,0x7C,0x7E,0xC6,0x82,0x82,0xC6,0x7E,0x7C,0x38,0x00,//8 0x00,0x1E,0x3F,0x7F,0x61,0x40,0x40,0x61,0x7F,0x3F,0x1E,0x00, 0x00,0xF8,0xFC,0xFE,0x06,0x02,0x06,0xFE,0xFC,0xF0,0x00,0x00,//9 0x00,0x30,0x71,0x73,0x63,0x42,0x73,0x3F,0x1F,0x07,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//. 0x00,0x00,0x00,0x38,0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,//- 0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00 }; const PROGMEM uint8_t  Tab_Ascii_5x72[95][5]={ /*全体ASCII 列表:5x7点阵*/ 0x00,0x00,0x00,0x00,0x00,//space 0x00,0x00,0x4f,0x00,0x00,//! 0x00,0x07,0x00,0x07,0x00,//" 0x14,0x7f,0x14,0x7f,0x14,//# 0x24,0x2a,0x7f,0x2a,0x12,//$ 0x23,0x13,0x08,0x64,0x62,//% 0x36,0x49,0x55,0x22,0x50,//& 0x00,0x05,0x07,0x00,0x00,//] 0x00,0x1c,0x22,0x41,0x00,//( 0x00,0x41,0x22,0x1c,0x00,//) 0x14,0x08,0x3e,0x08,0x14,//* 0x08,0x08,0x3e,0x08,0x08,//+ 0x00,0x50,0x30,0x00,0x00,//, 0x08,0x08,0x08,0x08,0x08,//- 0x00,0x60,0x60,0x00,0x00,//. 0x20,0x10,0x08,0x04,0x02,/// 0x3e,0x51,0x49,0x45,0x3e,//0 0x00,0x42,0x7f,0x40,0x00,//1 0x42,0x61,0x51,0x49,0x46,//2 0x21,0x41,0x45,0x4b,0x31,//3 0x18,0x14,0x12,0x7f,0x10,//4 0x27,0x45,0x45,0x45,0x39,//5 0x3c,0x4a,0x49,0x49,0x30,//6 0x01,0x71,0x09,0x05,0x03,//7 0x36,0x49,0x49,0x49,0x36,//8 0x06,0x49,0x49,0x29,0x1e,//9 0x00,0x36,0x36,0x00,0x00,//: 0x00,0x56,0x36,0x00,0x00,//; 0x08,0x14,0x22,0x41,0x00,//< 0x14,0x14,0x14,0x14,0x14,//= 0x00,0x41,0x22,0x14,0x08,//> 0x02,0x01,0x51,0x09,0x06,//? 0x32,0x49,0x79,0x41,0x3e,//@ 0x7e,0x11,0x11,0x11,0x7e,//A 0x7f,0x49,0x49,0x49,0x36,//B 0x3e,0x41,0x41,0x41,0x22,//C 0x7f,0x41,0x41,0x22,0x1c,//D 0x7f,0x49,0x49,0x49,0x41,//E 0x7f,0x09,0x09,0x09,0x01,//F 0x3e,0x41,0x49,0x49,0x7a,//G 0x7f,0x08,0x08,0x08,0x7f,//H 0x00,0x41,0x7f,0x41,0x00,//I 0x20,0x40,0x41,0x3f,0x01,//J 0x7f,0x08,0x14,0x22,0x41,//K 0x7f,0x40,0x40,0x40,0x40,//L 0x7f,0x02,0x0c,0x02,0x7f,//M 0x7f,0x04,0x08,0x10,0x7f,//N 0x3e,0x41,0x41,0x41,0x3e,//O 0x7f,0x09,0x09,0x09,0x06,//P 0x3e,0x41,0x51,0x21,0x5e,//Q 0x7f,0x09,0x19,0x29,0x46,//R 0x46,0x49,0x49,0x49,0x31,//S 0x01,0x01,0x7f,0x01,0x01,//T 0x3f,0x40,0x40,0x40,0x3f,//U 0x1f,0x20,0x40,0x20,0x1f,//V 0x3f,0x40,0x38,0x40,0x3f,//W 0x63,0x14,0x08,0x14,0x63,//X 0x07,0x08,0x70,0x08,0x07,//Y 0x61,0x51,0x49,0x45,0x43,//Z 0x00,0x7f,0x41,0x41,0x00,//[ 0x02,0x04,0x08,0x10,0x20,// 0x00,0x41,0x41,0x7f,0x00,//] 0x04,0x02,0x01,0x02,0x04,//^ 0x40,0x40,0x40,0x40,0x40,//_ 0x01,0x02,0x04,0x00,0x00,//` 0x20,0x54,0x54,0x54,0x78,//a 0x7f,0x48,0x48,0x48,0x30,//b 0x38,0x44,0x44,0x44,0x44,//c 0x30,0x48,0x48,0x48,0x7f,//d 0x38,0x54,0x54,0x54,0x58,//e 0x00,0x08,0x7e,0x09,0x02,//f 0x48,0x54,0x54,0x54,0x3c,//g 0x7f,0x08,0x08,0x08,0x70,//h 0x00,0x00,0x7a,0x00,0x00,//i 0x20,0x40,0x40,0x3d,0x00,//j 0x7f,0x20,0x28,0x44,0x00,//k 0x00,0x41,0x7f,0x40,0x00,//l 0x7c,0x04,0x38,0x04,0x7c,//m 0x7c,0x08,0x04,0x04,0x78,//n 0x38,0x44,0x44,0x44,0x38,//o 0x7c,0x14,0x14,0x14,0x08,//p 0x08,0x14,0x14,0x14,0x7c,//q 0x7c,0x08,0x04,0x04,0x08,//r 0x48,0x54,0x54,0x54,0x24,//s 0x04,0x04,0x3f,0x44,0x24,//t 0x3c,0x40,0x40,0x40,0x3c,//u 0x1c,0x20,0x40,0x20,0x1c,//v 0x3c,0x40,0x30,0x40,0x3c,//w 0x44,0x28,0x10,0x28,0x44,//x 0x04,0x48,0x30,0x08,0x04,//y 0x44,0x64,0x54,0x4c,0x44,//z 0x08,0x36,0x41,0x41,0x00,//{ 0x00,0x00,0x77,0x00,0x00,//| 0x00,0x41,0x41,0x36,0x08,//} 0x04,0x02,0x02,0x02,0x01,//~ }; /////////////// #define Start_T1 TCCR1B|=_BV(CS11);TCNT1=0//复位预计分频器并开启定时器T1 #define Stop_T1 TCCR1B&=~_BV(CS11) //关闭定时器T1 //数码管的段码编码 unsigned char table[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; volatile unsigned char i,j,k; volatile unsigned char IRcode;                //定义一个长度为4字节的无符号long类型变量来存储代码 volatile unsigned char IR_OK=0;     //IR信号接收有效 当程序响应接收以后请马上清零 这样才会继续接收下一IR码 volatile unsigned char IR_con=0; //IR信号当前接收位 0时表示第0位即同步码(4.5ms高电平) volatile unsigned int Pulse_length=0;          //捕获的脉冲宽度 volatile unsigned char ICP_Parity=0;           //捕获中断奇偶次计数 1时为偶次 并在此时判断脉宽 volatile unsigned char address; volatile unsigned char code_data; volatile unsigned char code_data1; unsigned char clrbit; #define FREQ 8 //定义单片机工作频率为 4M /////////////// //**************************************************************** // 函数名称:DelayLcd // 函数功能:延时  // 入口参数: // 出口参数: //*****************************************************************     void DelayLcd(uint16 i)           {     uint16 j;     for(j=200;j>0;j--)         for(;i>0;i--);     //while(i--); } //**************************************************************** // 函数名称:LcdWriteCommand // 函数功能:写指令到LCD模块 // 入口参数:数据 // 出口参数: //***************************************************************** void LcdWriteCommand(uint8 data1) // {  uint8 i ;  P_LCDCS0 ;  P_LCDRS0 ;  for(i=8;i>0;i--)  {   P_LCDCLK0;   if(data1&0x80) P_LCDDAT1;   else P_LCDDAT0;   P_LCDCLK1;   data1 <<= 1;  } } //**************************************************************** // 函数名称:LcdWritedata // 函数功能:写数据到LCD模块 // 入口参数:数据 // 出口参数: //***************************************************************** void LcdWritedata(uint8 data1) // {  uint8 i;  P_LCDCS0 ;  P_LCDRS1 ;  for(i=8;i>0;i--)  {   P_LCDCLK0;   if(data1&0x80) P_LCDDAT1;   else P_LCDDAT0;   P_LCDCLK1;   data1 <<= 1;  } } //**************************************************************** // 函数名称:Lcd_SetAddr // 函数功能:设置LCD显示地址 // 入口参数: 页地址 列地址 // 出口参数: //***************************************************************** void Lcd_SetAddr(uint8 page,uint8 column) { //LcdWriteCommand(0xb0 | (y+yy)); //LcdWriteCommand(0x10 | (x>>4)); //LcdWriteCommand(0x00 | (x&0x0f));  //P_LCDCS0 ;  LcdWriteCommand(0xb0|page);   /*设置页地址*/  LcdWriteCommand((column>>4)|0x10); /*设置列地址的高4位*/  LcdWriteCommand(column&0x0f); /*设置列地址的低4位*/ } //////  void Display_Graphic_32x2(uint8 page,uint8 column,PROGMEM uint8_t  *dp) //   电池显示 0、2、4、6、8、10 {  uint8 i,j;  uint8 page_address;  uint8 column_address_L,column_address_H;  page_address = 0xb0|page;  column_address_L =(column&0x0f);  column_address_H =(column>>4)|0x10;   P_LCDCS0 ;  for(j=0;j<2;j++)  {   LcdWriteCommand(page_address+j);   /*设置页地址*/   LcdWriteCommand(column_address_H); /*设置列地址的高4位*/   LcdWriteCommand(column_address_L); /*设置列地址的低4位*/   for (i=32;i>0;i--) //写32行   {     LcdWritedata(pgm_read_byte(dp++));  /*写数据到LCD,每写完一个8位的数据后列地址自动加1*/       }   LcdWritedata(0x00);  }  P_LCDCS1 ; } //#ifdef  Display_Graphic_32x32_CALL void Display_Graphic_32x32(uint8 page,uint8 column,PROGMEM uint8_t *dp) {  uint8 i,j;  uint8 page_address;  uint8 column_address_L,column_address_H;  page_address = 0xb0|page;  column_address_L =(column&0x0f);  column_address_H =(column>>4)|0x10;   P_LCDCS0 ; &

    标签: 程序

    上传时间: 2016-03-03

    上传用户:彦 yan

  • 12345

    /****************temic*********t5557***********************************/    #include   <at892051.h>     #include   <string.h>    #include   <intrins.h>     #include   <stdio.h>     #define    uchar    unsigned char     #define    uint     unsigned int     #define    ulong    unsigned long     //STC12C2051AD的SFR定义     sfr  WDT_CONTR = 0xe1;//stc2051的看门狗??????     /**********全局常量************/    //写卡的命令     #define    write_command0       0//写密码     #define    write_command1       1//写配置字     #define    write_command2       2//密码写数据     #define    write_command3       3//唤醒     #define    write_command4       4//停止命令     #define    TRUE       1     #define    FALSE      0     #define    OK         0     #define    ERROR      255     //读卡的时间参数us     #define ts_min          250//270*11.0592/12=249//取近似的整数     #define ts_max          304//330*11.0592/12=304     #define t1_min          73//90*11.0592/12=83:-10调整     #define t1_max          156//180*11.0592/12=166     #define t2_min          184//210*11.0592/12=194     #define t2_max          267//300*11.0592/12=276     //***********不采用中断处理:采用查询的方法读卡时关所有中断****************/     sbit p_U2270B_Standby = P3^5;//p_U2270B_Standby PIN=13     sbit p_U2270B_CFE = P3^3;//p_U2270B_CFE     PIN=6     sbit p_U2270B_OutPut = P3^7;//p_U2270B_OutPut  PIN=2     sbit wtd_sck = P1^7;//SPI总线     sbit wtd_si = P1^3;    sbit wtd_so = P1^2;    sbit iic_data = P1^2;//lcd IIC     sbit iic_clk = P1^7;    sbit led_light = P1^6;//测试绿灯     sbit led_light1 = P1^5;//测试红灯     sbit led_light_ok  = P1^1;//读卡成功标志     sbit fengmingqi = P1^5;    /***********全局变量************************************/       uchar data Nkey_a[4] = {0xA0, 0xA1, 0xA2, 0xA3};//初始密码             //uchar idata card_snr[4];   //配置字     uchar data bankdata[28] = {1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7};     //存储卡上用户数据(1-7)7*4=28     uchar data cominceptbuff[6] = {1,2,3,4,5,6};//串口接收数组ram     uchar command; //第一个命令     uchar command1;//     //uint  temp;     uchar j,i;    uchar myaddr = 8;    //uchar ywqz_count,time_count;             //ywqz jishu:     uchar bdata DATA;    sbit BIT0 = DATA^0;    sbit BIT1 = DATA^1;    sbit BIT2 = DATA^2;    sbit BIT3 = DATA^3;    sbit BIT4 = DATA^4;    sbit BIT5 = DATA^5;    sbit BIT6 = DATA^6;    sbit BIT7 = DATA^7;    uchar bdata DATA1;    sbit BIT10 = DATA1^0;    sbit BIT11 = DATA1^1;    sbit BIT12 = DATA1^2;    sbit BIT13 = DATA1^3;    sbit BIT14 = DATA1^4;    sbit BIT15 = DATA1^5;    sbit BIT16 = DATA1^6;    sbit BIT17 = DATA1^7;    bit i_CurrentLevel;//i_CurrentLevel  BIT 00H(Saves current level of OutPut pin of U2270B)     bit timer1_end;    bit read_ok = 0;    //缓存定时值,因用同一个定时器     union HLint { uint W;    struct   {    uchar H;uchar L;   }   B; };//union HLint idata a     union HLint data a;    //缓存定时值,因用同一个定时器     union HLint0 { uint W;    struct {   uchar H;   uchar L; } B; };//union HLint idata a     union HLint0 data b;    /**********************函数原型*****************/    //读写操作     void f_readcard(void);//全部读出1~7 AOR唤醒     void f_writecard(uchar x);//根据命令写不同的内容和操作     void f_clearpassword(void);//清除密码     void f_changepassword(void);//修改密码     //功能子函数     void write_password(uchar data *data p);//写初始密码或数据     void write_block(uchar x,uchar data *data p);//不能用通用指针     void write_bit(bit x);//写位     /*子函数区*****************************************************/    void delay_2(uint x)    //延时,时间x*10us@12mhz,最小20us@12mhz     {    x--; x--;    while(x)    {      _nop_();      _nop_();      x--;    }    _nop_();//WDT_CONTR=0X3C;不能频繁的复位     _nop_();    }    /////////////////////////////////////////////////////////////////////     void initial(void)    {    SCON = 0x50; //串口方式1,允许接收     //SCON  =0x50;     //01010000B:10位异步收发,波特率可变,SM2=0不用接收到有效停止位才RI=1,     //REN=1允许接收     TMOD = 0x21; //定时器1 定时方式2(8位),定时器0 定时方式1(16位)     TCON = 0x40; //设定时器1 允许开始计时(IT1=1)     TH1 = 0xfD;  //FB 18.432MHz 9600 波特率     TL1 = 0xfD;  //fd 11.0592 9600     IE = 0X90;     //EA=ES=1     TR1 = 1;     //启动定时器     WDT_CONTR = 0x3c;//使能看门狗     p_U2270B_Standby = 0;//单电源     PCON = 0x00;    IP = 0x10;//uart you xian XXXPS PT1 PX1 PT0 PX0     led_light1 = 1;    led_light = 0;    p_U2270B_OutPut = 1;    }    /************************************************/    void f_readcard()//读卡     {    EA = 0;//全关,防止影响跳变的定时器计时     WDT_CONTR = 0X3C;//喂狗     p_U2270B_CFE = 1;//      delay_2(232);  //>2.5ms            /*   //   aor    用唤醒功能来防碰撞   p_U2270B_CFE = 0; delay_2(18);//start gap>150us   write_bit(1);//10=操作码读0页   write_bit(0);       write_password(&bankdata[24]);//密码block7   p_U2270B_CFE =1 ;//    delay_2(516);//编程及确认时间5.6ms   */    WDT_CONTR = 0X3C;//喂狗     led_light = 0;    b.W = 0;    while(!(read_ok == 1))    {             //while(p_U2270B_OutPut);//等一个稳定的低电平?超时判断?              while(!p_U2270B_OutPut);//等待上升沿的到来同步信号检测1       TR0 = 1;      //deng xia jiang       while(p_U2270B_OutPut);//等待下降沿       TR0 = 0;   a.B.H = TH0;   a.B.L = TL0;   TH0 = TL0 = 0;   TR0 = 1;//定时器晚启动10个周期       //同步头       if((324 < a.W) && (a.W < 353)) ;//检测同步信号1                  else     {     TR0 = 0;     TH0 = TL0 = 0;     goto read_error;    }      //等待上升沿        while(!p_U2270B_OutPut);   TR0 = 0;   a.B.H = TH0;   a.B.L = TL0;   TH0 = TL0 = 0;   TR0 = 1;//b.N1<<=8;            if(a.B.L < 195);//0.5p       else     {     TR0 = 0;     TH0 = TL0 = 0;     goto read_error;    }      //读0~7块的数据       for(j = 0;j < 28;j++)      {       //uchar i;                  for(i = 0;i < 16;i++)//8个位        {        //等待下降沿的到来         while(p_U2270B_OutPut);                TR0 = 0;     a.B.H = TH0;     a.B.L = TL0;     TH0 = TL0 = 0;     TR0 = 1;              if(t2_max < a.W/*)&&(a.W < t2_max)*/)//1P          {         b.W >>= 2;//先左移再赋值          b.B.L += 0xc0;                             i++;        }        else if(t1_min < a.B.L/*)&&(a.B.L < t1_max)*/)//0.5p         {         b.W >>= 1;         b.B.L += 0x80;                           }        else      {      TR0 = 0;      TH0 = TL0 = 0;      goto read_error;     }        i++;        while(!p_U2270B_OutPut);//上升                   TR0 = 0;     a.B.H = TH0;     a.B.L = TL0;     TH0 = TL0 = 0;     TR0 = 1;                      if(t2_min < a.W/*)&&(a.W < t2_max)*/)//1P          {         b.W >>= 2;         i++;        }        else if(t1_min < a.B.L/*a.W)&&(a.B.L < t1_max)*/)//0.5P         //else if(!(a.W==0))         {         b.W >>= 1;         //temp+=0x00;          //led_light1=0;led_light=1;delay_2(40000);         }        else      {      TR0 = 0;      TH0 = TL0 = 0;      goto read_error;     }        i++;       }       //取出奇位        DATA = b.B.L;       BIT13 = BIT7;    BIT12 = BIT5;    BIT11 = BIT3;    BIT10 = BIT1;       DATA = b.B.H;       BIT17 = BIT7;    BIT16 = BIT5;    BIT15 = BIT3;    BIT14 = BIT1;       bankdata[j] = DATA1;      }              read_ok = 1;//读卡完成了     read_error:    _nop_();    }       }    /***************************************************/    void f_writecard(uchar x)//写卡     {    p_U2270B_CFE = 1;    delay_2(232);  //>2.5ms            //psw=0 standard write     if (x == write_command0)//写密码:初始化密码     {      uchar i;      uchar data *data p;      p = cominceptbuff;      p_U2270B_CFE = 0;   delay_2(31);//start gap>330us       write_bit(1);//写操作码1:10       write_bit(0);//写操作码0       write_bit(0);//写锁定位0       for(i = 0;i < 35;i++)      {       write_bit(1);//写数据位1       }      p_U2270B_CFE = 1;      led_light1 = 0;   led_light = 1;   delay_2(40000);//测试使用       //write_block(cominceptbuff[4],p);       p_U2270B_CFE = 1;      bankdata[20] = cominceptbuff[0];//密码存入       bankdata[21] = cominceptbuff[1];      bankdata[22] = cominceptbuff[2];      bankdata[23] = cominceptbuff[3];    }    else if (x == write_command1)//配置卡参数:初始化     {      uchar data *data p;      p = cominceptbuff;      write_bit(1);//写操作码1:10       write_bit(0);//写操作码0       write_bit(0);//写锁定位0               write_block(cominceptbuff[4],p);      p_U2270B_CFE=  1;    }    //psw=1  pssword mode     else if(x == write_command2)  //密码写数据    {      uchar data*data p;      p = &bankdata[24];      write_bit(1);//写操作码1:10       write_bit(0);//写操作码0       write_password(p);//发口令       write_bit(0);//写锁定位0       p = cominceptbuff;      write_block(cominceptbuff[4],p);//写数据            }    else if(x == write_command3)//aor    //唤醒 {      //cominceptbuff[1]操作码10 X xxxxxB       uchar data *data p;      p = cominceptbuff;      write_bit(1);//10       write_bit(0);             write_password(p);//密码       p_U2270B_CFE = 1;//此时数据不停的循环传出     }    else //停止操作码     {      write_bit(1);//11       write_bit(1);             p_U2270B_CFE = 1;         }    p_U2270B_CFE = 1;    delay_2(560);//5.6ms     }    /************************************/    void f_clearpassword()//清除密码     {    uchar data *data p;    uchar i,x;          p = &bankdata[24];//原密码     p_U2270B_CFE = 0; delay_2(18);//start gap>150us     //操作码10:10xxxxxxB     write_bit(1);    write_bit(0);              for(x = 0;x < 4;x++)//发原密码     {             DATA = *(p++);      for(i = 0;i < 8;i++)      {       write_bit(BIT0);       DATA >>= 1;      }    }    write_bit(0);//锁定位0:0     p = &cominceptbuff[0];    write_block(0x00,p);//写新配置参数:pwd=0             //密码无效:即清除密码     DATA = 0x00;//停止操作码00000000B     for(i = 0;i < 2;i++)    {    write_bit(BIT7);    DATA <<= 1;    }    p_U2270B_CFE = 1;       delay_2(560);//5.6ms     }    /*********************************/    void f_changepassword()//修改密码            {       uchar data *data p;    uchar i,x,addr;    addr = 0x07;//block7     p = &Nkey_a[0];//原密码     DATA = 0x80;//操作码10:10xxxxxxB     for(i = 0;i < 2;i++)    {      write_bit(BIT7);      DATA <<= 1;    }    for(x = 0;x < 4;x++)//发原密码     {             DATA = *(p++);      for(i = 0;i < 8;i++)      {       write_bit(BIT7);       DATA >>= 1;      }    }    write_bit(0);//锁定位0:0     p = &cominceptbuff[0];    write_block(0x07,p);//写新密码     p_U2270B_CFE = 1;    bankdata[24] = cominceptbuff[0];//密码存入     bankdata[25] = cominceptbuff[1];    bankdata[26] = cominceptbuff[2];    bankdata[27] = cominceptbuff[3];    DATA = 0x00;//停止操作码00000000B     for(i = 0;i < 2;i++)    {      write_bit(BIT7);      DATA <<= 1;    }    p_U2270B_CFE = 1;       delay_2(560);//5.6ms     }    /***************************子函数***********************************/    void write_bit(bit x)//写一位     {    if(x)    {      p_U2270B_CFE = 1;   delay_2(32);//448*11.0592/120=42延时448us       p_U2270B_CFE = 0;   delay_2(28);//280*11.0592/120=26写1     }    else    {      p_U2270B_CFE = 1;   delay_2(92);//192*11.0592/120=18       p_U2270B_CFE = 0;   delay_2(28);//280*11.0592/120=26写0     }    }    /*******************写一个block*******************/    void write_block(uchar addr,uchar data *data p)    {    uchar i,j;        for(i = 0;i < 4;i++)//block0数据     {             DATA = *(p++);      for(j = 0;j < 8;j++)      {       write_bit(BIT0);       DATA >>= 1;      }    }    DATA = addr <<= 5;//0地址     for(i = 0;i < 3;i++)    {      write_bit(BIT7);      DATA <<= 1;    }                   }    /*************************************************/    void write_password(uchar data *data p)    {    uchar i,j;        for(i = 0;i < 4;i++)//     {             DATA = *(p++);      for(j = 0;j < 8;j++)      {       write_bit(BIT0);       DATA >>= 1;      }    }        }   /*************************************************/   void main()    {    initial();    TI = RI = 0;    ES = 1;    EA = 1;  delay_2(28);   //f_readcard();     while(1) {   f_readcard();      //读卡   f_writecard(command1);  //写卡    f_clearpassword();   //清除密码     f_changepassword();    //修改密码 } }

    标签: 12345

    上传时间: 2017-10-20

    上传用户:my_lcs

  • 基于TL494开关电源设计.doc

    基于TL494开关电源设计.doc基于TL494的DC-DC开关电源设计 摘 要 随着电子技术的高速发展,电子系统的应用领域越来越广泛,电子设备的种类也越来越多,电子设备与人们的工作、生活的关系日益密切。近年来 ,随着功率电子器件(如IGBT、MOSFET)、PWM技术及开关电源理论的发展 ,新一代的电源开始逐步取代传统的电源电路。该电路具有体积小,控制方便灵活,输出特性好、纹波小、负载调整率高等特点。 开关电源中的功率调整管工作在开关状态,具有功耗小、效率高、稳压范围宽、温升低、体积小等突出优点,在通信设备、数控装置、仪器仪表、视频音响、家用电器等电子电路中得到广泛应用。开关电源的高频变换电路形式很多, 常用的变换电路有推挽、全桥、半桥、单端正激和单端反激等形式。本论文采用双端驱动集成电路——TL494输的PWM脉冲控制器设计小汽车中的音响供电电源,利用MOSFET管作为开关管,可以提高电源变压器的工作效率,有利于抑制脉冲干扰,同时还可以减小电源变压器的体积。 

    标签: tl494 开关电源

    上传时间: 2022-02-23

    上传用户:

  • cd4000系列45系列芯片器件手合集册

    常用4000系列标准数字电路的中文名称资料   型号   器件名称        厂牌   备注 CD4000 双3输入端或非门+单非门 TI   CD4001 四2输入端或非门 HIT/NSC/TI/GOL CD4002 双4输入端或非门 NSC CD4006 18位串入/串出移位寄存器 NSC CD4007 双互补对加反相器 NSC CD4008 4位超前进位全加器 NSC CD4009 六反相缓冲/变换器 NSC CD4010 六同相缓冲/变换器 NSC CD4011 四2输入端与非门 HIT/TI CD4012 双4输入端与非门 NSC CD4013 双主-从D型触发器 FSC/NSC/TOS CD4014 8位串入/并入-串出移位寄存器 NSC CD4015 双4位串入/并出移位寄存器 TI CD4016 四传输门 FSC/TI CD4017 十进制计数/分配器 FSC/TI/MOT CD4018 可预制1/N计数器 NSC/MOT CD4019 四与或选择器 PHI CD4020 14级串行二进制计数/分频器 FSC CD4021 08位串入/并入-串出移位寄存器 PHI/NSC CD4022 八进制计数/分配器 NSC/MOT CD4023 三3输入端与非门 NSC/MOT/TI CD4024 7级二进制串行计数/分频器 NSC/MOT/TI CD4025 三3输入端或非门 NSC/MOT/TI CD4026 十进制计数/7段译码器 NSC/MOT/TI CD4027 双J-K触发器 NSC/MOT/TI CD4028 BCD码十进制译码器 NSC/MOT/TI CD4029 可预置可逆计数器 NSC/MOT/TI CD4030 四异或门 NSC/MOT/TI/GOL CD4031 64位串入/串出移位存储器 NSC/MOT/TI CD4032 三串行加法器 NSC/TI CD4033 十进制计数/7段译码器 NSC/TI CD4034 8位通用总线寄存器 NSC/MOT/TI CD4035 4位并入/串入-并出/串出移位寄存 NSC/MOT/TI CD4038 三串行加法器 NSC/TI CD4040 12级二进制串行计数/分频器 NSC/MOT/TI CD4041 四同相/反相缓冲器 NSC/MOT/TI CD4042 四锁存D型触发器 NSC/MOT/TI CD4043 4三态R-S锁存触发器("1"触发) NSC/MOT/TI CD4044 四三态R-S锁存触发器("0"触发) NSC/MOT/TI CD4046 锁相环 NSC/MOT/TI/PHI CD4047 无稳态/单稳态多谐振荡器 NSC/MOT/TI CD4048 4输入端可扩展多功能门 NSC/HIT/TI CD4049 六反相缓冲/变换器 NSC/HIT/TI CD4050 六同相缓冲/变换器 NSC/MOT/TI CD4051 八选一模拟开关 NSC/MOT/TI 

    标签: cd4000 芯片

    上传时间: 2022-05-05

    上传用户:

  • 开关电源的变压器及电感的设计

    几乎所有电源电路中,都离不开磁性元器件 电感器或变压器。例如在输入和输出端采用电感滤除开关波形的谐波;在谐振变换器中用电感与电容产生谐振以获得正弦波电压和电流;在缓冲电路中,用电感限制功率器件电流变化率;在升压式变换器中,储能和传输能量;有时还用电感限制电路的瞬态电流等。而变压器用来将两个系统之间电气隔离,电压或阻抗变换,或产生相位移(3 相 Δ—Y 变换),存储和传输能量(反激变压器),以及电压和电流检测(电压和电流互感器)。可以说磁性元件是电力电子技术最重要的组成部分之一。

    标签: 开关电源 变压器 电感

    上传时间: 2022-05-14

    上传用户:

  • PFC技术详解

    PFC基础知识-PF的定义1功率因数(Power Factor)的定义是指输入有功功率(p)和视在功率(S)的比值;线性电路功率因数可用Cos表示,为正弦电流与正弦电压的相位差;但是由于整流电路中二极管的非线性,导致输入电流为严重的非正弦波形,用cosp已不能表示整流电路的功率因数;常规直接整流电路的滤波电容使输出电压平滑,但却使输入电流变为尖脉冲,并产生高次谐波分量。输入电流波形变,导致功率因数下降,污染电网,甚至造成电子设备损坏。引入功率因数校正是必要的利用功率因数校正技术可A/全跟踪交流输入电压波形,流输入电流波形完使输入电流波形皇纯正弦波,并且与输入电压波形相位,,此时整流器的货载可等效为纯电阻。根据常用功率因数校正方法可分为有源功率因数校正(APFC)技术与无源功率因数校正(PPFC)技术。它置于桥式整流器与滤波用电解电容器之间,实际上是一种DC-DC变换器。无源功率因数校正是利用电感和电容组成滤波器,对输入电容进行移相和整形。有源功率因数校正(APFC:Active Power Factor Correction),在负载即电力电子装置本身的整流器和滤波电容之间增加一个功率变换电路,将整流器的输入电流校正成为与电网电压同相位的正弦波,消除了谐波和无功电流,因而将电网功率因数提高到近似为1.APFC电路常用拓扑:升压式(Boost)降压式(Buck)升/降压式(Buck/Boost)反激式(Fly back)APFC电路形式:单极式 双极式单相PFC 三相PFCBoost变换电路是有源功率因数校正器主回路拓扑的极好选择。优点:输入电流连续,因而产生低的传导噪声和最好的输入电流波形;缺点:需要比输入峰值电压还要高的输出电压。

    标签: pfc

    上传时间: 2022-05-28

    上传用户:

  • 一种基于IGBT的双管正激软开关电源的研究与设计

    随着全控型器件(目前主要是功率MOSPET与IGBT)的广泛使用以及脉宽调制技术的成熟,高频软开关电源也获得了极快地发展。变换电能的电源是以满足人们使用电源的要求为出发点的,根据不同的使用要求和特点对发出电能的电源再进行一次变换。这种变换是把种形态的电能变换为另一种形态的电能,它可以是交流电和直流电之间的变换,也可以是电压或电流幅值的变换,或者是交流电的频率、相位等变换,软开关电源输入和输出都是电能,它属于变换电能的电源。本论文研究了一种新型双管正激软开关DC/DC变换器电路拓扑。主功率器件采用IGBT元件,由功率二极管、电感、电容组成的谐振网络改善IGBT的开关条件,克服了传统开关在开通和闭合过程中会产生功率损耗,并且降低开关灵敏性的弊端。该论文对IGBT的软开关电源进行了总体设计和仿真,最后设计出了一台输出电压为48V、输出功率为1.5kW、工作频率为80kHz、谐振频率为350kHz的开关电源理论模型。

    标签: igbt 开关电源

    上传时间: 2022-06-21

    上传用户:

  • 基于IGBT的750kVA三相二极管箝位型三电平通用变流模块设计

    IGBT关断电压尖峰是其中的主要问题,解决它的最有效方法是采用叠层母线连接器件。针对二极管籍位型三电平拓扑两个基本强追换流回路,本文用ANSOFT Q3D软件比较研究了三类适用于多层母线排的叠层方案,并提出了一种新颖的叠层母线分组连接结构,结合特殊设计的吸收电容布局,减小了各IGBT模块的关断过冲,省去阻容吸收电路,并优化了高频电流在不同电容间的分布,抑制电解电容发热。通过理论计算与仿真两种方式计算该设计方案的杂散电感,并用实验加以证实。本文还设计了大面积一体化水冷散热器,表面可以贴装15个功率器件和若干传感器和平衡电阻,采用水冷方式以迅速带走满载运行时开关器件的损耗发热,并能达到结构紧凑和防爆的效果。在散热器内部设计了细槽水道结构以避开100多个定位螺孔,同时可以获得更大的热交换面积。本文分析了SCALE驱动芯片的两类器件级短路保护原理,并设计了针对两类保护动作的阈值测试实验,以确保每个器件在安全范围内工作;设计了系统控制和三类系统级保护电路:驱动板和控制板的布局布线经过合理安排能在较强的电磁干扰下正常工作。论文最后,在电抗器、电阻器、异步感应电机等不同类型、各功率等级负载下,对变流模块进行了测试,并解决了直流中点电压平衡问题。各实验证实了设计理论并体现了良好的应用效果。

    标签: igbt 二极管

    上传时间: 2022-06-22

    上传用户: