亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

多<b>線程</b>同步

  • 關于SOCKET線程池

    關于SOCKET線程池,多個線程可否對同一個套接字同時寫操作等問題?

    標簽: SOCKET 線程

    上傳時間: 2015-11-27

    上傳用戶:ZJX5201314

  • 編寫一段程序創建兩個子線程

    編寫一段程序創建兩個子線程,分別對兩個文件的字數進行統計,兩個線程統計完后寫入子線程與父線程共享的一塊內存中,然后父線程從這一塊內存中讀取相應的信息。注意線程的同步和互斥。

    標簽: 編寫 程序 線程

    上傳時間: 2016-01-04

    上傳用戶:zhuimenghuadie

  • 通過菜單的start 來開啟一個線程程

    通過菜單的start 來開啟一個線程程,以及停止功能來停止一個線程,同時可以開啟多個線程,來實現界面圖形多個時鐘功能

    標簽: start 菜單 線程

    上傳時間: 2014-01-23

    上傳用戶:1051290259

  • 紅外解碼程序

    /*  * _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

  • STM32例程下載

    STM32例程,包含GPIO,PWM,定時器,串口等多個例程

    標簽: stm32

    上傳時間: 2021-10-28

    上傳用戶:

  • 基于面向對象的嵌入式系統軟件開發方法研究及其應用.rar

    十多年來,隨著信息技術、電子技術和通訊技術的發展,嵌入式系統已經獲得了空前的應用和發展。隨著嵌入式應用系統功能復雜度的提高、對軟件產品的非功能約束的特別關注以及由于市場的激烈競爭導致嵌入式軟件推出周期的縮短,都使得嵌入式軟件開發人員面臨著嚴峻的危機和挑戰。傳統的結構化開發方法已經顯得力不從心,于是嵌入式軟件開發人員在軟件開發中引入了目前較為流行的“面向對象方法(OO)”,.但是目前對該方法的應用還只是停留在傳統的以編程為中心的嵌入式軟件開發方法上,不能很好地保證軟件復用和代碼的重用,因此難以滿足市場對嵌入式軟件開發效率和開發質量的要求。 本課題的研究內容是應用面向對象方法的框架技術,對嵌入式系統領域的專有結構組件進行封裝,創新性地提出了面向嵌入式系統領域的通用實時框架ARTIC(Abstract real-time contrO1)。ARTIC框架除了具有框架的共有優點一最大限度實現軟件重用外,最突出的是具備以下兩個特點: 1、功能和非功能的分離 在應用面向對象的技術時,傳統的嵌入式軟件開發方法關注的重點是軟件結構和功能分解,、忽略了嵌入式環境下特殊的非功能性要求。為了在實現系統功能需求的同時,保證軟件系統的非功能性需求的實現,ARTIC框架引入了面向方面的思想,、把系統的非功能性需求從功能模塊中分離出來,為它們單獨設計組件。開發人員在應用該框架進行嵌入式軟件設計時,只需要關注功能需求的實現,對于實時性、調度等非功能需求的實現可以通過調用ARTIC提供的時間管理模型和任務調度模型直接實現。 2、基于狀態機的主動對象設計模式 根據嵌入式系統通常由多個控制線程組成的特點,應用基于狀態機的主動對象設計模式,把嵌入式軟件系統構建成多個主動對象的緝合。相對于傳統的面向對象方法,本文提出的主動對象的最大特點在于:它提供對事件隊列、控制線程和表示主動對象動態行為狀態機等的封裝,并且該模式可以直接支持嵌入式系統的并行性。 ARTIC框架的應用能夠幫助嵌入式軟件的開發人員快速地開發出高質量的嵌入式軟件,除此之外,因為它包含了一個微小的實時操作系統(RTOS) 報包裝,在某些場合可以作為一個簡易的RTOS使用。為了驗證ARTIC的性能,本文將該框架應用于硬幣搬送實時控制系統的開發設計,從該系統的應用中充分體現了ARTIC框架的優點。

    標簽: 面向對象的 嵌入式系統 軟件開發

    上傳時間: 2013-06-21

    上傳用戶:cxl274287265

  • 基于ARMLinux嵌入式電能質量監測儀的研究與設計

    大量的電力電子裝置及非線性負荷在電力系統中廣泛的應用,使電能質量(Power Quality)問題日益突出。電能質量問題不僅危害電力系統本身的安全及電網的穩定運行,對系統中用戶也造成嚴重威脅。因此,對電能質量的實時監測具有十分重要的意義。 論文首先介紹了電能質量的概念,分析了國內外電能質量監測的研究現狀及開發新型電能質量監測裝置的意義,同時對影響電能質量的指標參數的數字測量原理與算法進行了深入的研究。在此基礎上,提出了以ARM9(s3c2410)芯片為CPU,以嵌入式Linux為軟件核心的電能質量監測裝置的總體設計思想。 論文建立了基于arm-1inux的嵌入式開發環境,完成了基本的硬件電路設計和軟件設計。硬件設計方面,根據電力系統中數據采集和處理的實際特點,在前置測量采集模塊中,采用了ADS7864芯片設計了多通道信號采樣保持和快速轉換電路;利用鎖相環保證了多路信號的硬件同步采樣;在通訊方式上,除了采用RS-232通訊方式外,還采用了以太網和USB通訊方式,從而提高了裝置應用的靈活性。軟件設計方面,依據裝置所要實現的功能,剪裁并成功移植了嵌入式linux內核到ARM處理器中;完成了各應用程序的編制,給出了詳細的程序流程圖;設計了基于Qt/Embedde的人機交互界面(GUI)。 基于arm-linux嵌入式電能質量監測儀不僅數據處理功能強、人機交互性好、系統升級簡單、還能進行遠程監控。在此基礎上可進一步開發,向微型化、高度智能化等方向發展,以滿足不同場合的需求,具有較大的使用價值和廣闊的應用前景。

    標簽: ARMLinux 嵌入式 電能質量 監測儀

    上傳時間: 2013-05-16

    上傳用戶:frank1234

  • 可重構FPGA通訊糾錯進化電路及其實現

    ASIC對產品成本和靈活性有一定的要求.基于MCU方式的ASIC具有較高的靈活性和較低的成本,然而抗干擾性和可靠性相對較低,運算速度也受到限制.常規ASIC的硬件具有速度優勢和較高的可靠性及抗干擾能力,然而不是靈活性較差,就是成本較高.與傳統硬件(CHW)相比,具有一定可配置特性的場可編程門陣列(FPGA)的出現,使建立在可再配置硬件基礎上的進化硬件(EHW)成為智能硬件電路設計的一種新方法.作為進化算法和可編程器件技術相結合的產物,可重構FPGA的研究屬于EHW的研究范疇,是研究EHW的一種具體的實現方法.論文認為面向分類的專用類可重構FPGA(ASR-FPGA)的研究,可使可重構電路粒度劃分的針對性更強、設計更易實現.論文研究的可重構FPGA的BCH通訊糾錯碼進化電路是一類ASR-FPGA電路的具體方法,具有一定的實用價值.論文所做的工作主要包括:(1)BCH編譯碼電路的設計——求取實驗用BCH碼的生成多項式和校驗多項式及其相應的矩陣并構造實驗用BCH碼;(2)建立基于可重構FPGA的基核——構造具有可重構特性的硬件功能單元,以此作為可重構BCH碼電路的設計基礎;(3)構造實現可重構BCH糾錯碼電路的方法——建立可重構糾錯碼硬件電路算法并進行實驗驗證;(4)在可重構糾錯碼電路基礎上,構造進化硬件控制功能塊的結構,完成各進化RLA控制模塊的驗證和實現.課題是將可重構BCH碼的編譯碼電路的實現作為一類ASR-FPGA的研究目標,主要成果是根據可編程邏輯電路的特點,選擇一種可編程樹的電路模型,并將它作為可重構FPGA電路的基核T;通過對循環BCH糾錯碼的構造原理和電路結構的研究,將基核模型擴展為能滿足糾錯碼電路需要的糾錯碼基本功能單元T;以T作為再劃分的基本單元,對FPGA進行"格式化",使T規則排列在FPGA上,通過對T的控制端的不同配置來實現糾錯碼的各個功能單元;在可重構基核的基礎上提出了糾錯碼重構電路的嵌套式GA理論模型,將嵌套式GA的染色體串作為進化硬件描述語言,通過轉換為相應的VHDL語言描述以實現硬件電路;采用RLA模型的有限狀態機FSM方式實現了可重構糾錯碼電路的EHW的各個控制功能塊.在實驗方面,利用Xilinx FPGA開發系統中的VHDL語言和電路圖相結合的設計方法建立了循環糾錯碼基核單元的可重構模型,進行循環糾錯BCH碼的電路和功能仿真,在Xilinx公司的Virtex600E芯片進行了FPGA實現.課題在研究模型上選取的是比較基本的BCH糾錯碼電路,立足于解決基于可重構FPGA核的設計的基本問題.課題的研究成果及其總結的一套ASR-FPGA進化硬件電路的設計方法對實際的進化硬件設計具有一定的實際指導意義,提出的基于專用類基核FPGA電路結構的研究方法為新型進化硬件的器件結構的設計也可提供一種借鑒.

    標簽: FPGA 可重構 通訊 糾錯

    上傳時間: 2013-07-01

    上傳用戶:myworkpost

  • 微電腦型數學演算式隔離傳送器

    特點: 精確度0.1%滿刻度 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A|/ 16 BIT類比輸出功能 輸入與輸出絕緣耐壓2仟伏特/1分鐘(input/output/power) 寬范圍交直流兩用電源設計 尺寸小,穩定性高

    標簽: 微電腦 數學演算 隔離傳送器

    上傳時間: 2014-12-23

    上傳用戶:ydd3625

亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合一区| 美女网站在线免费欧美精品| 国产欧美日韩三级| 在线成人www免费观看视频| 精品动漫一区二区| 一区二区三区高清视频在线观看| 午夜精品亚洲| 欧美区在线观看| 国内精品久久久久影院薰衣草| 亚洲精品日产精品乱码不卡| 欧美一区二区大片| 欧美三级电影一区| 亚洲日韩欧美视频一区| 久久资源av| 国产午夜精品美女毛片视频| 亚洲日本中文字幕区| 午夜激情综合网| 欧美日韩大片| 亚洲国产成人久久综合一区| 亚洲综合二区| 欧美视频二区36p| 亚洲精品中文字幕女同| 久久久久国产精品午夜一区| 国产精品久久久久aaaa| 亚洲激情国产| 久久久91精品国产一区二区三区| 欧美日韩一区二区在线观看视频| 亚洲伦理自拍| 欧美精品一区三区在线观看| 91久久精品国产91性色tv| 久久亚洲国产精品一区二区| 国产一区二区在线免费观看| 久久精品视频免费播放| 国产伦精品一区二区三区照片91| 亚洲一区二区黄色| 国产欧美大片| 久久久久综合网| 亚洲国产一区二区三区青草影视 | 香蕉国产精品偷在线观看不卡| 欧美久久在线| 亚洲无限av看| 国产伦精品一区二区三区| 亚洲欧美激情一区| 国产美女精品在线| 久久精品夜夜夜夜久久| 怡红院精品视频| 欧美精品一区二区三区蜜桃| 亚洲图片在线观看| 国产欧美日韩视频一区二区三区| 久久av一区二区三区漫画| 精品电影在线观看| 欧美激情一区二区三区在线视频观看| 日韩午夜在线电影| 国产精品人人做人人爽| 久久午夜视频| 一区二区三区不卡视频在线观看 | 免费日韩一区二区| 一区二区三区精品| 国产一区二区在线观看免费播放| 美女成人午夜| 亚洲欧美日韩在线| 亚洲国内精品在线| 国产精品影院在线观看| 猛干欧美女孩| 欧美一级免费视频| 中日韩男男gay无套 | 免播放器亚洲| 亚洲一区亚洲二区| 亚洲成人在线视频播放| 欧美视频日韩| 欧美成人精品在线| 久久国产精品99久久久久久老狼| 亚洲国产一区在线| 国产精品美女久久久久久2018| 久久久精品一区二区三区| 亚洲精品无人区| 国产亚洲一级高清| 欧美黄色aaaa| 欧美在线一二三四区| 一本综合久久| 亚洲福利视频一区| 国产精品一区二区你懂得| 另类国产ts人妖高潮视频| 亚洲愉拍自拍另类高清精品| 亚洲春色另类小说| 国产在线精品一区二区夜色| 欧美精品播放| 欧美国产1区2区| 久久综合久久美利坚合众国| 午夜宅男久久久| 最新国产成人av网站网址麻豆| 国产精品一区免费观看| 欧美日本三区| 欧美人在线观看| 欧美呦呦网站| 亚洲综合社区| 99在线精品免费视频九九视| 在线日韩电影| 国产中文一区| 国产一区二区三区四区| 国产日本欧美一区二区三区在线| 国产精品久久久久久久久免费| 欧美日在线观看| 欧美色视频一区| 国产精品高潮呻吟| 国产精品三区www17con| 国产午夜一区二区三区| 黄网站色欧美视频| 亚洲国产精品久久人人爱蜜臀 | 国产欧美日韩视频| 国产精品久久91| 欧美成人资源| 免费亚洲电影| 蜜乳av另类精品一区二区| 久久免费视频在线观看| 另类人畜视频在线| 欧美另类99xxxxx| 欧美午夜电影在线| 国产精品入口日韩视频大尺度| 国产女主播视频一区二区| 国产九九精品| 国产在线视频欧美一区二区三区| 国内精品免费在线观看| 有坂深雪在线一区| 亚洲精品一区二区三区在线观看 | 欧美乱大交xxxxx| 欧美日韩国产色视频| 欧美视频你懂的| 国产精品青草久久| 国产三级欧美三级日产三级99| 国产精品一区二区久久久久| 国产日韩欧美在线| 18成人免费观看视频| 亚洲精品视频中文字幕| 性做久久久久久免费观看欧美| 欧美一区二区日韩一区二区| 裸体丰满少妇做受久久99精品| 欧美激情导航| 国产精品久久999| 黄色亚洲在线| 日韩视频免费| 久久久久国产精品www | 欧美大片在线影院| 国产精品www网站| 黄色成人在线观看| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 欧美国产欧美综合| 国产美女扒开尿口久久久| 一区三区视频| 亚洲午夜激情免费视频| 久久综合久久88| 国产精品国产a| 亚洲国产精品专区久久| 欧美亚洲网站| 国产精品s色| 亚洲精品四区| 蜜臀av在线播放一区二区三区| 国产精品私拍pans大尺度在线| 亚洲第一毛片| 久久久www成人免费毛片麻豆 | 亚洲黄色高清| 性18欧美另类| 欧美日韩国产小视频在线观看| 韩国成人精品a∨在线观看| 亚洲香蕉视频| 欧美剧在线免费观看网站| 一区精品在线| 久久国产精品电影| 国产精品青草综合久久久久99| 亚洲精品久久久蜜桃| 久久久水蜜桃| 国产亚洲欧洲| 欧美亚洲免费高清在线观看| 欧美日韩高清在线| 91久久极品少妇xxxxⅹ软件| 另类av一区二区| 亚洲国产清纯| 免费亚洲婷婷| 亚洲国产免费看| 美女久久一区| 91久久精品国产91久久性色tv| 米奇777在线欧美播放| 一区视频在线播放| 久久夜色精品一区| 一区久久精品| 免费在线一区二区| 亚洲蜜桃精久久久久久久| 欧美精品v日韩精品v韩国精品v| 亚洲国产第一页| 欧美国产一区二区三区激情无套| 亚洲电影中文字幕| 美女性感视频久久久| 亚洲黄页一区| 欧美日韩在线另类| 亚洲男人影院| 国产亚洲视频在线观看| 久久精品人人做人人爽| 伊大人香蕉综合8在线视| 免费在线亚洲欧美| 一区二区三区黄色|