/*********************************************************************************************
程序名: 12864多功能萬年歷
功能 6路鬧鐘--時間修整程序 自動光敏調光
多界面顯示
編寫人: 李文杰
編寫時間: 2010年12月31日
硬件支持: STC12C5A60S2 12MHz晶體(不可換其他8051單片機)
接口說明: 見《多界面調光萬年歷時鐘電路原理圖》
修改日志: 晶振的地線有很大的關系,線路不好也會引起30P電容無效或MCU速度變慢
/*
;***************************************************************************
;連線圖:
;*LCM---STC12* *LCM---STC12* *LCM-------STC12* *LCM----------STC12* *
;*DB0---P0.0* *DB4---P0.4* *D/I-------P2.6* *CS1----------P2.4* *
;*DB1---P0.1* *DB5---P0.5* *R/W-------P2.7* *CS2----------P2.5* *
;*DB2---P0.2* *DB6---P0.6* *o/RST-----VCC* *CS3----------P3.2* *
/*DB3---P0.3* *DB7---P0.7* *E---------P2.3* *
STC12C5A60S2的晶振頻率為12MHz
/*------------12864屏的接線,這里用串口驅動---------------*/
/***********************12864帶字庫**********************************************
LED負-LED正-VOUT-RST--NC-PSB--DB7-DB6-DB5-DB4-DB3-DB2-DB1-DB0-E-R/W-RS-VO-VCC-GND
************************12864無字庫**********************************************
LED正-LED負-VOUT-RST-CS2-CS1--DB7-DB6-DB5-DB4-DB3-DB2-DB1-DB0-E-R/W-RS-VO-VCC-GND
20-----19----18--17--16--15---14--13--12--11--10---9---8---7--6--5--4---3--2---1
*********************************************************************************
//液晶模塊指令集說明
//#define 0x01 //清顯示指令
//#define 0x06 //設置輸入模式
//#define 0x0c //設置開顯控制
//#define 0x30 //功能設定(基本指令)
//#define 0x34 //功能設定(擴充指令)
//#define 0x36 //設置繪圖功能
//-----------------------------------------------
/*
第一行0X80-0X81-0X82-0X83-0X84-0X85-0X86-0X87
第三行0X88-0X89-0X8A-0X8B-0X8C-0X8D-0X8E-0X8F
第二行0X90-0X91-0X92-0X93-0X94-0X95-0X96-0X97
第四行0X98-0X99-0X9A-0X9B-0X9C-0X9D-0X9E-0X9F
-------1----2----3----4----5----6----7----8--
/*********************************************************************************************
說明:
-------[DS1302用戶寄存器說明]---------
每個鬧鐘占用DS1302的三個RAM,從第5個RAM開始使用。
每三個RAM中的第一個為當前鬧鐘的開關,
第二個為設置的小時值,
第三個為設置的分鐘值。
0XC1用于自動背光控制開關。
0XC3用于整點報時狀態(tài)設置。
0XC5用于背光亮度設置。
0XC7用于鬧鐘總開關,
0xFB用于存放加或減(1/0)校時程序用RAM,,
0XFD用于存放加減的秒數(0~20秒)
/*0XC1*RAM1寫入是否自動亮度控制的標記*如果是1就自動,0按照設置的亮度進行控制
0XC5*RAM5寫入自動亮度控制量0-----9級*/
////整點報時設置0XC3
//----------------------------------------
/*0XFB*RAM29寫入是否校時的標記*如果是1就校時,0不校時
0XFD*RAM30寫入校時的時間量0-----20秒*/
// 自動亮度 報時 亮度 鬧鐘總
//0XC0--0XC1--0XC2--0XC3--0XC4--0XC5--0XC6--0XC7
//0XC8--0XC9--0XCA--0XCB--0XCC--0XCD--0XCE--0XCF
//0XD0--0XD1--0XD2--0XD3--0XD4--0XD5--0XD6--0XD7
//0XD8--0XD9--0XDA--0XDB--0XDC--0XDD--0XDE--0XDF
//0XE0--0XE1--0XE2--0XE3--0XE4--0XE5--0XE6--0XE7
//0XE8--0XE9--0XEA--0XEB--0XEC--0XED--0XEE--0XEF
//0XD0--0XD1--0XD2--0XD3--0XD4--0XF5--0XF6--0XF7
//--0XF8--0XF9
// 加或減
//--0XFA--0XFB
// 加減的秒數
//--0XFC--0XFD
//--0XFE--0XFF
/*********************************************************************************************
說明:
-------[DS1302用戶寄存器說明]---------
每個鬧鐘占用DS1302的三個RAM,從第5個RAM開始使用。
每三個RAM中的第一個為當前鬧鐘的開關,第二個為設置的小時值,第三個為設置的分鐘值。
0xc6用于鬧鐘總開關,0xc2用于整點報時狀態(tài)設置。
0xc4用于背光亮度設置。0xc0用于自動背光控制開關。
校時程序用RAM,0xFA用于存放加或減(1/0),0XFC用于存放加減的秒數(0~20秒)
----------------------------------------
//unsigned char 單字節(jié) 0~255
/*----------------------------------------------------------------------
unsigned char 才是正統(tǒng)放字符的,它的范圍是0-255;char 是:-128-127
unsigned int 是無符號整型,范圍是:0-65535;
int是整型數據
int :范圍是:-32768 - 32767
unsigned long int 就是無符號長整型數據
unsigned long int的取值范圍: 0~4294967295 即 0~(2的32次方-1)
unsigned long int在C語言中是無符號長整形變量,是整形變量的一種。
unsigned long int 與unsigned long是等價的,即定義的時候int可以不寫。
C語言字節(jié)數為4,與long型數據一樣。
unsigned 是無符號 long是長
//****************************************************************************************
兩個字節(jié)就是16位,
int是有正負之分的,就是第一位是符號位。
而unsigned int只有正數,只不過它的第一位不是符號位。
2^16=65536,那么它的范圍就是0-65536
//*********************************************************************************
unsigned long int
unsigned long int在C語言中是無符號長整形變量,是整形變量的一種。
unsigned long int 與unsigned long是等價的,即定義的時候int可以不寫! 語言字節(jié)數為4,與long型數據一樣!
unsigned long int的取值范圍: 0~4294967295 即 0~(2的32次方-1)
unsigned 是無符號 long是長 int是整型數據 unsigned long int 就是無符號長整型數據
unsigned
整型的每一種都有無符號(unsigned)和有符號(signed)兩種類型(float和double總是帶符號的),
在默認情況下聲明的整型變量都是有符號的類型(char有點特別),
如果需聲明無符號類型的話就需要在類型前加上unsigned。
無符號版本和有符號版本的區(qū)別就是無符號類型能保存2倍于有符號類型的數據,
比如16位系統(tǒng)中一個int能存儲的數據的范圍為-32768~32767,
而unsigned能存儲的數據范圍則是0~65535。由于在計算機中,整數是以補碼形式存放的。
根據最高位的不同,如果是1,有符號數的話就是負數拉;如果是無符號數,則都解釋為正數。
同時在相同位數的情況下,所能表達的整數范圍變大。另外,unsigned若省略后一個關鍵字,
大多數編譯器都會認為是unsigned int。
int
int數據類型,在32位系統(tǒng)中(現(xiàn)在基本上int都是32位),范圍-2147483648~+2147483647。
unsigned類型 的int 范圍:0~4294967295 即 0~(2的32次方-1)
所以我覺得unsigned int 與 unsigned long 在一般情況下是一樣的
//***************************************************************************************
typedef unsigned char BYTE 的意思
就是在這個說明以后就可以在程序中用BYTE
代替unsigned char了,這只是為了編寫代碼的方便而已!
BYTE在這里還是一個類型,并不是一個變量,里面沒有存儲東西。
你可以 BTYE ar=‘a’,這時候變量ar中存儲的就是字符a,
你輸出變量ar的值的話,取決于什么樣的語言。
在c語言中輸出可以字符或者是與這個字符等價的整數。
在C/C++中char 表示一個字符變量,占8位,但是可以解釋為int型的整數。
unsigned char表示 0~255 的整數或者對應的字符,例如‘A’等價于65(十進制),
而char表示的范圍位-128~127,意義同上
知識點:typedef與#define的區(qū)別
typedef:類型定義,其功能是用戶為已有數據類型取“別名”。
如:typedef int INT; 意思是將int重新定義為INT,以后使用INT a;就相當于int a;
用typedef定義數組、指針、結構等類型將帶來很大的方便,
不僅使程序書寫簡單,而且使意義更為明確,因而增強了可讀性。
例如:typedef int a[10];表示a是整型數組類型,數組長度為10,
然后就可用a定義變量,如:a s1,s2;完全等效于:int s1[10],s2[10];
define:宏定義。
如:#define PI 3.14 意思是以后程序中出現(xiàn)PI的地方將用3.14代替,
這個替換是在編譯預處理階段完成的,注意#define最后沒有分號,否則編譯時將分號一同帶入PI中
unsigned short int 無符號2字節(jié)短整形
short int 帶符號2字節(jié)短整形 - 32768 ~ 32767
unsigned int 無符號4字節(jié)整形 0 ~ 2^32 -1 (這個是對的)
int 4字節(jié)整形 - 2^31 ~ 2^31 - 1
int 64 64位(8字節(jié))整形 - 2^63 ~ 2^63 - 1
(這個很少用到,一般是表示為高位int和低位int,貝式弧現(xiàn)對它的范圍也給錯了)
//****************************************************************************
unsigned int x = 0;
請問 x - 1 的值是多少,并說明原理,
- 1(減1), 可以用 加1的補碼 表示. -- 減法用補碼加法實現(xiàn).
unsigned int -- 有的編譯器處理成unsigned long int, (32位), 有的編譯器處理成unsigned short int, (16位),
我們用MS VC++編譯器,處理成unsigned long int, (32位).
1的反碼是 11111111 11111111 11111111 11111110
反碼加1是補碼: 11111111 11111111 11111111 11111111
x = 0: 00000000 00000000 00000000 00000000
x -1 = 00000000 00000000 00000000 00000000 + 11111111 11111111 11111111 11111111
得: 11111111 11111111 11111111 11111111
寫成16進制是 0xffffffff
16進制好記,好懂, 就不給你轉10進制了. (10進制數值等于2的32次方減1).
//**********************************************************************************
volatile unsigned int 什么意思
volatile的意思是告訴編譯器,在編程源代碼時,對這個變量不要使用優(yōu)化。
在一般的程序設計中,如:
int *a; int b;
b = (*a) * (*a);這種情況。
通常編譯器為了減少存儲器的讀寫時間,會把代碼優(yōu)化為:
int *a; int b; int c;
c = *a;
b = c * c;
因為外部存儲器的讀寫速度肯定趕不上內存的讀寫速度,這樣可以省一次外部存儲器的讀取時間,從而提高速度。
如果把int *a改為volatile int* a編譯器就不會自動把它優(yōu)化掉了。
在整個運算過程中,對變量*a的值讀取了再次。
防止因變量*a的值在這一期間發(fā)生了改變,而導致程序結果的錯誤。
//**************************************************************************************************
typedef unsigned char byte;
#define MCODE code
extern byte MCODE VerDate[];
byte XDATA timer_1ms_L _at_ 0x1F74;
#define MCU_DATA ((byte data*)(0x00))
data表明數據在片內數據存儲區(qū);
xdata表明數據在片外數據存儲區(qū);
code表明數據在程序存儲區(qū);
extern定義的數據是在另外一個模塊,當引用其它文件中的變量時要加上extern。
extern的重要意義在于表明要定義的數據已經在其他地方定義過,此處只是引用,所以編譯器不會另外開辟內存。
byte 是字節(jié)的意思,
第二行 #define MCODE code一句指明MCODE 代表code;所以第三行
extern byte MCODE VerDate[];
的意思是在程序存儲空間定義字節(jié)型數組,因為加了extern,
所以本語句并不開辟內存空間,只是調用其他地方已經定義過的數組。
第四行:
byte XDATA timer_1ms_L _at_ 0x1F74;
意思是定義片外數據存儲區(qū)的變量timer_1ms_L _at_,值為 0x1F74;
第五行:#define MCU_DATA ((byte data*)(0x00))
意思是定義指向字節(jié)型的片內數據存儲區(qū)的指針MCU_DATA ,并賦值為Ox00.
//**************************************************************
typedef unsigned char byte;意思
就是用‘byte’來代替 unsigned char
比如你原來這樣寫:
unsigned char ch[10];
現(xiàn)在你可以這樣寫
byte ch[10];
typedef unsigned char BYTE;
就是unsigned char,,
你可以認為 typedef 是一種定義別名的方法,和宏定義一樣.
typedef unsigned __int8 INT8U; 的意思是經過預處理之后, 所有 INT8U 都會被 unsigned __int8 取代.
你在源代碼中這樣書寫: INT8U i;
編譯器實際看見的是: unsigned __int8 i;
這樣做的好處是讓你的代碼更簡短.
//*************************************************************************************
int和long int二者的范圍是一致的,都是-2^31---2^31-1,能表示的最大值是0x7FFFFFFF;
unsigned int和unsigned long int二者的范圍也是一致的,都是0---2^32-1,能表示的最大值是0xFFFFFFFF;
假設一個輸入字符串inputdata的合法值是0x0-0xFFFFFFFF,你需要檢查輸入數據的有效性,怎么辦?
剛開始我用下面的這個方法:
int a;
a = atoi(inputdata);
if(a<0x0 || a>0xFFFFFFFF)
return BOOL_FALSE;
結果發(fā)現(xiàn)無論輸入多大的值,檢查都是成功的.后來追查原因,發(fā)現(xiàn)如果輸入大于0x7FFFFFFF的值,a的值都是0x7FFFFFFF,
當然不會超過0xFFFFFFFF了,沒有達到檢測的目的.
后來把a的定義改為unsigned int a,還是不行,原來atoi的函數原型是int atoi(const char *nptr);
再后來不用atoi了,改用sscanf,如下所示:
unsigned int a;
sscanf(inputdata, "%u", (unsigned int *)&a) ;
if(a<0x0 || a>0xFFFFFFFF)
return BOOL_FALSE;
可又有一個問題,如果輸入超過0xFFFFFFFF的值,a的值都是0xFFFFFFFF,用a>0xFFFFFFFF來檢查沒有達到目的.
如果用a>=0xFFFFFFFF 來檢查似乎達到目的了,不過如果用戶恰好輸入0xFFFFFFFF這個值程序會認為輸入非法,
而我又想允許用戶輸入0xFFFFFFFF這個值,怎么辦呢?
無奈之下,只好用了long long: (c99支持long long)
long long a;
a = atoll(inputdata);
if(a<0x1 || a>0xFFFFFFFF)
return BOOL_FALSE;
//********************************************************************************************
Int64 值類型表示值介于 -9,223,372,036,854,775,808 到 +9,223,372,036,854,775,807 之間的整數。
Int64 為比較此類型的實例、
將實例的值轉換為它的字符串表示形式以及將數字的字符串表示形式轉換為此類型的實例提供了相應的方法。
警告 在 32 位 Intel 計算機上分配 64 位值不是原子操作;
即該操作不是線程安全的。這意味著,如果兩個人同時將一個值分配給一個靜態(tài) Int64 字段,
則該字段的最終值是無法預測的。
有關格式規(guī)范代碼如何控制值類型的字符串表示形式的信息,請參見格式化概述。
此類型實現(xiàn)接口 IComparable、IFormattable 和 IConvertible。使用 Convert 類進行轉換,
而不是使用此類型的 IConvertible 顯式接口成員實現(xiàn)。
-------------------------------------------------------------------------*/
/*----------------- -單片機頭文件------------*/
#include <STC12C5A60S2.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#include "SoundPlay.h"http://單片機音樂H文件
#include "ht6221.h" //遙控芯片H文件
uchar DSS (void); //匯編語言讀18B20溫度程序聲明
uchar temperature; //定義溫度全局變量(圖形溫度計用)
uchar tempera; //定義溫度全局變量(其他溫度用)
uchar disdata[5];
uchar th1=2;
uchar th2=3;
uchar th3=2;
uchar th4=0;
uint th;
uint th5;
/****定義時間映射全局變量(專用寄存器)*/
uchar Dianya;
/****************年-月--日--星期-時-分-秒*/
unsigned char yy,mo,days,xinq,hh,mm,ss;
unsigned char year_10,noliyue;
unsigned char shi,ge,secl,e=0;
static uchar dayflag2 = 0; //農歷轉換變量
unsigned char noliyear;//
unsigned char sec_temp,min_temp,hour_temp;
unsigned char v,t;//定義靜態(tài)小時更新用數據變量
unsigned char menu = 0; //調整菜單變量
unsigned char r,sb;
unsigned char d;
unsigned char KA; //界面切換變量
unsigned char ZTB; //字體變換變量
/*函數功能:輸入BCD陽歷數據,輸出BCD星期數據(只允許1901-2099年)
調用函數示例:Conver_week(c_sun,year_sun,month_sun,day_sun)
如:計算2004年10月16日Conversion(0,0x4,0x10,0x16);
c_sun,year_sun,month_sun,day_sun均為BCD數據,c_sun為世紀標志位,c_sun=0為21世
紀,c_sun=1為19世紀
調用函數后,原有數據不變,讀week得出陰歷BCD數據*/
///月份數據表
code uchar day_code1[9]={0x0,0x1f,0x3b,0x5a,0x78,0x97,0xb5,0xd4,0xf3};
code uint day_code2[3]={0x111,0x130,0x14e};
bit c_moon;
data uchar year_moon,month_moon,day_moon,week;
code uchar table_week[12]={0,3,3,6,1,4,6,2,5,0,3,5}; //修數據表
uchar c_sun,year_sun,month_sun,day_sun;
bit BEEP_bit; //鬧鐘標志位
bit menu2 = 0; //
bit shengri_bit; // 生日標志位
bit m; //冒號":"以秒閃爍標記
bit tflag ; //負溫度標記
bit CKTIME_1=0 ; //允許調整校時標記標記
bit faceouto=0; // 界面讀取標記
bit Autofance=0; // 自動界面讀取標記
//按鍵引腳定義
sbit KEY_1 = P3^0; //A
sbit KEY_2 = P3^3; //B
sbit KEY_3 = P1^6; //C
sbit KEY_4 = P3^1; //D
//-----------------------------------------------
#define KEY_VAL 20 //定義按鍵手感(按鍵延時)
uchar key =20; //按鍵延時用
uchar LCDlightsu=80; //LCD背光自動控制最暗(數據越大亮度低,否則越亮)
unsigned char lcdPosX, lcdPosY; //X,Y坐標
unsigned char halfScr, halfLineCnt, basicBlock; //半屏,半屏行數,N*8塊
//-----------------------------------------------
/************這里是按鍵聲音的函數調用***另外在soundplay.h中也有一定義是唱歌用的*/
sbit beep = P3 ^ 7; //揚聲器(獨立時序CLOK2復用接口,不能更改)
/************可手動或自動調光***************************************************/
sbit ADC_L = P1 ^ 3; //光敏二極管ADC采光定義
sbit LCDlight = P1 ^ 4; //液晶屏背光定義(PWM控制,不能更改)
/*--------------溫度用了匯編程序----------------------------*/
sbit DQ = P2 ^ 6; //DS18B20溫度傳感器定義
#define Lcd_Bus P0 //數據總線
sbit RS = P2 ^ 5; //并口屏用(未用)模式位,為0輸入指令,為1輸入數據
/*-----------串口只用了下面的接線,PSW必須拉低電平---------*/
sbit E = P2 ^ 4; //時鐘 //LCD接口定義使能位 E-------------
sbit RW = P2 ^ 3; //數據 //LCD接口定義 RW------------
sbit PSB = P2 ^ 2; //電平拉低(串口)(拉高并口用) //LCD接口定義 (CS1)
sbit LCRst = P2 ^ 0; //復位腳
/*---------時鐘芯片的接線---------------------------*/
/*--------發(fā)現(xiàn)了DS1302用P2口驅動必須上拉10電阻-K--------*/
sbit clock_Rst = P3 ^ 4; //ds1302_Rst(復位線)//DS1302時鐘接口
sbit clock_dat = P3 ^ 5; //ds1302_dat(數據線)//DS1302時鐘接口
sbit clock_clk = P3 ^ 6; //ds1302_clk(時鐘線)//DS1302時鐘接口
//定義累加器A中的各位
sbit a0 = ACC ^ 0;
sbit a1 = ACC ^ 1;
sbit a2 = ACC ^ 2;
sbit a3 = ACC ^ 3;
sbit a4 = ACC ^ 4;
sbit a5 = ACC ^ 5;
sbit a6 = ACC ^ 6;
sbit a7 = ACC ^ 7;
/************************************************************************
函數功能: 向LCM中填寫 年 月 日 時 秒 數據
入口參數:
出口參數:
//************************************************************************/
uchar code secHand[][2]=//長度25
{
{ 0,24},{ 2,23},{ 5,23},{ 7,22},{10,22},
{12,20},{14,20},{16,18},{18,16},{20,14},
{20,12},{22,10},{22, 7},{23, 5},{23, 2},
};
uchar code minHand[][2]=//長度20
{
{ 0,20},{ 2,19},{ 4,19},{ 6,19},{ 8,18},
{10,17},{11,16},{13,14},{14,13},{16,11},
{17,10},{18, 8},{19, 6},{19, 4},{19, 2},
};
uchar code houHand[][2]=//長度15
{
{ 0,15},{ 1,14},{ 3,14},{ 4,14},{ 6,13},
{ 7,13},{ 8,12},{10,11},{11,10},{12, 8},
{13, 7},{13, 6},{14, 4},{14, 3},{14, 1},
};
uchar code mininums[][15]=
{
{1,1,1, 1,0,1, 1,0,1, 1,0,1, 1,1,1,},//0
{0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,},//1
{1,1,1, 0,0,1, 1,1,1, 1,0,0, 1,1,1,},//2
{1,1,1, 0,0,1, 1,1,1, 0,0,1, 1,1,1,},//3
{1,0,0, 1,0,0, 1,1,1, 0,0,1, 0,0,1,},//4
{1,1,1, 1,0,0, 1,1,1, 0,0,1, 1,1,1,},//5
{1,1,1, 1,0,0, 1,1,1, 1,0,1, 1,1,1,},//6
{1,1,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,},//7
{1,1,1, 1,0,1, 1,1,1, 1,0,1, 1,1,1,},//8
{1,1,1, 1,0,1, 1,1,1, 0,0,1, 1,1,1,},//9
{0,0,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0,},//□
};
/**************表盤時鐘的數據庫***************************************************/
uchar code pic[]=
{ /*-- 調入了一幅圖像:表盤.BMP --*/
/*-- 寬度x高度=128x64 --*/
0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x3F,0xFC,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x77,0x00,0x03,0xC0,0x03,0xC0,0x00,0xFE,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x55,0x00,0x1C,0x02,0xE0,0x38,0x00,0xFE,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x77,0x00,0x60,0x02,0x20,0x06,0x00,0xFE,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x55,0x00,0x80,0x02,0xE0,0x01,0x00,0xFE,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x77,0x03,0x80,0x02,0x80,0x01,0xC0,0xFE,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x04,0x40,0x02,0xE0,0x02,0x20,0xFE,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x18,0x20,0x00,0x00,0x04,0x18,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xA4,0x00,0x00,0x00,0x00,0x00,0x00,0x3D,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xBC,0x00,0x00,0x01,0x80,0x00,0x00,0x05,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x84,0x00,0x00,0x01,0x80,0x00,0x00,0x3D,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x3D,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x18,0x20,0x00,0x00,0x04,0x18,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x04,0x40,0x03,0xC0,0x02,0x20,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x77,0x03,0x80,0x02,0x00,0x01,0xC0,0xEE,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x55,0x00,0x80,0x03,0xC0,0x01,0x00,0xAA,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x77,0x00,0x60,0x02,0x40,0x06,0x00,0xEE,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x55,0x00,0x1C,0x03,0xC0,0x38,0x00,0xAA,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x77,0x00,0x03,0xC0,0x03,0xC0,0x00,0xEE,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x3F,0xFC,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
/* (128 X 64 )*/
};
uchar code kongxinga[13][64]= {
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x01,0xF8,0x03,0x0C,0x06,0x7E,
0x0D,0xCE,0x0F,0x8E,0x1B,0x0E,0x1B,0x0E,0x36,0x0E,0x36,0x0E,0x66,0x0E,0x6C,0x1E,
0x6C,0x1E,0xCC,0x3E,0xD8,0x36,0xD8,0xEC,0xD9,0xCC,0xDF,0x18,0xCC,0x30,0x60,0xE0,
0x33,0x80,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"0",0*/},
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x1F,0x00,0x1B,0x00,0x36,
0x00,0x36,0x00,0x6C,0x00,0xCC,0x00,0xD8,0x01,0x98,0x01,0xB0,0x03,0x60,0x06,0x60,
0x06,0xC0,0x0C,0xC0,0x0D,0x80,0x19,0x80,0x1B,0x00,0x33,0x00,0x66,0x00,0x66,0x00,
0x6C,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"1",0*/},
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x01,0xC6,0x03,0x03,
0x03,0x3D,0x06,0xED,0x07,0x8D,0x03,0x1B,0x00,0x1B,0x00,0x33,0x00,0x66,0x00,0x66,
0x00,0xCC,0x01,0x98,0x01,0x98,0x03,0x30,0x06,0x3C,0x1C,0x06,0x70,0x03,0xC0,0x7B,
0x87,0xCE,0xBC,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"2",0*/},
{
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xE0,0x01,0xB8,0x00,0xCC,0x00,0x76,0x00,0x1B,
0x00,0x19,0x00,0x33,0x00,0x66,0x00,0xC6,0x01,0x8C,0x03,0x18,0x0E,0x30,0x38,0x1C,
0xE0,0x06,0x81,0xFB,0x9F,0x19,0xF0,0x31,0x00,0x63,0x00,0xC6,0x03,0x8C,0x0E,0x18,
0x38,0x70,0x30,0xC0,0x1F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"3",0*/},
{
0x00,0x00,0x00,0x60,0x00,0x70,0x00,0xD8,0x00,0xD8,0x01,0x98,0x03,0x38,0x03,0x7C,
0x06,0x76,0x06,0xF6,0x0C,0xF6,0x19,0xE6,0x1B,0x66,0x33,0x6C,0x66,0x67,0xEC,0xC1,
0xC7,0x81,0x80,0x03,0x00,0x1E,0x01,0x98,0x1F,0xD8,0xF1,0x98,0x01,0xB0,0x01,0xB0,
0x00,0xF0,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"4",0*/},
{
0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x9C,0x03,0x06,0x06,0x03,0x06,0x1F,0x06,0x76,
0x06,0xC0,0x0D,0x80,0x1B,0x00,0x36,0x00,0x37,0xE0,0x60,0x38,0xC0,0x0C,0x81,0xF6,
0x07,0x1B,0x1C,0x0D,0x70,0x19,0xC0,0x19,0x00,0x31,0x00,0x33,0x00,0x66,0xE1,0xCC,
0xFF,0x18,0x60,0x30,0x3F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"5",0*/},
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x1D,0x00,0x33,
0x00,0x66,0x00,0xCC,0x01,0x98,0x03,0x30,0x03,0x70,0x06,0x60,0x0C,0xC0,0x0D,0x80,
0x38,0xC0,0xE0,0x60,0x67,0x30,0x6D,0x98,0x6D,0x98,0x67,0x18,0x60,0x30,0x60,0x60,
0x31,0xC0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"6",0*/},
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0xC0,0x03,0x7C,0x61,
0x07,0xF3,0x00,0x66,0x00,0xCC,0x00,0xD8,0x01,0x98,0x03,0x30,0x03,0x60,0x06,0xC0,
0x06,0xC0,0x0D,0x80,0x19,0x80,0x1B,0x00,0x36,0x00,0x36,0x00,0x6C,0x00,0x6C,0x00,
0xD8,0x00,0xD8,0x00,0xF0,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"7",0*/},
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x66,0x01,0xDF,
0x03,0x30,0x03,0x63,0x06,0xCF,0x06,0xDB,0x06,0xFE,0x06,0xD8,0x07,0x70,0x0C,0x60,
0x39,0xF0,0x63,0xD8,0xCE,0x78,0xD8,0xD8,0xB1,0x98,0xF3,0x30,0xEE,0x60,0xB8,0xC0,
0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"8",0*/ },
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF8,0x0E,0x0E,0x18,0xFB,0x33,0x8D,
0x66,0x07,0xCC,0x03,0xD8,0x1C,0xD8,0xF7,0xCF,0x87,0x60,0x0C,0x3E,0x18,0x06,0x30,
0x06,0x30,0x0C,0x60,0x0C,0xC0,0x19,0x80,0x19,0x80,0x33,0x00,0x33,0x00,0x66,0x00,
0x66,0x00,0x6C,0x00,0x6C,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"9",0*/ },
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xF0,0x00,0xF0,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x07,0x80,0x03,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*":",0*/ },
{// 圖片" " 空白 如果秒不閃空就用不到!
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},
{
0x00,0x00,0x0C,0x70,0x13,0x88,0x11,0xA8,0x09,0x68,0x09,0x28,0x09,0x30,0x08,0xD0,
0x08,0x10,0x08,0xF0,0x11,0x50,0x08,0x8E,0x08,0x61,0x12,0x5F,0x6E,0x40,0x52,0x40,
0xA2,0x80,0x42,0x60,0x02,0x10,0x02,0x48,0x04,0x68,0x04,0xA8,0x02,0xA8,0x01,0x28,
0x00,0x30,0x00,0x30,0x00,0x50,0x07,0xA0,0x08,0x40,0x07,0x80,0x00,0x00,0x00,0x00},/*"號",0*/
};
uchar code huakangshonv[13][64]= {
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF8,
0x1F,0xFE,0x3E,0x3F,0x78,0x0F,0xF0,0x07,0xE0,0x03,0xE0,0x03,0xC0,0x01,0xC0,0x01,
0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x03,0xC0,0x03,0xE0,0x07,0xF0,0x0F,
0xF8,0x1F,0x7F,0xFE,0x3F,0xFC,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"0",*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,
0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"1",*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF8,
0x1F,0xFE,0x7E,0x0F,0x78,0x07,0xF0,0x03,0xE0,0x03,0xE0,0x03,0xC0,0x03,0x00,0x07,
0x00,0x1F,0x00,0x3E,0x00,0xF8,0x03,0xF0,0x07,0xC0,0x0F,0x00,0x1E,0x00,0x1C,0x03,
0x1C,0x07,0x1F,0x3F,0x0F,0xFE,0x07,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"2",*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,
0x3F,0xF8,0xFC,0x3C,0xF0,0x1C,0xE0,0x0E,0x00,0x0E,0x00,0x1C,0x00,0x3C,0x00,0x7C,
0x00,0xF8,0x07,0xFE,0x1F,0xFF,0x3F,0x0F,0x18,0x07,0x00,0x07,0x00,0x07,0x00,0x07,
0x00,0x07,0x00,0x0F,0x00,0x0E,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"3",*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x1C,
0x1F,0x3C,0x3C,0x3C,0x78,0x38,0x78,0x38,0xF0,0x38,0xE0,0x38,0xE0,0x38,0xC0,0x38,
0xC0,0x38,0xC0,0x78,0x80,0x78,0xC0,0x78,0xC0,0x71,0xE0,0x77,0xF8,0x7F,0x7F,0xFF,
0x1F,0xF0,0x00,0x70,0x00,0x78,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"4",*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,
0xFF,0xFF,0xFF,0xFF,0xE0,0x07,0xC0,0x00,0xC0,0x00,0xC0,0x00,0x80,0x00,0x8F,0xF8,
0xFF,0xFE,0xFF,0x3F,0xF0,0x07,0xC0,0x03,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,
0x00,0x01,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"5",*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,
0x1F,0x00,0x3E,0x00,0x78,0x00,0x70,0x00,0xF0,0x00,0xE7,0xFC,0xFF,0xFF,0xFF,0x0F,
0xFC,0x03,0xF0,0x03,0xE0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x03,0xE0,0x03,
0xF0,0x07,0x7F,0x3F,0x3F,0xFE,0x07,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"6",*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFC,
0xFF,0xFF,0xF8,0x1F,0x80,0x03,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,
0x00,0x03,0x00,0x03,0x00,0x07,0x00,0x0F,0x00,0x0E,0x00,0x1E,0x00,0x3C,0x00,0x78,
0x00,0x78,0x00,0xF0,0x01,0xE0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"7",*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,
0x7F,0xFE,0xFC,0x1F,0xE0,0x07,0xC0,0x03,0xC0,0x01,0xC0,0x01,0xC0,0x03,0xF0,0x07,
0xFE,0x1F,0xFF,0xFF,0xEF,0xFF,0xC0,0x03,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x03,
0xF0,0x07,0xFE,0x3F,0x3F,0xFE,0x0F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"8"*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFC,
0x3F,0xFE,0x7E,0x1F,0xF8,0x07,0xE0,0x03,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,
0xC0,0x03,0xC0,0x03,0xC0,0x07,0xF0,0x1F,0xFF,0xFF,0x3F,0xFB,0x0F,0xC3,0x00,0x07,
0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"9",*/
{// 圖片":" 10
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0x80,0x03,0xC0,0x03,0xC0,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x03,0xC0,0x03,0xC0,0x01,0x80,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*":",0*/},
{// 圖片" " 空白 如果秒不閃空就用不到!
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},
{
0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0xF0,0x0F,0xF8,0x18,0x08,0x10,0x08,0x10,0x08,
0x10,0x08,0x10,0x08,0x18,0x18,0x0F,0xF8,0x07,0xF0,0x00,0x00,0x00,0x00,0x3F,0xF0,
0x3F,0xFC,0x0C,0x7C,0x08,0x00,0x08,0x00,0x08,0xE0,0x0B,0xF0,0x0F,0x90,0x0E,0x08,
0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x18,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00},/*"號",0*/
};
uchar code maozhedong[13][64]= {
{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,
0x1E,0x3C,0x3C,0x3E,0x3C,0x1E,0x7C,0x1F,0x7C,0x1F,0x7C,0x1F,0x7C,0x1F,0x7C,0x1F,
0x7C,0x1F,0x7C,0x1F,0x7C,0x1F,0x7C,0x1F,0x7C,0x1F,0x3C,0x1E,0x3C,0x3E,0x1E,0x3C,
0x07,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},/*"0",0*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,
0x01,0xF8,0x07,0xF8,0x1F,0xF8,0x19,0xF8,0x01,0xF8,0x01,0xF8,0x01,0xF8,0x01,0xF8,
0x01,0xF8,0x01,0xF8,0x01,0xF8,0x01,0xF8,0x01,0xF8,0x01,0xF8,0x01,0xF8,0x01,0xF8,
0x0F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},/*"1",1*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFC,
0x1F,0xFE,0x1C,0x7E,0x38,0x3F,0x30,0x1F,0x00,0x1F,0x00,0x1F,0x00,0x3E,0x00,0x3C,
0x00,0x78,0x00,0xF0,0x01,0xE0,0x03,0x80,0x07,0x01,0x0E,0x03,0x1F,0xFF,0x3F,0xFF,
0x7F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},/*"2",2*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF8,
0x1F,0xFC,0x18,0x7C,0x30,0x7C,0x00,0x7C,0x00,0x78,0x00,0xE0,0x01,0xFC,0x03,0xFE,
0x00,0x7F,0x00,0x3F,0x00,0x1F,0x00,0x1F,0x00,0x1F,0x00,0x1E,0x7C,0x3E,0x7E,0x7C,
0x3F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},/*"3",3*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,
0x00,0x3C,0x00,0x7C,0x00,0xFC,0x01,0xFC,0x01,0xFC,0x03,0x7C,0x07,0x7C,0x0E,0x7C,
0x1C,0x7C,0x18,0x7C,0x30,0x7C,0x7F,0xFF,0x00,0x7C,0x00,0x7C,0x00,0x7C,0x00,0x7C,
0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},/*"4",4*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x1F,0xFE,
0x1F,0xFE,0x1F,0xFC,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1F,0xF0,0x1F,0xFC,0x1F,0xFE,
0x00,0x7F,0x00,0x3F,0x00,0x1F,0x00,0x1F,0x00,0x1F,0x00,0x1F,0x3C,0x1E,0x3E,0x3C,
0x1F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},/*"5",5*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,
0x00,0xF8,0x03,0xE0,0x07,0xC0,0x0F,0x80,0x1F,0x00,0x1F,0x00,0x3F,0xFE,0x3F,0x1F,
0x3E,0x1F,0x3E,0x0F,0x3E,0x0F,0x3E,0x0F,0x3E,0x0F,0x3E,0x0F,0x1F,0x0F,0x0F,0x1F,
0x03,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},/*"6",6*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,
0x3F,0xFF,0x3F,0xFF,0x70,0x0F,0x70,0x0F,0x00,0x1E,0x00,0x1E,0x00,0x3C,0x00,0x3C,
0x00,0x78,0x00,0x78,0x00,0xF0,0x00,0xF0,0x01,0xE0,0x01,0xE0,0x03,0xC0,0x07,0xC0,
0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},/*"7",7*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFC,
0x1E,0x1F,0x1E,0x0F,0x3E,0x0F,0x3E,0x0F,0x3F,0x0F,0x1F,0xDE,0x1F,0xFC,0x07,0xFC,
0x07,0xFE,0x1F,0x7F,0x3E,0x1F,0x3E,0x0F,0x3C,0x07,0x3E,0x07,0x3E,0x07,0x1F,0x0E,
0x07,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},/*"8",8*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFC,
0x1F,0x1E,0x3E,0x1F,0x3E,0x0F,0x3E,0x0F,0x7E,0x0F,0x3E,0x0F,0x3E,0x0F,0x3E,0x0F,
0x1F,0x3F,0x07,0xFF,0x00,0x1F,0x00,0x3F,0x00,0x3E,0x00,0x7C,0x00,0xF8,0x03,0xE0,
0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},/*"9",9*/
{// 圖片":" 10
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0x80,0x03,0xC0,0x03,0xC0,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x03,0xC0,0x03,0xC0,0x01,0x80,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*":",0*/},
{// 圖片" " 空白 如果秒不閃空就用不到!
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},
{
0x00,0x00,0x00,0x18,0x0D,0x12,0x0D,0x2A,0x14,0x94,0x14,0xA4,0x94,0xAC,0xB4,0xC8,
0xF4,0xD0,0x75,0x90,0x61,0x20,0x22,0xB0,0x1E,0xB0,0x18,0xB0,0x31,0xF0,0x71,0xF0,
0xF2,0xD0,0xA2,0xA0,0x23,0x30,0x24,0x50,0x34,0x50,0x3C,0x92,0x0C,0xA2,0x0D,0x22,
0x19,0x26,0x09,0x3C,0x0A,0x10,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"號",0*/
};
uchar code bignums[13][64]={
{
0x00,0x00,0x1F,0xF8,0x3F,0xFC,0x6F,0xF6,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x20,0x04,0x50,0x0A,
0x20,0x04,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x6F,0xF6,0x3F,0xFC,0x1F,0xF8,0x00,0x00,
/* (16 X 32 )*/
},
{
0x00,0x00,0x00,0x80,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x00,0x80,0x01,0x40,
0x00,0x80,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x00,0x80,0x00,0x00,
/* (16 X 32 )*/
},
{
0x00,0x00,0x3F,0xF8,0x7F,0xFC,0x3F,0xF6,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x1F,0xF6,0x3F,0xFC,
0x6F,0xF8,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,
0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x6F,0xFC,0x3F,0xFE,0x1F,0xFC,0x00,0x00,
/* (16 X 32 )*/
},
{
0x00,0x00,0x3F,0xF8,0x7F,0xFC,0x3F,0xF6,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x3F,0xF4,0x7F,0xFA,
0x3F,0xF4,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x3F,0xF6,0x7F,0xFC,0x3F,0xF8,0x00,0x00,
/* (16 X 32 )*/
},
{0x00,0x00,0x20,0x04,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x6F,0xF4,0x3F,0xFA,
0x1F,0xF4,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x04,0x00,0x00,
/* (16 X 32 )*/
},
{
0x00,0x00,0x1F,0xFC,0x3F,0xFE,0x6F,0xFC,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,
0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x6F,0xF8,0x3F,0xFC,
0x1F,0xF6,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x3F,0xF6,0x7F,0xFC,0x3F,0xF8,0x00,0x00,
/* (16 X 32 )*/
},
{
0x00,0x00,0x1F,0xFC,0x3F,0xFE,0x6F,0xFC,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,
0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x2F,0xF8,0x5F,0xFC,
0x2F,0xF6,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x6F,0xF6,0x3F,0xFC,0x1F,0xF8,0x00,0x00,
/* (16 X 32 )*/
},
{
0x00,0x00,0x3F,0xF8,0x7F,0xFC,0x3F,0xFE,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x04,0x00,0x0A,
0x00,0x04,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x04,0x00,0x00,
/* (16 X 32 )*/
},
{
0x00,0x00,0x1F,0xF8,0x3F,0xFC,0x6F,0xF6,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x2F,0xF4,0x5F,0xFA,
0x2F,0xF4,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x6F,0xF6,0x3F,0xFC,0x1F,0xF8,0x00,0x00,
/* (16 X 32 )*/
},
{
0x00,0x00,0x1F,0xF8,0x3F,0xFC,0x6F,0xFE,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x6F,0xF4,0x3F,0xFA,
0x1F,0xF4,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x3F,0xF6,0x7F,0xFC,0x3F,0xF8,0x00,0x00,
/* (16 X 32 )*/
},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x03,0xC0,
0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,
0x03,0xC0,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/* (16 X 32 )*/
},
{// 圖片" " 空白 如果秒不閃空就用不到!
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},
{0x00,0x00,0x00,0x00,0x0C,0x18,0x0F,0xF8,0x0C,0x18,0x0C,0x18,0x0C,0x18,0x0C,0x18,
0x0C,0x18,0x0C,0x18,0x0F,0xF8,0x0C,0x00,0x00,0x00,0x00,0x07,0x7F,0xFC,0x06,0x00,
0x06,0x00,0x06,0x00,0x06,0x0C,0x07,0xFC,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,
0x00,0x18,0x00,0x18,0x01,0x98,0x00,0xF0,0x00,0x70,0x00,0x60,0x00,0x00,0x00,0x00},/*"號",0*/
} ;
//---------------------汗鼎繁淡古----------------------
uchar code tabHDF[13][64]={
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xE0,0x1C,0x70,0x38,0x38,
0x38,0x3C,0x78,0x3C,0x70,0x1C,0x70,0x1E,0xF0,0x1E,0xF0,0x1E,0xF0,0x1E,0xF0,0x1E,
0xF0,0x1E,0xF0,0x1E,0xF0,0x1E,0x70,0x1E,0x70,0x1E,0x78,0x1C,0x78,0x1C,0x38,0x38,
0x3C,0x38,0x1C,0x70,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x03,0x80,0x0F,0x80,0x1B,0x80,
0x03,0x80,0x03,0x80,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,
0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,
0x03,0xC0,0x03,0xC0,0x1F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x0F,0xF0,0x1F,0xF8,0x38,0x78,
0x30,0x3C,0x60,0x3C,0x00,0x3C,0x00,0x1C,0x00,0x1C,0x00,0x3C,0x00,0x38,0x00,0x38,
0x00,0x70,0x00,0x60,0x00,0xC0,0x01,0xC0,0x03,0x80,0x07,0x00,0x0E,0x00,0x0C,0x07,
0x18,0x0E,0x7F,0xFE,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x1F,0xF8,0x30,0x78,
0x60,0x38,0x00,0x38,0x00,0x38,0x00,0x30,0x00,0x70,0x00,0xE0,0x01,0xF0,0x07,0xF8,
0x00,0x7C,0x00,0x3C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x38,
0x30,0x38,0x7F,0xF0,0x3F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x70,0x00,0xF0,0x01,0xF0,
0x01,0xF0,0x03,0xF0,0x07,0xF0,0x06,0xF0,0x0C,0xF0,0x1C,0xF0,0x18,0xF0,0x30,0xF0,
0x70,0xF0,0x60,0xF0,0xC0,0xF0,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0x00,0xF0,0x00,0xF0,
0x00,0xF0,0x00,0xF0,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFC,0x07,0xFC,0x0E,0x00,
0x0C,0x00,0x1C,0x00,0x18,0x00,0x3F,0x00,0x3F,0xC0,0x07,0xF0,0x01,0xF0,0x00,0x78,
0x00,0x38,0x00,0x3C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x18,0x00,0x38,
0x60,0x70,0x7C,0xE0,0x3F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0xF8,0x03,0x80,0x0F,0x00,
0x1E,0x00,0x3C,0x00,0x3C,0x00,0x78,0x00,0x79,0x80,0xFF,0xF0,0xF8,0xF8,0xF0,0x3C,
0xF0,0x3C,0xF0,0x3E,0xF0,0x1E,0xF0,0x1E,0xF0,0x1E,0xF0,0x1C,0xF0,0x1C,0x70,0x1C,
0x78,0x38,0x3C,0x38,0x1F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFE,0x3F,0xFC,0x70,0x1C,
0x60,0x1C,0x60,0x18,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x30,0x00,0x70,0x00,0x70,
0x00,0x60,0x00,0xE0,0x00,0xE0,0x00,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0x80,
0x03,0x80,0x03,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x1E,0xF0,0x38,0x38,0x38,0x38,
0x70,0x1C,0x78,0x1C,0x78,0x3C,0x38,0x38,0x3C,0x30,0x1E,0x60,0x0F,0xC0,0x07,0xC0,
0x0F,0xF0,0x1C,0xF8,0x38,0x78,0x38,0x3C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x78,0x1C,
0x38,0x18,0x1C,0x38,0x0F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x0C,0x70,0x18,0x38,0x38,0x3C,
0x38,0x1C,0x78,0x1E,0x78,0x1E,0x78,0x1E,0x78,0x1E,0x78,0x1E,0x78,0x1E,0x3C,0x1E,
0x3C,0x1E,0x1F,0xFE,0x07,0xDC,0x00,0x3C,0x00,0x3C,0x00,0x78,0x00,0x70,0x00,0xE0,
0x01,0xC0,0x07,0x80,0x3C,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,
0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,
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,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{
0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x88,0x18,0xF8,0x38,0xD8,0x28,0xC0,0x2A,0xF0,
0x25,0xF8,0x27,0xCC,0x27,0x44,0x3D,0x44,0x39,0x70,0x11,0xF8,0x05,0x40,0x3D,0x40,
0x7D,0x70,0x79,0x30,0x51,0x08,0x19,0x54,0x1D,0x74,0x15,0x74,0x05,0x62,0x05,0x62,
0x47,0xF2,0x2A,0xB6,0x3A,0xBE,0x3A,0x8E,0x10,0x04,0x00,0x00,0x00,0x00,0x00,0x00},/*"號",0*/
};
/*========================== 標記及點圖片(寬度x高度=16*16)===========================*/
//PCtoLCD2002取模:順向,逐行式/
uchar code running[10][32]={
{// 警報標記16*16 0 //像大喇叭
0x00,0x00,0x00,0x39,0x00,0x7B,0x00,0xFE,0x01,0xDC,0x0F,0x98,0x0F,0x18,0x0C,0x1F,
0x0C,0x1F,0x0F,0x18,0x0F,0x98,0x01,0xDC,0x00,0xFE,0x00,0x7B,0x00,0x39,0x00,0x00,},
{// 鬧鈴開啟標記16*16 1
0x00,0x00,0x00,0x40,0x00,0xE0,0x01,0xB0,0x01,0xB0,0x03,0x18,0x03,0x18,0x06,0x0C,
0x0C,0x06,0x0C,0xE6,0x1B,0x1B,0x0C,0x06,0x06,0x0C,0x03,0xF8,0x00,0xE0,0x00,0x00,},
{// 鍵盤鎖標記16*16 2
0x00,0x00,0x01,0xF8,0x03,0xFC,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0xFC,0x06,0x96,
0x0E,0xA7,0x0E,0xC7,0x0E,0xA7,0x0E,0x97,0x07,0xFE,0x03,0xFC,0x01,0xF8,0x00,0x00,},
{// 溫度計標記16*16 //一個大字母T和一個小三角 3
0x00,0x00,0x1F,0xF8,0x1F,0xF8,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
0x01,0x90,0x01,0x98,0x01,0x9C,0x01,0x9E,0x01,0x9C,0x00,0x18,0x00,0x10,0x00,0x00,},
{// 模式3點16*16 4
0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,
0x03,0xC0,0x03,0xC0,0x03,0xC0,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},
{// 模式2點16*16 5
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,},
{// 籃球器運行標記16*16 6
0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x1F,0xF8,0x01,0x80,0x01,0x80,0x01,0x90,
0x01,0x98,0x01,0x9C,0x01,0x9E,0x01,0x9C,0x01,0x98,0x01,0x90,0x00,0x00,0x00,0x00},
{// 開啟標記16*16 //像水滴一樣的 7
0x00,0x00,0x00,0x40,0x00,0xE0,0x01,0xB0,0x01,0xB0,0x03,0x18,0x03,0x18,0x06,0x0C,
0x0C,0x06,0x0C,0xE6,0x1B,0x1B,0x0C,0x06,0x06,0x0C,0x03,0xF8,0x00,0xE0,0x00,0x00,},
//"℃" tt=0 8
{0x00,0x00,0x30,0x00,0x48,0x00,0x49,0xC0,0x33,0xE8,0x06,0x38,0x0C,0x18,0x0C,0x08,
0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x06,0x08,0x03,0x10,0x01,0xE0,0x00,0x00,},
//溫度計圖標 像一個溫度器 9
{0x00,0x00,0x01,0x80,0x02,0x40,0x02,0xC0,0x02,0x40,0x02,0xC0,0x02,0x40,0x02,0xC0,
0x02,0x40,0x03,0xC0,0x07,0xE0,0x0F,0xF0,0x0F,0xF0,0x07,0xE0,0x03,0xC0,0x00,0x00,},
};
//--------------------------數碼體--------------------
uchar code tabshuma[13][64]={
{// 圖片數字0
0x00,0x00,0x3F,0xFC,0x5F,0xFA,0x6F,0xF6,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x60,0x06,0x40,0x02,0x00,0x00,
0x40,0x02,0x60,0x06,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
0x70,0x0E,0x70,0x0E,0x70,0x0E,0x6F,0xF6,0x5F,0xFA,0x3F,0xFC,0x00,0x00,0x00,0x00},
{// 圖片數字1
0x00,0x00,0x00,0x20,0x00,0x60,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,
0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0x60,0x00,0x20,0x00,0x00,0x00,0x20,
0x00,0x60,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,
0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0x60,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00},
{// 圖片數字2
0x00,0x00,0x3F,0xFC,0x1F,0xFA,0x0F,0xF6,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x06,0x1F,0xFA,0x3F,0xFC,
0x5F,0xF8,0x60,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,
0x70,0x00,0x70,0x00,0x70,0x00,0x6F,0xF8,0x5F,0xFC,0x3F,0xFE,0x00,0x00,0x00,0x00},
{// 圖片數字3
0x00,0x00,0x7F,0xFC,0x3F,0xFA,0x1F,0xF6,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x06,0x1F,0xFA,0x3F,0xFC,
0x1F,0xFA,0x00,0x06,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
0x00,0x0E,0x00,0x0E,0x00,0x0E,0x1F,0xF6,0x3F,0xFA,0x7F,0xFC,0x00,0x00,0x00,0x00},
{// 圖片數字4
0x00,0x00,0x40,0x02,0x60,0x06,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x60,0x06,0x5F,0xFA,0x3F,0xFC,
0x1F,0xFA,0x00,0x06,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x06,0x00,0x02,0x00,0x00,0x00,0x00},
{// 圖片數字5
0x00,0x00,0x3F,0xFC,0x5F,0xF8,0x6F,0xF0,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,
0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x60,0x00,0x5F,0xF8,0x3F,0xFC,
0x1F,0xFA,0x00,0x06,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
0x00,0x0E,0x00,0x0E,0x00,0x0E,0x0F,0xF6,0x1F,0xFA,0x3F,0xFC,0x00,0x00,0x00,0x00},
{// 圖片數字6
0x00,0x00,0x3F,0xFC,0x5F,0xF8,0x6F,0xF0,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,
0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x60,0x00,0x5F,0xF8,0x3F,0xFC,
0x5F,0xFA,0x60,0x06,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
0x70,0x0E,0x70,0x0E,0x70,0x0E,0x6F,0xF6,0x5F,0xFA,0x3F,0xFC,0x00,0x00,0x00,0x00},
{// 圖片數字7
0x00,0x00,0x7F,0xFC,0x3F,0xFA,0x1F,0xF6,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x06,0x00,0x02,0x00,0x00,
0x00,0x02,0x00,0x06,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x06,0x00,0x02,0x00,0x00,0x00,0x00},
{// 圖片數字8
0x00,0x00,0x3F,0xFC,0x5F,0xFA,0x6F,0xF6,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x60,0x06,0x5F,0xFA,0x3F,0xFC,
0x5F,0xFA,0x60,0x06,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
0x70,0x0E,0x70,0x0E,0x70,0x0E,0x6F,0xF6,0x5F,0xFA,0x3F,0xFC,0x00,0x00,0x00,0x00},
{// 圖片數字9
0x00,0x00,0x3F,0xFC,0x5F,0xFA,0x6F,0xF6,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x60,0x06,0x5F,0xFA,0x3F,0xFC,
0x1F,0xFA,0x00,0x06,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
0x00,0x0E,0x00,0x0E,0x00,0x0E,0x1F,0xF6,0x3F,0xFA,0x7F,0xFC,0x00,0x00,0x00,0x00},
{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x07,0xE0,
0x07,0xE0,0x07,0xE0,0x07,0xE0,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x07,0xE0,0x07,0xE0,0x07,0xE0,
0x07,0xE0,0x07,0xE0,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{
0x00,0x00,0x00,0x00,0x00,0xF0,0x07,0xF0,0x06,0x70,0x06,0x60,0x06,0x60,0x06,0x60,
0x06,0xE0,0x03,0xC0,0x00,0x00,0x00,0x1E,0x00,0xFE,0x0F,0x80,0x7D,0x80,0x03,0x00,
0x03,0x00,0x03,0xE0,0x07,0xF0,0x06,0x30,0x00,0x30,0x00,0x30,0x00,0x70,0x00,0x60,
0x00,0x60,0x00,0x60,0x00,0x60,0x01,0xE0,0x00,0xC0,0x00,0xC0,0x00,0x00,0x00,0x00},/*"號",0*/
};//,"9",9*
uchar code num1632[13][64]={
{//圖片數字0
0x00,0x00,0x0F,0xF0,0x1F,0xF8,0x3F,0xFC,0x7F,0xFE,0x7C,0x3E,0x78,0x1E,0x78,0x1E,
0x78,0x1E,0x78,0x1E,0x78,0x3E,0x78,0x3E,0x78,0x5E,0x78,0x5E,0x78,0x9E,0x78,0x9E,
0x79,0x1E,0x79,0x1E,0x7A,0x1E,0x7A,0x1E,0x7C,0x1E,0x7C,0x1E,0x78,0x1E,0x78,0x1E,
0x78,0x1E,0x78,0x1E,0x7C,0x3E,0x7F,0xFE,0x3F,0xFC,0x1F,0xF8,0x0F,0xF0,0x00,0x00,},
{//圖片數字1
0x00,0x00,0x00,0x38,0x00,0x78,0x00,0xF8,0x01,0xF8,0x01,0xF8,0x00,0x78,0x00,0x78,
0x00,0x78,0x00,0x78,0x00,0x78,0x00,0x78,0x00,0x78,0x00,0x78,0x00,0x78,0x00,0x78,
0x00,0x78,0x00,0x78,0x00,0x78,0x00,0x78,0x00,0x78,0x00,0x78,0x00,0x78,0x00,0x78,
0x00,0x78,0x00,0x78,0x00,0x78,0x00,0x78,0x00,0x78,0x00,0x78,0x00,0x78,0x00,0x00,},
{//圖片數字2
0x00,0x00,0x0F,0xF0,0x1F,0xF8,0x3F,0xFC,0x7F,0xFE,0x7C,0x3E,0x78,0x1E,0x78,0x1E,
0x78,0x1E,0x78,0x1E,0x78,0x1E,0x78,0x1E,0x78,0x3E,0x00,0x7E,0x00,0xFC,0x01,0xF8,
0x03,0xF0,0x07,0xE0,0x0F,0xC0,0x1F,0x80,0x3F,0x00,0x7E,0x00,0x7C,0x00,0x78,0x00,
0x78,0x00,0x78,0x00,0x78,0x1E,0x7F,0xFE,0x7F,0xFE,0x7F,0xFE,0x7F,0xFE,0x00,0x00,},
{//圖片數字3
0x00,0x00,0x0F,0xF0,0x1F,0xF8,0x3F,0xFC,0x7F,0xFE,0x7C,0x3E,0x78,0x1E,0x78,0x1E,
0x78,0x1E,0x78,0x1E,0x78,0x1E,0x00,0x1E,0x00,0x1E,0x00,0x3E,0x0F,0xFC,0x0F,0xF8,
0x0F,0xF8,0x0F,0xFC,0x00,0x3E,0x00,0x1E,0x00,0x1E,0x78,0x1E,0x78,0x1E,0x78,0x1E,
0x78,0x1E,0x78,0x1E,0x7C,0x3E,0x7F,0xFE,0x3F,0xFC,0x1F,0xF8,0x0F,0xF0,0x00,0x00,},
{//圖片數字4
0x00,0x00,0x00,0x1C,0x00,0x3C,0x00,0x7C,0x00,0x7C,0x00,0xFC,0x01,0xFC,0x01,0xFC,
0x03,0xFC,0x07,0xBC,0x07,0xBC,0x0F,0x3C,0x0F,0x3C,0x1E,0x3C,0x1E,0x3C,0x3C,0x3C,
0x3C,0x3C,0x78,0x3C,0x78,0x3C,0x78,0x3C,0x7F,0xFE,0x7F,0xFE,0x7F,0xFE,0x7F,0xFE,
0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x3C,0x00,0x00,},
{//圖片數字5
0x00,0x00,0x7F,0xFE,0x7F,0xFE,0x7F,0xFE,0x7F,0xFE,0x78,0x00,0x78,0x00,0x78,0x00,
0x78,0x00,0x78,0x00,0x7B,0xF0,0x7F,0xF8,0x7F,0xFC,0x7F,0xFE,0x7E,0x3E,0x7C,0x1E,
0x7C,0x1E,0x00,0x1E,0x00,0x1E,0x00,0x1E,0x78,0x1E,0x78,0x1E,0x78,0x1E,0x78,0x1E,
0x78,0x1E,0x78,0x1E,0x7C,0x3E,0x7F,0xFE,0x3F,0xFC,0x1F,0xF8,0x0F,0xF0,0x00,0x00,},
{//圖片數字6
0x00,0x00,0x0F,0xF0,0x1F,0xF8,0x3F,0xFC,0x7F,0xFE,0x7C,0x3E,0x78,0x1E,0x78,0x1E,
0x78,0x1E,0x78,0x00,0x78,0x00,0x78,0x00,0x7B,0xF0,0x7F,0xF8,0x7F,0xFC,0x7F,0xFE,
0x7C,0x3E,0x78,0x1E,0x78,0x1E,0x78,0x1E,0x78,0x1E,0x78,0x1E,0x78,0x1E,0x78,0x1E,
0x78,0x1E,0x78,0x1E,0x7C,0x3E,0x7F,0xFE,0x3F,0xFC,0x1F,0xF8,0x0F,0xF0,0x00,0x00},
{//圖片數字7
0x00,0x00,0x7F,0xFE,0x7F,0xFE,0x7F,0xFE,0x7F,0xFE,0x78,0x1E,0x00,0x1E,0x00,0x3C,
0x00,0x3C,0x00,0x78,0x00,0x78,0x00,0xF0,0x00,0xF0,0x01,0xE0,0x01,0xE0,0x03,0xC0,
0x03,0xC0,0x07,0x80,0x07,0x80,0x07,0x80,0x07,0x80,0x07,0x80,0x07,0x80,0x07,0x80,
0x07,0x80,0x07,0x80,0x07,0x80,0x07,0x80,0x07,0x80,0x07,0x80,0x07,0x80,0x00,0x00},
{//圖片數字8
0x00,0x00,0x0F,0xF0,0x1F,0xF8,0x3F,0xFC,0x7F,0xFE,0x7C,0x3E,0x78,0x1E,0x78,0x1E,
0x78,0x1E,0x78,0x1E,0x78,0x1E,0x78,0x1E,0x7C,0x3E,0x3F,0xFC,0x1F,0xF8,0x1F,0xF8,
0x3F,0xFC,0x7C,0x3E,0x78,0x1E,0x78,0x1E,0x78,0x1E,0x78,0x1E,0x78,0x1E,0x78,0x1E,
0x78,0x1E,0x78,0x1E,0x7C,0x3E,0x7F,0xFE,0x3F,0xFC,0x1F,0xF8,0x0F,0xF0,0x00,0x00},
{//圖片數字9
0x00,0x00,0x0F,0xF0,0x1F,0xF8,0x3F,0xFC,0x7F,0xFE,0x7C,0x3E,0x78,0x1E,0x78,0x1E,
0x78,0x1E,0x78,0x1E,0x78,0x1E,0x78,0x1E,0x78,0x1E,0x78,0x1E,0x78,0x1E,0x7C,0x3E,
0x7F,0xFE,0x3F,0xFE,0x1F,0xFE,0x0F,0xDE,0x00,0x1E,0x00,0x1E,0x00,0x1E,0x78,0x1E,
0x78,0x1E,0x78,0x1E,0x7C,0x3E,0x7F,0xFE,0x3F,0xFC,0x1F,0xF8,0x0F,0xF0,0x00,0x00},
{// 圖片":" 10
//6X6方點
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x07,0xE0,
0x07,0xE0,0x07,0xE0,0x07,0xE0,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x07,0xE0,0x07,0xE0,0x07,0xE0,
0x07,0xE0,0x07,0xE0,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{
0x00,0x00,0x06,0x00,0x06,0x7C,0x03,0xFE,0x03,0x0C,0x03,0x18,0x03,0x38,0x01,0xF8,
0x01,0xFC,0x01,0xB8,0x01,0xF0,0x01,0x9F,0x03,0xFF,0x1F,0x60,0x3C,0x60,0x70,0x60,
0x00,0x60,0x00,0x78,0x00,0xF8,0x00,0xF8,0x00,0xD8,0x00,0x18,0x00,0x18,0x00,0x18,
0x00,0x18,0x00,0x18,0x00,0x18,0x0C,0x38,0x07,0x30,0x01,0xF0,0x00,0x00,0x00,0x00,}/*"號",0*/
};
/******************************************************************************/
/*===================== 顯示模式3數字圖片(寬度x高度=24*32)=========================*/
//最大的LCD12864
uchar code mode_3num[10][96]={
{// 圖片數字0
0x00,0x7E,0x00,0x01,0xE7,0x80,0x03,0xC3,0xC0,0x07,0x81,0xE0,0x0F,0x80,0xF0,0x0F,
0x00,0xF0,0x1F,0x00,0xF8,0x1E,0x00,0xF8,0x3E,0x00,0x78,0x3E,0x00,0x7C,0x3E,0x00,
0x7C,0x3E,0x00,0x7C,0x3E,0x00,0x7C,0x3E,0x00,0x7C,0x3E,0x00,0x7C,0x3E,0x00,0x7C,
0x3E,0x00,0x7C,0x3E,0x00,0x7C,0x3E,0x00,0x7C,0x3E,0x00,0x7C,0x3E,0x00,0x7C,0x3E,
0x00,0x7C,0x3E,0x00,0x7C,0x3E,0x00,0x78,0x1E,0x00,0xF8,0x1F,0x00,0xF8,0x0F,0x00,
0xF0,0x0F,0x81,0xF0,0x07,0x81,0xE0,0x03,0xC3,0xC0,0x01,0xE7,0x80,0x00,0x7E,0x00},
{// 圖片數字1
0x00,0x0C,0x00,0x00,0x1C,0x00,0x00,0x7C,0x00,0x07,0xFC,0x00,0x00,0x3C,0x00,0x00,
0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,
0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,
0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,
0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,
0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3E,0x00,0x00,0x7F,0x00,0x07,0xFF,0xF0},
{// 圖片數字2
0x00,0xFF,0x00,0x03,0xC7,0xC0,0x07,0x01,0xE0,0x0E,0x00,0xF0,0x1E,0x00,0xF8,0x1E,
0x00,0xF8,0x3E,0x00,0x78,0x3E,0x00,0x78,0x3F,0x00,0x78,0x3F,0x00,0x78,0x1F,0x00,
0xF8,0x00,0x00,0xF8,0x00,0x00,0xF0,0x00,0x01,0xF0,0x00,0x03,0xE0,0x00,0x03,0xC0,
0x00,0x07,0x80,0x00,0x0F,0x00,0x00,0x1E,0x00,0x00,0x3C,0x00,0x00,0x78,0x00,0x00,
0xF0,0x00,0x01,0xE0,0x00,0x03,0xC0,0x00,0x07,0x80,0x1C,0x07,0x00,0x1C,0x0E,0x00,
0x38,0x1C,0x00,0x38,0x3C,0x00,0x78,0x3F,0xFF,0xF8,0x3F,0xFF,0xF8,0x3F,0xFF,0xF8},
{// 圖片數字3
0x00,0xFE,0x00,0x07,0x87,0x80,0x0F,0x03,0xC0,0x1E,0x01,0xE0,0x1E,0x01,0xF0,0x1E,
0x01,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0xF0,0x1E,0x00,0xF0,0x00,0x00,0xF0,0x00,0x01,
0xF0,0x00,0x01,0xF0,0x00,0x03,0xE0,0x00,0x03,0xC0,0x00,0x0F,0x00,0x00,0xFE,0x00,
0x00,0x07,0x80,0x00,0x01,0xE0,0x00,0x00,0xF0,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,
0x00,0x78,0x00,0x00,0x7C,0x1E,0x00,0x7C,0x3F,0x00,0x7C,0x3F,0x00,0x7C,0x3F,0x00,
0x78,0x3E,0x00,0xF8,0x1E,0x00,0xF0,0x0F,0x01,0xE0,0x07,0x87,0xC0,0x01,0xFF,0x00},
{// 圖片數字4
0x00,0x03,0xC0,0x00,0x03,0xC0,0x00,0x07,0xC0,0x00,0x0F,0xC0,0x00,0x0F,0xC0,0x00,
0x1F,0xC0,0x00,0x3F,0xC0,0x00,0x3F,0xC0,0x00,0x77,0xC0,0x00,0x77,0xC0,0x00,0xE7,
0xC0,0x01,0xC7,0xC0,0x01,0xC7,0xC0,0x03,0x87,0xC0,0x07,0x07,0xC0,0x07,0x07,0xC0,
0x0E,0x07,0xC0,0x1E,0x07,0xC0,0x1C,0x07,0xC0,0x38,0x07,0xC0,0x38,0x07,0xC0,0x7F,
0xFF,0xFE,0x7F,0xFF,0xFE,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,
0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xC0,0x00,0x07,0xE0,0x00,0x7F,0xFE},
{// 圖片數字5
0x0F,0xFF,0xF8,0x0F,0xFF,0xF8,0x0F,0xFF,0xF8,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,
0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,
0x00,0x0E,0x7F,0x00,0x0D,0xFF,0xC0,0x0F,0xC3,0xE0,0x1F,0x01,0xF0,0x1E,0x00,0xF8,
0x1E,0x00,0xF8,0x00,0x00,0x78,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,
0x00,0x7C,0x1E,0x00,0x7C,0x3F,0x00,0x7C,0x3F,0x00,0x78,0x3F,0x00,0x78,0x3E,0x00,
0xF8,0x1E,0x00,0xF0,0x1E,0x01,0xF0,0x0E,0x01,0xE0,0x07,0x87,0xC0,0x00,0xFF,0x00},
{// 圖片數字6
0x00,0x3F,0xC0,0x00,0xF1,0xE0,0x03,0xC1,0xF0,0x07,0x81,0xF8,0x07,0x01,0xF8,0x0F,
0x00,0xF0,0x1F,0x00,0x00,0x1E,0x00,0x00,0x1E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,
0x00,0x3E,0x00,0x00,0x3E,0x3F,0x80,0x3E,0xFF,0xE0,0x3F,0xE3,0xF0,0x3F,0x80,0xF8,
0x3F,0x00,0xF8,0x3F,0x00,0x7C,0x3E,0x00,0x7C,0x3E,0x00,0x7C,0x3E,0x00,0x3C,0x3E,
0x00,0x3C,0x3E,0x00,0x3C,0x3E,0x00,0x3C,0x3E,0x00,0x7C,0x1E,0x00,0x7C,0x1F,0x00,
0x78,0x0F,0x00,0x78,0x0F,0x80,0xF0,0x07,0xC0,0xE0,0x03,0xE3,0xC0,0x00,0xFF,0x00},
{// 圖片數字7
0x1F,0xFF,0xFC,0x1F,0xFF,0xFC,0x1F,0xFF,0xF8,0x1F,0x00,0x38,0x1C,0x00,0x70,0x1C,
0x00,0xE0,0x38,0x00,0xE0,0x38,0x01,0xC0,0x00,0x01,0xC0,0x00,0x03,0x80,0x00,0x03,
0x80,0x00,0x07,0x80,0x00,0x07,0x00,0x00,0x0F,0x00,0x00,0x0E,0x00,0x00,0x1E,0x00,
0x00,0x1E,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x7C,0x00,0x00,
0x78,0x00,0x00,0x78,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,
0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0x78,0x00},
{// 圖片數字8
0x00,0xFF,0x00,0x07,0xC3,0xC0,0x0F,0x00,0xE0,0x1E,0x00,0xF0,0x1E,0x00,0x78,0x3C,
0x00,0x78,0x3C,0x00,0x78,0x3C,0x00,0x7C,0x3E,0x00,0x78,0x3E,0x00,0x78,0x1F,0x00,
0x78,0x1F,0x80,0xF0,0x0F,0xE1,0xE0,0x07,0xFB,0xC0,0x01,0xFF,0x80,0x01,0xFF,0x80,
0x07,0xBF,0xC0,0x0F,0x0F,0xE0,0x1E,0x03,0xF0,0x3E,0x01,0xF8,0x3C,0x00,0xF8,0x3C,
0x00,0x7C,0x7C,0x00,0x7C,0x78,0x00,0x3C,0x78,0x00,0x3C,0x7C,0x00,0x3C,0x3C,0x00,
0x78,0x3C,0x00,0x78,0x1E,0x00,0x70,0x0F,0x00,0xE0,0x07,0xC3,0xC0,0x01,0xFF,0x00},
{// 圖片數字9
0x01,0xFE,0x00,0x07,0xC7,0x80,0x0F,0x01,0xE0,0x1E,0x01,0xE0,0x1E,0x00,0xF0,0x3E,
0x00,0xF8,0x3C,0x00,0x78,0x3C,0x00,0x78,0x7C,0x00,0x7C,0x7C,0x00,0x7C,0x7C,0x00,
0x7C,0x7C,0x00,0x7C,0x7C,0x00,0x7C,0x3C,0x00,0xFC,0x3E,0x00,0xFC,0x3E,0x01,0xFC,
0x1F,0x03,0xFC,0x1F,0x8F,0xFC,0x0F,0xFF,0x7C,0x03,0xFC,0x7C,0x00,0x00,0x7C,0x00,
0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF0,0x00,0x01,0xF0,0x0F,0x01,
0xE0,0x1F,0x01,0xE0,0x1F,0x03,0xC0,0x1F,0x07,0x80,0x0F,0x9F,0x00,0x03,0xFC,0x00},
};
/*******************我的文檔*******我的電腦*************************/
uchar code TU_TAB1[]={
// 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xF0,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x18,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0xFF,0xDC,0x00,0x01,
0x80,0x00,0x1F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0xFF,0xBC,0x00,0x01,
0x80,0x00,0x30,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x01,0x7F,0xFF,0xB8,0x00,0x01,
0x80,0x00,0x30,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x01,0x7F,0xFF,0x78,0x00,0x01,
0x80,0x00,0x19,0xFF,0xFE,0xC0,0x00,0x00,0x00,0x00,0x02,0xFF,0xFF,0x70,0x00,0x01,
0x80,0x00,0x18,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x02,0xFF,0xFE,0xF0,0x00,0x01,
0x80,0x00,0x0C,0x01,0xFF,0x60,0x00,0x00,0x00,0x00,0x05,0xFF,0xFE,0xE0,0x00,0x01,
0x80,0x00,0x0C,0x7F,0xD0,0x20,0x00,0x00,0x00,0x00,0x05,0xFF,0xFD,0xE0,0x00,0x01,
0x80,0x00,0x06,0x00,0x0F,0xB0,0x00,0x00,0x00,0x00,0x0B,0xFF,0xFD,0xC0,0x00,0x01,
0x80,0x00,0x06,0x03,0xFC,0x10,0x00,0x00,0x00,0x00,0x0B,0xFF,0xFB,0xC0,0x00,0x01,
0x80,0x00,0x03,0x1F,0x00,0x18,0x00,0x00,0x00,0x00,0x17,0xFF,0xFB,0x80,0x00,0x01,
0x80,0x00,0x03,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x17,0xFF,0xF7,0x80,0x00,0x01,
0x80,0x00,0x01,0x80,0x00,0x0C,0x00,0x00,0x00,0x00,0x17,0xFF,0xF7,0x00,0x00,0x01,
0x80,0x00,0x01,0x80,0x00,0x04,0x00,0x00,0x00,0x00,0x09,0xFF,0xEF,0x00,0x00,0x01,
0x80,0x00,0x00,0xC0,0x00,0xF6,0x00,0x00,0x00,0x00,0x06,0x7F,0xEE,0x00,0x00,0x01,
0x80,0x00,0x00,0xC0,0x03,0xC2,0x00,0x00,0x00,0x00,0x01,0x9F,0xDE,0x00,0x00,0x01,
0x80,0x00,0x00,0x60,0x00,0x3B,0x00,0x00,0x00,0x00,0x00,0x67,0xDF,0x00,0x00,0x01,
0x80,0x00,0x00,0x60,0x00,0xE3,0x00,0x00,0x00,0x00,0x00,0x19,0xBF,0x00,0x00,0x01,
0x80,0x00,0x00,0x30,0x03,0x8E,0x00,0x00,0x00,0x00,0x00,0x06,0x3F,0x00,0x00,0x01,
0x80,0x00,0x00,0x30,0x06,0x3C,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x00,0x00,0x01,
0x80,0x00,0x00,0x18,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x01,
0x80,0x00,0x00,0x18,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x0F,0x7F,0x80,0x00,0x01,
0x80,0x00,0x00,0x0C,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x1F,0xC0,0x00,0x01,
0x80,0x00,0x00,0x0C,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x07,0xE0,0x00,0x01,
0x80,0x00,0x00,0x06,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0xE0,0x00,0x01,
0x80,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3F,0xC0,0x00,0x01,
0x80,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0xFF,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x05,0x40,0x88,0x04,0x01,0x08,0x00,0x00,0x0A,0x81,0x10,0x04,0x00,0x20,0x01,
0x80,0x79,0x21,0x08,0x02,0x21,0x49,0x00,0x00,0xF2,0x42,0x10,0x04,0x47,0x10,0x01,
0x80,0x09,0x07,0xDF,0x7F,0xF7,0xAA,0x00,0x00,0x12,0x0F,0xBE,0x7F,0xE5,0xFE,0x01,
0x80,0x7F,0xF4,0x51,0x08,0x81,0x2C,0x00,0x00,0xFF,0xE8,0xA2,0x44,0x47,0x00,0x01,
0x80,0x09,0x04,0x61,0x08,0x81,0x7F,0x00,0x00,0x12,0x08,0xC2,0x7F,0xC5,0x4A,0x01,
0x80,0x0B,0x24,0x51,0x08,0x83,0x81,0x00,0x00,0x16,0x48,0xA2,0x44,0x45,0x6A,0x01,
0x80,0x1D,0x47,0xC9,0x05,0x05,0x01,0x00,0x00,0x3A,0x8F,0x92,0x44,0x47,0x52,0x01,
0x80,0x68,0x84,0x49,0x05,0x05,0x7F,0x00,0x00,0xD1,0x08,0x92,0x7F,0xC5,0x6A,0x01,
0x80,0x09,0x94,0x41,0x02,0x01,0x01,0x00,0x00,0x13,0x28,0x82,0x44,0x05,0x4A,0x01,
0x80,0x0E,0x57,0xC1,0x0D,0x81,0x01,0x00,0x00,0x1C,0xAF,0x82,0x04,0x29,0x42,0x01,
0x80,0x38,0x34,0x4E,0x70,0x71,0x7F,0x00,0x00,0x70,0x68,0x9C,0x03,0xEB,0x7E,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
};
/////////////////////////////////////////////////////////////////////////
// Bitmap點陣數據表 //
// 圖片: C:\..件\宋體16.dot,橫向取模左高位,數據排列:從左到右從上到下 //
// 圖片尺寸: 104 * 46 //
/////////////////////////////////////////////////////////////////////////
uchar code nBitmapDot[] = // 數據表
{
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,
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,
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,
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,
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,
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,
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,
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,
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,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00
};
uchar code tab5[]={
/*-- 調入了一幅圖像:F:\梁\畫圖\COCK.bmp --*/
/*-- 寬度x高度=128x64 --------一只公雞的圖案-*/
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,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x80,0x00,0x0F,0xFF,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0C,0x43,0x01,0x80,0x00,0x7F,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x19,0xFF,0x07,0x00,0x07,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0x3F,0xFC,0x1E,0x00,0x1F,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xBF,0xFF,0xFC,0x00,0x7F,0xFC,0x00,0x7F,0xC0,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xFF,0xFF,0xF0,0x00,0xFF,0xC0,0x00,0x0F,0xE0,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xFF,0xFF,0xE0,0x03,0xFF,0xFF,0xFC,0x01,0xF0,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xDF,0xFF,0xC0,0x07,0xFF,0xFF,0xFF,0x80,0xF0,0x00,0x00,0x00,
0x00,0x00,0x00,0x03,0xFF,0xFF,0x00,0x0F,0xFF,0xFF,0xFF,0xE0,0x38,0x00,0x00,0x00,
0x00,0x00,0x00,0x07,0xFF,0xF8,0x00,0x1F,0xFF,0xF0,0x03,0xF8,0x38,0x00,0x00,0x00,
0x00,0x00,0x00,0x07,0xFF,0xE0,0x00,0x3F,0xFF,0xFF,0xC0,0x7C,0x18,0x00,0x00,0x00,
0x00,0x00,0x00,0x04,0x7F,0xF0,0x00,0x3F,0xFF,0xFF,0xF8,0x1E,0x08,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xFF,0xF8,0x00,0x7F,0xFF,0xFF,0xFE,0x0F,0x08,0x00,0x00,0x00,
0x00,0x00,0x00,0x0F,0xFF,0xFC,0x00,0xFF,0xFF,0xFF,0xFF,0x87,0x08,0x00,0x00,0x00,
0x00,0x00,0x00,0x1F,0xFF,0xFE,0x00,0xFF,0xFF,0xFF,0xFF,0x83,0x88,0x00,0x00,0x00,
0x00,0x00,0x00,0x3F,0xFF,0xFE,0x01,0xFF,0xFF,0xFF,0xFF,0xC3,0x88,0x00,0x00,0x00,
0x00,0x00,0x00,0x7F,0xFF,0xFE,0x01,0xFF,0xFF,0xFF,0xFF,0xE1,0x88,0x00,0x00,0x00,
0x00,0x00,0x00,0xFF,0xFF,0xFE,0x03,0xFF,0xFF,0xFF,0xFF,0xE1,0x88,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFE,0x03,0xFF,0xFF,0xFF,0xFF,0xF1,0x88,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFE,0x03,0xFF,0xFF,0xFF,0xFF,0xF3,0x08,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0xFF,0xF2,0x10,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFF,0x8F,0xFF,0xFF,0xFF,0xFF,0xF0,0x20,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x70,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0x70,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0x70,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0x7F,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xFF,0x7F,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0x7E,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0x3E,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xCF,0xFF,0x3C,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xCF,0xFE,0x38,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0x8F,0xFE,0x38,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0x8F,0xFE,0x30,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x1F,0x7C,0x20,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFE,0x1E,0x78,0x00,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFE,0x1E,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xDA,0x3C,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xF2,0x30,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xF1,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xFE,0x7F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x7C,0x3F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x78,0x1F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x72,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0x40,0x04,0xD8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x02,0x0C,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x02,0x40,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0C,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x38,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0F,0xE2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x40,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
};
/**************************我的QQ號**********************************/
uchar code Photo2[] = {
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,
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,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x07,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x3F,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x01,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x7F,0x80,0x00,0x00,0x7F,0x80,0x00,0x00,
0x00,0x03,0xFF,0xFF,0xFE,0x00,0x00,0x01,0xFF,0xE0,0x00,0x01,0xFF,0xE0,0x00,0x00,
0x00,0x07,0xFF,0xFF,0xFE,0x00,0x00,0x07,0xFF,0xF0,0x00,0x07,0xFF,0xF0,0x00,0x00,
0x00,0x0F,0xF9,0xFD,0xFF,0x00,0x00,0x0F,0xFF,0xF8,0x00,0x0F,0xFF,0xF8,0x00,0x00,
0x00,0x0F,0xF0,0xF0,0xFF,0x80,0x00,0x1F,0xFF,0xFC,0x00,0x1F,0xFF,0xFC,0x00,0x00,
0x00,0x1F,0xF0,0x70,0x7F,0x80,0x00,0x3F,0xFF,0xFC,0x00,0x3F,0xFF,0xFC,0x00,0x00,
0x00,0x1F,0xE1,0x70,0x7F,0x80,0x00,0x7F,0xFF,0xFE,0x00,0x7F,0xFF,0xFE,0x00,0x00,
0x00,0x3F,0xE1,0x66,0x7F,0xC0,0x00,0xFF,0xFF,0xFE,0x00,0xFF,0xFF,0xFE,0x00,0x00,
0x00,0x3F,0xE3,0xE0,0x7F,0xC0,0x01,0xFF,0xFF,0xFE,0x01,0xFF,0xFF,0xFE,0x00,0x00,
0x00,0x3F,0xE0,0x60,0x7F,0xE0,0x01,0xFF,0xEF,0xFF,0x01,0xFF,0xEF,0xFF,0x00,0x00,
0x00,0x7F,0xF0,0xF0,0x7F,0xC0,0x03,0xFF,0x87,0xFF,0x03,0xFF,0x87,0xFF,0x00,0x00,
0x00,0x7F,0xF0,0xF8,0xFF,0xE0,0x03,0xFF,0x83,0xFF,0x83,0xFF,0x81,0xFF,0x80,0x00,
0x00,0x7F,0xFF,0xFF,0xFF,0xE0,0x07,0xFF,0x01,0xFF,0x07,0xFF,0x01,0xFF,0x00,0x00,
0x00,0x7F,0xFF,0xFF,0xFF,0xF0,0x07,0xFF,0x00,0xFF,0x87,0xFF,0x00,0xFF,0x80,0x00,
0x00,0x7F,0xE0,0x00,0xBF,0xF0,0x0F,0xFE,0x00,0xFF,0x8F,0xFE,0x00,0xFF,0x80,0x00,
0x00,0xFF,0x80,0x00,0x0F,0xF0,0x0F,0xFE,0x00,0xFF,0x8F,0xFE,0x00,0xFF,0x80,0x00,
0x00,0xFE,0x00,0x00,0x07,0xF0,0x1F,0xFC,0x00,0x7F,0x9F,0xFC,0x00,0x7F,0x80,0x00,
0x00,0xFF,0xB0,0x00,0x5F,0xF0,0x0F,0xFC,0x00,0xFF,0x8F,0xFC,0x00,0x7F,0x80,0x00,
0x01,0xFF,0xF8,0x01,0xFF,0xF0,0x1F,0xF8,0x3F,0xFF,0x9F,0xFC,0x3D,0xFF,0x80,0x00,
0x01,0xFF,0xFF,0xFF,0xFF,0xF8,0x0F,0xFC,0x37,0x0F,0x8F,0xFC,0x37,0x9F,0x80,0x00,
0x07,0xFF,0xFF,0xFF,0xFF,0xF8,0x1F,0xF8,0x66,0x07,0x1F,0xF8,0x26,0x1F,0x80,0x00,
0x07,0xFF,0xFF,0xFF,0xFF,0xFC,0x0F,0xFC,0x6C,0x63,0x8F,0xFC,0x66,0x73,0x80,0x00,
0x1F,0xC7,0xFF,0xFF,0xFC,0xFE,0x0F,0xFE,0xEC,0x80,0x8F,0xFE,0xED,0x80,0x80,0x00,
0x1F,0xC3,0xFF,0xFF,0xF0,0x7E,0x07,0xFF,0xFD,0x00,0x07,0xFF,0xFE,0x80,0x00,0x00,
0x3F,0xC7,0xFF,0xFF,0x80,0x7F,0x07,0xFF,0xFF,0x00,0x07,0xFF,0xFE,0x80,0x00,0x00,
0x3F,0xC3,0xFF,0xFE,0x00,0x3F,0x01,0xFF,0xFF,0x00,0x21,0xFF,0xFF,0x80,0x20,0x00,
0x3F,0x87,0xF0,0x00,0x00,0x3F,0x00,0xFF,0xFF,0x00,0x40,0xFF,0xFF,0x00,0x40,0x00,
0x7F,0x83,0xF8,0x00,0x00,0x3F,0x00,0x1F,0xFF,0x80,0x40,0x1F,0xFF,0xC0,0xC0,0x00,
0x7F,0x87,0xF0,0x00,0x00,0x3F,0x00,0x00,0x00,0xC1,0x80,0x00,0x00,0xE3,0x80,0x00,
0x7F,0xC3,0xF8,0x00,0x00,0x3F,0x80,0x00,0x00,0x7F,0x00,0x00,0x00,0x7F,0x00,0x00,
0x7B,0x83,0xF0,0x00,0x00,0x3F,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x1C,0x00,0x00,
0x79,0xC1,0xF0,0x00,0x00,0x27,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x21,0xC0,0x00,0x00,0x00,0x67,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xE0,0x00,0x00,0x00,0x40,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x00,0xE0,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x00,0x30,0x00,0x00,0x01,0x80,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
0x00,0x38,0x00,0x00,0x03,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
0x00,0x9C,0x00,0x00,0x06,0x40,0xC7,0xC7,0xC1,0x80,0xC7,0xE1,0xCF,0xE1,0xC1,0xC3,
0x01,0x07,0x00,0x00,0x0C,0x60,0xCE,0xCF,0xE1,0x80,0xC7,0xE3,0xEF,0xE3,0xE3,0xE3,
0x01,0x81,0xC0,0x00,0x38,0x10,0xCC,0x4C,0x63,0x81,0xC6,0x06,0x6C,0x66,0x26,0x23,
0x01,0x00,0xFC,0x00,0xE0,0x10,0xCC,0x4C,0x61,0x83,0xC6,0x06,0x00,0xC4,0x24,0x23,
0x01,0x00,0x07,0xAD,0x00,0x10,0xC0,0x4C,0x61,0x86,0xC6,0x06,0x00,0x80,0x60,0x63,
0x00,0xE0,0x0B,0x0F,0x7E,0xE0,0xC0,0xCC,0x61,0x8C,0xC7,0xC7,0xC1,0x80,0xC0,0xC3,
0x00,0x00,0x7C,0x00,0x00,0x00,0xC3,0x8F,0xE1,0x8C,0xC4,0x67,0xE3,0x01,0x81,0x83,
0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC7,0x61,0x8F,0xE0,0x66,0x23,0x03,0x03,0x03,
0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x61,0x8F,0xE0,0x66,0x23,0x06,0x06,0x03,
0x00,0x00,0x00,0x00,0x00,0x00,0xC4,0xC0,0x61,0x80,0xC4,0x66,0x23,0x06,0x06,0x03,
0x00,0x00,0x00,0x00,0x00,0x00,0xDC,0xCC,0xE1,0x80,0xCC,0x66,0x23,0x06,0x26,0x23,
0x00,0x00,0x00,0x00,0x00,0x00,0xCD,0xCF,0xC1,0x80,0xC7,0xE7,0xE3,0x07,0xE7,0xE3,
0x00,0x00,0x00,0x00,0x00,0x00,0xC7,0x87,0x83,0xC3,0xE3,0xC3,0xC3,0x07,0xE7,0xE3,
0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
};
uchar code powerOnPhoto [] = { //開機畫面
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,
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,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,
0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,
0x00,0x03,0xFF,0xFB,0x7C,0x00,0x70,0x38,0x77,0xFA,0xBF,0xFF,0xFF,0xFF,0xE0,0x00,
0x00,0x03,0xFF,0xFA,0xFF,0xD7,0xF7,0xBF,0x40,0x86,0xDF,0xFF,0xFF,0xFF,0xE0,0x00,
0x00,0x03,0xFF,0xF6,0x06,0x00,0xF0,0x3B,0x5E,0xF6,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,
0x00,0x03,0xFF,0xE5,0xF6,0xD6,0xF7,0xBB,0x40,0x80,0x0F,0xFF,0xFF,0xFF,0xE0,0x00,
0x00,0x03,0xFF,0xD3,0xBE,0x00,0xF0,0x3B,0x5F,0xF6,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,
0x00,0x03,0xFF,0xF6,0xAF,0xDF,0xFF,0xF8,0x40,0xF4,0xDF,0xFF,0xFF,0xFF,0xE0,0x00,
0x00,0x03,0xFF,0xF6,0xAC,0x00,0x00,0x0F,0x4A,0xE2,0xBF,0xFF,0xFF,0xFF,0xE0,0x00,
0x00,0x03,0xFF,0xF5,0xB7,0xBB,0xED,0xFE,0x40,0x97,0x7F,0xFF,0xFF,0xFF,0xE0,0x00,
0x00,0x03,0xFF,0xF3,0xB7,0x17,0xE4,0x19,0x2A,0xF6,0x6F,0xFF,0xFF,0xFF,0xE0,0x00,
0x00,0x03,0xFF,0xF7,0xBF,0xE3,0xD9,0xFF,0x6A,0xF1,0xAD,0xEF,0xBE,0xF7,0xE0,0x00,
0x00,0x03,0xFF,0xF6,0x3C,0x1C,0xBC,0x0C,0x7C,0xC7,0xCF,0xFF,0xFF,0xFF,0xE0,0x00,
0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,
0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,
0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,
0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,
0x00,0x03,0xAB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x87,0xFF,0xF7,0xFF,0xE0,0x00,
0x00,0x03,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0x73,0xFF,0xE0,0x00,
0x00,0x03,0x00,0xBF,0xFF,0xFF,0xCF,0xFF,0xFF,0xFF,0xFE,0xF6,0x33,0xFF,0xE0,0x00,
0x00,0x03,0xC7,0xFF,0xFF,0xFF,0x1F,0xBF,0xFF,0xF3,0xFE,0xE4,0x13,0xFF,0xE0,0x00,
0x00,0x03,0xA3,0xFF,0xFF,0xFC,0x1C,0x7D,0xFF,0xFC,0xFF,0xC0,0x83,0xFF,0xE0,0x00,
0x00,0x03,0x6D,0xFF,0xFF,0xF0,0x30,0x71,0xFD,0xFF,0x3F,0xB9,0xC7,0xFF,0xE0,0x00,
0x00,0x03,0xEF,0xDF,0x8F,0xE0,0x00,0x43,0x7E,0x3F,0xCF,0xF9,0xF7,0xFF,0xE0,0x00,
0x00,0x03,0xFF,0xEF,0x07,0xC0,0x00,0x02,0x5F,0x07,0xE3,0xFB,0xFF,0xBF,0xE0,0x00,
0x00,0x03,0xEF,0xAE,0x63,0x80,0x00,0xE4,0x43,0xC0,0xF0,0xFF,0xFE,0xFF,0xE0,0x00,
0x00,0x03,0xFF,0xC6,0x93,0x80,0x00,0x10,0x40,0x70,0x18,0x7E,0x3E,0x5F,0xE0,0x00,
0x00,0x03,0xFF,0x46,0x2B,0x00,0x00,0x00,0xC0,0x00,0x04,0x3C,0x1E,0x3F,0xE0,0x00,
0x00,0x03,0xFF,0x82,0x28,0x00,0x00,0x00,0xC0,0xE0,0x00,0x18,0xCC,0x6F,0xE0,0x00,
0x00,0x03,0xFE,0x81,0x10,0x00,0x00,0x01,0x41,0x00,0x00,0x19,0x2C,0x5F,0xE0,0x00,
0x00,0x03,0xFF,0x01,0x80,0x00,0x3F,0x01,0x20,0x00,0x00,0x0A,0x88,0x17,0xE0,0x00,
0x00,0x03,0xFD,0x01,0xC0,0x00,0xFF,0x82,0x20,0x00,0x00,0x02,0x88,0x0F,0xE0,0x00,
0x00,0x03,0xFE,0x03,0xE0,0x00,0x03,0xC4,0x10,0x1F,0x80,0x01,0x10,0x07,0xE0,0x00,
0x00,0x03,0xFA,0x07,0xA0,0x00,0x07,0x08,0x11,0x3F,0xE0,0x00,0x3C,0x0F,0xE0,0x00,
0x00,0x03,0xFC,0x00,0x20,0x00,0x06,0x10,0x08,0xF8,0x00,0x00,0x7E,0x0B,0xE0,0x00,
0x00,0x03,0xF4,0x00,0x40,0x00,0x02,0x20,0x04,0x18,0x00,0x00,0x41,0x07,0xE0,0x00,
0x00,0x03,0xF8,0x07,0x80,0x04,0x4C,0x20,0x02,0x1C,0x00,0x00,0x40,0x06,0xE0,0x00,
0x00,0x03,0xFC,0x18,0x80,0x02,0x20,0x40,0x01,0x0C,0x00,0x00,0x40,0x04,0x60,0x00,
0x00,0x03,0xF4,0x28,0x40,0x05,0x10,0x40,0x00,0x88,0x00,0x00,0x60,0x06,0xE0,0x00,
0x00,0x03,0xE0,0x44,0x40,0x02,0x00,0x40,0x00,0x86,0x44,0x00,0x50,0x07,0xE0,0x00,
0x00,0x03,0xF0,0x42,0x21,0xC0,0x00,0x40,0x00,0x40,0x88,0x0F,0x80,0x02,0xE0,0x00,
0x00,0x03,0xF8,0x82,0x11,0x30,0x00,0x80,0x00,0x41,0x14,0x14,0xC4,0x03,0xE0,0x00,
0x00,0x03,0xD0,0x81,0x0E,0x2E,0x03,0x00,0x00,0x40,0x08,0x22,0x22,0x02,0xE0,0x00,
0x00,0x03,0xF0,0x81,0x00,0x23,0xFC,0x00,0x00,0x40,0x00,0x61,0x01,0x01,0xE0,0x00,
0x00,0x03,0xD8,0x81,0x00,0x22,0x00,0x00,0x00,0x20,0x01,0xA1,0x00,0x03,0x60,0x00,
0x00,0x03,0xF0,0x81,0x00,0x22,0x00,0x00,0x00,0x18,0x0E,0x40,0x80,0x81,0xA0,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,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,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"C:\Documents and Settings\Administrator\桌面\天祥電子原始圖片.BMP",0*/
};
/******************** 龍的圖案*****************************************/
uchar code BMP11[]={
/*-- 一幅圖像龍的圖案 KISS- 正向取模,字節(jié)正序*/
/*-- 寬度x高度=128x64 --*/
0xFF,0xFE,0xFE,0x80,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x01,0x7F,0x7F,0xFF,
0xE9,0x6E,0xEE,0x80,0x00,0x00,0x70,0x00,0x80,0x00,0x00,0x00,0x01,0x77,0x69,0x69,
0x96,0x96,0xEE,0x80,0x00,0x00,0x70,0x07,0x80,0x00,0x00,0x00,0x01,0x77,0x76,0x97,
0xE9,0x6E,0xE0,0x80,0x00,0x00,0xE6,0x1E,0x00,0x00,0x00,0x00,0x01,0x07,0x69,0x69,
0x96,0x96,0xFF,0x80,0x00,0x01,0xE8,0x78,0x00,0x00,0x00,0x00,0x01,0xFF,0x76,0x97,
0xE9,0x6E,0xFF,0x80,0x00,0x07,0xF7,0xFF,0xFF,0x80,0x00,0x00,0x01,0xFF,0x69,0x69,
0x96,0x96,0x00,0x80,0x00,0x0F,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x01,0x00,0x76,0x97,
0xE9,0x6F,0xFE,0x80,0x00,0x1F,0xF7,0xFF,0xF0,0x00,0x00,0x00,0x01,0x7F,0xE9,0x69,
0x96,0x97,0xFE,0x80,0x00,0xFF,0xFF,0x0F,0xF8,0x00,0x00,0x00,0x01,0x7F,0xF6,0x97,
0xE9,0x6E,0x0E,0x80,0x01,0xFF,0xFE,0xF6,0xFF,0x80,0x00,0x00,0x01,0x70,0x69,0x69,
0x96,0x96,0xEE,0x80,0x07,0xFF,0xF7,0xFF,0x1F,0xF8,0x00,0x00,0x01,0x77,0x76,0x97,
0xE9,0x6E,0xEE,0x80,0xFF,0xFF,0xF0,0x1E,0xFF,0xFE,0x00,0x00,0x01,0x77,0x69,0x69,
0x96,0x96,0xFE,0x81,0xFF,0x1F,0xF8,0x01,0xF7,0xE1,0x00,0x00,0x01,0x7F,0x76,0x97,
0xE9,0x6E,0x00,0x81,0xFE,0x1F,0xFF,0x00,0x97,0xF0,0x78,0x00,0x01,0x00,0x69,0x69,
0x96,0x97,0xFF,0x80,0x00,0x78,0x00,0x00,0x79,0xF8,0x68,0x00,0x01,0xFF,0xF6,0x97,
0xE9,0x6F,0xFF,0x80,0x00,0x70,0x00,0x00,0x71,0xFE,0x7E,0x00,0x01,0xFF,0xE9,0x69,
0x96,0x96,0x00,0x80,0x00,0x70,0x00,0x00,0x1F,0xFE,0x7F,0x00,0x01,0x00,0x76,0x97,
0xE9,0x6E,0xFE,0x80,0x00,0x70,0x00,0x00,0x1E,0xFE,0x97,0x80,0x01,0x7F,0x69,0x69,
0x96,0x96,0xEE,0x80,0x01,0xF0,0x00,0x00,0x0E,0xF8,0xFF,0xE0,0x01,0x77,0x76,0x97,
0xE9,0x6E,0xEE,0x80,0x00,0xF0,0x00,0x00,0x1E,0xFF,0x9F,0xF0,0x01,0x77,0x69,0x69,
0x96,0x96,0xE0,0x80,0x00,0x60,0x00,0x00,0x1E,0xEF,0xF9,0xF0,0x01,0x07,0x76,0x97,
0xE9,0x6E,0xFF,0x80,0x00,0x00,0x00,0x00,0x16,0xFF,0x99,0xF8,0x01,0xFF,0x69,0x69,
0x96,0x96,0xFF,0x80,0x00,0x00,0x00,0x00,0x79,0xFF,0x79,0xFE,0x01,0xFF,0x76,0x97,
0xE9,0x6E,0x00,0x80,0x00,0x00,0x00,0x00,0x7F,0xF9,0xFF,0xFE,0x01,0x00,0x69,0x69,
0x96,0x97,0xFE,0x80,0x00,0x00,0x00,0x01,0xE7,0xF9,0x7F,0xEF,0x01,0x7F,0xF6,0x97,
0xE9,0x6F,0xFE,0x80,0x00,0x00,0x00,0x01,0xEF,0xF8,0x07,0x87,0x01,0x7F,0xE9,0x69,
0x96,0x96,0x0E,0x80,0x00,0x00,0x00,0x1F,0x7F,0x98,0x07,0x01,0x01,0x70,0x76,0x97,
0xE9,0x6E,0xEE,0x80,0x00,0x00,0x00,0xFE,0xFF,0x90,0x00,0x00,0x81,0x77,0x69,0x69,
0x96,0x96,0xEE,0x80,0x00,0x00,0x01,0xF7,0xFF,0x10,0x00,0x00,0x01,0x77,0x76,0x97,
0xE9,0x6E,0xFE,0x80,0x00,0x00,0x1E,0xFF,0xFE,0x00,0x80,0x00,0x01,0x7F,0x69,0x69,
0x96,0x96,0x00,0x80,0x00,0x00,0x7F,0x7F,0xEE,0x1F,0xFE,0x00,0x01,0x00,0x76,0x97,
0xE9,0x6F,0xFF,0x80,0x00,0x00,0x8E,0xFF,0xE8,0x1F,0xFF,0x00,0x01,0xFF,0xE9,0x69,
0x96,0x97,0xFF,0x80,0x00,0x01,0xF9,0xF9,0xE8,0xFF,0xEF,0x00,0x01,0xFF,0xF6,0x97,
0xE9,0x6E,0x00,0x80,0x00,0x06,0xF7,0xF9,0x87,0xF0,0x01,0xE0,0x01,0x00,0x69,0x69,
0x96,0x96,0xFE,0x80,0x00,0x0F,0x6F,0xF9,0x8F,0xE0,0x00,0xE0,0x01,0x7F,0x76,0x97,
0xE9,0x6E,0xEE,0x80,0x00,0x1F,0x9F,0x11,0x0F,0x80,0x00,0x70,0x01,0x77,0x69,0x69,
0x96,0x96,0xEE,0x80,0x00,0x7F,0xFF,0x71,0x0F,0x00,0x01,0x91,0x01,0x77,0x76,0x97,
0xE9,0x6E,0xE0,0x80,0x00,0x16,0x7F,0x10,0x1F,0x80,0x00,0xFE,0x01,0x07,0x69,0x69,
0x96,0x96,0xFF,0x80,0x00,0xFF,0xFF,0x60,0x1F,0xE0,0x00,0x7E,0x01,0xFF,0x76,0x97,
0xE9,0x6E,0xFF,0x80,0x00,0xFE,0xFF,0x00,0x1F,0xFF,0x80,0x1E,0x01,0xFF,0x69,0x69,
0x96,0x96,0x00,0x80,0x00,0xFF,0xEF,0x00,0x0F,0xFF,0xF8,0x18,0x01,0x00,0x76,0x97,
0xE9,0x6F,0xFE,0x80,0x00,0x96,0xE7,0x00,0x07,0xFF,0xFE,0x0E,0x01,0x7F,0xE9,0x69,
0x96,0x97,0xFE,0x80,0x01,0xF9,0xE1,0x00,0x00,0xFF,0xFF,0x08,0x01,0x7F,0xF6,0x97,
0xE9,0x6E,0x0E,0x80,0x01,0xF9,0xF1,0x00,0x00,0x1F,0xFF,0x00,0x01,0x70,0x69,0x69,
0x96,0x96,0xEE,0x80,0x01,0xF9,0xF8,0x00,0x00,0x09,0xFF,0x80,0x01,0x77,0x76,0x97,
0xE9,0x6E,0xEE,0x80,0x01,0xF9,0xF8,0x00,0x00,0x07,0xFF,0x80,0x01,0x77,0x69,0x69,
0x96,0x96,0xFE,0x80,0x01,0x01,0xF8,0x00,0x00,0x01,0xFF,0xE0,0x01,0x7F,0x76,0x97,
0xE9,0x6E,0x00,0x80,0x01,0xF9,0x8E,0x00,0x00,0x00,0xFF,0x80,0x01,0x00,0x69,0x69,
0x96,0x97,0xFF,0x80,0x01,0xF9,0xE6,0x00,0x00,0x00,0x7F,0xE0,0x01,0xFF,0xF6,0x97,
0xE9,0x6F,0xFF,0x80,0x00,0xFE,0xF0,0x00,0x00,0x06,0x1F,0xE0,0x01,0xFF,0xE9,0x69,
0x96,0x96,0x00,0x80,0x00,0xF8,0xF8,0x00,0x00,0x07,0xFF,0xE0,0x01,0x00,0x76,0x97,
0xE9,0x6E,0xFE,0x80,0x00,0x96,0xFF,0x80,0x00,0x01,0xFF,0x80,0x01,0x7F,0x69,0x69,
0x96,0x96,0xEE,0x80,0x00,0x7F,0xF9,0x60,0x00,0x01,0xFF,0x80,0x01,0x77,0x76,0x97,
0xE9,0x6E,0xEE,0x80,0x00,0x7F,0x78,0x00,0x00,0x18,0xFF,0x80,0x01,0x77,0x69,0x69,
0x96,0x96,0xE0,0x80,0x00,0x79,0x7E,0x7F,0x01,0x10,0xFF,0x00,0x01,0x07,0x76,0x97,
0xE9,0x6E,0xFF,0x80,0x00,0x1F,0x9F,0xFE,0x1E,0x70,0xFF,0x00,0x01,0xFF,0x69,0x69,
0x96,0x96,0xFF,0x80,0x00,0x0F,0xEF,0xE0,0x78,0x79,0xFF,0x00,0x01,0xFF,0x76,0x97,
0xE9,0x6E,0x00,0x80,0x00,0x07,0x87,0xE1,0xF8,0xFF,0xFE,0x00,0x01,0x00,0x69,0x69,
0x96,0x97,0xFE,0x80,0x00,0x01,0xF9,0xFF,0xF9,0xFF,0xF8,0x00,0x01,0x7F,0xF6,0x97,
0xE9,0x6F,0xFE,0x80,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xF0,0x00,0x01,0x7F,0xE9,0x69,
0x96,0x96,0x0E,0x80,0x00,0x00,0x6F,0x7F,0xFF,0xFF,0xE0,0x00,0x01,0x70,0x76,0x97,
0xE9,0x6E,0xEE,0x80,0x00,0x00,0x1F,0x87,0xFF,0xFF,0x00,0x00,0x01,0x77,0x69,0x69,
0x96,0x96,0xEE,0x80,0x00,0x00,0x0F,0xF8,0xFF,0xF8,0x00,0x00,0x01,0x77,0x76,0x97,
0xFF,0xFE,0xFE,0x80,0x00,0x00,0x00,0x0E,0x70,0x00,0x00,0x00,0x01,0x7F,0x7F,0xFF,
};
/**********************音樂數據庫*******************************************************/
//天空之城 //音樂數據
uchar code Music_wo[]={ 0x10,0x03, 0x11,0x03, 0x15,0x66, 0x11,0x03, 0x15,0x02,
0x17,0x02, 0x11,0x01, 0x0D,0x02, 0x0D,0x02, 0x10,0x66,
0x0F,0x03, 0x10,0x02, 0x15,0x02, 0x0F,0x15, 0x0D,0x03,
0x0D,0x03, 0x0E,0x66, 0x0D,0x03, 0x0E,0x03, 0x15,0x66,
0x0D,0x01, 0x15,0x02, 0x15,0x02, 0x15,0x02, 0x11,0x66,
0x0E,0x03, 0x0E,0x02, 0x11,0x02, 0x11,0x15, 0x10,0x03,
0x11,0x03, 0x15,0x66, 0x11,0x03, 0x15,0x02, 0x17,0x02,
0x11,0x15, 0x0D,0x03, 0x0D,0x03, 0x10,0x66, 0x0F,0x03,
0x10,0x02, 0x15,0x02, 0x0F,0x01, 0x0D,0x03, 0x0E,0x02,
0x15,0x03, 0x11,0x03, 0x11,0x02, 0x15,0x02, 0x16,0x03,
0x16,0x03, 0x17,0x03, 0x15,0x16, 0x15,0x02, 0x11,0x03,
0x10,0x03, 0x10,0x03, 0x11,0x02, 0x0F,0x02, 0x10,0x15,
0x15,0x03, 0x16,0x03, 0x17,0x66, 0x16,0x03, 0x17,0x02,
0x19,0x02, 0x16,0x15, 0x0F,0x03, 0x0F,0x03, 0x15,0x03,
0x11,0x03, 0x15,0x02, 0x17,0x02, 0x17,0x15, 0x10,0x03,
0x11,0x03, 0x15,0x02, 0x11,0x02, 0x16,0x03, 0x16,0x03,
0x15,0x66, 0x0F,0x03, 0x0F,0x16, 0x18,0x02, 0x17,0x02,
0x16,0x02, 0x15,0x02, 0x17,0x00, 0x17,0x02, 0x1A,0x01,
0x19,0x02, 0x19,0x02, 0x17,0x03, 0x16,0x03, 0x15,0x02,
0x15,0x02, 0x16,0x02, 0x15,0x03, 0x16,0x03, 0x16,0x03,
0x19,0x02, 0x17,0x15, 0x17,0x02, 0x1A,0x01, 0x19,0x01,
0x17,0x03, 0x16,0x03, 0x15,0x01, 0x15,0x03, 0x16,0x02,
0x15,0x03, 0x16,0x03, 0x16,0x03, 0x11,0x02, 0x10,0x01,
0x00,0x00 };
//
/*---------------祝你生日快樂-------------------------------------------*/
uchar code Music_lz[]={ 0x0F,0x03, 0x0F,0x03, 0x10,0x02, 0x0F,0x02, 0x15,0x02,
0x11,0x01, 0x0F,0x03, 0x0F,0x03, 0x10,0x02, 0x0F,0x02,
0x16,0x02, 0x15,0x01, 0x0F,0x03, 0x0F,0x03, 0x19,0x02,
0x17,0x02, 0x15,0x02, 0x11,0x02, 0x10,0x02, 0x18,0x03,
0x18,0x03, 0x17,0x02, 0x15,0x02, 0x16,0x02, 0x15,0x01,
0x0F,0x03, 0x0F,0x03, 0x10,0x02, 0x0F,0x02, 0x15,0x02,
0x11,0x01, 0x0F,0x03, 0x0F,0x03, 0x10,0x02, 0x0F,0x02,
0x16,0x02, 0x15,0x01, 0x0F,0x03, 0x0F,0x03, 0x19,0x02,
0x17,0x02, 0x15,0x02, 0x11,0x02, 0x10,0x02, 0x18,0x03,
0x18,0x03, 0x17,0x02, 0x15,0x02, 0x16,0x02, 0x15,0x01,
0x0F,0x03, 0x0F,0x03, 0x10,0x02, 0x0F,0x02, 0x15,0x02,
0x11,0x01, 0x0F,0x03, 0x0F,0x03, 0x10,0x02, 0x0F,0x02,
0x16,0x02, 0x15,0x01, 0x0F,0x03, 0x0F,0x03, 0x19,0x02,
0x17,0x02, 0x15,0x02, 0x11,0x02, 0x10,0x02, 0x18,0x03,
0x18,0x03, 0x17,0x02, 0x15,0x02, 0x16,0x02, 0x15,0x01,
0x00,0x00 };
/*********************圖形溫度機用的數據庫***********************************************/
uchar code wendu1[]=
{
0xff,0xff,//64
0x85,0x01,//63
0x88,0x99,//62
0x98,0xc1,//61
0x98,0xc1,//60
0x98,0xc1,//59
0x98,0xc1,//58
0x98,0xd1,//57
0x98,0xc1,//56
0x98,0xc1,//55
0x98,0xc1,//54
0x98,0xc1,//53
0x98,0xd9,//52
0x98,0xc1,//51
0x98,0xc1,//50
0x98,0xc1,//49
0x98,0xc1,//48
0x98,0xd1,//47
0x98,0xc1,//46
0x98,0xc1,//45
0x98,0xc1,//44
0x98,0xc1,//43
0x98,0xd9,//42
0x98,0xc1,//41
0x98,0xc1,//40
0x98,0xc1,//39
0x98,0xc1,//38
0x98,0xd1,//37
0x98,0xc1,//36
0x98,0xc1,//35
0x98,0xc1,//34
0x98,0xc1,//33
0x98,0xd9,//32
0x98,0xc1,//31
0x98,0xc1,//30
0x98,0xc1,//29
0x98,0xc1,//28
0x98,0xd1,//27
0x98,0xc1,//26
0x98,0xc1,//25
0x98,0xc1,//24
0x98,0xc1,//23
0x98,0xd9,//22
0x98,0xc1,//21
0x98,0xc1,//20
0x98,0xc1,//19
0x98,0xc1,//18
0x98,0xd1,//17
0x98,0xc1,//16
0x98,0xc1,//15
0x98,0xc1,//14
0x98,0xc1,//13
0x98,0xd9,//12
0x98,0xc1,//11
0x98,0xc1,//10
0x98,0xc1,//09
0x98,0xc1,//08
0x98,0xd1,//07
0x98,0xc1,//06
0x98,0xc1,//05
0x98,0xc1,//04
0x98,0xc1,//03
0xbf,0xe1,//02
0xff,0xff,//01
};
uchar code wendu2[]=
{
0x57,0x7f,//64
0x55,0x01,
0x75,0x01,
0x15,0x01,
0x17,0x01,
0x00,0x01,
0x00,0x01,
0x00,0x01,
0x00,0x01,
0x00,0x01,
0x77,0x01,//54
0x15,0x01,
0x75,0x01,
0x15,0x01,
0x77,0x01,
0x00,0x01,
0x00,0x01,
0x00,0x01,
0x00,0x01,
0x00,0x01,
0x77,0x01,//44
0x15,0x01,
0x75,0x01,
0x45,0x01,
0x77,0x01,
0x00,0x01,
0x00,0x01,
0x00,0x01,
0x00,0x01,
0x00,0x01,
0x27,0x01,//34
0x25,0x01,
0x25,0x01,
0x25,0x01,
0x27,0x01,
0x00,0x01,
0x00,0x01,
0x00,0x01,
0x00,0x01,
0x00,0x01,
0x27,0x01,//24
0x75,0x01,
0x25,0x01,
0x05,0x01,
0x77,0x01,
0x00,0x01,
0x00,0x01,
0x00,0x01,
0x00,0x01,
0x00,0x01,
0x27,0x01,//14
0x25,0x01,
0x25,0x01,
0x25,0x01,
0x27,0x01,
0x00,0x01,
0x00,0x01,
0x00,0x01,
0x00,0x01,
0x77,0x01,
0x15,0x01,//04
0x75,0x01,
0x45,0x01,
0x77,0x7f,
};
uchar code wendu3[10][5]=
{
{0x70,0x50,0x50,0x50,0x70}, //0
{0x20,0x20,0x20,0x20,0x20}, //1
{0x70,0x10,0x70,0x40,0x70}, //2
{0x70,0x10,0x70,0x10,0x70}, //3
{0x50,0x50,0x70,0x10,0x10}, //4
{0x70,0x40,0x70,0x10,0x70}, //5
{0x70,0x40,0x70,0x50,0x70}, //6
{0x70,0x10,0x10,0x10,0x10}, //7
{0x70,0x50,0x70,0x50,0x70}, //8
{0x70,0x50,0x70,0x10,0x70}, //9
};
/*
void Timer_init(void) //12.5ms中斷一次
{
IE=0x8B;// -------------------10001011 //中斷允許 定時1 定時0 外中斷0
IT0=1;//-------------------//外中斷為邊沿觸發(fā)
TMOD=0x11; //---------------//定時器0 1 模式1(16位)
TH1=0X3C; // (65536-50000)/256; //24M晶振
TL1=0XB0; //(65536-50000)%256;
PX0=1; //外中斷優(yōu)先
PT1=1; //定時器1優(yōu)先
PT0=1; //定時器0優(yōu)先
TR1=1;//------------------//開定時器運}
EA=1;
} */
void KEY_procon(void)
{
if(key!=0&&((KEY_1==0)||(KEY_2==0)||(KEY_3==0)||(KEY_4==0))) //按鍵判斷
{ key--;
if(!key) //自減延時
//-------------------------------------
{
if(KEY_1==0)
{DelayM(20);
if(KEY_1==0)
{adj=1 ;}
while(KEY_1== 0);DelayM(20);//等待鍵松開
} //最高位置1,表示菜單
//-------------------------------------
if (KEY_2==0)
{DelayM(20);
if (KEY_2==0)
{adj=2;}
while(KEY_2 == 0);DelayM(20);//等待鍵松開
} //最高位置2,表示加
//-------------------------------------
if (KEY_3==0)
{DelayM(20);
if (KEY_3==0)
{adj=3;}
while(KEY_3 == 0);DelayM(20);//等待鍵松開
} //最高位置3,表示減
//-------------------------------------
if (KEY_4==0)
{DelayM(20);
if (KEY_4==0)
{ adj=4;}
while(KEY_4 == 0);DelayM(20);//等待鍵松開
} //最高位置4,表示退出
}}
else
if(KEY_1&&KEY_2&&KEY_3&&KEY_4)
{key=KEY_VAL;}//防止按鍵連動
}
/*********************************************************************************************
函數名:毫秒級CPU延時函數
調 用:DELAY_MS (?);
參 數:1~65535(參數不可為0)
返回值:無
結 果:占用CPU方式延時與參數數值相同的毫秒時間
備 注:應用于1T單片機時i<600,應用于12T單片機時i<125
/*********************************************************************************************/
void DELAY_MS(unsigned int a){//延時函數 1MS/次
unsigned int i;
while( --a != 0){
for(i = 0; i < 600; i++); //一個 ; 表示空語句,CPU空轉。
} //i 從0加到125,CPU大概就耗時1毫秒
}
/*********************************************************************************************/
/*********************************************************************************************
函數名:蜂鳴器用延時函數
調 用:Delay (?);
參 數:1~65535(參數不可為0)
返回值:無
結 果:占用CPU方式延時與參數數值相同的微秒時間
備 注:蜂鳴器專用
/*********************************************************************************************/
void Delay(int num){//蜂鳴器用延時函數
while(num--) ;
}
/*********************************************************************************************/
/*********************************************************************************************
函數名:蜂鳴器驅動函數
調 用:
參 數:無
返回值:無
結 果:占用CPU方式延時與參數數值相同的微秒時間
備 注:蜂鳴器專用
/*********************************************************************************************/
void Beep(void){//揚聲器--開機音
unsigned char a;//定義變量用于發(fā)聲的長度設置
for(a=60;a>0;a--){//第一個聲音的長度
beep = ~beep;//取反揚聲器驅動口,以產生音頻
Delay(600);//音調設置延時
}
for(a=100;a>0;a--){//同上
beep = ~beep;
Delay(480);//
}
for(a=100;a>0;a--){//同上
beep = ~beep;
Delay(180);//
}
beep = 1;//音樂結束后揚聲器拉高關閉
}
/*****************************************************************************/
void Beep_set(void){//揚聲器--確定設置
unsigned char a;//定義變量用于發(fā)聲的長度設置
for(a=50;a>0;a--){//第一個聲音的長度
beep = ~beep;//取反揚聲器驅動口,以產生音頻
Delay(600);//音調設置延時
}
for(a=100;a>0;a--){//同上
beep = ~beep;
Delay(300);//
}
for(a=50;a>0;a--){//同上
beep = ~beep;
Delay(600);//
}
beep = 1;//音樂結束后揚聲器拉高關閉
}
/*****************************************************************************/
void Beep_key(void){//揚聲器--按鍵音
unsigned char a;//定義變量用于發(fā)聲的長度設置
for(a=100;a>0;a--){//聲音的長度
beep = ~beep;
Delay(300);//音調設置延時
}
beep = 1;//音樂結束后揚聲器拉高關閉
}
/*****************************************************************************/
void Beep_bs(void){//揚聲器--整點報時
unsigned char a;//定義變量用于發(fā)聲的長度設置
for(a=150;a>0;a--){//第一個聲音的長度
beep = ~beep;//取反揚聲器驅動口,以產生音頻
Delay(400);//音調設置延時
}
DELAY_MS(500);
for(a=150;a>0;a--){//同上
beep = ~beep;
Delay(400);//
}
DELAY_MS(500);
for(a=150;a>0;a--){//第一個聲音的長度
beep = ~beep;//取反揚聲器驅動口,以產生音頻
Delay(400);//音調設置延時
}
DELAY_MS(500);
for(a=250;a>0;a--){//同上
beep = ~beep;
Delay(200);//
}
beep = 1;//音樂結束后揚聲器拉高關閉
}
/*****************************************************************************/
void Beep_al(void){//揚聲器--鬧鐘
unsigned int a;//定義變量用于發(fā)聲的長度設置
for(a=2500;a>0;a--){//
beep = ~beep;
Delay(180);//
}
beep = 1;//音樂結束后揚聲器拉高關閉
}
/******************************************************************************/
//LCD驅動(DY12864CBL液晶顯示屏并口驅動程序)
/******************************************************************************/
void chk_busy(){//檢查忙位(底層)
PSB=1;
RS=0;
RW=1;
E=1;
Lcd_Bus=0xff;
while((Lcd_Bus&0x80)==0x80);
_nop_();//并口驅動一個nop足夠了!
E=0;
}
/*********************************************************
** 函數名稱:write_12864_cmd(uchar cmd)
** 功能描述: 12864寫入一個指令函數
** 輸 入: cmd : 指令碼
** 輸出 : 無
** 全局變量: 無
** 調用模塊: uchar busy_12864()
** 說明:
** 注意:
*********************************************************/
void write_12864_cmd(unsigned char cmdcode){//寫命令到LCD(底層)
PSB=1;
chk_busy();
RS=0;
RW=0;
Lcd_Bus=cmdcode;
E=1;
_nop_();//并口驅動一個nop足夠了!DELAY_MS(1); //延時是必須的
E=0;
}
/******************************************************************************/
void write_data(unsigned char Dispdata){ //寫數據到LCD(底層)
PSB=1;
chk_busy();
_nop_();//并口驅動一個nop足夠了!DELAY_MS(1); //延時是必須的
RS=1;
RW=0;
E=1;
Lcd_Bus=Dispdata;
_nop_();//并口驅動一個nop足夠了!DELAY_MS(1); //延時是必須的
E=0;
}
/******************************************************************************/
void lcm_init(){//初始化LCD屏(被調用層)
PSB=1;
_nop_();//并口驅動一個nop足夠了!DELAY_MS(200); //啟動等待,等LCM講入工作狀態(tài)
write_12864_cmd(0x30); //選擇8bit數據流
write_12864_cmd(0x0c); //開顯示(無游標、不反白)
write_12864_cmd(0x01); //清除顯示,并且設定地址指針為00H
_nop_();//并口驅動一個nop足夠了!DELAY_MS(200); //啟動等待,等LCM講入工作狀態(tài)
}
/*****************************************************************************/
void lcm_w_word(unsigned char *s){//向LCM發(fā)送一個字符串,長度64字符之內。(被調用層)
while(*s>0){ //應用:lcm_w_word("您好!");
write_data(*s);
s++;
}
}
/******************************************************************************/
void lcm_w_test(bit i,unsigned char word){//寫指令或數據(被調用層)
if(i == 0){write_12864_cmd(word);//寫指令或數據(0,指令)
_nop_();}//并口驅動一個nop足夠了!
else{write_data(word);//寫指令或數據(1,數據)
_nop_();}//并口驅動一個nop足夠了!
}
/*寫LCD 參數格式:0:命令,1:數值 ,數據*/
void wr_lcd (uchar dat_comm,uchar content)
{
chk_busy();
RS =dat_comm;
_nop_();
RW = 0; // 寫
Lcd_Bus =content; // 輸出數據或命令
_nop_();
E=1;
_nop_();
E=0;
}
/******************************************************************************/
void lcm_clr(void){//清屏函數
lcm_w_test(0,0x01);
_nop_();//并口驅動一個nop足夠了啟動等待,等LCM講入工作狀態(tài)
}
//===========================================================
//讀數據
uchar lcdReadData (void)
{
uchar dat;
chk_busy();
RS=1;
RW=1;
E=1;
dat=Lcd_Bus;
_nop_();
E=0;
return dat;
}
/**********************************************************
//函數功能:使用繪圖的方法讓一個16*16的漢字符反白
//形式參數:uchar x,uchar y,uchar wide,uchar bkcor
//行參說明:坐標水平位置,坐標垂直位置,反白行數,要反白還是清除(1:反白,0:清除)
//返回參數:無
//使用說明:無
//**********************************************************/
void write1616GDRAM(uchar x,uchar y,uchar sign,uchar *bmp)
{
uchar i,j,basex;
write_12864_cmd(0x36); //擴展指令,寫圖片時,關圖片顯示
if(y==1||y==2) //第一第二行
{basex=0x80; //上半屏
y=(y-1)*16;} //垂直位址從0X80開始.
if(y==3||y==4) //第三第四行
{basex=0x88; //下半屏
y=(y-3)*16;} //垂直位址都是從0X80開始的,不管上下半屏。
for(i=0;i<16;i++) //
{write_12864_cmd(0x80+y+i); //寫入垂直位址。
write_12864_cmd(basex+x-1); //再寫入水平位址(上半屏第一字為0X80,……第七字為0X87)
//下半屏第一字為0X88,……第七字為0X8F;
for(j=0;j<2;j++) //再寫入兩個8位元的數據,AC會自動增一,接著寫數據
{if(sign==1)
write_data(~(*bmp++));
else
write_data(*bmp++);}}
write_12864_cmd(0x36); //寫完數據,開圖片顯示
}
/**************************************************************************************
//函數功能:顯示16X16圖形,適用于st7920型液晶
//形式參數:uchar x,uchar y,uchar *bmp
//行參說明:橫坐標X列,縱坐標Y行,sign=1反白、=0不反,tt是要顯示的圖形bmp1616中的第幾個
//************************************************************************************/
void set16162pic(uchar x,uchar y,uchar sign,uchar tt) //固定數組了,只有TT選擇是哪一個顯示
{ uchar (*pp)[32]; //定義指針
pp=running; //二維數組首地址給指針,故指針指向下一個數組地址應為加64
write1616GDRAM(x,y,sign,pp[tt]); //寫入小時的十位
}
//===============================================
//顯時文本
void dispS2tring (uchar x,y,char *msg)
{
write_12864_cmd(0x30);
switch(x)
{
case 0:x=0x80;break;
case 1:x=0x90;break;
case 2:x=0x88;break;
case 3:x=0x98;break;
}
y =x+y;
write_12864_cmd(y);
while (*msg)
{
write_data(*msg++);
}}
//===============================================
void dispString (uchar X, Y, speed, uchar *msg)
{
if (X == 0)
{X = 0x80;}
else if (X == 1)
{X = 0x90;}
else if (X == 2)
{X = 0x88;}
else if (X == 3)
{X = 0x98;}
Y = X + Y;
write_12864_cmd(Y);
while (*msg)
{write_data(*msg++);DELAY_MS(speed);}}
void Disp_Img(unsigned char code *img)
{ unsigned int j=0;
unsigned char x,y,i;
for(i=0;i<9;i+=8)
for(y=0;y<32;y++)/*原來 為 y<26 ,上下兩個半屏不能正常對接顯示,導致顯示的圖片中間有空隙*/
for(x=0;x<8;x++)
{ write_12864_cmd(0x36);//功能設置---8BIT控制界面,擴充指令集
write_12864_cmd(y+0x80); //行地址
write_12864_cmd(x+0x80+i); //列地址
write_12864_cmd(0x30);
write_data(img[j++]); //寫數據還要回到基本指令集
write_data(img[j++]);
} }
//寫入坐標
void wrPosition2 (uchar x,uchar y)
{
write_12864_cmd(0x34);
write_12864_cmd(y);
write_12864_cmd(x);
write_12864_cmd(0x30);
}
//===============================================
void wrPosition (void)
{ write_12864_cmd(0x34);
write_12864_cmd(lcdPosY);
write_12864_cmd(lcdPosX);
write_12864_cmd(0x30);}
//===========================================================
//顯示圖片
void dispPic(uchar *bmp)
{
uchar i,j;
uchar *p1,*p2;
uchar x=0x80,y=0x80;
p1=bmp;p2=bmp+512;
write_12864_cmd(0x34); //擴充指令集
for (i=0;i<32;i++)
{
wrPosition2(x,y);
for (j=0;j<16;j++)
write_data (*p1++);
for (j=0;j<16;j++)
write_data(*p2++);
y++;
}
write_12864_cmd(0x36);
write_12864_cmd(0x30);
}
//===========================================================
//打點
void dispDot(uchar posx,uchar posy,uchar color)
{
union int2char //利用共用體,將int和char類型數據互換
{
int intdata;
char chardata[2];
}tran;
uchar x,y;
if(posx > 127 || posy > 63) return; //參數錯誤,退出
if(posy > 31) //128*64點轉化為真實的位置256*32點
{
posx += 128;
posy -= 32;
}
x = 0x80 + posx / 16; //轉化為字節(jié)坐標值
y = 0x80 + posy;
wrPosition2(x,y); //寫入坐標值
lcdReadData(); //先執(zhí)行一次空的讀數據
tran.chardata[0] = lcdReadData(); //讀取高8位
tran.chardata[1] = lcdReadData(); //讀取低8位
if(color) tran.intdata |= 1 << (15 - (posx & 0x0f)); //修改數據(寫點)
else tran.intdata &= ~ (1 << (15 - (posx & 0x0f))); //修改數據(清點)
write_12864_cmd(0x34); //擴充指令集
wrPosition2(x,y); //寫入坐標值
write_data(tran.chardata[0]); //寫入高8位
write_data (tran.chardata[1]); //寫入低8位
write_12864_cmd(0x36); //開圖形顯示
write_12864_cmd(0x30); //基本指令集
}
//===========================================================
//基于打點的Bresenham畫線
void dispLine23(char x0,char y0,char x1,char y1,char color)
{
int dx,dy,sub; //定義起點到終點的橫、縱坐標增加值
int s1,s2,status,i;
dx=x1-x0;
if(dx>=0) s1=1; //X的方向是增加的
else {dx = -dx; s1=-1; } //X的方向是降低的
dy=y1-y0; //判斷Y的方向是增加還是降低的
if(dy>=0) s2=1;
else {dy = -dy; s2=-1; }
if(dy>dx)
{ //以45度角為分界線,靠進Y軸是status=1,靠近X軸是status=0
dx = dx + dy;
dy = dx - dy;
dx = dx - dy;
status=1;
}
else
status=0;
/*********Bresenham算法畫任意兩點間的直線********/
sub=2*dy-dx; //第1次判斷下個點的位置
for(i=0;i<=dx;i++)
{
dispDot(x0,y0,color); //畫點
if(sub>=0)
{
if(status==1) x0+=s1; //在靠近Y軸區(qū),x值加1
else y0+=s2; //在靠近X軸區(qū),y值加1
sub-=2*dx; //判斷下下個點的位置
}
if(status==1) y0+=s2;
else x0+=s1;
sub+=2*dy;
}
}
//===============================================
//顯時線
void dispLine(uchar lie,hang,dat1,dat2)
{ uchar x=0x80+lie,y=0x80+hang;
write_12864_cmd(0x34); //擴充指令集 lcdWriteData
lcdPosX = 0x80+lie;
lcdPosY = 0x80+hang;
wrPosition2(x,y);
write_data (dat1);
write_data (dat2);
write_12864_cmd(0x36);
write_12864_cmd(0x30);
}
//===========================================================
//基于打點的miniNum顯示
void dispMiniNum(uchar posx, uchar posy, uchar *a)
{
uchar i,j;
for(i = 0; i < 5; i ++)
for(j = 0; j < 3; j ++)
dispDot(posx + j, posy + i, *a++);
}
//===============================================
void displayPhoto (uchar *bmp, uchar bmpCls)
{
lcdPosX = 0x80;
halfScr = 2;
for (;halfScr != 0; halfScr--)
{
lcdPosY = 0x80;
halfLineCnt = 32;
for (;halfLineCnt != 0; halfLineCnt--)
{
basicBlock = 16;
wrPosition ();
for (; basicBlock != 0; basicBlock--)
{
if (bmpCls == 0)
{
write_data (*bmp++);
}
else if (bmpCls == 1)
{
write_data (0x00);
}
}
lcdPosY++;
}
lcdPosX = 0x88;
}
write_12864_cmd(0x36);
write_12864_cmd(0x30);
}
//===============================================
void convertChar (uchar CX, CY, width)
{
displayPhoto(0,1);
lcdPosY = 0x80;
if (CX == 0)
{
CX = 0x80;
halfLineCnt = 16;
}
else if (CX == 1)
{
CX = 0x80;
halfLineCnt = 32;
}
else if (CX == 2)
{
CX = 0x88;
halfLineCnt = 16;
}
else if (CX == 3)
{
CX = 0x88;
halfLineCnt = 32;
}
lcdPosX = CX + CY;
for (; halfLineCnt != 0; halfLineCnt--)
{
basicBlock = width;
wrPosition();
for (;basicBlock != 0; basicBlock--)
{
if (halfLineCnt > 16)
{
write_data(0x00);
}
else
{
write_data(0xff);
}
}
lcdPosY++;
}
write_12864_cmd(0x36);
write_12864_cmd(0x30);
}
/********************************************************************************************************
清理圖片緩沖區(qū)
********************************************************************************************************/
void clear_img()
{ uchar i,j;
for(i=0;i<32;i++)
{ write_12864_cmd(0x80+i);
write_12864_cmd(0x80);
for(j=0;j<16;j++)
{write_data(0x00);}}
for(i=0;i<32;i++)
{write_12864_cmd(0x80+i);
write_12864_cmd(0x88);
for(j=0;j<16;j++)
{write_data(0x00);}
}}
/*********************************************************************************************
函數名:1302驅動程序
調 用:
參 數:無
返回值:無
結 果:
備 注:適用于DS1302芯片+32.768KHz6pF晶體
/**********************************************************************************************/
//1302驅動程序(底層協(xié)議)
void clock_out(unsigned char Timdd){
ACC=Timdd;
clock_dat=a0; clock_clk=1; clock_clk=0;clock_dat=a1; clock_clk=1; clock_clk=0;
clock_dat=a2; clock_clk=1; clock_clk=0;clock_dat=a3; clock_clk=1; clock_clk=0;
clock_dat=a4; clock_clk=1; clock_clk=0;clock_dat=a5; clock_clk=1; clock_clk=0;
clock_dat=a6; clock_clk=1; clock_clk=0;clock_dat=a7; clock_clk=1; clock_clk=0;
}
/*****************************************************************************/
//DS1302寫數據(底層協(xié)議)
void write_clock(unsigned char ord, unsigned char Tidd){
clock_clk=0;
clock_Rst=0;
clock_Rst=1;
clock_out(ord);
clock_out(Tidd);
clock_Rst=0;
clock_clk=1;
}
/*****************************************************************************/
//DS1302寫入字節(jié)(底層協(xié)議)
unsigned char clock_in(void){
clock_dat=1;
a0=clock_dat;
clock_clk=1; clock_clk=0; a1=clock_dat;
clock_clk=1; clock_clk=0; a2=clock_dat;
clock_clk=1; clock_clk=0; a3=clock_dat;
clock_clk=1; clock_clk=0; a4=clock_dat;
clock_clk=1; clock_clk=0; a5=clock_dat;
clock_clk=1; clock_clk=0; a6=clock_dat;
clock_clk=1; clock_clk=0; a7=clock_dat;
return(ACC);
}
/*****************************************************************************/
//DS1302讀數據(底層協(xié)議)
unsigned char read_clock(unsigned char ord){
unsigned char Timedd=0;
clock_clk=0;
clock_Rst=0;
clock_Rst=1;
clock_out(ord);
Timedd=clock_in();
clock_Rst=0;
clock_clk=1;
return(Timedd);
}
/*****************************************************************************/
/*****************************************************************************/
/*****************************************************************************/
//DS1302時鐘芯片驅動程序
/*****************************************************************************/
//常用時鐘數據讀取
void read_clockS(void){
ss = read_clock(0x81); //讀取秒數據
mm = read_clock(0x83); //讀取分鐘數據
hh = read_clock(0x85); //小時
days = read_clock(0x87);//日
mo = read_clock(0x89); //月
xinq = read_clock(0x8b);//星期
yy = read_clock(0x8d); //年
t=ss/16*10+ss%16;
year_10=(mo/16*10)+mo%16;
}
/*********************************************************************************************
函數名:1302初始化程序
調 用:Init_1302();
參 數:無
返回值:無
結 果:初始化時鐘芯片,自動檢測并初始化
備 注:適用于DS1302芯片+32.768KHz6pF晶體
/**********************************************************************************************/
//設置1302的初始時間(如果時鐘芯片停止自動初始化)
void Init_1302(void){//-設置1302的初始時間(2010年1月1日00時00分00秒星期一)
unsigned char f;
if(read_clock(0x81) == 0x80){
write_clock(0x8e,0x00);//允許寫操作
write_clock(0x8c,0x10);//年
write_clock(0x8a,0x01);//星期
write_clock(0x88,0x01);//月
write_clock(0x86,0x01);//日
write_clock(0x84,0x00);//小時
write_clock(0x82,0x00);//分鐘
write_clock(0x80,0x50);//秒
write_clock(0x90,0xa5);//充電設置(0x05不充電,0xa5充電)
for(f=0;f<60;f=f+2){//清除鬧鐘RAM位為0
write_clock(0xc0+f,0x00);
}
write_clock(0xC0,0x01);//0XC1用于開機LOGO的儲存
write_clock(0xC4,0x09);//背光初始為亮度9
write_clock(0x8e,0x80);//禁止寫操作
}
}
/*
公歷年對應的農歷數據,每年三字節(jié),
格式第一字節(jié)BIT7-4 位表示閏月月份,值為0 為無閏月,BIT3-0 對應農歷第1-4 月的大小
第二字節(jié)BIT7-0 對應農歷第5-12 月大小,第三字節(jié)BIT7 表示農歷第13 個月大小
月份對應的位為1 表示本農歷月大(30 天),為0 表示小(29 天)
第三字節(jié)BIT6-5 表示春節(jié)的公歷月份,BIT4-0 表示春節(jié)的公歷日期 */
code uchar year_code[] = {
/* 0x04,0xAe,0x53, //1901 0
0x0A,0x57,0x48, //1902 3
0x55,0x26,0xBd, //1903 6
0x0d,0x26,0x50, //1904 9
0x0d,0x95,0x44, //1905 12
0x46,0xAA,0xB9, //1906 15
0x05,0x6A,0x4d, //1907 18
0x09,0xAd,0x42, //1908 21
0x24,0xAe,0xB6, //1909
0x04,0xAe,0x4A, //1910
0x6A,0x4d,0xBe, //1911
0x0A,0x4d,0x52, //1912
0x0d,0x25,0x46, //1913
0x5d,0x52,0xBA, //1914
0x0B,0x54,0x4e, //1915
0x0d,0x6A,0x43, //1916
0x29,0x6d,0x37, //1917
0x09,0x5B,0x4B, //1918
0x74,0x9B,0xC1, //1919
0x04,0x97,0x54, //1920
0x0A,0x4B,0x48, //1921
0x5B,0x25,0xBC, //1922
0x06,0xA5,0x50, //1923
0x06,0xd4,0x45, //1924
0x4A,0xdA,0xB8, //1925
0x02,0xB6,0x4d, //1926
0x09,0x57,0x42, //1927
0x24,0x97,0xB7, //1928
0x04,0x97,0x4A, //1929
0x66,0x4B,0x3e, //1930
0x0d,0x4A,0x51, //1931
0x0e,0xA5,0x46, //1932
0x56,0xd4,0xBA, //1933
0x05,0xAd,0x4e, //1934
0x02,0xB6,0x44, //1935
0x39,0x37,0x38, //1936
0x09,0x2e,0x4B, //1937
0x7C,0x96,0xBf, //1938
0x0C,0x95,0x53, //1939
0x0d,0x4A,0x48, //1940
0x6d,0xA5,0x3B, //1941
0x0B,0x55,0x4f, //1942
0x05,0x6A,0x45, //1943
0x4A,0xAd,0xB9, //1944
0x02,0x5d,0x4d, //1945
0x09,0x2d,0x42, //1946
0x2C,0x95,0xB6, //1947
0x0A,0x95,0x4A, //1948
0x7B,0x4A,0xBd, //1949
0x06,0xCA,0x51, //1950
0x0B,0x55,0x46, //1951
0x55,0x5A,0xBB, //1952
0x04,0xdA,0x4e, //1953
0x0A,0x5B,0x43, //1954
0x35,0x2B,0xB8, //1955
0x05,0x2B,0x4C, //1956
0x8A,0x95,0x3f, //1957
0x0e,0x95,0x52, //1958
0x06,0xAA,0x48, //1959
0x7A,0xd5,0x3C, //1960
0x0A,0xB5,0x4f, //1961
0x04,0xB6,0x45, //1962
0x4A,0x57,0x39, //1963
0x0A,0x57,0x4d, //1964
0x05,0x26,0x42, //1965
0x3e,0x93,0x35, //1966
0x0d,0x95,0x49, //1967
0x75,0xAA,0xBe, //1968
0x05,0x6A,0x51, //1969
0x09,0x6d,0x46, //1970
0x54,0xAe,0xBB, //1971
0x04,0xAd,0x4f, //1972
0x0A,0x4d,0x43, //1973
0x4d,0x26,0xB7, //1974
0x0d,0x25,0x4B, //1975
0x8d,0x52,0xBf, //1976
0x0B,0x54,0x52, //1977
0x0B,0x6A,0x47, //1978
0x69,0x6d,0x3C, //1979
0x09,0x5B,0x50, //1980
0x04,0x9B,0x45, //1981
0x4A,0x4B,0xB9, //1982
0x0A,0x4B,0x4d, //1983
0xAB,0x25,0xC2, //1984
0x06,0xA5,0x54, //1985
0x06,0xd4,0x49, //1986
0x6A,0xdA,0x3d, //1987
0x0A,0xB6,0x51, //1988
0x09,0x37,0x46, //1989
0x54,0x97,0xBB, //1990
0x04,0x97,0x4f, //1991
0x06,0x4B,0x44, //1992
0x36,0xA5,0x37, //1993
0x0e,0xA5,0x4A, //1994
0x86,0xB2,0xBf, //1995
0x05,0xAC,0x53, //1996
0x0A,0xB6,0x47, //1997
0x59,0x36,0xBC, //1998
0x09,0x2e,0x50, //1999 294 */
0x0C,0x96,0x45, //2000 297
0x4d,0x4A,0xB8, //2001
0x0d,0x4A,0x4C, //2002
0x0d,0xA5,0x41, //2003
0x25,0xAA,0xB6, //2004
0x05,0x6A,0x49, //2005
0x7A,0xAd,0xBd, //2006
0x02,0x5d,0x52, //2007
0x09,0x2d,0x47, //2008
0x5C,0x95,0xBA, //2009
0x0A,0x95,0x4e, //2010
0x0B,0x4A,0x43, //2011
0x4B,0x55,0x37, //2012
0x0A,0xd5,0x4A, //2013
0x95,0x5A,0xBf, //2014
0x04,0xBA,0x53, //2015
0x0A,0x5B,0x48, //2016
0x65,0x2B,0xBC, //2017
0x05,0x2B,0x50, //2018
0x0A,0x93,0x45, //2019
0x47,0x4A,0xB9, //2020
0x06,0xAA,0x4C, //2021
0x0A,0xd5,0x41, //2022
0x24,0xdA,0xB6, //2023
0x04,0xB6,0x4A, //2024
0x69,0x57,0x3d, //2025
0x0A,0x4e,0x51, //2026
0x0d,0x26,0x46, //2027
0x5e,0x93,0x3A, //2028
0x0d,0x53,0x4d, //2029
0x05,0xAA,0x43, //2030
0x36,0xB5,0x37, //2031
0x09,0x6d,0x4B, //2032
0xB4,0xAe,0xBf, //2033
0x04,0xAd,0x53, //2034
0x0A,0x4d,0x48, //2035
0x6d,0x25,0xBC, //2036
0x0d,0x25,0x4f, //2037
0x0d,0x52,0x44, //2038
0x5d,0xAA,0x38, //2039
0x0B,0x5A,0x4C, //2040
0x05,0x6d,0x41, //2041
0x24,0xAd,0xB6, //2042
0x04,0x9B,0x4A, //2043
0x7A,0x4B,0xBe, //2044
0x0A,0x4B,0x51, //2045
0x0A,0xA5,0x46, //2046
0x5B,0x52,0xBA, //2047
0x06,0xd2,0x4e, //2048
0x0A,0xdA,0x42, //2049
0x35,0x5B,0x37, //2050
0x09,0x37,0x4B, //2051
0x84,0x97,0xC1, //2052
0x04,0x97,0x53, //2053
0x06,0x4B,0x48, //2054
0x66,0xA5,0x3C, //2055
0x0e,0xA5,0x4f, //2056
0x06,0xB2,0x44, //2057
0x4A,0xB6,0x38, //2058
0x0A,0xAe,0x4C, //2059
0x09,0x2e,0x42, //2060
0x3C,0x97,0x35, //2061
0x0C,0x96,0x49, //2062
0x7d,0x4A,0xBd, //2063
0x0d,0x4A,0x51, //2064
0x0d,0xA5,0x45, //2065
0x55,0xAA,0xBA, //2066
0x05,0x6A,0x4e, //2067
0x0A,0x6d,0x43, //2068
0x45,0x2e,0xB7, //2069
0x05,0x2d,0x4B, //2070
0x8A,0x95,0xBf, //2071
0x0A,0x95,0x53, //2072
0x0B,0x4A,0x47, //2073
0x6B,0x55,0x3B, //2074
0x0A,0xd5,0x4f, //2075
0x05,0x5A,0x45, //2076
0x4A,0x5d,0x38, //2077
0x0A,0x5B,0x4C, //2078
0x05,0x2B,0x42, //2079
0x3A,0x93,0xB6, //2080
0x06,0x93,0x49, //2081
0x77,0x29,0xBd, //2082
0x06,0xAA,0x51, //2083
0x0A,0xd5,0x46, //2084
0x54,0xdA,0xBA, //2085
0x04,0xB6,0x4e, //2086
0x0A,0x57,0x43, //2087
0x45,0x27,0x38, //2088
0x0d,0x26,0x4A, //2089
0x8e,0x93,0x3e, //2090
0x0d,0x52,0x52, //2091
0x0d,0xAA,0x47, //2092
0x66,0xB5,0x3B, //2093
0x05,0x6d,0x4f, //2094
0x04,0xAe,0x45, //2095
0x4A,0x4e,0xB9, //2096
0x0A,0x4d,0x4C, //2097
0x0d,0x15,0x41, //2098
0x2d,0x92,0xB5, //2099
};
/*
函數功能:輸入BCD陽歷數據,輸出BCD陰歷數據(只允許1901-2099年)
調用函數示例:Conversion(c_sun,year_sun,month_sun,day_sun)
如:計算2004年10月16日Conversion(0,0x4,0x10,0x16);
c_sun,year_sun,month_sun,day_sun均為BCD數據,c_sun為世紀標志位,c_sun=0為21世
紀,c_sun=1為19世紀
調用函數后,原有數據不變,讀c_moon,year_moon,month_moon,day_moon得出陰歷BCD數據
*/
/*子函數,用于讀取數據表中農歷月的大月或小月,如果該月為大返回1,為小返回0*/
bit get_moon_day(uchar month_p,uint table_addr)
{
uchar temp;
switch (month_p)
{
case 1:{temp=year_code[table_addr]&0x08;
if (temp==0)return(0);else return(1);}
case 2:{temp=year_code[table_addr]&0x04;
if (temp==0)return(0);else return(1);}
case 3:{temp=year_code[table_addr]&0x02;
if (temp==0)return(0);else return(1);}
case 4:{temp=year_code[table_addr]&0x01;
if (temp==0)return(0);else return(1);}
case 5:{temp=year_code[table_addr+1]&0x80;
if (temp==0) return(0);else return(1);}
case 6:{temp=year_code[table_addr+1]&0x40;
if (temp==0)return(0);else return(1);}
case 7:{temp=year_code[table_addr+1]&0x20;
if (temp==0)return(0);else return(1);}
case 8:{temp=year_code[table_addr+1]&0x10;
if (temp==0)return(0);else return(1);}
case 9:{temp=year_code[table_addr+1]&0x08;
if (temp==0)return(0);else return(1);}
case 10:{temp=year_code[table_addr+1]&0x04;
if (temp==0)return(0);else return(1);}
case 11:{temp=year_code[table_addr+1]&0x02;
if (temp==0)return(0);else return(1);}
case 12:{temp=year_code[table_addr+1]&0x01;
if (temp==0)return(0);else return(1);}
case 13:{temp=year_code[table_addr+2]&0x80;
if (temp==0)return(0);else return(1);}
}
}
/*
函數功能:輸入BCD陽歷數據,輸出BCD陰歷數據(只允許1901-2099年)
調用函數示例:Conversion(c_sun,year_sun,month_sun,day_sun)
如:計算2004年10月16日Conversion(0,0x4,0x10,0x16);
c_sun,year_sun,month_sun,day_sun均為BCD數據,c_sun為世紀標志位,c_sun=0為21世
紀,c_sun=1為19世紀
調用函數后,原有數據不變,讀c_moon,year_moon,month_moon,day_moon得出陰歷BCD數據 */
void Conversion(bit c,uchar year,uchar month,uchar day)
{ //c=0 為21世紀,c=1 為19世紀 輸入輸出數據均為BCD數據
uchar temp1,temp2,temp3,month_p;
uint temp4,table_addr;
bit flag2,flag_y;
temp1=year/16; //BCD->hex 先把數據轉換為十六進制
temp2=year%16;
year=temp1*10+temp2;
temp1=month/16;
temp2=month%16;
month=temp1*10+temp2;
temp1=day/16;
temp2=day%16;
day=temp1*10+temp2;
/***********************************************************************************************
************************************************************************************************
*****定位數據表地址*****************************************************************************/
//2000年的定位數據表地址
/*-----------------------------*/
if(c==0)
{ table_addr=(year)*0x3; }
else
{ table_addr=(year-1)*0x3; }
/*------------------------------*/
//1901年的定位數據表地址
/*---------------------------------------------------
if(c==0) { table_addr=(year+0x64-1)*0x3; } //0x64 = 100
else { table_addr=(year-1)*0x3; }
-----------------------------------------------------*/
//定位數據表地址完成
//取當年春節(jié)所在的公歷月份
temp1=year_code[table_addr+2]&0x60;
temp1=_cror_(temp1,5);
//取當年春節(jié)所在的公歷月份完成
//取當年春節(jié)所在的公歷日
temp2=year_code[table_addr+2]&0x1f;
//取當年春節(jié)所在的公歷日完成
// 計算當年春年離當年元旦的天數,春節(jié)只會在公歷1月或2月
if(temp1==0x1)
{ temp3=temp2-1; }
else
{ temp3=temp2+0x1f-1; }
// 計算當年春年離當年元旦的天數完成
//計算公歷日離當年元旦的天數,為了減少運算,用了兩個表
//day_code1[9],day_code2[3]
//如果公歷月在九月或前,天數會少于0xff,用表day_code1[9],
//在九月后,天數大于0xff,用表day_code2[3]
//如輸入公歷日為8月10日,則公歷日離元旦天數為day_code1[8-1]+10-1
//如輸入公歷日為11月10日,則公歷日離元旦天數為day_code2[11-10]+10-1
if (month<10)
{ temp4=day_code1[month-1]+day-1; }
else
{temp4=day_code2[month-10]+day-1; }
if ((month>0x2)&&(year%0x4==0))
{ temp4+=1;}//如果公歷月大于2月并且該年的2月為閏月,天數加1
//計算公歷日離當年元旦的天數完成
//判斷公歷日在春節(jié)前還是春節(jié)后
if (temp4>=temp3)
{ temp4-=temp3;month=0x1;//公歷日在春節(jié)后或就是春節(jié)當日使用下面代碼進行運算
month_p=0x1; //month_p為月份指向,公歷日在春節(jié)前或就是春節(jié)當日month_p指向首月
flag2=get_moon_day(month_p,table_addr);
//檢查該農歷月為大小還是小月,大月返回1,小月返回0
flag_y=0;
if(flag2==0)temp1=0x1d; //小月29天
else temp1=0x1e; //大小30天
temp2=year_code[table_addr]&0xf0;
temp2=_cror_(temp2,4); //從數據表中取該年的閏月月份,如為0則該年無閏月
while(temp4>=temp1)
{
temp4-=temp1;
month_p+=1;
if(month==temp2)
{
flag_y=~flag_y;
if(flag_y==0)
month+=1;
}
else month+=1;
flag2=get_moon_day(month_p,table_addr);
if(flag2==0)temp1=0x1d;
else temp1=0x1e;
}
day=temp4+1;
}
else
{ //公歷日在春節(jié)前使用下面代碼進行運算
temp3-=temp4;
if (year==0x0)
{
year=0x63;c=1;
}
else year-=1;
table_addr-=0x3;
month=0xc;
temp2=year_code[table_addr]&0xf0;
temp2=_cror_(temp2,4);
if (temp2==0)
month_p=0xc;
else
month_p=0xd; //
/*month_p為月份指向,如果當年有閏月,一年有十三個月,月指向13,無閏月指向12*/
flag_y=0;
flag2=get_moon_day(month_p,table_addr);
if(flag2==0)temp1=0x1d;
else temp1=0x1e;
while(temp3>temp1)
{
temp3-=temp1;
month_p-=1;
if(flag_y==0)month-=1;
if(month==temp2)flag_y=~flag_y;
flag2=get_moon_day(month_p,table_addr);
if(flag2==0)temp1=0x1d;
else temp1=0x1e;
}
day=temp1-temp3+1;
}
c_moon=c; //HEX->BCD ,運算結束后,把數據轉換為BCD數據
temp1=year/10;
temp1=_crol_(temp1,4);
temp2=year%10;
year_moon=temp1|temp2;
temp1=month/10;
temp1=_crol_(temp1,4);
temp2=month%10;
month_moon=temp1|temp2;
temp1=day/10;
temp1=_crol_(temp1,4);
temp2=day%10;
day_moon=temp1|temp2;
}
/****************************************************************************
算法:日期+年份+所過閏年數+月較正數之和除7 的余數就是星期但如果是在
閏年又不到3 月份上述之和要減一天再除7
星期數為0
*****************************************************************************
函數功能:輸入BCD陽歷數據,輸出BCD星期數據(只允許1901-2099年)
調用函數示例:Conver_week(c_sun,year_sun,month_sun,day_sun)
如:計算2004年10月16日Conversion(0,0x4,0x10,0x16);
*****************************************************************************/
//void Conver_week(bit c,unsigned char year,unsigned char month,unsigned char day)
void Conver_week(bit c,unsigned char year,unsigned char month,unsigned char day)
{ //c=0 為21世紀,c=1 為19世紀 輸入輸出數據均為BCD數據
unsigned char temp1,temp2;
temp1=year/16; //BCD->hex 先把數據轉換為十六進制
temp2=year%16;
year=temp1*10+temp2;
temp1=month/16;
temp2=month%16;
month=temp1*10+temp2;
temp1=day/16;
temp2=day%16;
day=temp1*10+temp2;
if (c==0){year+=0x64;} //如果為21世紀,年份數加100
temp1=year/0x4; //所過閏年數只算1900年之后的
temp2=year+temp1;
temp2=temp2%0x7; //為節(jié)省資源,先進行一次取余,避免數大于0xff,避免使用整型數據
temp2=temp2+day+table_week[month-1];
if (year%0x4==0&&month<3)temp2-=1;
week=temp2%0x7;
}
/*****************************************************************************/
//農歷顯示
/******************************************************************************/
void lcmnongli()
{uchar yue,ri;
read_clockS();
year_sun=yy;
month_sun=mo;
day_sun=days;
Conversion(c_sun,year_sun,month_sun,day_sun);
yue=(month_moon/16)*10+month_moon%16;
noliyue=yue;
ri=(day_moon/16)*10+day_moon%16;
if(menu==0){
if(KA==0||KA==5) //常規(guī)節(jié)日模
{lcm_w_test(0,0x8c);} //顯示農歷月 0X88在屏幕第3行
if(KA==3) //圖形溫度模式
{lcm_w_test(0,0x9c);} //顯示農歷月 0X9C在屏幕第3行
//if(KA==5) //日歷模式
if(KA==4) //表盤式時鐘
{lcm_w_test(0,0x8e);} //顯示農歷月 0X9E在屏幕第4行
}
if(menu==1){lcm_w_test(0,0x9c);} //顯示農歷月 0X88在屏幕第3行
if(yue==1){ lcm_w_word("正");}
if(yue==2){ lcm_w_word("二");}
if(yue==3){ lcm_w_word("三");}
if(yue==4){ lcm_w_word("四");}
if(yue==5){ lcm_w_word("五");}
if(yue==6){ lcm_w_word("六");}
if(yue==7){ lcm_w_word("七");}
if(yue==8){ lcm_w_word("八");}
if(yue==9){ lcm_w_word("九");}
if(yue==10){ lcm_w_word("十");}
if(yue==11){ lcm_w_word("冬");}
if(yue==12){ lcm_w_word("臘");}
if(menu==0){
if(KA==0||KA==5) //標準節(jié)日時鐘和日歷式時鐘
{lcm_w_test(0,0x8d);} //在屏幕第3行
if(KA==3)
{lcm_w_test(0,0x9D);} //顯示農歷月 0X9D在屏幕第4行
if(KA==4)
{lcm_w_test(0,0x8f);} } //顯示農歷月 0X9D在屏幕第4行
if(menu==1){lcm_w_test(0,0x9d);} //顯示農歷月 0X88在屏幕第3行
lcm_w_word("月");
if(menu==0){
if(KA==0||KA==5)
{lcm_w_test(0,0x8e);} //在屏幕第3行
if(KA==3||KA==4)
{lcm_w_test(0,0x9E);} } //顯示農歷月 0X9E在屏幕第4行
// if(KA==4) //表盤式時鐘
if(menu==1){lcm_w_test(0,0x9e);} //顯示農歷月 0X88在屏幕第3行
if(ri<=10)
{if(ri==1){ lcm_w_word("初一");}
if(ri==2){ lcm_w_word("初二");}
if(ri==3){ lcm_w_word("初三");}
if(ri==4){ lcm_w_word("初四");}
if(ri==5){ lcm_w_word("初五");}
if(ri==6){ lcm_w_word("初六");}
if(ri==7){ lcm_w_word("初七");}
if(ri==8){ lcm_w_word("初八");}
if(ri==9){ lcm_w_word("初九");}
if(ri==10){ lcm_w_word("初十");}
}
else
{if(ri==11){ lcm_w_word("十一");}
if(ri==12){ lcm_w_word("十二");}
if(ri==13){ lcm_w_word("十三");}
if(ri==14){ lcm_w_word("十四");}
if(ri==15){ lcm_w_word("十五");}
if(ri==16){ lcm_w_word("十六");}
if(ri==17){ lcm_w_word("十七");}
if(ri==18){ lcm_w_word("十八");}
if(ri==19){ lcm_w_word("十九");}
if(ri==20){ lcm_w_word("二十");}
if(ri==21){ lcm_w_word("廿一");}
if(ri==22){ lcm_w_word("廿二");}
if(ri==23){ lcm_w_word("廿三");}
if(ri==24){ lcm_w_word("廿四");}
if(ri==25){ lcm_w_word("廿五");}
if(ri==26){ lcm_w_word("廿六");}
if(ri==27){ lcm_w_word("廿七");}
if(ri==28){ lcm_w_word("廿八");}
if(ri==29){ lcm_w_word("廿九");}
if(ri==30){ lcm_w_word("三十");}
}
}
//十二生肖顯示
/******************************************************************************/
void lcmshengxiao()
{
uint y3;
y3=(year_moon/16*10+year_moon%16+2000-1900)%12;
if(noliyear<6 & noliyue>6) y3--;
if(KA==0){ //標準節(jié)日時鐘界面的生肖顯示
lcm_w_test(0,0x88);
switch(y3)
{
case 0: lcm_w_word("△子鼠年");
break;
case 1: lcm_w_word("●丑牛年");
break;
case 2: lcm_w_word("▲寅虎年");
break;
case 3: lcm_w_word("●卯兔年");
break;
case 4: lcm_w_word("△辰龍年");
break;
case 5: lcm_w_word("☆巳蛇年");
break;
case 6: lcm_w_word("△午馬年");
break;
case 7: lcm_w_word("☆未羊年");
break;
case 8: lcm_w_word("△申猴年");
break;
case 9: lcm_w_word("☆酉雞年");
break;
case 10: lcm_w_word("▲戌狗年");
break;
case 11: lcm_w_word("●亥豬年");
break;} }
if(KA==4){ //表盤式時鐘界面的生肖顯示
switch(y3)
{
case 0: dispS2tring(0,6,"子鼠");break;
case 1: dispS2tring(0,6,"丑牛");break;
case 2: dispS2tring(0,6,"寅虎");break;
case 3: dispS2tring(0,6,"卯兔");break;
case 4: dispS2tring(0,6,"辰龍");break;
case 5: dispS2tring(0,6,"巳蛇");break;
case 6: dispS2tring(0,6,"午馬");break;
case 7: dispS2tring(0,6,"未羊");break;
case 8: dispS2tring(0,6,"申猴");break;
case 9: dispS2tring(0,6,"酉雞");break;
case 10: dispS2tring(0,6,"戌狗");break;
case 11: dispS2tring(0,6,"亥豬");break;
} }
}
/*顯示生肖-----------------------------------------------------*/
void lcm_w_nl(void){
unsigned char LunarYearD,ReYear,tiangan,dizhi; //農歷年份的十進制數 和取模后的余數
read_clockS();//讀時鐘的實時數據
year_sun=yy;
month_sun=mo;
day_sun=days;
Conversion(c_sun,year_sun,month_sun,day_sun);
//調用函數后,原有數據不變,讀c_moon農歷世紀,year_moon農歷年,month_moon,day_moon得出陰歷BCD數據
LunarYearD=(year_moon/16)*10+year_moon%16; //農歷年轉換成10進制數
ReYear=LunarYearD%12; //農歷年模12,取余運算
tiangan=LunarYearD%10; //計算農歷年對應的天干
dizhi=LunarYearD%12; //計算農歷年對應的地支
write_12864_cmd(0x30);
write_12864_cmd(0x06);
if(menu==0){
write_12864_cmd(0x86);
lcm_w_word("農歷");
write_12864_cmd(0x97);
lcm_w_word("年");
write_12864_cmd(0x94);
}
if(menu==10){
write_12864_cmd(0x8d);
lcm_w_word("年");
write_12864_cmd(0x8a);
}
/*
第一行0X80-0X81-0X82-0X83-0X84-0X85-0X86-0X87
第三行0X88-0X89-0X8A-0X8B-0X8C-0X8D-0X8E-0X8F
第二行0X90-0X91-0X92-0X93-0X94-0X95-0X96-0X97
第四行0X98-0X99-0X9A-0X9B-0X9C-0X9D-0X9E-0X9F*/
switch(tiangan)
{
// case 0: write_com(0x96);lcm_w_word("庚");break; //余0即整除 天干 庚
case 0: {lcm_w_test(1,0xb8);lcm_w_test(1,0xfd);};break; // 庚 字的代碼
case 1: lcm_w_word("辛");break; //
case 2: lcm_w_word("壬");break;
case 3: lcm_w_word("癸");break;
case 4: lcm_w_word("甲");break;
case 5: lcm_w_word("乙");break;
case 6: lcm_w_word("丙");break;
case 7: lcm_w_word("丁");break;
case 8: lcm_w_word("戊");break;
case 9: lcm_w_word("已");break;
}
switch(dizhi)
{
case 0: lcm_w_word("辰");break; //余0即整除 地支 辰
case 1: lcm_w_word("巳");break; //
case 2: lcm_w_word("午");break;
case 3: lcm_w_word("未");break;
case 4: lcm_w_word("申");break;
case 5: lcm_w_word("酉");break;
case 6: lcm_w_word("戌");break;
case 7: lcm_w_word("亥");break;
case 8: lcm_w_word("子");break;
case 9: lcm_w_word("丑");break;
case 10:lcm_w_word("寅");break;
case 11:lcm_w_word("卯");break;
}
switch(ReYear)
{
case 0: lcm_w_word("龍");break; //余0即整除 農歷 龍年
case 1: lcm_w_word("蛇");break; //蛇年
case 2: lcm_w_word("馬");break;
case 3: lcm_w_word("羊");break;
case 4: lcm_w_word("猴");break;
case 5: lcm_w_word("雞");break;
case 6: lcm_w_word("狗");break;
case 7: lcm_w_word("豬");break;
case 8: lcm_w_word("鼠");break;
case 9: lcm_w_word("牛");break;
case 10:lcm_w_word("虎");break;
case 11:lcm_w_word("兔");break;
}
}
/****************************************************************************************************************************
函數功能: 二十四節(jié)氣數據庫
入口參數: unsigned char(yy,mo,dd) 對應 年月日
出口參數: unsigned char(0-24) 1-24對應二十四節(jié)氣
作者 : TOTOP
二十四節(jié)氣數據庫(1901--2050)
數據格式說明:
如1901年的節(jié)氣為
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
[ 6,21][ 4,19][ 6,21][ 5,21][ 6,22][ 6,22][ 8,23][ 8,24][ 8,24][ 8,24][ 8,23][ 8,22]
[ 9, 6][11, 4][ 9, 6][10, 6][ 9, 7][ 9, 7][ 7, 8][ 7, 9][ 7, 9][ 7, 9][ 7, 8][ 7,15]
上面第一行數據為每月節(jié)氣對應公歷日期,15減去每月第一個節(jié)氣,每月第二個節(jié)氣減去15得第二
行,這樣每月兩個節(jié)氣對應數據都小于16,每月用一個字節(jié)存放,高位存放第一個節(jié)氣數據,低位存
放第二個節(jié)氣的數據,可得下表
****************************************************************************************************************************/
uchar code jieqi_code[]=
{
0x96,0xB4,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x86, //2000
0xA5,0xB3,0xA5,0xA5,0xA6,0xA6,0x88,0x88,0x88,0x78,0x87,0x87, //2001
0xA5,0xB4,0x96,0xA5,0x96,0x96,0x88,0x78,0x78,0x78,0x87,0x87, //2002
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x69,0x78,0x87, //2003
0x96,0xB4,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x86, //2004
0xA5,0xB3,0xA5,0xA5,0xA6,0xA6,0x88,0x88,0x88,0x78,0x87,0x87, //2005
0xA5,0xB4,0x96,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x87,0x87, //2006
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x69,0x78,0x87, //2007
0x96,0xB4,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x87,0x78,0x87,0x86, //2008
0xA5,0xB3,0xA5,0xB5,0xA6,0xA6,0x88,0x88,0x88,0x78,0x87,0x87, //2009
0xA5,0xB4,0x96,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x87,0x87, //2010
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x79,0x78,0x87, //2011
0x96,0xB4,0xA5,0xB5,0xA5,0xA6,0x87,0x88,0x87,0x78,0x87,0x86, //2012
0xA5,0xB3,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x87, //2013
0xA5,0xB4,0x96,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x87,0x87, //2014
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x79,0x77,0x87, //2015
0x95,0xB4,0xA5,0xB4,0xA5,0xA6,0x87,0x88,0x87,0x78,0x87,0x86, //2016
0xA5,0xC3,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x87, //2017
0xA5,0xB4,0xA6,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x87,0x87, //2018
0xA5,0xB4,0x96,0xA5,0x96,0x96,0x88,0x78,0x78,0x79,0x77,0x87, //2019
0x95,0xB4,0xA5,0xB4,0xA5,0xA6,0x97,0x87,0x87,0x78,0x87,0x86, //2020
0xA5,0xC3,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x86, //2021
0xA5,0xB4,0xA5,0xA5,0xA6,0x96,0x88,0x88,0x88,0x78,0x87,0x87, //2022
0xA5,0xB4,0x96,0xA5,0x96,0x96,0x88,0x78,0x78,0x79,0x77,0x87, //2023
0x95,0xB4,0xA5,0xB4,0xA5,0xA6,0x97,0x87,0x87,0x78,0x87,0x96, //2024
0xA5,0xC3,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x86, //2025
0xA5,0xB3,0xA5,0xA5,0xA6,0xA6,0x88,0x88,0x88,0x78,0x87,0x87, //2026
0xA5,0xB4,0x96,0xA5,0x96,0x96,0x88,0x78,0x78,0x78,0x87,0x87, //2027
0x95,0xB4,0xA5,0xB4,0xA5,0xA6,0x97,0x87,0x87,0x78,0x87,0x96, //2028
0xA5,0xC3,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x86, //2029
0xA5,0xB3,0xA5,0xA5,0xA6,0xA6,0x88,0x88,0x88,0x78,0x87,0x87, //2030
0xA5,0xB4,0x96,0xA5,0x96,0x96,0x88,0x78,0x78,0x78,0x87,0x87, //2031
0x95,0xB4,0xA5,0xB4,0xA5,0xA6,0x97,0x87,0x87,0x78,0x87,0x96, //2032
0xA5,0xC3,0xA5,0xB5,0xA6,0xA6,0x88,0x88,0x88,0x78,0x87,0x86, //2033
0xA5,0xB3,0xA5,0xA5,0xA6,0xA6,0x88,0x78,0x88,0x78,0x87,0x87, //2034
0xA5,0xB4,0x96,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x87,0x87, //2035
0x95,0xB4,0xA5,0xB4,0xA5,0xA6,0x97,0x87,0x87,0x78,0x87,0x96, //2036
0xA5,0xC3,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x86, //2037
0xA5,0xB3,0xA5,0xA5,0xA6,0xA6,0x88,0x88,0x88,0x78,0x87,0x87, //2038
0xA5,0xB4,0x96,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x87,0x87, //2039
0x95,0xB4,0xA5,0xB4,0xA5,0xA6,0x97,0x87,0x87,0x78,0x87,0x96, //2040
0xA5,0xC3,0xA5,0xB5,0xA5,0xA6,0x87,0x88,0x87,0x78,0x87,0x86, //2041
0xA5,0xB3,0xA5,0xB5,0xA6,0xA6,0x88,0x88,0x88,0x78,0x87,0x87, //2042
0xA5,0xB4,0x96,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x87,0x87, //2043
0x95,0xB4,0xA5,0xB4,0xA5,0xA6,0x97,0x87,0x87,0x88,0x87,0x96, //2044
0xA5,0xC3,0xA5,0xB4,0xA5,0xA6,0x87,0x88,0x87,0x78,0x87,0x86, //2045
0xA5,0xB3,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x87, //2046
0xA5,0xB4,0x96,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x87,0x87, //2047
0x95,0xB4,0xA5,0xB4,0xA5,0xA5,0x97,0x87,0x87,0x88,0x86,0x96, //2048
0xA4,0xC3,0xA5,0xA5,0xA5,0xA6,0x97,0x87,0x87,0x78,0x87,0x86, //2049
0xA5,0xC3,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x78,0x78,0x87,0x87, //2050
};
/*********************************************************************************************
函數名: 節(jié)氣的判斷
調 用: jieqi ()
參 數:無
返回值:無
結 果:
備 注:
/*********************************************************************************************/
uchar jieqi (uchar y2,m2,d2)
{
uchar temp,d,y,y1,m;
uint addr;
d=d2/16*10+d2%16;
m=m2/16*10+m2%16;
y1=y2/16*10+y2%16+2000;
y=y1-2000;
addr=y*12+m-1;
if(d<15)
{
temp=15-d;
if((jieqi_code[addr]>>4)==temp) return (m*2-1);
else return (0);
}
if(d==15) return (0);
if(d>15)
{
temp=d-15;
if((jieqi_code[addr]&0x0f)==temp) return (m*2);
else return (0);
}}
/**************************************************************************************
*計算星期
*基姆拉爾森計算公式簡化,計算2001.1.1-2099.12.31
*輸入:年(只取后兩位,如2001為01)、月 、日
*輸出:星期(星期一為0),超出計算范圍則返回-1
**************************************************************************************/
uchar convWeek(uchar y,m,d)
{
if(y>99||y<1) return -1;
if(m==1||m==2){m+=12;y--;}
m=m*2+(m+1)*3/5;
y=y+y/4;
return ((y+m+d)%7);
// return ((d+2*m+3*(m+1)/5+y+y/4))%7;
}
/*********************************************************************************************
函數名:公歷節(jié)日顯示
調 用:FUTURE();
參 數:無
返回值:無
結 果:在屏的第二行顯示公歷節(jié)日
備 注:0x90
/*********************************************************************************************/
void FUTURE (void) { //公歷節(jié)日數據庫
/*------節(jié)氣的判斷用的是公歷數據----------------------------*/
uchar j;
j=jieqi(yy,mo,days);
shengri_bit=0;
lcm_w_test(0,0x90);//在屏幕第2行
//------ FutureTimer8和公歷節(jié)日會交替顯示---------*/
lcm_w_word(" Future Clock ");
lcm_w_test(0,0x90);//0X90在屏幕第2行
if(t/2%2==0) {
if ( month_moon== 0x08 && day_moon== 0x19 ){ lcm_w_word("菊化生日還有18天"); }
if ( month_moon== 0x08 && day_moon== 0x20 ){ lcm_w_word("菊化生日還有17天"); }
if ( month_moon== 0x08 && day_moon== 0x21 ){ lcm_w_word("菊化生日還有16天"); }
if ( month_moon== 0x08 && day_moon== 0x22 ){ lcm_w_word("菊化生日還有15天"); }
if ( month_moon== 0x08 && day_moon== 0x24 ){ lcm_w_word("菊化生日還有14天"); }
if ( month_moon== 0x08 && day_moon== 0x25 ){ lcm_w_word("菊化生日還有13天"); }
if ( month_moon== 0x09 && day_moon== 0x26 ){ lcm_w_word("菊化生日還有12天"); }
if ( month_moon== 0x08 && day_moon== 0x27 ){ lcm_w_word("菊化生日還有11天"); }
if ( month_moon== 0x08 && day_moon== 0x28 ){ lcm_w_word("菊化生日還有10天"); }
if ( month_moon== 0x08 && day_moon== 0x29 ){ lcm_w_word("菊化生日還有9 天"); }
if ( month_moon== 0x08 && day_moon== 0x30 ){ lcm_w_word("菊化生日還有8 天"); }
if ( month_moon== 0x09 && day_moon== 0x01 ){ lcm_w_word("菊化生日還有7 天"); }
if ( month_moon== 0x09 && day_moon== 0x02 ){ lcm_w_word("菊化生日還有6 天"); }
if ( month_moon== 0x09 && day_moon== 0x03 ){ lcm_w_word("菊化生日還有5 天"); }
if ( month_moon== 0x09 && day_moon== 0x04 ){ lcm_w_word("菊化生日還有4 天"); }
if ( month_moon== 0x09 && day_moon== 0x05 ){ lcm_w_word("菊化生日還有3 天"); }
if ( month_moon== 0x09 && day_moon== 0x06 ){ lcm_w_word("菊化生日還有2 天"); }
if ( month_moon== 0x09 && day_moon== 0x07 ){ lcm_w_word("后天是菊花的生日"); }
if ( month_moon== 0x09 && day_moon== 0x08 ){ lcm_w_word("明天是菊花的生日"); }
if ( month_moon== 0x09 && day_moon== 0x09 ){ shengri_bit=1,lcm_w_word("今天是菊花的生日"); }
/*---------------------------------------------------------------------------*/
if ( month_moon== 0x01 && day_moon== 0x12 ){ lcm_w_word("文杰生日還有18天"); }
if ( month_moon== 0x01 && day_moon== 0x13 ){ lcm_w_word("文杰生日還有17天"); }
if ( month_moon== 0x01 && day_moon== 0x14 ){ lcm_w_word("文杰生日還有16天"); }
if ( month_moon== 0x01 && day_moon== 0x15 ){ lcm_w_word("文杰生日還有15天"); }
if ( month_moon== 0x01 && day_moon== 0x16 ){ lcm_w_word("文杰生日還有14天"); }
if ( month_moon== 0x01 && day_moon== 0x17 ){ lcm_w_word("文杰生日還有13天"); }
if ( month_moon== 0x01 && day_moon== 0x18 ){ lcm_w_word("文杰生日還有12天"); }
if ( month_moon== 0x01 && day_moon== 0x19 ){ lcm_w_word("文杰生日還有11天"); }
if ( month_moon== 0x01 && day_moon== 0x20 ){ lcm_w_word("文杰生日還有10天"); }
if ( month_moon== 0x01 && day_moon== 0x21 ){ lcm_w_word("文杰生日還有8 天"); }
if ( month_moon== 0x01 && day_moon== 0x22 ){ lcm_w_word("文杰生日還有8 天"); }
if ( month_moon== 0x01 && day_moon== 0x23 ){ lcm_w_word("文杰生日還有7 天"); }
if ( month_moon== 0x01 && day_moon== 0x24 ){ lcm_w_word("文杰生日還有6 天"); }
if ( month_moon== 0x01 && day_moon== 0x25 ){ lcm_w_word("文杰生日還有5 天"); }
if ( month_moon== 0x01 && day_moon== 0x26 ){ lcm_w_word("文杰生日還有4 天"); }
if ( month_moon== 0x01 && day_moon== 0x27 ){ lcm_w_word("文杰生日還有3 天"); }
if ( month_moon== 0x01 && day_moon== 0x28 ){ lcm_w_word("文杰生日還有2 天"); }
if ( month_moon== 0x01 && day_moon== 0x29 ){ lcm_w_word("后天是文杰的生日"); }
if ( month_moon== 0x01 && day_moon== 0x30 ){ lcm_w_word("明天是文杰的生日"); }
if ( month_moon== 0x02 && day_moon== 0x01 ){ shengri_bit=1,lcm_w_word("今天是文杰的生日"); }
if ( month_moon== 0x08 && day_moon== 0x01 ){ shengri_bit=1,lcm_w_word("后天是我的生日!"); }
if ( month_moon== 0x08 && day_moon== 0x02 ){ shengri_bit=1,lcm_w_word("明天是我的生日!"); }
if ( month_moon== 0x08 && day_moon== 0x03 ){ shengri_bit=1,lcm_w_word("今天是我的生日!"); }
/*---------------第2行的標尺--- ---- ------ ---|---------------|----------*/
if ( mo == 0x01 && days == 0x01 ){ lcm_w_word(" 今日元旦 "); }//1月
if ( mo == 0x02 && days == 0x02 ){ lcm_w_word(" △世界濕地日 "); }//2月
if ( mo == 0x02 && days == 0x10 ){ lcm_w_word(" △國際氣象節(jié) "); }//2月
if ( mo == 0x02 && days == 0x13 ){ lcm_w_word(" 明天情人節(jié)了 "); }
if ( mo == 0x02 && days == 0x14 ){ lcm_w_word(" 今天是情人節(jié) "); }
if ( mo == 0x03 && days == 0x01 ){ lcm_w_word(" △國際海豹日 "); }//3月
if ( mo == 0x03 && days == 0x03 ){ lcm_w_word(" △全國愛耳日 "); }
if ( mo == 0x03 && days == 0x08 ){ lcm_w_word(" 3.8婦女節(jié) "); }
if ( mo == 0x03 && days == 0x12 ){ lcm_w_word(" △植樹節(jié) "); }
if ( mo == 0x03 && days == 0x14 ){ lcm_w_word(" △國際警察日 "); }
if ( mo == 0x03 && days == 0x15 ){ lcm_w_word(" 消費者權益日 "); }
if ( mo == 0x03 && days == 0x17 ){ lcm_w_word(" ●國際航海日 "); }
if ( mo == 0x03 && days == 0x22 ){ lcm_w_word(" 世界水日 "); }
if ( mo == 0x03 && days == 0x23 ){ lcm_w_word(" ●世界氣象日 "); }
if ( mo == 0x03 && days == 0x24 ){ lcm_w_word("世界防治結核病日"); }
if ( mo == 0x04 && days == 0x01 ){ lcm_w_word("愚人節(jié)●小心上當"); }//4
if ( mo == 0x04 && days == 0x07 ){ lcm_w_word(" △世界衛(wèi)生日 "); }
if ( mo == 0x04 && days == 0x08 ){ lcm_w_word(" 今天是復活節(jié) "); }
if ( mo == 0x04 && days == 0x022 ){ lcm_w_word(" ●世界地球日 "); }
if ( mo == 0x05 && days == 0x01 ){ lcm_w_word(" 今天是勞動節(jié) "); }//5
if ( mo == 0x05 && days == 0x04 ){ lcm_w_word(" 今天是青年節(jié) "); }
if ( mo == 0x05 && days == 0x08 ){ lcm_w_word(" 世界紅十字日 "); }
if ( mo == 0x05 && days == 0x12 ){ lcm_w_word(" ▲國際護士節(jié) "); }
if ( mo == 0x05 && days == 0x15 ){ lcm_w_word(" ▲國際家庭日 "); }
if ( mo == 0x05 && days == 0x17 ){ lcm_w_word(" ▲世界電信日 "); }
if ( mo == 0x05 && days == 0x18 ){ lcm_w_word(" 國際博物館日 "); }
if ( mo == 0x05 && days == 0x19 ){ lcm_w_word(" ▲全國助殘日 "); }
if ( mo == 0x05 && days == 0x22 ){ lcm_w_word("國際生物多樣性日"); }
if ( mo == 0x05 && days == 0x23 ){ lcm_w_word(" ▲國際牛奶日 "); }
if ( mo == 0x05 && days == 0x31 ){ lcm_w_word(" ▲世界無煙日 "); }
if ( mo == 0x06 && days == 0x01 ){ lcm_w_word(" ☆國際兒童節(jié) "); }//6
if ( mo == 0x06 && days == 0x05 ){ lcm_w_word(" ☆世界環(huán)境日 "); }//6
if ( mo == 0x06 && days == 0x06 ){ lcm_w_word(" ☆全國愛眼日 "); }
if ( mo == 0x06 && days == 0x25 ){ lcm_w_word(" ☆全國土地日 "); }
if ( mo == 0x06 && days == 0x26 ){ lcm_w_word(" ☆國際禁毒日 "); }
if ( mo == 0x06 && days == 0x23 ){ lcm_w_word("▲國際奧林匹克日"); }
if ( mo == 0x07 && days == 0x01 ){ lcm_w_word("▲香港回歸記念日"); }//7
if ( mo == 0x07 && days == 0x11 ){ lcm_w_word(" ●世界人口日 "); }
if ( mo == 0x08 && days == 0x01 ){ lcm_w_word(" ●八一建軍節(jié) "); }//8
if ( mo == 0x08 && days == 0x15 ){ lcm_w_word("△抗戰(zhàn)勝利記念日"); }
if ( mo == 0x09 && days == 0x16 ){ lcm_w_word("國際臭氧層保護日"); }//9
if ( mo == 0x09 && days == 0x10 ){ lcm_w_word(" ●中國教師節(jié) "); }//9
if ( mo == 0x09 && days == 0x18 ){ lcm_w_word("九·一八事變記念"); }
if ( mo == 0x09 && days == 0x20 ){ lcm_w_word(" ●國際愛牙日 "); }
if ( mo == 0x09 && days == 0x22 ){ lcm_w_word(" ●國際聾人節(jié) "); }
if ( mo == 0x09 && days == 0x27 ){ lcm_w_word(" ●世界旅游日 "); }
/*---------------------------------------------------*/
if ( mo == 0x10 && days == 0x01 ){ lcm_w_word(" ●中國國慶節(jié) "); }//10
if ( mo == 0x10 && days == 0x02 ){ lcm_w_word("△減輕自然災害日"); }//10
if ( mo == 0x10 && days == 0x04 ){ lcm_w_word(" ●世界動物日 "); }
if ( mo == 0x10 && days == 0x06 ){ lcm_w_word(" ●老人節(jié) "); }
if ( mo == 0x10 && days == 0x07 ){ lcm_w_word(" ●國際住房日 "); }
if ( mo == 0x10 && days == 0x08 ){ lcm_w_word(" 全國高血壓日 "); }
if ( mo == 0x10 && days == 0x09 ){ lcm_w_word(" △世界郵政日 "); }
if ( mo == 0x10 && days == 0x12 ){ lcm_w_word("●明天國際教師節(jié)"); }
if ( mo == 0x10 && days == 0x13 ){ lcm_w_word(" ●國際教師節(jié) "); }
if ( mo == 0x10 && days == 0x24 ){ lcm_w_word(" 聯(lián)合國日 "); }
if ( mo == 0x11 && days == 0x10 ){ lcm_w_word(" ●世界青年節(jié) "); }//11
if ( mo == 0x11 && days == 0x17 ){ lcm_w_word(" ●世界學生節(jié) "); }
if ( mo == 0x11 && days == 0x28 ){ lcm_w_word(" ●感恩節(jié) "); }
if ( mo == 0x12 && days == 0x01 ){ lcm_w_word(" 世界艾滋病日 "); }//12
if ( mo == 0x12 && days == 0x09 ){ lcm_w_word(" ●世界足球日 "); }//12
if ( mo == 0x12 && days == 0x23 ){ lcm_w_word(" ●明晚平安夜 "); }
if ( mo == 0x12 && days == 0x24 ){ lcm_w_word(" 今晚平安夜 "); }
if ( mo == 0x12 && days == 0x25 ){ lcm_w_word(" 圣誕快樂 "); }
if ( mo == 0x12 && days == 0x31 ){ lcm_w_word(" 明日新年 "); }
} else
/*------第2行的標尺--- ---|-----------------|----------*/
{if (j==1){ lcm_w_word (" 今天小寒 "); }
if (j==2){ lcm_w_word (" 今天大寒 "); }
if (j==3){ lcm_w_word (" 今天立春 "); }
if (j==4){ lcm_w_word (" 今天雨水 "); }
if (j==5){ lcm_w_word (" 今天驚蟄 "); }
if (j==6){ lcm_w_word (" 今天春分 "); }
if (j==7){ lcm_w_word (" 今天清明 "); }
if (j==8){ lcm_w_word (" 今天谷雨 "); }
if (j==9){ lcm_w_word (" 今天立夏 "); }
if (j==10){ lcm_w_word(" 今天小滿 "); }
if (j==11){ lcm_w_word(" 今天芒種 "); }
if (j==12){ lcm_w_word(" 今天夏至 "); }
if (j==13){ lcm_w_word(" 今天小暑 "); }
if (j==14){ lcm_w_word(" 今天大暑 "); }
if (j==15){ lcm_w_word(" 今天立秋 "); }
if (j==16){ lcm_w_word(" 今天處暑 "); }
if (j==17){ lcm_w_word(" 今天白露 "); }
if (j==18){ lcm_w_word(" 今天秋分 "); }
if (j==19){ lcm_w_word(" 今天寒露 "); }
if (j==20){ lcm_w_word(" 今天霜降 "); }
if (j==21){ lcm_w_word(" 今天立冬 "); }
if (j==22){ lcm_w_word(" 今天小雪 "); }
if (j==23){ lcm_w_word(" 今天大雪 "); }
if (j==24){ lcm_w_word(" 今天冬至 "); }
} //節(jié)氣
} //節(jié)日
/*********************************************************************************************/
/*********************************************************************************************
函數名:農歷節(jié)日顯示
調 用:FUTURE2();
參 數:無
返回值:無
結 果:在屏的第二行顯示農歷節(jié)日
備 注:
/*********************************************************************************************/
void FUTURE2 (void) { //農歷節(jié)日數據庫
lcm_w_test(0,0x88);//在屏幕第3行
/*----------|-----------------|------第3行的標尺------*/
//無節(jié)日時顯示
lcmnongli(); //農歷
lcmshengxiao(); //生肖
lcm_w_test(0,0x88); //0X88在屏幕第3行
if(t/2%2==0) {
/*if(yy == 0x10){ //2010年節(jié)日OK
if ( mo == 0x05 && days == 0x08 ){ lcm_w_word(" 明天是母親節(jié) "); }
if ( mo == 0x05 && days == 0x09 ){ lcm_w_word(" 今天是母親節(jié) "); }
if ( mo == 0x06 && days == 0x19 ){ lcm_w_word(" 明天是父親節(jié) "); }
if ( mo == 0x06 && days == 0x20 ){ lcm_w_word(" 今天是父親節(jié) "); }} */
if(yy == 0x11){//2011年節(jié)日OK
if ( mo == 0x05 && days == 0x07 ){ lcm_w_word(" 明天是母親節(jié) "); }
if ( mo == 0x05 && days == 0x08 ){ lcm_w_word(" 今天是母親節(jié) "); }
if ( mo == 0x06 && days == 0x18 ){ lcm_w_word(" 明天是父親節(jié) "); }
if ( mo == 0x06 && days == 0x19 ){ lcm_w_word(" 今天是父親節(jié) "); }
}
if(yy == 0x12){//2012年節(jié)日OK
if ( mo == 0x05 && days == 0x12 ){ lcm_w_word(" 明天是母親節(jié) "); }
if ( mo == 0x05 && days == 0x13 ){ lcm_w_word(" 今天是母親節(jié) "); }
if ( mo == 0x06 && days == 0x16 ){ lcm_w_word(" 明天是父親節(jié) "); }
if ( mo == 0x06 && days == 0x17 ){ lcm_w_word(" 今天是父親節(jié) "); }
}
if(yy == 0x13){//2013年節(jié)日OK
if ( mo == 0x05 && days == 0x11 ){ lcm_w_word(" 明天是母親節(jié) "); }
if ( mo == 0x05 && days == 0x12 ){ lcm_w_word(" 今天是母親節(jié) "); }
if ( mo == 0x06 && days == 0x15 ){ lcm_w_word(" 明天是父親節(jié) "); }
if ( mo == 0x06 && days == 0x16 ){ lcm_w_word(" 今天是父親節(jié) "); }
}
if(yy == 0x14){//2014年節(jié)日OK
if ( mo == 0x05 && days == 0x10 ){ lcm_w_word(" 明天是母親節(jié) "); }
if ( mo == 0x05 && days == 0x11 ){ lcm_w_word(" 今天是母親節(jié) "); }
if ( mo == 0x06 && days == 0x14 ){ lcm_w_word(" 明天是父親節(jié) "); }
if ( mo == 0x06 && days == 0x15 ){ lcm_w_word(" 今天是父親節(jié) "); }
}
if(yy == 0x15){//2015年節(jié)日OK
if ( mo == 0x05 && days == 0x09 ){ lcm_w_word(" 明天是母親節(jié) "); }
if ( mo == 0x05 && days == 0x10 ){ lcm_w_word(" 今天是母親節(jié) "); }
if ( mo == 0x06 && days == 0x20 ){ lcm_w_word(" 明天是父親節(jié) "); }
if ( mo == 0x06 && days == 0x21 ){ lcm_w_word(" 今天是父親節(jié) "); }
}
if(yy == 0x16){//2016年節(jié)日OK
if ( mo == 0x05 && days == 0x07 ){ lcm_w_word(" 明天是母親節(jié) "); }
if ( mo == 0x05 && days == 0x08 ){ lcm_w_word(" 今天是母親節(jié) "); }
if ( mo == 0x06 && days == 0x18 ){ lcm_w_word(" 明天是父親節(jié) "); }
if ( mo == 0x06 && days == 0x19 ){ lcm_w_word(" 今天是父親節(jié) "); }
}
if(yy == 0x17){//2017年節(jié)日
if ( mo == 0x05 && days == 0x12 ){ lcm_w_word(" 明天是母親節(jié) "); }
if ( mo == 0x05 && days == 0x13 ){ lcm_w_word(" 今天是母親節(jié) "); }
if ( mo == 0x06 && days == 0x16 ){ lcm_w_word(" 明天是父親節(jié) "); }
if ( mo == 0x06 && days == 0x17 ){ lcm_w_word(" 今天是父親節(jié) "); }
}
if(yy == 0x18){//2018年節(jié)日
if ( mo == 0x05 && days == 0x12 ){ lcm_w_word(" 明天是母親節(jié) "); }
if ( mo == 0x05 && days == 0x13 ){ lcm_w_word(" 今天是母親節(jié) "); }
if ( mo == 0x06 && days == 0x16 ){ lcm_w_word(" 明天是父親節(jié) "); }
if ( mo == 0x06 && days == 0x17 ){ lcm_w_word(" 今天是父親節(jié) "); }
}
if(yy == 0x19){//2019年節(jié)日
if ( mo == 0x05 && days == 0x12 ){ lcm_w_word(" 明天是母親節(jié) "); }
if ( mo == 0x05 && days == 0x13 ){ lcm_w_word(" 今天是母親節(jié) "); }
if ( mo == 0x06 && days == 0x16 ){ lcm_w_word(" 明天是父親節(jié) "); }
if ( mo == 0x06 && days == 0x17 ){ lcm_w_word(" 今天是父親節(jié) "); }
}
if(yy == 0x20){//2020年節(jié)日
if ( mo == 0x05 && days == 0x12 ){ lcm_w_word(" 明天是母親節(jié) "); }
if ( mo == 0x05 && days == 0x13 ){ lcm_w_word(" 今天是母親節(jié) "); }
if ( mo == 0x06 && days == 0x16 ){ lcm_w_word(" 明天是父親節(jié) "); }
if ( mo == 0x06 && days == 0x17 ){ lcm_w_word(" 今天是父親節(jié) "); }
}
else{
if ( month_moon== 0x12 && day_moon== 0x13 ){ lcm_w_word (" 春節(jié)還有17天! "); }
if ( month_moon== 0x12 && day_moon== 0x14 ){ lcm_w_word (" 春節(jié)還有16天! "); }
if ( month_moon== 0x12 && day_moon== 0x15 ){ lcm_w_word (" 春節(jié)還有15天! "); }
if ( month_moon== 0x12 && day_moon== 0x16 ){ lcm_w_word (" 春節(jié)還有14天! "); }
if ( month_moon== 0x12 && day_moon== 0x17 ){ lcm_w_word (" 春節(jié)還有13天! "); }
if ( month_moon== 0x12 && day_moon== 0x18 ){ lcm_w_word (" 春節(jié)還有12天! "); }
if ( month_moon== 0x12 && day_moon== 0x19 ){ lcm_w_word (" 春節(jié)還有11天! "); }
if ( month_moon== 0x12 && day_moon== 0x20 ){ lcm_w_word (" 春節(jié)還有10天! "); }
if ( month_moon== 0x12 && day_moon== 0x21 ){ lcm_w_word (" 春節(jié)還有 9天! "); }
if ( month_moon== 0x12 && day_moon== 0x22 ){ lcm_w_word (" 春節(jié)還有 8天! "); }
if ( month_moon== 0x12 && day_moon== 0x23 ){ lcm_w_word (" 春節(jié)還有 7天! "); }
if ( month_moon== 0x12 && day_moon== 0x24 ){ lcm_w_word (" 春節(jié)還有 6天! "); }
if ( month_moon== 0x12 && day_moon== 0x25 ){ lcm_w_word (" 春節(jié)還有 5天! "); }
if ( month_moon== 0x12 && day_moon== 0x26 ){ lcm_w_word (" 春節(jié)還有 4天! "); }
if ( month_moon== 0x12 && day_moon== 0x27 ){ lcm_w_word (" 春節(jié)還有 3天! "); }
if ( month_moon== 0x12 && day_moon== 0x28 ){ lcm_w_word (" ●后天大年夜 "); }
if ( month_moon== 0x12 && day_moon== 0x29 ){ lcm_w_word (" ●明天大年夜 "); }
if ( month_moon== 0x12 && day_moon== 0x30 ){ lcm_w_word (" ●今天大年夜 "); }
if ( month_moon== 0x01 && day_moon== 0x01 ){ lcm_w_word (" 春節(jié)快樂! "); }
if ( month_moon== 0x05 && day_moon== 0x05 ){ lcm_w_word (" 今天是端午節(jié) "); }
if ( month_moon== 0x08 && day_moon== 0x15 ){ lcm_w_word (" 今天是中秋節(jié) "); }
if ( month_moon== 0x01 && day_moon== 0x15 ){ lcm_w_word (" 今天是元宵節(jié) "); }
if ( month_moon== 0x02 && day_moon== 0x02 ){ lcm_w_word (" 今天是龍?zhí)ь^ "); }
if ( month_moon== 0x07 && day_moon== 0x07 ){ lcm_w_word (" 今天是七夕節(jié) "); }
if ( month_moon== 0x07 && day_moon== 0x15 ){ lcm_w_word (" ●今天中元節(jié) "); }
if ( month_moon== 0x09 && day_moon== 0x09 ){ lcm_w_word (" 今天是重陽節(jié) "); }
if ( month_moon== 0x12 && day_moon== 0x08 ){ lcm_w_word (" 今天是臘八節(jié) "); }
}}
}
/*--------------------------------------------
第一行0X80-0X81-0X82-0X83-0X84-0X85-0X86-0X87
第三行0X88-0X89-0X8A-0X8B-0X8C-0X8D-0X8E-0X8F
第二行0X90-0X91-0X92-0X93-0X94-0X95-0X96-0X97
第四行0X98-0X99-0X9A-0X9B-0X9C-0X9D-0X9E-0X9F*/
/*********************************************************************************************
函數名:PWM初始化函數(控制背光亮度)
調 用:PWM_init();
參 數:無
返回值:無
結 果:將PCA初始化為PWM模式,初始占空比為0
備 注:需要更多路PWM輸出直接插入CCAPnH和CCAPnL即可
/**********************************************************************************************/
void PWM_init (void){
CMOD=0x02; //設置PCA定時器
CL=0x00;
CH=0x00;
CCAPM1=0x42; //PWM1設置PCA工作方式為PWM方式(使用時刪除//)
CCAP1L=0x00; //設置PWM1初始值與CCAP0H相同
CCAP1H=0x00; // PWM1初始時為0
CR=1; //啟動PCA定時器
}
/*********************************************************************************************
函數名:PWM1占空比設置函數(控制背光亮度)
調 用:PWM1_set();
參 數:0x00~0xFF(亦可用0~255)
返回值:無
結 果:設置PWM模式占空比,為0時全部高電平,為1時全部低電平
備 注:如果需要PWM1的設置函數,只要把CCAP0L和CCAP0H中的0改為1即可
/**********************************************************************************************/
void PWM1_set (unsigned char a){
CCAP1L= a; //設置值直接寫入CCAP0L
CCAP1H= a; //設置值直接寫入CCAP0H
}
/**********************************************************************************************/
/*********************************************************************************************
函數名:8位A/D轉換初始化
調 用:Read_init (?);
參 數:輸入的端口(0000 0XXX 其中XXX是設置輸入端口號,可用十進制0~7表示,0表示P1.0,7表示P1.7)
返回值:無
結 果:
備 注:適用于STC12C5A60S2單片機
/**********************************************************************************************/
void Read_init (unsigned char CHA){
unsigned char AD_FIN=0; //存儲A/D轉換標志
CHA &= 0x07; //選擇ADC的8個接口中的一個(0000 0111 清0高5位)
ADC_CONTR = 0x40; //ADC轉換的速度(0XX0 0000 其中XX控制速度,請根據數據手冊設置)
_nop_();
ADC_CONTR |= CHA; //選擇A/D當前通道
_nop_();
ADC_CONTR |= 0x80; //啟動A/D電源
DELAY_MS(1); } //使輸入電壓達到穩(wěn)定(1ms即可)
/*********************************************************************************************
函數名:8位A/D轉換函數(采集光敏電阻數據)
調 用:? = Read ();
參 數:無
返回值:8位的ADC數據
結 果:讀出指定ADC接口的A/D轉換值,并返回數值
備 注:適用于STC12C5A60S2單片機
/**********************************************************************************************/
unsigned char Read (void){
unsigned char AD_FIN=0; //存儲A/D轉換標志
ADC_CONTR |= 0x08; //啟動A/D轉換(0000 1000 令ADCS = 1)
_nop_();
_nop_();
_nop_();
_nop_();
while (AD_FIN ==0){ //等待A/D轉換結束
AD_FIN = (ADC_CONTR & 0x10); //0001 0000測試A/D轉換結束否
}
ADC_CONTR &= 0xE7; //1111 0111 清ADC_FLAG位, 關閉A/D轉換,
return (ADC_RES); //返回A/D轉換結果(8位)
}
/*********************************************************************************************
函數名:漸亮和漸暗切換顯示處理
調 用:CH_H(); CH_L();
參 數:無
返回值:無
結 果:背光漸亮和變暗
備 注:用于顯示界面切換的效果(漸暗帶清屏涵數)
/**********************************************************************************************/
void CH_H (void){
unsigned char e;
DELAY_MS(500); //顯示等留0.5秒
for(e=0;e<(read_clock(0xc5)*0x1C);e=e+2){
PWM1_set(e);
DELAY_MS (5);
}
}
/*****************************************************************************/
void CH_L (void){
unsigned char e;
for(e=(read_clock(0xc5)*0x1C);e>0;e=e-2){
PWM1_set(e);
DELAY_MS (5);
}
PWM1_set(0);
lcm_clr();//清屏
}
/**********************************************************************************************/
/*********************************************************************************************
函數名:自動界面檢測程序
調 用:AUTO_B();
參 數:無
返回值:無
結 果:檢測環(huán)境光并控制背光亮度
備 注:
/**********************************************************************************************/
void AUTO_B (void){ //
unsigned char d,e;
d = Read();
DELAY_MS (500);
e=((d/16*10+d%16)+LCDlightsu);
if(read_clock(0xc1) == 1){//檢查自動調光開關
PWM1_set(e);//
}}
/*****************************************************************************/
//根據選擇調整的相應項目加1并寫入DS1302-調時用加1程序
void Set_time(unsigned char sel,unsigned char a){
signed char address,item;
signed char max,mini;
lcm_w_test(0,0x91);
lcm_w_word("↑調整");
// if(sel==5) {lcm_w_word("秒鐘");address=0x80; max=59;mini=0;} //秒7
if(sel==4) {lcm_w_word("分鐘↓");address=0x82; max=59;mini=0;} //年1
if(sel==3) {lcm_w_word("小時↓");address=0x84; max=23;mini=0;} //小時5
// if(sel==3) {lcm_w_word("星期");address=0x8a; max=7;mini=1;} //星期4
if(sel==2) {lcm_w_word("日期↓");address=0x86; max=31;mini=1;} //日3
if(sel==1) {lcm_w_word("月份↓");address=0x88; max=12;mini=1;} //月2
if(sel==0) {lcm_w_word("年份↓");address=0x8c; max=99; mini=0;
// lcm_w_test(0,0x88);lcm_w_word("[NEXT ESC]");
} //年1
if(sel==200) {lcm_w_word("方式↓");address=0xc2+a*6; max=6;mini=0;} //MODE c2
if(sel==201) {lcm_w_word("小時↓");address=0xc2+a*6+2; max=23;mini=0;} //小時 c4
if(sel==202) {lcm_w_word("分鐘↓");address=0xc2+a*6+4; max=59;mini=0;} //分鐘 c6
if(sel==40) {lcm_w_word("報時↓");address=0xc2; max=9;mini=0;} // //整點報時設置
if(sel==50) {lcm_w_word("背光↓");address=0xc4; max=9;mini=0;} //
if(sel==60) {
lcm_w_test(0,0x91);
lcm_w_word(" 調整");
lcm_w_word("界面");address=0XFE; max=5;mini=0;} //
if(sel==61) { lcm_w_test(0,0x91);
lcm_w_word(" 開機LOGO ");address=0XFE; max=25;mini=20;} //
if(sel==230) {
lcm_w_test(0,0x91);
lcm_w_word("調整校時");;address=0xFC; max=20;mini=0;} //校時程序的加減值
//讀取1302某地址上的數值轉換成10進制賦給item
item=((read_clock(address+1))/16)*10 + (read_clock(address+1))%16;
if(adj==3){
item++;//數值加1
}
if(adj==4){
item--;//數值減1
}
if(item>max) item=mini;//查看數值有效范圍
if(item<mini) item=max;
write_clock(0x8e,0x00);//允許寫操作
write_clock(address,(item/10)*16+item%10);//轉換成16進制寫入1302
if(sel==4){//當設置分鐘時,秒值自動清0
write_clock(0x80,0x00);//秒
}
write_clock(0x8e,0x80);//寫保護,禁止寫操作
}
/*********************************************************************************************
函數名:處理顯示函數16進制轉換10進制(被調用層)
調 用:deal();
參 數:無
返回值:無
結 果:16進制轉換10進制
備 注:用于顯示
/**********************************************************************************************/
void Dispdeal(uchar sfm)
{
shi=sfm/16;
ge=sfm%16;
}
/*********************************************************************************************
函數名:12864顯示時分秒運用繪圖程序函數(被調用層)
調 用:display();
參 數:無
返回值:無
結 果:改變6種字體以用于顯示
備 注:ZTB字體變量0------6共7種字體可變換
/**********************************************************************************************/
void display(uchar add,uchar dat)
{ uchar i,j=0;
/********列取模*************/
for(i=16;i<32;i++)
{/*------------數碼體-----------*/
if (ZTB==0)
{ write_12864_cmd(0x80+i);
write_12864_cmd(0x90+add);
write_data(tabshuma[dat][j++]);
write_data(tabshuma[dat][j++]);}
/*-------汗鼎繁淡古----------*/
if(ZTB==1)
{ write_12864_cmd(0x80+i);
write_12864_cmd(0x90+add);
write_data(tabHDF[dat][j++]);
write_data(tabHDF[dat][j++]);}
/*-------自繪字體----------*/
if (ZTB==2)
{ write_12864_cmd(0x80+i);
write_12864_cmd(0x90+add);
write_data(num1632[dat][j++]);
write_data(num1632[dat][j++]);
}
/*-------毛澤東字體----------*/
if (ZTB==3)
{ write_12864_cmd(0x80+i);
write_12864_cmd(0x90+add);
write_data(maozhedong[dat][j++]);
write_data(maozhedong[dat][j++]);
}
/*-------華康字體----------*/
if (ZTB==4)
{ write_12864_cmd(0x80+i);
write_12864_cmd(0x90+add);
write_data(huakangshonv[dat][j++]);
write_data(huakangshonv[dat][j++]);
}/*-------另一種數碼體體----------*/
if (ZTB==5)
{ write_12864_cmd(0x80+i);
write_12864_cmd(0x90+add);
write_data(bignums[dat][j++]);
write_data(bignums[dat][j++]);
} /*-------空心字體----------*/
if (ZTB==6)
{ write_12864_cmd(0x80+i);
write_12864_cmd(0x90+add);
write_data(kongxinga[dat][j++]);
write_data(kongxinga[dat][j++]);
}}
/********行取模*************/
for(i=0;i<16;i++)
{ /*------------數碼體-----------*/
if (ZTB==0){
write_12864_cmd(0x80+i);
write_12864_cmd(0x88+add);
write_data(tabshuma[dat][j++]);
write_data(tabshuma[dat][j++]); }
/*-------汗鼎繁淡古----------*/
if(ZTB==1) {
write_12864_cmd(0x80+i);
write_12864_cmd(0x88+add);
write_data(tabHDF[dat][j++]);
write_data(tabHDF[dat][j++]); }
/*-------自繪字體----------*/
if (ZTB==2) {
write_12864_cmd(0x80+i);
write_12864_cmd(0x88+add);
write_data(num1632[dat][j++]);
write_data(num1632[dat][j++]); }
/*-------毛澤東字體----------*/
if (ZTB==3) {
write_12864_cmd(0x80+i);
write_12864_cmd(0x88+add);
write_data(maozhedong[dat][j++]);
write_data(maozhedong[dat][j++]);}
/*-------華康字體----------*/
if (ZTB==4) {
write_12864_cmd(0x80+i);
write_12864_cmd(0x88+add);
write_data(huakangshonv[dat][j++]);
write_data(huakangshonv[dat][j++]);}
/*-------另一種數碼體體----------*/
if (ZTB==5) {
write_12864_cmd(0x80+i);
write_12864_cmd(0x88+add);
write_data(bignums[dat][j++]);
write_data(bignums[dat][j++]);}
/*-------空心字體----------*/
if (ZTB==6){
write_12864_cmd(0x80+i);
write_12864_cmd(0x88+add);
write_data(kongxinga[dat][j++]);
write_data(kongxinga[dat][j++]);}
}}
/*********************************************************************************************
函數名:12864顯示時分秒運用繪圖程序初始化函數(被調用層)
調 用:init_dzshow();
參 數:無
返回值:無
結 果:顯示圖片時鐘
備 注:
/**********************************************************************************************/
void init_dzshow() {
write_12864_cmd(0x36); //啟動擴充指令集,啟動繪圖模式
clear_img(); //清理圖片緩沖區(qū)
hh = read_clock(0x85); //處理小時,并顯示
Dispdeal(hh);
display(0,shi);
display(1,ge);
display(2,10);
mm = read_clock(0x83); //處理分鐘,并顯示
Dispdeal(mm);
display(3,shi);
display(4,ge);
display(5,10);
ss = read_clock(0x81); //處理秒,并顯示
Dispdeal(ss);
display(6,shi);
display(7,ge); }
/*********************************************************************************************
函數名:XinQishow();星期共用函數(被調用層)
調 用:init_dz()
參 數:無
返回值:無
結 果:
備 注:
/**********************************************************************************************/
void XinQishow() { //處理星期,并顯示
//xinq = read_clock(0x8b);
//unsigned char seweek;
read_clockS();
Conver_week(0,yy,mo,days);//調用公歷換算星期子函數
//seweek=week;//week是公歷轉換星期子函數的運行結果,結果為0-6,0是星期日
switch(week)
{ case 0:lcm_w_word("日");break;
case 1:lcm_w_word("一");break;
case 2:lcm_w_word("二");break;
case 3:lcm_w_word("三");break;//{write_data(0xc8);write_data(0xfd);} //此指令等于lcm_w_word("三");
case 4:lcm_w_word("四");break;
case 5:lcm_w_word("五");break;
case 6:lcm_w_word("六");break;
default:break;
} }
/*********************************************************************************************
函數名:init_dz();圖片時鐘和特大時鐘的共用函數(被調用層)
調 用:init_dz()
參 數:無
返回值:無
結 果:根據不同的界面初始化兩鐘時鐘界面
備 注:圖片時鐘和特大時鐘的日期和溫度的位置是一樣的(共享)
/**********************************************************************************************/
void init_dz()
{ write_12864_cmd(0x30); //選擇8bit數據流,基本指令集
write_12864_cmd(0x0c); //開顯示(無游標、不反白)
write_12864_cmd(0x01); //清除顯示,并且設定地址指針為00H
write_12864_cmd(0x82); //設置指針
lcm_w_word("年 月 日");
write_12864_cmd(0x98); //設置指針
lcm_w_word("星期");
write_12864_cmd(0x81); //處理年,并顯示
yy = read_clock(0x8d);
Dispdeal(yy);
write_data(shi+0x30);
write_data(ge+0x30);
/*----------------*/
write_12864_cmd(0x83); //設置指針
mo = read_clock(0x89); //處理月,并顯示
Dispdeal(mo);
write_data(shi+0x30);
write_data(ge+0x30);
/*----------------*/
write_12864_cmd(0x85); //設置指針
days = read_clock(0x87);//處理日,并顯示
Dispdeal(days);
write_data(shi+0x30);
write_data(ge+0x30);
write_12864_cmd(0x9a); //設置指針
XinQishow(); //顯示星期
write_12864_cmd(0x9f); //設置指針
lcm_w_word("℃"); //溫度標記
if( faceouto==0) { //當開機或調整退出時就讀DS1302中的儲存界面
if(read_clock(0XFF)%16==1) //讀出當前儲存的界面 (圖片時鐘 )
{init_dzshow();} //顯示圖片數字的時鐘
if(read_clock(0XFF)%16==3) { //讀出當前儲存的界面; ( 特大時鐘)
set16162pic(4,4,0,3);}} //在第4列第4行不反白的顯示溫度標記
else
if( faceouto==1) { //當直接選擇界面和自動控制時就不讀DS1302中的儲存界面
if(KA==1) //圖片時鐘
{ init_dzshow();} //顯示圖片數字的時鐘
if(KA==3) { //特大時鐘按當前界面選擇標記
set16162pic(4,4,0,3);} //在第4列第4行不反白的顯示溫度標記標志T和一個小三角
}}
/*********************************************************************************************
函數名:圖片時鐘溫度處理函數(被調用層)
調 用:Tempuer_sfm();
參 數:無
返回值:無
結 果:溫度處理
備 注:顯示在第四行
/**********************************************************************************************/
void Tempuer_sfm() {
uint temper;
uchar temper_ge,temper_shi,temper_bai,temper_qai;
temper=DSS()*(10.625);//讀取溫度
temper_ge=temper%10+0x30;
temper_shi=temper%100/10+0x30;
temper_bai=temper/100+0x30;
temper_qai=temper/1000;
//if(tflag==1)
/**********溫度的寫入(圖片時鐘界面)**********************/
//*********小于于0C時的溫度處理******************
if(DSS < 0)
{write_12864_cmd(0x9c);
lcm_w_word(" -");
}
else
//*********大于100C時的溫度處理******************
{ if(temper_qai==0x01) {
temper_bai=temper%1000/100+0x30; //取除以1000的余數再除100
temper_shi=temper%1000%100/10+0x30;
temper_ge=temper%1000%100%10+0x30;
write_12864_cmd(0x9c);
lcm_w_word("+");
write_data(0x31);
write_data(temper_bai);
write_data(temper_shi);
write_data('.');
write_data(temper_ge);
write_12864_cmd(0x36);}
}
//*********小于于100C時的溫度處理******************
if(temper_qai==0x00) {
write_12864_cmd(0x9c);
lcm_w_word(" +");
write_12864_cmd(0x9d);
if(temper_bai==0)
write_data(0x20);
else
write_data(temper_bai);
write_data(temper_shi);
write_data('.');
write_data(temper_ge);
write_12864_cmd(0x36);}
}
/********************************************************************************************************
/*---------12864LCD---------------*/
/*
第一行0X80-0X81-0X82-0X83-0X84-0X85-0X86-0X87
第三行0X88-0X89-0X8A-0X8B-0X8C-0X8D-0X8E-0X8F
第二行0X90-0X91-0X92-0X93-0X94-0X95-0X96-0X97
第四行0X98-0X99-0X9A-0X9B-0X9C-0X9D-0X9E-0X9F
-------1----2----3----4----5----6----7----8--
********************************************************************************************************/
/*********************************************************************************************
函數名:disp_sfm();12864顯示時分秒運用繪圖程序函數(被調用層)
調 用:disp_sfm()
參 數:無
返回值:無
結 果:圖片時鐘顯示,界面
備 注:溫度標記不斷變化
/**********************************************************************************************/
void disp_sfm()
{
uchar day_temp,date_temp,month_temp,year_temp;
/********************************************************************/
/**************先用繪圖指令寫入喇叭標記--如果報時開起---------
為什么不先寫會影響第四行后半列-----溫度顯示部分
現(xiàn)在好了************OK*************************************
//***********整點報時寫入一喇叭標記************************/
if(read_clock(0xc3) > 0) //讀鬧鐘狀態(tài)
{set16162pic(8,1,0,0);} //在第8列第1行不反白的顯示喇叭標記
else{lcm_w_test(0,0x9B); //如果鬧鐘不開在喇叭標志**在LCM上的寫入空白
lcm_w_test(1,0x20); //在LCM上的寫入空白
lcm_w_test(1,0x20);} //在LCM上的寫入空白
write_12864_cmd(0x30); //啟動基本指令
if(ZTB==0||ZTB==1) //用字體變量量來判斷寫入何種樣的溫度標記
{set16162pic(4,4,0,9);} //在第4列第4行不反白溫度標記
if(ZTB==3||ZTB==2)
{set16162pic(4,4,1,9);} //在第4列第4行不反白溫度標記
if(ZTB==4)
{set16162pic(4,4,0,3);} //在第4列第4行不反白的T溫度標記
if(ZTB==5||ZTB==6)
{set16162pic(4,4,1,3);} //在第4列第4行反白的顯T溫度標記
/*------------圖片時鐘秒的處理------------------------*/
ss = read_clock(0x81); //讀取秒,
if(sec_temp!=ss) //讀取秒,只要有改變液晶顯示也改變
{ sec_temp=ss;
Dispdeal(sec_temp); //處理一下秒的個位和十位
display(7,ge); //更新秒的個位
if(secl!=shi)
{ secl=shi;
display(6,secl);} //更新秒的十位
}
/*------------圖片時鐘分的處理------------------------*/
mm = read_clock(0x83);//讀取分,只要有改變液晶顯示也改變
if(min_temp!=mm)
{
min_temp=mm;
Dispdeal(mm); //處理一下分的個位和十位
display(3,shi);
display(4,ge);
}
/*------------圖片時鐘時的處理------------------------*/
hh = read_clock(0x85);//讀取小時,只要有改變液晶顯示也改變
if(hour_temp!=hh)
{
hour_temp=hh;
Dispdeal(hh); //處理一下時的個位和十位
display(0,shi);
display(1,ge);
}
/*------------圖片時鐘閃點的處理------------------------*/
if(ge/1%2==0)
{
display(2,10);
display(5,10);
}
else
{
display(2,11);
display(5,11);
}
/*------------圖片時鐘日月年星期的更新處理------------------------*/
write_12864_cmd(0x30); //恢復基本指令
days = read_clock(0x87); //讀取日,只要有改變液晶顯示也改變
if(date_temp!=days)
{
date_temp=days;
Dispdeal(days); //處理一下日的個位和十位
write_12864_cmd(0x85);
write_data(shi+0x30);
write_data(ge+0x30);
}
mo = read_clock(0x89); //讀取月,只要有改變液晶顯示也改變
if(month_temp!=mo)
{
month_temp=mo;
write_12864_cmd(0x83);
Dispdeal(mo); //處理一下月的個位和十位
write_data(shi+0x30);
write_data(ge+0x30);
}
yy = read_clock(0x8d); //讀取年,只要有改變液晶顯示也改變
if(year_temp!=yy)
{
year_temp=yy;
write_12864_cmd(0x81);
Dispdeal(yy); //處理一下年的個位和十位
write_data(shi+0x30);
write_data(ge+0x30);
}
xinq = read_clock(0x8b);//讀取星期,只要有改變液晶顯示也改變
if(day_temp!=xinq)
{
day_temp=xinq;
write_12864_cmd(0x9a);
XinQishow();//顯示星期
}
/*****************鬧鐘+自動調光標志**********************/ // if(read_clock(0xc7) == 1)
if(read_clock(0xc1) == 1&&read_clock(0xc7) == 1)//自動調光和鬧鐘同時存在
{ lcm_w_test(0,0x80); //位置-----( X)
lcm_w_test(1,0x0f); //查表燈的符號是0X0F 做自動調光標記
lcm_w_test(1,0x0d); //鬧種標記 半個音樂符號做鬧鐘標記
}
if(read_clock(0xc1) == 1&&read_clock(0xc7) == 0){ //調光標記
lcm_w_test(0,0x80); //位置-----( X)
lcm_w_test(1,0x0f); //查表燈的符號是0X0F
lcm_w_test(1,0x20); //空白
}
if(read_clock(0xc1) == 0&&read_clock(0xc7) == 1){ //寫入鬧鐘標記
lcm_w_test(0,0x80); //位置-----( X)
lcm_w_test(1,0x0d); //鬧鈴標記
lcm_w_test(1,0x20); //空白
}
if(read_clock(0xc1) ==0&&read_clock(0xc7) == 0)//自動調光和鬧鐘同時存不在
{ //清掉標記
lcm_w_test(0,0x80); //位置--第一行第一列
lcm_w_test(1,0x20); // 清除
lcm_w_test(1,0x20); // 清除
}
Tempuer_sfm(); //溫度顯示
}
/*********************************************************************************************
函數名:驗證鬧鐘時間到
調 用:search_time();
參 數:無
返回值:無
結 果:
備 注:
/**********************************************************************************************/
void search_time(void){
unsigned char i;
write_clock(0x8e,0x00);//允許寫操作
for(i=1;i<7;i++){//鬧鐘改為6組,減少2組留出6個字節(jié)RAM
if( read_clock(0xc3+i*6) != 0 && //不為0則表示這項已經設置
read_clock(0xc3+i*6+2) == read_clock(0x85) && //小時對比
read_clock(0xc3+i*6+4) == read_clock(0x83)&& //分值對比
read_clock(0x81) < 0x09 && //這里保證秒值小于8秒動作,防止再操作
v != read_clock(0x83)){ //按鍵停止防再響
switch (read_clock(0xc3+i*6)){//顯示設置項的說明
case 1://只響一次,之后自動關閉[---V4.0即鬧一次后把當前鬧鐘開關給關閉,下次不再鬧]
BEEP_bit = 1;
write_clock(0xc2+i*6,0);
break;//
case 2://常開
BEEP_bit = 1;
break;//
case 3://周六、日除外
if(read_clock(0x8b) < 6){
BEEP_bit = 1;
}
break;//
case 4://周日除外
if(read_clock(0x8b) < 7){
BEEP_bit = 1;
}
break;//
case 5://周六、日響
if(read_clock(0x8b) > 5){
BEEP_bit = 1;
}
break;//
case 6://周日響
if(read_clock(0x8b) == 7){
BEEP_bit = 1;
}
break;//
}
v = read_clock(0x83);
}
}
write_clock(0x8e,0x80);//禁止寫操作
}
/*********************************************************************************************
函數名:鬧鐘數據刷新
調 用:al_updata();
參 數:無
返回值:無
結 果:
備 注:
/**********************************************************************************************/
void al_updata (void){//鬧鐘數據刷新
e = menu%10;
lcm_w_test(0,0x8A);//方式
lcm_w_test(1,e+0x30);//
lcm_w_test(0,0x8D);//時
lcm_w_test(1,read_clock(0xc3+e*6+2)/16+0x30);//小時
lcm_w_test(1,read_clock(0xc3+e*6+2)%16+0x30);
lcm_w_word(":");
lcm_w_test(1,read_clock(0xc3+e*6+4)/16+0x30);//分鐘
lcm_w_test(1,read_clock(0xc3+e*6+4)%16+0x30);
lcm_w_test(0,0x98);//
switch (read_clock(0xc3+e*6)){
case 0:
lcm_w_word(" 鬧鐘始終關閉 ");//
//----------|-------1-------|-----//標尺
break;
case 1:
lcm_w_word(" 響一次后關閉 ");//
//----------|-------1-------|-----//標尺
break;
case 2:
lcm_w_word(" 鬧鐘始終啟動 ");//
//----------|-------1-------|-----//標尺
break;
case 3:
lcm_w_word(" 周一至周五響 ");//
//----------|-------1-------|-----//標尺
break;
case 4:
lcm_w_word(" 周一至周六響 ");//
//----------|-------1-------|-----//標尺
break;
case 5:
lcm_w_word(" 周六和周日響 ");//
//----------|-------1-------|-----//標尺
break;
case 6:
lcm_w_word(" 鬧鐘僅周日響 ");//
//----------|-------1-------|-----//標尺
break;
default:
//冗余語句
break;
}
}
/*********************************************************************************************
函數名:實時時鐘數據刷新
調 用:updata();
參 數:無
返回值:無
結 果:刷新正常界面顯示的時鐘數據
備 注:
/*********用最笨的辦法寫實時時鐘數據**********************************************************/
void updata (void){ //實時時鐘刷新數據
read_clockS();
/**********在屏幕的第一行20XX-XX-XX XX:XX*******************/
lcm_w_test(0,0x80);
lcm_w_word("20");
//--------------------------------
lcm_w_test(1,yy/16+0x30);//
lcm_w_test(1,yy%16+0x30);
//--------------------------------
lcm_w_word("-");
lcm_w_test(1,mo/16+0x30);
lcm_w_test(1,mo%16+0x30);
lcm_w_word("-");
lcm_w_test(1,days/16+0x30);
lcm_w_test(1,days%16+0x30);
lcm_w_word(" ");
lcm_w_test(1,hh/16+0x30);
lcm_w_test(1,hh%16+0x30);
m = read_clock(0x81)&0x01;//冒號":"以秒閃爍
if(m == 1){//秒點閃爍
lcm_w_word(":");
}else{
lcm_w_word(" ");
}
lcm_w_test(1,mm/16+0x30);
lcm_w_test(1,mm%16+0x30);
/******第四行顯示:星期X 溫度39C************/
lcm_w_test(0,0x98); //在LCM上的寫入位置
lcm_w_word("星期");
lcm_w_test(0,0x9A);
XinQishow();//顯示星期 //
if(read_clock(0xc7) == 1)
{
lcm_w_test(0,0x9B); //鬧鐘標志**在LCM上的寫入位置
lcm_w_test(1,0x0e);
lcm_w_test(1,0x20);
}
else{
lcm_w_test(0,0x9B); //鬧鐘標志**秒值在LCM上的寫入位置
lcm_w_test(1,0x54);
lcm_w_test(1,0x10);
}
if(menu==0){
tempera= DSS()*10.625/10; //將DSS匯編程序取放大0。625倍得的溫度值放入溫度寄存器變量
if(tempera < 100){ //小于100C時的顯示
lcm_w_test(0,0x9C); //溫度在LCM上的寫入位置
lcm_w_word("溫度"); //顯示溫度十位
lcm_w_test(1,tempera/10+0x30); //顯示溫度個位
lcm_w_test(1,tempera%10+0x30); //個位
lcm_w_word("℃");} //C字樣
if(tempera > 99){ //讀不出溫度數據時不顯示溫度字樣
lcm_w_test(0,0x9C); //溫度在LCM上的寫入位置
lcm_w_word(" +"); //度C
lcm_w_test(1,tempera/100+0x30); //顯示溫度百位
lcm_w_test(1,tempera%100/10+0x30);//顯示溫度十位
lcm_w_test(1,tempera%100%10+0x30);//顯示溫度個位
lcm_w_word(" "); //寫入半個空格防止亂顯
lcm_w_word("℃");} } //C字樣
else
{
lcmnongli();
}
}
/***************電壓測量************************************************/
typedef unsigned char INT8U;
typedef unsigned int INT16U;
typedef unsigned long int INT32U;
INT8U channel=1;
INT8U AD_finished=0;
INT8U ADC_result;
INT8U ADC_result1;
#define AD_SPEED 0x60 //0110,0000 1 1 270個時鐘周期轉換一次, 0x00 //0000,0000 0 0 420 個時鐘周期轉換一次
void delay23(INT8U delay_time) // 延時函數
{
INT16U n;
while(delay_time--)
{
n = 6000;
while(--n);
}
}
INT8U get_AD_result(INT8U channel) //8位AD
{
INT8U AD_finished=0; //存儲 A/D 轉換標志
ADC_RES = 0;
ADC_RESL = 0;
channel &= 0x07; //0000,0111 清0高5位
ADC_CONTR = AD_SPEED;
_nop_();
ADC_CONTR |= channel; //選擇 A/D 當前通道
_nop_();
ADC_CONTR |= 0x80; //啟動 A/D 電源
delay23(1); //使輸入電壓達到穩(wěn)定
ADC_CONTR |= 0x08; //0000,1000 令 ADCS = 1, 啟動A/D轉換,
AD_finished = 0;
while (AD_finished ==0 ) //等待A/D轉換結束
{
AD_finished = (ADC_CONTR & 0x10); //0001,0000 測試A/D轉換結束否
}
ADC_CONTR &= 0xE7; //1111,0111 清 ADC_FLAG 位, 關閉A/D轉換,
return (ADC_RES); //返回 A/D 高 8 位轉換結果
}
// INT16U ADC_result2;
// INT16U ADC_result3;
INT32U gg;
INT8U aa,g,s,b;
INT32U gg1;
INT8U aa1,g1,s1,b1;
void Dyanya (void){
dispString(0, 0, 1, "LCD12864工作狀態(tài)");
write_12864_cmd(0x90);
lcm_w_word("輸入電壓:");//
ADC_result = get_AD_result(0);//P1.0 為 A/D 當前通道, 接電壓源進行測量
/*--------量程設置為15V--------------------*/
gg=(INT32U)((INT32U)ADC_result*1500.00)/255.00; //擴大量程為15V
aa=gg/1000; //取十位
b=(gg%1000)/100; //取個位
s=(gg%100) /10;
g= gg%10;
lcm_w_test(1,aa+0x30);//
lcm_w_test(1,b+0x30);//
lcm_w_test(1,0x2e);//
lcm_w_test(1,s+0x30);
lcm_w_test(1,g+0x30);
lcm_w_word("V");
delay23(1); //使輸入電壓達到穩(wěn)定
ADC_result1 = get_AD_result(1);//P1.1 為 A/D 當前通道, 接電壓源進行測量
/*--------量程設置為5V--------------------*/
gg1=(INT32U)((INT32U)ADC_result1*1500.00)/255.00; //擴大量程為15V
// gg=(INT32U)((INT32U)ADC_result*500)/256;
aa1=gg1/1000; //取十位
b1=(gg1%1000)/100; //取個位
s1=(gg1%100) /10;
g1= gg1%10;
write_12864_cmd(0x88);
lcm_w_word("電源電流:");//
lcm_w_test(1,aa1/10+0x30);//
lcm_w_test(1,b1+0x30);//
lcm_w_test(1,0x2e);//
lcm_w_test(1,s1+0x30);
lcm_w_test(1,g1+0x30);
lcm_w_word("mA");
delay23(1); //使輸入電壓達到穩(wěn)定
ADC_result = get_AD_result(2);//P1.2 為 A/D 當前通道, 接電壓源進行測量
/*--------量程設置為9V--------------------*/
gg=(INT32U)((INT32U)ADC_result*900.0)/255.0;
aa=gg/2000;
b=gg/200%10;
s=gg/20%10;
g=gg/2%10;
//lcm_w_test(0,0x98);
write_12864_cmd(0x98);
lcm_w_word("MCU-電壓:");//
lcm_w_test(1,aa+0x30);//
lcm_w_test(1,b+0x30);//
lcm_w_test(1,0x2e);//
lcm_w_test(1,s+0x30);
lcm_w_test(1,g+0x30);
lcm_w_word("V");
/* tempera= DSS()*10.625/10; //將DSS匯編程序取放大0。625倍得的溫度值放入溫度寄存器變量
if(tempera < 100){ //小于100C時的顯示
lcm_w_test(0,0x90); //溫度在LCM上的寫入位置
lcm_w_word("¤"); //顯示溫度十位
lcm_w_test(1,tempera/10+0x30); //顯示溫度個位
lcm_w_test(1,tempera%10+0x30); //個位
lcm_w_word("℃");} //C字樣
if(tempera > 99){ //讀不出溫度數據時不顯示溫度字樣
lcm_w_test(0,0x90); //溫度在LCM上的寫入位置
lcm_w_word(" +"); //度C
lcm_w_test(1,tempera/100+0x30); //顯示溫度百位
lcm_w_test(1,tempera%100/10+0x30);//顯示溫度十位
lcm_w_test(1,tempera%100%10+0x30);//顯示溫度個位
lcm_w_word(" "); //寫入半個空格防止亂顯
lcm_w_word("℃");} //C字樣
tempera= DSS()*10.625/10; //將DSS匯編程序取放大0。625倍得的溫度值放入溫度寄存器變量
if(tempera < 100){ //小于100C時的顯示
lcm_w_test(0,0x88); //溫度在LCM上的寫入位置
lcm_w_word("¤"); //顯示溫度十位
lcm_w_test(1,tempera/10+0x30); //顯示溫度個位
lcm_w_test(1,tempera%10+0x30); //個位
lcm_w_word("℃");} //C字樣
if(tempera > 99){ //讀不出溫度數據時不顯示溫度字樣
lcm_w_test(0,0x88); //溫度在LCM上的寫入位置
lcm_w_word(" +"); //度C
lcm_w_test(1,tempera/100+0x30); //顯示溫度百位
lcm_w_test(1,tempera%100/10+0x30);//顯示溫度十位
lcm_w_test(1,tempera%100%10+0x30);//顯示溫度個位
lcm_w_word(" "); //寫入半個空格防止亂顯
lcm_w_word("℃");} //C字樣
tempera= DSS()*10.625/10; //將DSS匯編程序取放大0。625倍得的溫度值放入溫度寄存器變量
if(tempera < 100){ //小于100C時的顯示
lcm_w_test(0,0x94); //溫度在LCM上的寫入位置
lcm_w_word("¤"); //顯示溫度十位
lcm_w_test(1,tempera/10+0x30); //顯示溫度個位
lcm_w_test(1,tempera%10+0x30); //個位
lcm_w_word("℃");} //C字樣
if(tempera > 99){ //讀不出溫度數據時不顯示溫度字樣
lcm_w_test(0,0x94); //溫度在LCM上的寫入位置
lcm_w_word(" +"); //度C
lcm_w_test(1,tempera/100+0x30); //顯示溫度百位
lcm_w_test(1,tempera%100/10+0x30);//顯示溫度十位
lcm_w_test(1,tempera%100%10+0x30);//顯示溫度個位
lcm_w_word(" "); //寫入半個空格防止亂顯
lcm_w_word("℃");} //C字樣
tempera= DSS()*10.625/10; //將DSS匯編程序取放大0。625倍得的溫度值放入溫度寄存器變量
if(tempera < 100){ //小于100C時的顯示
lcm_w_test(0,0x8c); //溫度在LCM上的寫入位置
lcm_w_word("¤"); //顯示溫度十位
lcm_w_test(1,tempera/10+0x30); //顯示溫度個位
lcm_w_test(1,tempera%10+0x30); //個位
lcm_w_word("℃");} //C字樣
if(tempera > 99){ //讀不出溫度數據時不顯示溫度字樣
lcm_w_test(0,0x8c); //溫度在LCM上的寫入位置
lcm_w_word(" +"); //度C
lcm_w_test(1,tempera/100+0x30); //顯示溫度百位
lcm_w_test(1,tempera%100/10+0x30);//顯示溫度十位
lcm_w_test(1,tempera%100%10+0x30);//顯示溫度個位
lcm_w_word(" "); //寫入半個空格防止亂顯
lcm_w_word("℃");} //C字樣
*/
/*
temp=getdata*1.0/255*500;*/
/*temp=getdata*200.0/255.0*12.0;
dispbuf[0]=temp/2%10;
dispbuf[1]=temp/20%10;
dispbuf[2]=temp/200%10;
dispbuf[3]=temp/2000; */
}
void Baiguang(void){
uint temper;
uchar temper_ge,temper_shi,temper_bai,temper_qai;
temper=DSS()*(10.625);//讀取溫度
temper_ge=temper%10+0x30;
temper_shi=temper%100/10+0x30;
temper_bai=temper/100+0x30;
temper_qai=temper/1000;
set16162pic(1,2,0,3); //在第1列第2行不反白的顯示溫度標記標志T和一個小三角
_nop_();
set16162pic(5,2,0,9); //在第5列第2行不反白的顯示溫度標記標志
_nop_();
//set16162pic(5,3,1,9); //在第5列第3行反白的顯示溫度標記標志
_nop_();
set16162pic(1,3,1,3); //在第1列第3行反白的顯示溫度標記標志T和一個小三角
_nop_();
write_12864_cmd(0x30);
if(t/2%2==0) {
dispString(0, 0, 1, "白光烙鐵溫度控制"); }
else {
dispString(0, 0, 1, "¤加熱進程 %..");
write_12864_cmd(0x85);
++th5;
if(th5>100||th5<0)th5=0;
lcm_w_test(1,th5/100+0x30);//
lcm_w_test(1,th5%100/10+0x30);//
lcm_w_test(1,th5%10+0x30);
}
dispString(2, 4, 1, "Tm");
/*--------第二行設定溫度的顯示————————*/
write_12864_cmd(0x91);
lcm_w_word(" ");
lcm_w_test(1,th/100+0x30);//
lcm_w_test(1,th%100/10+0x30);//
lcm_w_test(1,th%10+0x30);//
lcm_w_word("℃");
/*--------第三行左邊烙鐵溫度的顯示————————*/
write_12864_cmd(0x89);
lcm_w_word(" ");
lcm_w_test(1,th1+0x30);//
lcm_w_test(1,th2+0x30);//
lcm_w_test(1,th3+0x30);//
lcm_w_word("℃");
/*--------第三行右邊時分的顯示————————*/
read_clockS();
write_12864_cmd(0x98);
lcm_w_test(1,mo/16+0x30);
lcm_w_test(1,mo%16+0x30);
lcm_w_word("月");
lcm_w_test(1,days/16+0x30);
lcm_w_test(1,days%16+0x30);
lcm_w_word("日");
lcm_w_test(1,hh/16+0x30);
lcm_w_test(1,hh%16+0x30);
m = read_clock(0x81)&0x01;//冒號":"以秒閃爍
if(m == 1){//秒點閃爍
lcm_w_word(":");
}else{lcm_w_word(" ");}
lcm_w_test(1,mm/16+0x30);
lcm_w_test(1,mm%16+0x30);
if(m == 1){//秒點閃爍
lcm_w_word(":");
}else{lcm_w_word(" ");}
lcm_w_test(1,ss/16+0x30);
lcm_w_test(1,ss%16+0x30);
//*********小于于0C時的溫度處理******************
if(DSS < 0)
{write_12864_cmd(0x9c);
lcm_w_word(" -");
}
else
//*********大于100C時的溫度處理******************
{ if(temper_qai==0x01) {
temper_bai=temper%1000/100+0x30; //取除以1000的余數再除100
temper_shi=temper%1000%100/10+0x30;
temper_ge=temper%1000%100%10+0x30;
write_12864_cmd(0x95);
write_data(0x31);
write_data(temper_bai);
write_data(temper_shi);
write_data('.');
write_data(temper_ge);
write_data(0x43);
write_12864_cmd(0x36);}
}
//*********小于于100C時的溫度處理******************
if(temper_qai==0x00) {
write_12864_cmd(0x95);
write_data(temper_bai);
write_data(temper_shi);
write_data('.');
write_data(temper_ge);
lcm_w_word("℃");
write_12864_cmd(0x36);}
}
/*---------12864LCD---------------*/
/*
第一行0X80-0X81-0X82-0X83-0X84-0X85-0X86-0X87
第三行0X88-0X89-0X8A-0X8B-0X8C-0X8D-0X8E-0X8F
第二行0X90-0X91-0X92-0X93-0X94-0X95-0X96-0X97
第四行0X98-0X99-0X9A-0X9B-0X9C-0X9D-0X9E-0X9F
-------1----2----3----4----5----6----7----8--
/*********************************************************************************************
函數名:校時處理程序
調 用:CK();
參 數:無
返回值:無
結 果:在00時00分30秒時進行時間校準,加/減一定時間作為補償。
備 注:校時程序用RAM,0xFA用于存放加或減(1/0),0XFC用于存放加減的秒數(0~20秒)
/**********************************************************************************************/
void CK (void){ // write_clock(address,(item/10)*16+item%10);//轉換成16進制寫入1302
unsigned char cktemp;
cktemp=read_clock(0xfd);
/***********讓減秒操作過了時間段才恢復標記,才能始校時不重復操作*****************************/
if((read_clock(0x85)==0)&&(read_clock(0x83)==0x01)&&(read_clock(0x81)==0)){//凌晨0點1分0秒時恢復
CKTIME_1=0; //為下一天校時恢復標記
}
if((read_clock(0x85)==0)&&(read_clock(0x83)==0)&&(read_clock(0x81)==0x30)&&CKTIME_1==0){//凌晨3點0分30秒時校正
if( read_clock(0xFB) == 1){ //減調整
write_clock(0x8e,0x00);//允許寫操作
write_clock(0x80,0x30+cktemp);//對秒進行調整。26-temp:讓本來+2.+1.+0.-25.-24...變成+2.+1.+0.-1.-2...
write_clock(0x8e,0x80);//禁止寫操作
Beep_key();//按鍵音
CKTIME_1=1;
}
if( read_clock(0xFB) == 0){ //減調整
write_clock(0x8e,0x00);//允許寫操作
write_clock(0x80,0x30-cktemp);//對秒進行調整
write_clock(0x8e,0x80);//禁止寫操作
CKTIME_1=1;
}
}
}
/*------------------------外部中斷0程序-------------------------*/
/*--------- interrupt 0外部中斷0
interrupt 1定時器0
interrupt 2外部中斷1
interrupt 3定時器1
interrupt 4串口中斷 */
void LCDLOGO(void) {
unsigned char InitLine;
Beep(); //揚聲器--開機音
lcm_init(); //初始化液晶顯示器
CH_L(); //漸暗+清屏
dispString(0, 0, 100, "歡迎使用智能時鐘");
dispString(1, 0, 100, " STC12C5A60S2 ");
dispString(2, 1, 100, "請稍等片刻");
dispString(3, 0, 100, "系統(tǒng)啟動中......");
CH_H(); //漸亮
for (InitLine = 0; InitLine < 17; InitLine++)
{convertChar(3, 0, InitLine);DELAY_MS(3);} //顯示等留3秒
Beep(); //揚聲器--開機音
CH_L(); //漸暗+清屏
dispString(0, 0, 100, "●PMW 調光+ 鬧鐘");
dispString(1, 0, 100, "農歷+ 節(jié)日+ 生日");
dispString(2, 0, 100, "△整點報時+ 音樂");
dispString(3, 0, 100, "△多種界面切換..");
CH_H(); //漸亮
for (InitLine = 0; InitLine < 17; InitLine++)
{convertChar(0, 0, InitLine);DELAY_MS(230);} //顯示等留3秒
/*---------------------------------*/
for (InitLine = 0; InitLine < 17; InitLine++)
{convertChar(1, 0, InitLine);DELAY_MS(230); }//顯示等留3秒
/*----------------------------------*/
for (InitLine = 0; InitLine < 17; InitLine++)
{convertChar(2, 0, InitLine);DELAY_MS(230);} //顯示等留3秒
/*-----------------------------------*/
for (InitLine = 0; InitLine < 17; InitLine++)
{convertChar(3, 0, InitLine);DELAY_MS(230);} //顯示等留3秒
Beep(); //揚聲器--開機音
CH_L(); //漸暗+清屏
/*---------1-----------------------------------------*/
dispString(0, 0, 1, "┏━━━━━━┓");
dispString(1, 0, 1, "┃文杰工作室--┃");
dispString(2, 0, 1, "┃ WELL**COME ┃");
dispString(3, 0, 1, "┗━━━━━━┛");
CH_H(); //漸亮
DELAY_MS(300); //顯示等留3秒
Beep(); //揚聲器--開機音
lcm_clr();//清屏
Disp_Img(TU_TAB1); //顯示一幅圖片(我的電腦)
CH_H(); //漸亮
DELAY_MS(300); //顯示等留3秒
InitialSound(); //唱歌文件初始化
Beep_al(); //揚聲器--鬧鐘
Play(Music_lz,0,3,360);
CH_H(); //漸亮
Beep(); //揚聲器--開機音
lcm_clr(); //清屏
Disp_Img(BMP11); //顯示一幅圖片(龍的圖案) buffer
CH_H(); //漸亮
DELAY_MS(300); //顯示等留3秒
Beep(); //揚聲器--開機音
lcm_clr();//清屏
Disp_Img(tab5); //顯示一幅圖片(公雞圖案) buffer
CH_H(); //漸亮
DELAY_MS(300); //顯示等留3秒
Beep(); //揚聲器--開機音
lcm_clr();//清屏
Disp_Img(Photo2); //顯示一幅圖片(我的QQ圖案) buffer
CH_H(); //漸亮
DELAY_MS(500); //顯示等留3秒
lcm_clr();//清屏
lcm_w_word("出品于文杰工作室 歡迎使用 FutureTimer4 LiWenJie&&Home ");//
//------|-------1-------|-------------|-----2--------|-------4-------|----//尺
CH_H(); //漸亮
DELAY_MS(200); //顯示等留3秒
Beep_set();//揚聲器--確定設置
Play(Music_wo,0,3,360);
/*--------------3---------------------------------*/
lcm_clr();//清屏
displayPhoto(powerOnPhoto, 0);
DELAY_MS(300); //顯示等留3秒
lcm_clr();//清屏
lcm_w_word(" 精確時鐘 分享每一分鐘 V8.003 * 按住任意鍵校時");//
//------|-------1-------|-------3-------|-------2---|-------4-------|-----//標尺
CH_H(); //漸亮
DELAY_MS(200); //顯示等留3秒
Beep_key(); //揚聲器--按鍵音
/*-----------------------------------------------*/
// Timer_init(); //中斷初始化一下
}
/*顯示模式3的界面*/
/*********特大號時鐘界面*************************************************/
void dis_mode3int(void)
{
uchar i,j,h,l,x_0=0x80,y_0=0x90;
hh=read_clock(0x85);
h=hh>>4; // 分離十位 個位
l=hh&0x0f;
for(j=0;j<2;j++)
{ for(i=0;i<32;i++) // 十位個位一起讀入
{ wr_lcd(0,0x34);
wr_lcd(0,y_0++);
wr_lcd(0,x_0);
wr_lcd(0,0x30);
wr_lcd(1,mode_3num[h][i*3]); // 連續(xù)寫數據,X坐標自動加1
wr_lcd(1,mode_3num[h][i*3+1]);
wr_lcd(1,mode_3num[h][i*3+2]);
wr_lcd(1,mode_3num[l][i*3]);
wr_lcd(1,mode_3num[l][i*3+1]);
wr_lcd(1,mode_3num[l][i*3+2]);
if(y_0==0xa0){x_0=x_0+8;y_0=0x80;}
}
x_0=0x84,y_0=0x90;
mm=read_clock(0x83);
h=mm>>4; // 分離十位 個位
l=mm&0x0f;}
}
// 模式3向LCM中填寫 秒 數據
void disSecond2(void)
{ char second[3];
read_clockS();
write_12864_cmd(0x30);
second[0]=ss/16+0x30;
second[1]=ss%16+0x30;
second[2]='\0';
dispS2tring(2,7,second);
if(read_clock(0xc7) == 1){
set16162pic(8,2,0,0);} //在第8列第2行不反白的顯示喇叭標記
else if(read_clock(0xc7) == 0) //沒鬧鐘時在標記處寫入空白
dispString(1, 1, 1, " ");
write_12864_cmd(0x36);
if(t/1%2==0)
{display(3,11);}
else
{display(3,10);}
}
/*顯示模式3的界面*/
void dis_mode3(void)
{ write_12864_cmd(0x30);
Tempuer_sfm(); //溫度顯示和圖片時鐘共用
set16162pic(4,4,0,3);} //在第4列第4行不反白的顯示溫度標記
/****在界面6LCD12864的第三行寫入農歷信息**************************************************/
void displcd128D()
{ dispS2tring(3,2,"農歷");
lcmnongli();}
void disDate()
{ char dateBuff[9];
read_clockS();
xinq =read_clock(0x8b);
dateBuff[0]=yy/16+0x30;
dateBuff[1]=yy%16+0x30;
dateBuff[2]=0x2f;
dateBuff[3]=mo/16+0x30;
dateBuff[4]=mo%16+0x30;
dateBuff[5]=0x2f;
dateBuff[6]=days/16+0x30;
dateBuff[7]=days%16+0x30;
dateBuff[8]='\0';
dispS2tring(0,2,dateBuff);//寫入月日信息
Conver_week(0,yy,mo,days);//調用公歷換算星期子函數
//seweek=week;//week是公歷轉換星期子函數的運行結果,結果為0-6,0是星期日
switch(week) //第一行6--7列寫入周幾即星期X
{
case 1:dispS2tring(0,6,"周一");break;
case 2:dispS2tring(0,6,"周二");break;
case 3:dispS2tring(0,6,"周三");break;
case 4:dispS2tring(0,6,"周四");break;
case 5:dispS2tring(0,6,"周五");break;
case 6:dispS2tring(0,6,"周六");break;
case 7:dispS2tring(0,6,"周日");break;
}}
// 向LCM中填寫 秒 數據
void disSecond(void)
{ char second[3];
second[0]=ss/16+0x30;
second[1]=ss%16+0x30;
second[2]='\0';
dispS2tring(2,7,second);
displcd128D(); //更新農歷
disDate(); //更新日期
if(read_clock(0xc7) == 1){
set16162pic(8,2,0,0);}//在第8列第2行不反白的顯示喇叭標記
else if(read_clock(0xc7) == 0) //沒鬧鐘時在標記處寫入空白
dispString(1, 1, 1, " ");
write_12864_cmd(0x36);
if(t/1%2==0)
{display(4,11);}
else
{display(4,10);}
}
//向LCM中填寫 時&分 數據
void disHaMint(void)
{ mm = read_clock(0x83);//讀取分,只要有改變液晶顯示也改變
if(min_temp!=mm)
{min_temp=mm;
Dispdeal(mm); //處理一下分的個位和十位
display(5,shi);
display(6,ge);}
hh = read_clock(0x85);//讀取小時,只要有改變液晶顯示也改變
if(hour_temp!=hh)
{hour_temp=hh;
Dispdeal(hh); //處理一下時的個位和十位
display(2,shi);
display(3,ge);
}
}
void disTemint(void)
{
uchar j;
uchar dat1,dat2,dat3,dat4;
//溫度柱狀顯示和橫線刻度顯示
for(j=0;j<32;j++)
{ dat1=wendu1[j*2];
dat2=wendu1[j*2+1];
if(temperature+j==62) dat1|=0x07;
if(temperature+j >62) dat1|=0x02;
dispLine(0,j,dat1,dat2);
}
for(j=0;j<32;j++)
{ dat1=wendu1[j*2+64];
dat2=wendu1[j*2+65];
if(temperature+j==30) dat1|=0x07;
if(temperature+j >30) dat1|=0x02;
dispLine(8,j,dat1,dat2);}
//數字刻度顯示和溫度個位顯示
if(temperature>=20) //溫度為零上
{
for(j=0;j<32;j++)
{
dat3=wendu2[j*2];
dat4=wendu2[j*2+1];
switch(temperature+j)
{
case 60: dat4|=wendu3[temperature%10][0];break;
case 61: dat4|=wendu3[temperature%10][1];break;
case 62: dat4|=wendu3[temperature%10][2];break;
case 63: dat4|=wendu3[temperature%10][3];break;
case 64: dat4|=wendu3[temperature%10][4];break;
}
dispLine(1,j,dat3,dat4);
}
for(j=0;j<32;j++)
{
dat3=wendu2[j*2+64];
dat4=wendu2[j*2+65];
switch(temperature+j)
{
case 30: dat4|=wendu3[temperature%10][0];break;
case 31: dat4|=wendu3[temperature%10][1];break;
case 32: dat4|=wendu3[temperature%10][2];break;
case 33: dat4|=wendu3[temperature%10][3];break;
case 34: dat4|=wendu3[temperature%10][4];break;
}
dispLine(9,j,dat3,dat4);
}
}
else //溫度為零下
{
temperature=0x14-temperature;
for(j=0;j<32;j++)
{
dat3=wendu2[j*2];
dat4=wendu2[j*2+1];
dispLine(1,j,dat3,dat4);
}
for(j=0;j<32;j++)
{
dat3=wendu2[j*2+64];
dat4=wendu2[j*2+65];
switch(j-temperature)
{
case 8: dat4|=wendu3[temperature%10][0];break;
case 9: dat4|=wendu3[temperature%10][1];break;
case 10: dat4|=wendu3[temperature%10][2];break;
case 11: dat4|=wendu3[temperature%10][3];break;
case 12: dat4|=wendu3[temperature%10][4];break;
}
dispLine(9,j,dat3,dat4);
}}}
void disTem(void)
{if(temperature == (DSS()*10.625)/10+0x14) return ;
temperature=(( DSS()*10.625)/10+0x14); //實際溫度加20°
//溫度柱狀顯示和橫線刻度顯示
disTemint();
}
void disDate28()
{
char yearw,monthw,dayw,weekw,i;
char dateBuff[6];
if(dayflag2 == read_clock(0x87)) return;
yearw =read_clock(0x8d);
monthw=read_clock(0x89);
dayflag2=read_clock(0x87);
//ds1302讀出數據需要轉換
yearw =(yearw >>4)*10+(yearw &0x0f);
monthw=(monthw>>4)*10+(monthw&0x0f);
dayw =(dayflag2>>4)*10+(dayflag2&0x0f);
weekw= convWeek(yearw,monthw,dayw);//計算星期
for(i = 0; i < 7; i++)
{
uchar color;
if( weekw < 0 || weekw >6) break;
if(i == weekw) color = 0;
else color = 1;
dispLine23(88 + i, 0, 88 + i, 6, color);//0從上到下取消點6共有黑點
}
/*********顯示公歷數據XX年XX月XX日******************/
/*在鐘盤的右邊和下邊小數字*/
dateBuff[0]=yearw/10;
dateBuff[1]=yearw%10;
dateBuff[2]=monthw/10;
dateBuff[3]=monthw%10;
dateBuff[4]=dayw/10;
dateBuff[5]=dayw%10;
//三個參數,分別是x,y坐標,顯示的數字
//點坐標 X0-127 y0-63
dispMiniNum(33,1,mininums[dateBuff[0]]);
dispMiniNum(37,1,mininums[dateBuff[1]]);
dispMiniNum(33,58,mininums[dateBuff[2]]);
dispMiniNum(37,58,mininums[dateBuff[3]]);
dispMiniNum(88,58,mininums[dateBuff[4]]);
dispMiniNum(92,58,mininums[dateBuff[5]]);
lcmnongli();//顯示農歷
lcmshengxiao();//顯示生肖
}
void disClock()
{
static char ss1,mm1,hh1;
static char sec,min,hou;
if(ss1 == read_clock(0x81)) return;
switch(sec / 15) //清除原秒針
{
case 0: dispLine23(64,31,64 + secHand[sec % 15][0], 31 - secHand[sec % 15][1], 0);break;
case 1: dispLine23(64,32,64 + secHand[sec % 15][1], 32 + secHand[sec % 15][0], 0);break;
case 2: dispLine23(63,32,63 - secHand[sec % 15][0], 32 + secHand[sec % 15][1], 0);break;
case 3: dispLine23(63,31,63 - secHand[sec % 15][1], 31 - secHand[sec % 15][0], 0);break;
default :break;
}
ss1 = read_clock(0x81);
sec = (ss1 / 16)*10 + (ss1 % 16);
switch(sec / 15) //顯示新秒針
{
case 0: dispLine23(64,31,64 + secHand[sec % 15][0], 31 - secHand[sec % 15][1], 1);break;
case 1: dispLine23(64,32,64 + secHand[sec % 15][1], 32 + secHand[sec % 15][0], 1);break;
case 2: dispLine23(63,32,63 - secHand[sec % 15][0], 32 + secHand[sec % 15][1], 1);break;
case 3: dispLine23(63,31,63 - secHand[sec % 15][1], 31 - secHand[sec % 15][0], 1);break;
default :break;
}
/******************************************************/
switch(min / 15) //清除原分針
{
case 0: dispLine23(64,31,64 + minHand[min % 15][0], 31 - minHand[min % 15][1], 0);break;
case 1: dispLine23(64,32,64 + minHand[min % 15][1], 32 + minHand[min % 15][0], 0);break;
case 2: dispLine23(63,32,63 - minHand[min % 15][0], 32 + minHand[min % 15][1], 0);break;
case 3: dispLine23(63,31,63 - minHand[min % 15][1], 31 - minHand[min % 15][0], 0);break;
default :break;
}
mm1 = read_clock(0x83);
min = (mm1 / 16)*10 + (mm1 % 16);
switch(min / 15) //顯示新分針
{
case 0: dispLine23(64,31,64 + minHand[min % 15][0], 31 - minHand[min % 15][1], 1);break;
case 1: dispLine23(64,32,64 + minHand[min % 15][1], 32 + minHand[min % 15][0], 1);break;
case 2: dispLine23(63,32,63 - minHand[min % 15][0], 32 + minHand[min % 15][1], 1);break;
case 3: dispLine23(63,31,63 - minHand[min % 15][1], 31 - minHand[min % 15][0], 1);break;
default :break;
}
/******************************************************/
switch(hou / 15) //清除原時針
{
case 0: dispLine23(64,31,64 + houHand[hou % 15][0], 31 - houHand[hou % 15][1], 0);break;
case 1: dispLine23(64,32,64 + houHand[hou % 15][1], 32 + houHand[hou % 15][0], 0);break;
case 2: dispLine23(63,32,63 - houHand[hou % 15][0], 32 + houHand[hou % 15][1], 0);break;
case 3: dispLine23(63,31,63 - houHand[hou % 15][1], 31 - houHand[hou % 15][0], 0);break;
default :break;
}
hh1 = read_clock(0x85);
hou = (hh1 / 16)*10 + (hh1 % 16);
if(hou >=12) hou -= 12;
hou = hou * 5 + min / 12;
switch(hou / 15) //顯示新時針
{
case 0: dispLine23(64,31,64 + houHand[hou % 15][0], 31 - houHand[hou % 15][1], 1);break;
case 1: dispLine23(64,32,64 + houHand[hou % 15][1], 32 + houHand[hou % 15][0], 1);break;
case 2: dispLine23(63,32,63 - houHand[hou % 15][0], 32 + houHand[hou % 15][1], 1);break;
case 3: dispLine23(63,31,63 - houHand[hou % 15][1], 31 - houHand[hou % 15][0], 1);break;
default :break;
}
}
/*********** 日歷式界面*****************************/
/*顯示年、月、日、星期-------------------------------------------------------*/
void displaydate(void)
{ uchar date_temp;
/*往液晶屏填寫 日 數據-------------------------------------------*/
read_clockS();//讀時鐘的實時數
// days = read_clock(0x87); //讀取日,只要有改變液晶顯示也改變
if(date_temp!=days) {
date_temp=days;
write_12864_cmd(0x36); //用繪圖指令寫當前日期
Dispdeal(date_temp); //處理一下時的個位和十位
if(days/16 !=0){
display(1,shi);
display(2,ge);
display(3,12);}
else
{display(1,ge);
display(2,12);
display(3,11);
}}
write_12864_cmd(0x30); //用基本指令寫當前年月
write_12864_cmd(0x06);
/*往液晶屏填寫 年 數據-------------------------------------------*/
write_12864_cmd(0x80);
lcm_w_word("20");
//yy=read_clock(0x8d);//調用1302時鐘數據中的年數據,從地址0x8d中
write_data(yy/16+0x30);
write_data(yy%16+0x30);
lcm_w_word("年");
/*往液晶屏填寫 月 數據-------------------------------------------*/
write_12864_cmd(0x90);
//mo=read_clock(0x89);//調用1302時鐘數據中的月數據,從地址0x89中
if(mo/16 != 0){ //十位消隱
write_data((mo/16)+0x30);
write_data((mo%16)+0x30);}
else{
write_data((mo%16)+0x30);
//write_data(0x20);
}
write_12864_cmd(0x88);
lcm_w_word("月");
}
/*往液晶屏填寫 星期 數據-----------------------------------------*/
void displayxq(void){
// unsigned char sel;
read_clockS();
// Conver_week(0,yy,mo,days);//調用公歷換算星期子函數
// sel=week;//week是公歷轉換星期子函數的運行結果,結果為0-6,0是星期日
write_12864_cmd(0x30);
write_12864_cmd(0x98);
lcm_w_word("星期");//調用字符顯示子函數,顯示 星期 兩個字
write_12864_cmd(0x9a);//顯示位置
XinQishow(); // 星期
}
/*需要繪圖顯示的:時、分、秒--------------------------------------------------*/
void displaytime(void)
{ write_12864_cmd(0x30); //恢復基本指令寫法才能正常 /
read_clockS();//讀時鐘的實時數
/*往液晶屏填寫 小時 數據-----------------------------------------*/
//hh = read_clock(0x85); //讀取DS1302的 時
write_12864_cmd(0x9c);
write_data(hh/16+0x30);
write_data(hh%16+0x30);
m = read_clock(0x81)&0x01;//冒號":"以秒閃爍
if(m == 1){//秒點閃爍
lcm_w_word(":");
}else{
lcm_w_word(" ");
}
/*往液晶屏填寫 分鐘 數據-----------------------------------------*/
//mm = read_clock(0x83); //讀取DS1302的 分
write_data(mm/16+0x30);
write_data(mm%16+0x30);
// lcm_w_word(":");//調用字符顯示子函數,顯示 ":"
if(m == 1){//秒點閃爍
lcm_w_word(":");
}else{
lcm_w_word(" ");
}
/*往液晶屏填寫 秒鐘 數據-----------------------------------------*/
//ss= read_clock(0x81); //讀取DS1302的 秒
write_data(ss/16+0x30);
write_data(ss%16+0x30);
}
/*溫度值顯示-----------------------------------------------------------------*/
void ds1820disp()
{ tempera= DSS()*10.625;//讀取溫度
disdata[0]=tempera%1000/100+0x30; //十位數
disdata[1]=tempera%100/10+0x30; //個位數
disdata[2]=tempera%10+0x30; //小數位
if(disdata[0]==0x30) { disdata[0]=0x20; }//如果十位為0,不顯示
if(ZTB==0||ZTB==1){
set16162pic(4,1,0,9);} //在第6列第1行不反白的°C圖標
else
if(ZTB==3)
{
set16162pic(4,1,1,9);}
else
{write_12864_cmd(0x30);
set16162pic(4,1,0,3); //在第4列第1行不反白的顯示溫度標記
}
write_12864_cmd(0x30);
write_12864_cmd(0x06);
write_12864_cmd(0x84); //在液晶上顯示溫度起始位置:"28.8°C"
write_data(disdata[0]); //顯示十位
write_data(disdata[1]); //顯示個位
// write_data(0x2e); //顯示小數點
// write_data(disdata[2]); //顯示小數位
if(ZTB==0||ZTB==1){
set16162pic(6,1,0,8);} //在第6列第1行不反白的°C圖標
else
if(ZTB==3)
{
set16162pic(6,1,1,8);}
else
{write_12864_cmd(0x30);
write_12864_cmd(0x85);
lcm_w_word("℃");} //C字樣}
}
//*********界面顯示初始化函數******************************/
//因為LCD用了擴充指令繪圖程序從一個界面轉換到另外一個截面初始化的要求不一樣
//目的是為了個個界面的順利轉換******************************/
void TIMEfaceInit (void)
{
write_12864_cmd(0x34);
write_12864_cmd(0x30);
lcm_clr();
write_12864_cmd(0x06); //設置輸入模式
write_12864_cmd(0x0c); //設置開顯控制
if( faceouto==0) {
KA=read_clock(0XFF)%16; //讀出當前儲存的界面
}
/******標準節(jié)日時鐘********************************/
if(KA==0){
lcm_clr(); //清字符
write_12864_cmd(0x36); //啟動擴充指令集,啟動繪圖模式
clear_img(); //清圖片數據
lcm_init(); //LCD初始化一下為節(jié)日時鐘顯示作準備
}
/******圖片時鐘********************************/
if(KA==1){
lcm_clr(); //清字符
write_12864_cmd(0x36); //啟動擴充指令集,啟動繪圖模式
clear_img(); //清圖片數據
lcm_init(); //LCD初始化一下為圖片時鐘顯示作準備
init_dz(); //圖片時鐘
}
/*******圖形溫度初始化程序*******************************/
if(KA==2){
temperature=( (DSS()*10.625)/10+0x14); //讀一下溫度
min_temp=0xff;hour_temp=0xff;
write_12864_cmd(0x36); //啟動擴充指令集,啟動繪圖模式
clear_img(); //清圖片數據
disHaMint(); //小時和分鐘
disTemint(); //溫度顯示
lcm_init(); //LCD初始化一下
write_12864_cmd(0x30); //恢復基本指令
disDate(); //顯示日月和星期
}
/********特大時鐘界面****************************************/
if(KA==3){
lcm_clr(); //清屏
write_12864_cmd(0x36); //啟動擴充指令集,啟動繪圖模式
clear_img(); //清圖片數據
lcm_init(); //初始化LCD
init_dz(); //顯示標題
dis_mode3int(); //特大界面先顯示一下
}
/*******圖形溫度+表盤時鐘***********************/
if(KA==4){
temperature=( (DSS()*10.625)/10+0x14);//讀一下溫度
lcm_clr(); //清屏
write_12864_cmd(0x36); //啟動擴充指令集,啟動繪圖模式
clear_img(); //清圖片數據
dispPic(pic); //顯示表盤
disTemint(); //顯示溫度
dayflag2 = 0xff; //把農歷轉換一下dayflag2
write_12864_cmd(0x30); //恢復基本指令
disDate28(); //寫入農歷數據
}
/*******日歷時鐘***********************/
if(KA==5){
tempera= DSS()*10.625;//讀取溫度
write_12864_cmd(0x36); //啟動擴充指令集,啟動繪圖模式
clear_img();
lcm_clr();
displaytime(); //顯示時間
ds1820disp(); //顯示溫度
}
}
//------------功能菜單-------------------------
void Gongnengmen (void) {
dispString(0, 0, 1, "功┃1:圖①2:圖②");
dispString(1, 0, 1, "能┃3:歌㈠4:歌㈡");
dispString(2, 0, 1, "菜┃5:溫控6:測量");
dispString(3, 0, 1, "單┃7:自動8:版本");
}
//------------調整菜單-------------------------
void Tiaozhengmen (void) {
lcm_w_word("[ 調整菜單 ]C:報時 D:背光A:時鐘 B:鬧鐘E:校時 F:界面");
}
//------------菜單退出總成-------------------------
void Memuexit (void) {
lcm_clr();
lcm_init(); //初始化LCD
write_12864_cmd(0x36);
clear_img();
faceouto=0; //退出時讀儲存的界面
menu2 = 0; //退出功能菜單標記
menu = 0; //退出調時
e = 0; //計數器清0
TIMEfaceInit();
}
void Timeface(void){
uchar mmk ;
/**************節(jié)日時鐘界面以秒速度進行刷新***********************************/
if(KA == 0&&read_clock(0x81) != sb) //顯示更新處理,防止重復更新,每秒更新一次
{sb = read_clock(0x81); //讀取DS1302中的秒數據
updata (); //更新主界面時間數據
FUTURE(); //節(jié)日顯示
FUTURE2(); //節(jié)日顯示
AUTO_B();//自動背光控制,根據光線亮的程度
}
/***************圖片時鐘界面**************************************************/
if(KA == 1)
{
disp_sfm();/*顯示圖片時鐘 */
AUTO_B();//自動背光控制,根據光線亮的程度
if(read_clock(0x83) != mmk) //顯示更新處理,防止重復更新,每秒更新一次
{mmk = read_clock(0x83); //讀取DS1302中的秒數據
init_dz(); // 顯示年月日和溫度
}}
/******************圖形溫度+圖片時鐘界面***************************************/
if(KA == 2){
disSecond(); //更新秒鐘
AUTO_B();//自動背光控制,根據光線亮的程度
if(read_clock(0x83) != mmk) //顯示更新處理,防止重復更新,每分更新一次
{mmk = read_clock(0x83); //讀取DS1302中的秒數據
disHaMint(); //只有分鐘要更新時才動作可以減少閃爍
disTem();
} }
/****************特大圖片時鐘界面***********************************************/
if(KA == 3){ disSecond2(); dis_mode3();
AUTO_B();//自動背光控制,根據光線亮的程度
if(read_clock(0x83) != mmk) //顯示更新處理,防止重復更新,每秒更新一次
{mmk = read_clock(0x83); //讀取DS1302中的秒數據
dis_mode3int();
init_dz();
} }
/****************表盤式時鐘+圖形溫度器*******************************************/
if(KA == 4){ //顯示更新處理,防止重復更新,每秒更新一次 &&read_clock(0x81) != sb
// sb = read_clock(0x81); //讀取DS1302中的秒數據
disClock(); /*顯示鐘表 */
disDate28(); /*日期和生宵更新 */
AUTO_B();//自動背光控制,根據光線亮的程度
if(read_clock(0x83) != mmk) { //顯示更新處理,防止重復更新,每分更新一次
mmk=read_clock(0x83); //讀取DS1302中的秒數據
disTem();} //以分鐘級的速度刷新溫度
}
/****************日歷式時鐘*******************************************/
if(KA == 5&&read_clock(0x81) != sb){ //顯示更新處理,防止重復更新,每秒更新一次
displaydate(); //顯示日期
// displaynl(); //顯示農歷
lcmnongli();//顯示農歷
lcm_w_nl(); //顯示節(jié)氣
displaytime(); //顯示時間
DSS(); //讀取溫度
ds1820disp(); //顯示溫度
displayxq(); //顯示星期
AUTO_B();//自動背光控制,根據光線亮的程度
} }
//************************************************************************************************
/*********************************************************************************************
函數名:整點報時檢查處理
調 用:search_bs();
參 數:無
返回值:無
結 果:檢測整點并報時
備 注:
/**********************************************************************************************/
void search_bs(void){//檢查整點報時
unsigned char i;
if(read_clock(0x81)==0 && read_clock(0x83)==0){
i = read_clock(0x85);
switch (read_clock(0xc3)){//檢測報時范圍
case 1:
if(i >= 0x06 && i <= 0x20){
Beep_bs(); //整點提示音
}
break;
case 2:
if(i >= 0x06 && i <= 0x23&&shengri_bit==1){
Play(Music_lz,0,3,360); //祝你生日快樂
// Timer_init();
}
break;
case 3:
if(i >= 0x07 && i <= 0x20){
Play(Music_wo,0,3,360); //天空之城
// Timer_init();
}
break;
case 4:
if(i >= 0x07 && i <= 0x23){
Play(Music_wo,0,3,360); //天空之城
// Timer_init();
}
break;
case 5:
if(i >= 0x08 && i <= 0x20&&shengri_bit==1){
Play(Music_lz,0,3,360); //祝你生日快樂
// Timer_init();
}
break;
case 6:
if(i >= 0x08 && i <= 0x23){
Play(Music_lz,0,3,360); //祝你生日快樂
// Timer_init();
}
break;
case 7:
if(i >= 0x09 && i <= 0x20){
Play(Music_lz,0,3,360); //祝你生日快樂
// Timer_init();
}
break;
case 8:
if(i >= 0x09 && i <= 0x23){
Beep_bs(); //整點提示音
}
break;
case 9:
if(i >= 0x00 && i <= 0x23){
Beep_bs(); //整點提示音
}
break;
default:
//冗余語句
break;
}
TIMEfaceInit();//刷新顯示
}
}
void CLOCKTIME(void) //
{unsigned char du;
if(BEEP_bit == 1 && read_clock(0xc7) == 1){ // 鬧鐘喇叭標記和鬧鐘總開關開啟
unsigned char a,b,e;
lcm_clr();
write_12864_cmd(0x36);
clear_img();
lcm_init(); //初始化LCD
menu=1; //為了在第三行顯示農歷
du=KA; //讀出當前界面
faceouto=0; //讀儲存的記憶界面
lcm_w_word(" ALARM CLOCK TIME 鬧鐘提醒 ");//
/******************- --|-------1------|-----3-------|-------2-------|-------4-----|-----//標尺******////
for(b=0;b<60;b++){ //鬧鐘的鳴響時間(響一次即為1秒,180為3分鐘)
updata ();//更新主界面時間數據
for(e=250;e>0;e=e-2){DELAY_MS (3);}
Beep_al();
for(a=0;a<6;a++){
if(adj==1|| adj==2||adj==3||adj==4){
adj=0;
b = 250;
v = read_clock(0x83);}//按鍵停止后設置分=V,可防止松開鍵后再次響
}
IR_con(); KEY_procon(); //等待按鍵在此循環(huán)
}BEEP_bit = 0;
KA=du;
menu=0;
TIMEfaceInit(); //更新主界面時間數據
}}
/*
/*********************************************************************************************
函數名:主函數
調 用:無
參 數:無
返回值:無
結 果:程序開始處,無限循環(huán)
備 注:
/**********************************************************************************************/
void main (void){
unsigned char InitLine;
unsigned char autoss;
uchar key1Times=1 ;
AUXR=0X00; //設置單片機12T模式,0X3C為1T模式
P0M1=0x00;
P0M0=0x00; //P0口為傳統(tǒng)8051IO口
P3M1=0x00;
P3M0=0x00; //P3口為傳統(tǒng)8051IO口
P2M1=0x00;
P2M0=0x00; //P2口為傳統(tǒng)8051IO口
P0 = 0xFF;
P2 = 0xFF;
P3 = 0xFF;
th=th1*100+th2*10+th3; //獲取設置溫度的高位
/*****************
//這兩個寄存器用來設置 P1口四種狀態(tài),每一位對應一個P1引腳 ,按狀態(tài)組合操作
P1M0 和P1M1 寄存器位
7 6 5 4 3 2 1 0
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
同理P3M0 P3M1 也是。因為STC12C2052AD只有兩個P口,
所以只有這倆組 STC12C5410AD還多P2M0 P1M0 有三組
P1M0 P1M1 高
0 0 普通I0口 (準雙向) P1寄存器位 7 6 5 4 3 2 1 0
0 1 強推挽輸出 (20MA電流 )盡量少用 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
1 0 僅做輸入 A/D轉換時可用此模式
1 1 開漏 ,A/D轉換時可用此模式
例如:
要設置P1.2為 AD 輸入口
則 P1M0=0X02 ;
P1M1=0X02; 開漏即可
當不用AD時,最好 關閉ADC電源 ,恢復為IO口狀態(tài)
//P1M0=0x02;//這兩個寄存器用來設置 P1口四種狀態(tài),每一位對應一個P1引腳 ,按狀態(tài)組合操作
//P1M1=0x02;//設置P1.1為開漏狀態(tài)
********************************/
/*------設置P1.4為AD口--------------------------*/
/*------設置P1.3為口(PMW只能是普通IO口)--------*/
P1M0 = 0x10;// 00010000
P1M1 = 0x10;// 00010000
Read_init (3); //存儲A/D轉換初始化
PWM_init(); //調光程序初始化
Init_1302(); //時鐘芯片初始化
InitialSound(); //唱歌文件初始化
tempera= DSS();//將DSS匯編程序取得的溫度值放入溫度寄存器變量
if(((read_clock(0xff)/16)*10 )+ (read_clock(0xff)%16)>5)
{LCDLOGO();}
lcm_init();//這是必須的初始化液晶顯示器(否則會顯示不正常)
Beep_set();//揚聲器--確定設置
ZTB=0; //默認字體是0
Autofance=0; //自動切換界面關閉
CH_L(); //漸暗+清屏
faceouto=0; //要讀儲存的界面
TIMEfaceInit();//讀取界面并顯示
CH_H(); //漸亮
Timer_init2(); //遙控中斷初始化一下(在音樂文件中)
menu = 0; //菜單標志位清0
menu2 = 0; //功能菜單標志位清0
CKTIME_1=0 ; //允許校時標記打開
dayflag2 =0xff; //把農歷轉換一下
c_sun=0; /*------c_sun=0;既轉換21世紀的農歷數據表 如不賦初值農歷計算會產生錯誤*/
shengri_bit=0;
BEEP_bit = 0;//鬧鐘標志位清0
/**********主循環(huán)********************************************************************/
while(1){//主循環(huán)
CLOCKTIME();//鬧鐘到時的顯示
//***********//正常走時最大的循環(huán)處***************************************
if (menu == 0){ //正常走時菜單
search_time();//檢測鬧鐘
search_bs(); //檢測整點報時
CK(); //時間校準
autoss=read_clock(0x81);
/********自動控制*******************/
if( Autofance==1&&autoss==0x30){
CH_L(); //漸暗+清屏
Autofance=0;
Beep_key(); //按鍵音表示成功換
++KA; //界面上加一
if(KA>5){KA =0;}//大于等于6切換到0
++ZTB; //字體上加一
if(ZTB>6){ZTB =0;}//大于等于7切換到0
faceouto=1; //不讀儲存的記憶界面
CH_H(); //漸亮
lcm_init(); //初始化液晶顯示器
lcm_w_test(0,0x83);//
lcm_w_word("--");//
lcm_w_test(1, 0+0X30); //
lcm_w_test(1,KA%16+1+0x30); //讀出數據并顯示
lcm_w_test(0,0x90); //寫入指定區(qū)域
lcm_w_word(" 界面樣式 ");
lcm_w_test(0,0x88); //寫入指定區(qū)域
if(KA == 0){//界面1狀態(tài)
lcm_w_word("標準節(jié)日時鐘界面"); }
if(KA == 1){//界面2狀態(tài)
lcm_w_word("數字圖片時鐘界面"); }
if(KA == 2){//界面3狀態(tài)
lcm_w_word("圖形溫度時鐘界面"); }
if(KA == 3){//界面4狀態(tài)
lcm_w_word(" 特大時鐘界面 "); }
if(KA == 4){//界面5狀態(tài)
lcm_w_word("模擬時鐘溫度界面"); }
if(KA == 5){//界面6狀態(tài)
lcm_w_word("¤日歷式時鐘界面"); }
dispString(3, 0, 100, "界面切換中......");
CH_H(); //漸亮
for (InitLine = 0; InitLine < 17; InitLine++)
{convertChar(3, 0, InitLine);
DELAY_MS(200);} //顯示等留3秒
DELAY_MS(1500); //必須1秒以上的延時才能打開標記再次判斷
autoss=read_clock(0x81);//必須1秒以上的延時才能保證不重復操作
TIMEfaceInit(); //切換界面并顯示
CH_H(); //漸亮
Autofance=1; //重新打開標記再次控制
}
/*****************************************************************************/
Timeface();//時鐘界面切換總成
//****************在時鐘模式下直接選擇模式2***********************************/
if (adj==4&& menu == 0) // adj=0;
{ adj=0;
Beep_key(); //按鍵音
Autofance=0; //關閉自動控制
faceouto=1; //不讀儲存的記憶界面
KA= KA+1;
if(KA>5){KA =0;}
TIMEfaceInit();
e=0; //計數器清0
menu =0; //退出調時
menu2 = 0; //退出功能菜單標記
}
//****************在時鐘模式下直接選擇模式1(可以更換不同字體)***********************************/
//************************************************************************************************
if (adj==2&& menu == 0) //
{ Beep_key(); //按鍵音
faceouto=1; //快捷選擇字體時不要再讀DS1302RAM的儲存界面
Autofance=0; //關閉自動控制
++ZTB; //字體標記取反一次
if(ZTB>=7){ZTB=0;} //只有7種可供選擇的字體
CH_L(); //漸暗+清屏
lcm_init(); //初始化液晶顯示器
write_12864_cmd(0x36);//啟動擴充指令集,啟動繪圖模式
clear_img(); //清理圖片數據
if(KA!=1) //當前儲存的界面模式不是不1就立即到1
KA=1; // 當前儲存的界面立即到1防止亂顯
TIMEfaceInit(); //刷新數據
CH_H(); //漸亮
adj=0; //防止退出
/*------------此后程序在whill中循環(huán)了-----------------*/
while(1) //循環(huán)
{ CK(); //時間校準
CLOCKTIME(); //鬧鐘到時的顯示
if(BEEP_bit == 0)/*-----------------------------------------*/
{disp_sfm();/*顯示大時鐘 */
search_time(); /*檢測鬧鐘*/
search_bs();//檢測整點報時
}
if(read_clock(0x83) != sb) //顯示更新處理,防止重復更新,每秒更新一次
{ sb = read_clock(0x83);init_dz(); } // 顯示年月日和圖片時鐘的初始界面
if (adj==2) /*-----------在whill中變換字體-----------------*/
{Beep_key(); //按鍵音
++ZTB; //字體標記取反一次
if(ZTB>=7){ZTB=0;}
CH_L(); //漸暗+清屏
lcm_init(); //初始化液晶顯示器
write_12864_cmd(0x36); //啟動擴充指令集,啟動繪圖模式
clear_img(); //清理圖片數據
init_dz(); // 顯示年月日和溫度
CH_H(); //漸亮
adj=0; } //防止重復操作
if (adj==4)/*------------退出字體切換恢復儲存的界面---------------------*/ // 按鍵按下
{Beep_key(); //按鍵音
CH_L(); //漸暗+清屏
faceouto=0; //恢復讀取DS1302RAM的儲存界面
TIMEfaceInit(); //刷新數據
CH_H(); //漸亮
break;}
if (adj==1)/*------------退出whill循環(huán)直接進入調時菜單-------------------*/ // 按鍵按下
{Beep_key(); //按鍵音
CH_L(); //漸暗+清屏
write_12864_cmd(0x36); //啟動擴充指令集,啟動繪圖模式
clear_img(); //清理圖片數據
lcm_init(); //初始化液晶顯示器
Tiaozhengmen();//---------顯示調整菜單
convertChar(1, 1, 4);
menu = 1; //標志置調整菜單
menu2 = 0; //功能菜單標志置0
e = 25; //倒記時為25秒
CH_H(); //漸亮
break;}
if (adj==3)/*------------退出whill循環(huán)直接進入功能菜單-------------------*/ // 按鍵按下
{Beep_key(); //按鍵音
CH_L(); //漸暗+清屏
write_12864_cmd(0x36); //啟動擴充指令集,啟動繪圖模式
clear_img(); //清理圖片數據
lcm_init(); //初始化液晶顯示器
Gongnengmen(); //顯示功能菜單
convertChar(0, 3, 4); //反白第一項
e = 9; //倒記時為9秒
menu2 = 1; //功能菜單標志置1
menu = 1; //功能菜單標志置1
CH_H(); //漸亮
break;}
IR_con(); KEY_procon();}//whill循環(huán)
}IR_con(); KEY_procon(); //等待按鍵在此循環(huán) (還沒跳出MINE的循環(huán)所以按鍵在這判斷)
}
//--------KEY_1的第一層菜單-----------------------------------------------
if((adj==1||adj==3)&& menu == 0){
Beep_key(); //按鍵聲音
Autofance=0; //關閉自動控制
CH_L(); //漸暗+清屏
lcm_init(); //初始化液晶顯示器
if(adj==1){
Tiaozhengmen(); //顯示調整菜單
convertChar(1, 1, 4);
menu2 =0;
menu = 1;
CH_H();
e = 25; }
if(adj==3){
CH_L(); //漸暗+清屏
Gongnengmen(); //顯示功能菜單
convertChar(0, 3, 4);
CH_H(); //漸亮
menu = 1;
menu2 =1;
e = 9; }
adj=0;}
/*
第一行0X80-0X81-0X82-0X83-0X84-0X85-0X86-0X87
第三行0X88-0X89-0X8A-0X8B-0X8C-0X8D-0X8E-0X8F
第二行0X90-0X91-0X92-0X93-0X94-0X95-0X96-0X97
第四行0X98-0X99-0X9A-0X9B-0X9C-0X9D-0X9E-0X9F*/
/**********************************************************************************************/
if (menu == 1&&menu2 ==0)
{ //設置菜單(自動回歸)
if(read_clock(0x81) != ss){
ss = read_clock(0x81);
write_12864_cmd(0x36); //啟動繪圖指令
display(3,e/10); //0
display(4,e%10); //倒計時
e--;
if(e==0) //等待回歸的記器歸0后自動回到時鐘的顯示
{
menu = 0;menu2 = 0;
Beep_key(); //按鍵聲音
write_12864_cmd(0x30); //恢復普通指令
lcm_clr(); //清屏
TIMEfaceInit(); //讀取界面并更新
}
IR_con(); KEY_procon(); //e沒到0時程序還在這里所以等待按鍵在此循環(huán)
}
if((adj==1|| adj==2 ||adj==3||adj==4) &&menu2 ==0)
{ uchar key1Times=1 ;
lcm_clr();//清屏
Tiaozhengmen();//---------顯示調整菜單
convertChar(1, 1, 4);
while(1)
{
if(adj==4||adj==2)
{
/*-----------------------*/
if(adj==4 && menu == 1)
{
Beep_key();//按鍵音
key1Times--;
if (key1Times==0 ){key1Times = 6;}
}
/*-----------------------*/
if(adj==2 && menu == 1)
{
Beep_key();//按鍵音
key1Times++;
if (key1Times==7 ){key1Times = 1;}
}
lcm_clr();//清屏
Tiaozhengmen();//---------顯示調整菜單
//----------|----------------------------------------------------------------|
switch(key1Times)
{ //第0行----地址3-----字數4個半角2個全角
case 1: convertChar(1, 1, 4);break;
//第0行----地址6-----字數4個半角2個全角
case 2:convertChar(1, 6, 4); break;
case 3: convertChar(2, 1, 4);break;
case 4: convertChar(2, 6, 4);break;
case 5: convertChar(3, 1, 4);break;
case 6: convertChar(3, 6, 4);break;}
}
if (adj==1) //根據不同的選擇6個菜單項目的確定按鍵
{
Beep_set();//確定按鍵音
/*----------------------------------------------------------------------------------------------------*/
/*-------------------*/
if (key1Times==1 ){
adj=0;//防止年被加了1
menu = 10;
lcm_clr();//清屏
// lcm_w_word("[NEXT 是春山ESC] ");//
lcm_w_word("[-1 +1 NEXT ESC] ");//
//----------|-------1-------|-------3-------|-------2-------|-------4-------|-----//標尺
updata ();//更新主界面時間數據
e = 0;
Set_time(e,0);
break;}
/*-------------------*/
if (key1Times==2 ){
lcm_clr();//清屏
lcm_w_word("[-1 +1 SET ESC]鬧鐘總開關 ");//
//----------|-------1-------|-------3-------|-------2-------|-------4-------|-----//標尺
lcm_w_test(0,0x8E);//寫入指定區(qū)域
if(read_clock(0xc7) == 1){
lcm_w_word("開");}
else{lcm_w_word("關");}
menu = 20;
break;}
/*-------------------*/
if (key1Times==3 ){
lcm_clr(); //清屏
lcm_w_word("[-1 +1 ESC] ");//
//----------|-------1-------|-------3-------|-------2-------|-------4-------|-----//標尺
Set_time(40,0);//整點報時
menu = 40;
break;}
/*-------------------*/
if (key1Times==4 ){
lcm_clr();//清屏
lcm_w_word("[-1 +1 AUTO ESC] ");//
//----------|-------1-------|-------3-------|-------2-------|-------4-------|-----//標尺
Set_time(50,0);//調整
menu = 50;
break;}
/*-------------------*/
if (key1Times==5 ){
menu = 230;//進入時間校準菜單
lcm_init();
write_12864_cmd(0x36);
clear_img();
write_12864_cmd(0x30);
lcm_clr();//清屏
lcm_init();
lcm_w_word("[-1 +1 +/- ESC] ");//
//----------|-------1-------|-------3-------|-------2-------|-------4-------|-----//標尺
Set_time(menu,0);//調整
break;}
/*-------------------*/
if (key1Times==6 ){
write_12864_cmd(0x36);
clear_img();
write_12864_cmd(0x30);
lcm_clr();//清屏
lcm_w_word("[-1 +1 AUTO ESC] ");//
//----------|-------1-------|-------3-------|-------2-------|-------4-------|-----//標尺
menu = 60;
Set_time(60,0);//調整
break;}
}/*ifif (adj==1)*/ IR_con(); KEY_procon(); //等待按鍵在此循環(huán)調節(jié)
}//if(adj==4||adj==2)
}/*while(1)*/ IR_con(); KEY_procon(); //等待按鍵在此循環(huán)
}
if (menu == 1&&menu2 ==1)
{ //設置菜單(自動回歸)
if(read_clock(0x81) != ss){
ss = read_clock(0x81);
write_12864_cmd(0x30); //啟動繪圖指令
lcm_w_test(0,0x89); //
lcm_w_test(1,e+0x30); //倒計時
e--;
if(e==0) //等待回歸的記器歸0后自動回到時鐘的顯示
{
menu = 0;menu2 = 0;
Beep_key(); //按鍵聲音
write_12864_cmd(0x30); //恢復普通指令
lcm_clr(); //清屏
TIMEfaceInit(); //讀取界面并更新
}
IR_con(); KEY_procon(); //e沒到0時程序還在這里所以等待按鍵在此循環(huán)
}
if((adj==1|| adj==2 ||adj==3||adj==4) &&menu2 ==1){
uchar key2Times=1 ;
lcm_clr();//清屏
Gongnengmen(); //顯示功能菜單
convertChar(0, 3, 4);
while(1) //循環(huán)
{
if(adj==4||adj==2)
{
if(adj==4 && menu == 1)
{
Beep_key();//按鍵音
key2Times--;
if (key2Times==0 ){key2Times = 8;}
}
if(adj==2 && menu == 1)
{
Beep_key();//按鍵音
key2Times++;
if (key2Times==9 ){key2Times = 1;}
}
lcm_clr();//清屏
Gongnengmen(); //顯示功能菜單
//----------|----------------------------------------------------------------|
switch(key2Times)
{
case 1: convertChar(0, 3, 4); //第0行----地址3-----字數4個半角2個全角
break;
case 2:convertChar (0, 6, 4); //第0行----地址6-----字數4個半角2個全角
break;
case 3: convertChar(1, 3, 4);
break;
case 4: convertChar(1, 6, 4);
break;
case 5: convertChar(2, 3, 4);
break;
case 6: convertChar(2, 6, 4);
break;
case 7: convertChar(3, 3, 4);
break;
case 8: convertChar(3, 6, 4);
break;
}
}
if (adj==3) //
{ Beep_set();//確定按鍵音
adj=0; //防止重復操作
if (key2Times==1 ){
CH_L(); //漸暗+清屏
//--------顯示我的QQ圖案------任意鍵退出-------adj=0//防止重復操作
while(1){
Disp_Img(Photo2); //顯示一幅圖片(我的QQ圖案)
CH_H(); //漸亮
if(adj==1 || adj==2 ||adj==3 ||adj==4){ //任意鍵退出
Beep_set(); //確定按鍵音
Memuexit(); //退出本項
break;
}IR_con(); KEY_procon(); //等待按鍵在此循環(huán)
}
break;}
//-------顯示龍的圖案--------任意鍵退出--------------adj=0//防止重復操作 Baiguang
if (key2Times==2 ){
CH_L(); //漸暗+清屏
while(1){
Disp_Img(BMP11); //顯示一幅圖片(龍的圖案)
CH_H(); //漸亮
if(adj==1 || adj==2 ||adj==3 ||adj==4){ //任意鍵退出
Beep_set(); //確定按鍵音
Memuexit(); //退出本項
break;
}IR_con(); KEY_procon(); //等待按鍵在此循環(huán)
}
break;}
//-------我的電腦圖案--------任意鍵退出--------------adj=0//防止重復操作
if (key2Times==3 ){
CH_L(); //漸暗+清屏
while(1){
Disp_Img(TU_TAB1); //顯示一幅圖片(我的電腦)
CH_H(); //漸亮
if(adj==1 || adj==2 ||adj==3 ||adj==4){
Beep_set(); //確定按鍵音
Memuexit(); //退出本項
break;
}IR_con(); KEY_procon(); //等待按鍵在此循環(huán)
}
break;}
//-------公雞圖案圖案--------任意鍵退出--------------adj=0//防止重復操作
if (key2Times==4 ){
CH_L(); //漸暗+清屏
while(1){
Disp_Img(tab5); //顯示一幅圖片(公雞圖案)
CH_H(); //漸亮
if(adj==1 || adj==2 ||adj==3 ||adj==4){
Beep_set(); //確定按鍵音
Memuexit(); //退出本項
break;
}IR_con(); KEY_procon(); //等待按鍵在此循環(huán)
}
break;}
//********************溫度控制*****************************adj=0//防止重復操作
if (key2Times==5){
write_12864_cmd(0x36); //啟動擴充指令集,啟動繪圖模式
clear_img(); //清理圖片數據
lcm_init();
CH_L(); //漸暗+清屏
while(1){
Baiguang(); //顯示溫度控制
AUTO_B();//自動背光控制,根據光線亮的程度
if(adj==1 ){
Beep_set(); //確定按鍵音
//th=th1*100+th2*10+th3; //獲取設置溫度的高位
th=th-12;
if(th<0)
th=999;
adj=0;
}
if(adj==2){
Beep_set(); //確定按鍵音
//th=th1*100+th2*10+th3; //獲取設置溫度的高位
th=th+11;
if(th>999)
th=0;
adj=0;
}
//-------電源和MCU的測量--------任意鍵退出--------------adj=0//防止重復操作
if(adj==3 ||adj==4){
Beep_set(); //確定按鍵音
Memuexit(); //退出本項
break;
}IR_con(); KEY_procon(); //等待按鍵在此循環(huán)
}
break;}
//-------電源和MCU的測量------------------------------------adj=0//防止重復操作
if (key2Times==6 ){
CH_L(); //漸暗+清屏
while(1){
Dyanya(); //顯示電源和MCU的測量
AUTO_B();//自動背光控制,根據光線亮的程度
//-------電源和MCU的測量--------任意鍵退出--------------adj=0//防止重復操作
if(adj==1 || adj==2 ||adj==3 ||adj==4){
Beep_set(); //確定按鍵音
Memuexit(); //退出本項
break;
}IR_con(); KEY_procon(); //等待按鍵在此循環(huán)
}
break;}
//-------再設計一個自動控制項目能自動切換界面--------------adj=0//防止重復操作
if (key2Times==7 ){
Autofance=1;
CH_L(); //漸暗+清屏
lcm_init(); //初始化液晶顯示器
lcm_w_test(0,0x80); //寫入指定區(qū)域
lcm_w_word(" 6種界面 ");
lcm_w_test(0,0x90); //寫入指定區(qū)域
lcm_w_word("開始自動切換界面");
lcm_w_test(0,0x88); //寫入指定區(qū)域
lcm_w_word("每分種切換一次!");
dispString(3, 0, 100, "程序啟動中......");
CH_H(); //漸亮
for (InitLine = 0; InitLine < 17; InitLine++)
{convertChar(3, 0, InitLine);
DELAY_MS(180);} //顯示等留3秒
faceouto=1; //退出時不讀儲存的界面
menu2 = 0; //退出功能菜單標記
menu = 0; //退出調時
e = 0; //計數器清0
++KA;
if(KA>5){KA =0;}//大于等于6切換到0
TIMEfaceInit();
break;}
//-------LOGO圖案-------完后自動退出--------------adj=0//防止重復操作
if (key2Times==8 ){
lcm_clr();
LCDLOGO();
Memuexit(); //退出本項
break;}
IR_con(); KEY_procon();
}/*ifif (adj==1)*/ IR_con(); KEY_procon(); //等待按鍵在此循環(huán)調節(jié)
}
}/*while(1)*/ IR_con(); KEY_procon(); //等待按鍵在此循環(huán)
}
/*************儲存界面和LOGO的設置*****************************************************/
if (menu == 60||menu==61){ //設置
lcm_w_test(0,0x88); //第2行顯示
lcm_w_word(" 當前使用 ");//
lcm_w_test(0,0x98); //第2行顯示
lcm_w_word(" ");// 清除反白
lcm_w_test(0,0x98); //寫入指定區(qū)域
if (menu == 60){
if(read_clock(0xff) == 0){//界面1狀態(tài)
lcm_w_word("標準節(jié)日時鐘界面"); }
if(read_clock(0xff) == 1){//界面2狀態(tài)
lcm_w_word("數字圖片時鐘界面"); }
if(read_clock(0xff) == 2){//界面3狀態(tài)
lcm_w_word("圖形溫度時鐘界面"); }
if(read_clock(0xff) == 3){//界面4狀態(tài)
lcm_w_word(" 特大時鐘界面 "); }
if(read_clock(0xff) == 4){//界面6狀態(tài)
lcm_w_word("模擬時鐘溫度界面"); }
if(read_clock(0xff) == 5){//界面6狀態(tài)
lcm_w_word("¤日歷式時鐘界面"); } }
if (menu == 61){
if(((read_clock(0xff)/16)*10 )+ (read_clock(0xff)%16)>5) {
lcm_w_word("開機使用LOGO界面"); } }
write_12864_cmd(0x36); //啟動繪圖指令;
display(6,read_clock(0xFF)/16); //LCD上顯示寫入的校時十位RAM30
display(7,read_clock(0xFF)%16+1); //LCD上顯示寫入的校時個位RAM30
write_12864_cmd(0x30); //恢復基本指令
if(adj==1 || adj==2 ||adj==3 ||adj==4){
if(adj==2){ //當是調時狀態(tài) 本鍵用于調整下一項
Beep_key(); //按鍵音
menu++;
if (menu >= 62 ){ //在年月日星期時分之間切換
menu = 60;}
Set_time(menu,0);//調整
}
/*------------退出-----------------------*/
if(adj==1){
Beep_set(); //確定按鍵音
Memuexit(); //退出本項
}
if(adj==3){
Set_time(menu,0);//調整
Beep_key();}//按鍵音
if(adj==4){
Set_time(menu,0);//調整
Beep_key();}//按鍵音
}
IR_con(); KEY_procon(); //等待按鍵在此循環(huán)
}
/*********************************************************************************************/
/*******************實時時鐘設置**************************************************************/
if (menu == 10){ //實時時鐘設置
updata (); //更新主界面時間數據
lcm_w_nl();
if(adj==1 || adj==2 ||adj==3 ||adj==4){
if(adj==2){ //當是調時狀態(tài) 本鍵用于調整下一項
Beep_key(); //按鍵音
e++;
if (e >= 5 ){ //在年月日星期時分之間切換
e = 0;}
Set_time(e,0);
lcm_w_nl();
}//調整
if(adj==1){
Beep_set();//確定按鍵音
Memuexit(); //退出本項
} //讀取界面并更新
if(adj==4){
Set_time(e,0);//調整
lcm_w_nl();
Beep_key();}//按鍵音
if(adj==3){
Set_time(e,0);//調整
lcm_w_nl();
Beep_key();}//按鍵音
}
IR_con(); KEY_procon(); //等待按鍵在此循環(huán)
}
/**********************************************************************************************/
/*0XC7*RAM4寫入是否鬧鐘控制的標記*如果是1就控制,0無控制
0XC7*RAM4寫入控制量0----1*/
if (menu == 20){ //鬧鐘設置
if(adj==1 || adj==2 ||adj==3 ||adj==4){
if(adj==1){ //當是調時狀態(tài) 本鍵用于調整下一項
Beep_set(); //確定按鍵音
menu = 0; //退出調時
lcm_clr(); //清屏
TIMEfaceInit();} //讀取界面并更新
if(adj==2){ //當是調時狀態(tài)
Beep_set(); //調時提示音
write_clock(0x8e,0x00); //允許寫操作
if(read_clock(0xc7) == 1)
{write_clock(0xc6,0);}
else
{write_clock(0xc6,1);}
write_clock(0x8e,0x80);//禁止寫操作
lcm_w_test(0,0x8E); //寫入指定區(qū)域
if(read_clock(0xc7) == 1)
{lcm_w_word("開");}
else
{lcm_w_word("關");}
}
if(adj==3){
Beep_key(); //確定按鍵音
menu = 21; //進入鬧鐘1設置
lcm_clr(); //清屏
lcm_w_word("[-1 +1 SET ESC]鬧鐘 : ");}//
//----------|-------1-------|-------3-------|-------2-------|-------4-------|-----//標尺
if(adj==4){
Beep_key(); //確定按鍵音
menu = 26; //進入鬧鐘1設置
lcm_clr(); //清屏
lcm_w_word("[-1 +1 SET ESC]鬧鐘 : ");}//
//----------|-------1-------|-------3-------|-------2-------|-------4-------|-----//標尺
} IR_con(); KEY_procon(); //等待按鍵在此循環(huán)
}
/**********************************************************************************************/
if (menu >20 && menu <27){ //鬧鐘細節(jié)察看
al_updata();
if(adj==1 || adj==2||adj==3 ||adj==4){
if(adj==1){ //當是調時狀態(tài) 本鍵用于退出調時
Beep_set(); //確定按鍵音
menu = 0; //退出調時
lcm_clr(); //清屏
TIMEfaceInit();} //讀取界面并更新
if(adj==2){ //
Beep_set(); //確定按鍵音
menu=menu+10; //進入鬧鐘1設置
r = 200;
lcm_clr(); //清屏
lcm_w_word("[-1 +1 NEXT ESC]鬧鐘 : ");//
//----------|-------1-------|-------3-------|-------2-------|-------4-------|-----//標尺
Set_time(r,menu%10);//調整
}
if(adj==3){ //當是調時狀態(tài) 本鍵用于調整下一項
Beep_key(); //確定按鍵音
menu++; //進入鬧鐘1設置
if(menu >26){
menu = 21;}}
if(adj==4){ //當是調時狀態(tài) 本鍵用于調整下一項
Beep_key(); //確定按鍵音
menu--; //進入鬧鐘1設置
if(menu <21){menu = 26;}}
} IR_con(); KEY_procon(); //等待按鍵在此循環(huán)調節(jié)
}
/**********************************************************************************************/
if (menu >30 && menu <37){ //鬧鐘細節(jié)察看
al_updata();
if(adj==1 || adj==2||adj==3 ||adj==4){
if(adj==1){ //當是調時狀態(tài) 本鍵用于調整下一項
Beep_set(); //確定按鍵音
menu = 0; //退出調時
lcm_clr(); //清屏
TIMEfaceInit();} //讀取界面并更新
if(adj==2){ //當是調時狀態(tài) 本鍵用于調整下一項
Beep_set(); //確定按鍵音
r++;
if (r > 202){
r = 200;
}
Set_time(r,menu%10);//調整
}
if(adj==3){ //當是調時狀態(tài) 本鍵用于調整下一項
Set_time(r,menu%10);//調整
Beep_key(); //確定按鍵音
}
if(adj==4){ //當是調時狀態(tài) 本鍵用于調整下一項
Set_time(r,menu%10);//調整
Beep_key(); //確定按鍵音
}
} IR_con(); KEY_procon(); //等待按鍵在此循環(huán)調節(jié)
}
/***********0XC3RAM用于鐘整點報時******0---9共10種*********************************************/
if (menu == 40){ //整點報時設置
lcm_w_test(0,0x98);//
switch (read_clock(0xc3)){
case 0:
lcm_w_word(" 整點報時關閉 ");//
//----------|-------1-------|-----//標尺
lcm_w_test(0,0x88); //顯示 0X88在屏幕第3行
lcm_w_word(" ");//
break;
case 1:
lcm_w_word(" 06:00--20:00 ");//
//----------|-------1-------|-----//標尺
lcm_w_test(0,0x88); //顯示 0X88在屏幕第3行
lcm_w_word(" 整點提示音 ");//
break;
case 2:
lcm_w_word(" 06:00--23:00 ");//
lcm_w_test(0,0x88); //顯示 0X88在屏幕第3行
lcm_w_word("整點+ 生日+ 歌曲");//
//----------|-------1-------|-----//標尺
break;
case 3:
lcm_w_word(" 07:00--20:00 ");//
//----------|-------1-------|-----//標尺
lcm_w_test(0,0x88); //顯示 0X88在屏幕第3行
lcm_w_word("整點時唱天空之城");//
break;
case 4:
lcm_w_word(" 07:00--23:00 ");//
//----------|-------1-------|-----//標尺
lcm_w_test(0,0x88); //顯示 0X88在屏幕第3行
lcm_w_word("整點時唱天空之城");//
break;
case 5:
lcm_w_word(" 08:00--20:00 ");//
lcm_w_test(0,0x88); //顯示 0X88在屏幕第3行
lcm_w_word("整點+ 生日+ 歌曲");//
//----------|-------1-------|-----//標尺
break;
case 6:
lcm_w_word(" 08:00--23:00 ");//
//----------|-------1-------|-----//標尺
lcm_w_test(0,0x88); //顯示 0X88在屏幕第3行
lcm_w_word("整點時唱生日歌曲");//
break;
case 7:
lcm_w_word(" 09:00--20:00 ");//
//----------|-------1-------|-----//標尺
lcm_w_test(0,0x88); //顯示 0X88在屏幕第3行
lcm_w_word("整點時唱生日歌曲");//
break;
case 8:
lcm_w_word(" 09:00--23:00 ");//
//----------|-------1-------|-----//標尺
lcm_w_test(0,0x88); //顯示 0X88在屏幕第3行
lcm_w_word(" 整點提示音 ");//
break;
case 9:
lcm_w_word(" 00:00--23:00 ");//
//----------|-------1-------|-----//標尺
lcm_w_test(0,0x88); //顯示 0X88在屏幕第3行
lcm_w_word(" 整點提示音 ");//
break;
default:
//冗余語句
break;
}
if(adj==1 || adj==3||adj==4)
{ if(adj==1) //當是調時狀態(tài) 退出本項
{Beep_set(); //確定按鍵音
lcm_clr(); //清屏
Memuexit(); //退出本項
}
if(adj==3) //
{Set_time(menu,0); //調整
Beep_key();} //確定按鍵音
if(adj==4) //
{Set_time(menu,0);//調整
Beep_key(); } //確定按鍵音
} IR_con(); KEY_procon(); //等待按鍵在此循環(huán)調節(jié) 程序在 (menu == 40)下循環(huán)的
}
/***********背光設置+自動調光控制***********************************************************************************/
/*0XC1*RAM1寫入是否自動亮度控制的標記*如果是1就自動,0按照設置的亮度進行控制
0XC5*RAM5寫入自動亮度控制量0-----9級*/
if (menu == 50){ //背光設置
lcm_w_test(0,0x88);//
lcm_w_word(" 自動亮度 ");//
//----------|-------1-------|-----//標尺
lcm_w_test(0,0x8F);//寫入指定區(qū)域
if(read_clock(0xc1) == 1){//自動背光開關狀態(tài)
lcm_w_word("開");
}else{
lcm_w_word("關");
}
lcm_w_test(0,0x98);//
lcm_w_word(" 當前亮度 ");//
//----------|-------1-------|-----//標尺
lcm_w_test(0,0x9E); //LCD寫入位置
lcm_w_test(1,read_clock(0xc5)+0x30); //讀出數據并顯示
lcm_w_word("/9 ");//
if(adj==1 || adj==2 || adj==3 ||adj==4){
if(adj==1){ //當是調時狀態(tài) 本鍵用于退出本項
Beep_set();//確定按鍵音
Memuexit(); //退出本項
}
if(adj==2){ //設計自動亮度控制
write_clock(0x8e,0x00);//允許寫操作
if(read_clock(0xc1) == 1){
write_clock(0xc0,0);
}else{
write_clock(0xc0,1);
}
write_clock(0x8e,0x80);//禁止寫操作
Beep_set();//確定按鍵音
}
if(adj==3){ //
Set_time(menu,0);//調整
Beep_key();//確定按鍵音
}
if(adj==4){ //
Set_time(menu,0);//調整
Beep_key();}//確定按鍵音
} IR_con(); KEY_procon(); //等待按鍵在此循環(huán)調節(jié) 程序在 (menu == 50)下循環(huán)的
PWM1_set(read_clock(0xc5)*0x1C);//
}
/*************menu == 230**0xFB**RAM29*************************************************/
/*0XFB*RAM29寫入是否校時的標記*如果是1就校時,0不校時
0XFD*RAM30寫入校時的時間量0-----20秒*/
if (menu == 230){ //時間校準設置
lcm_w_test(0,0x88);//
lcm_w_word(" 時間每天 秒");//
//--------|-------1-------|-----//標尺
lcm_w_test(0,0x9b);//寫入指定區(qū)域
if(read_clock(0xFB) == 1){//校時加/減顯示
lcm_w_word("加+");
write_12864_cmd(0x36); //啟動繪圖指令;
display(5,read_clock(0xFD)/16); //LCD上顯示寫入的校時十位
display(6,read_clock(0xFD)%16); //LCD上顯示寫入的校時個位
write_12864_cmd(0x30);} //恢復基本指令
else
if(read_clock(0xFB) == 0)
{lcm_w_test(0,0x9b);//寫入指定區(qū)域
lcm_w_word("減-");}
write_12864_cmd(0x36); //啟動繪圖指令;
display(5,read_clock(0xFD)/16); //LCD上顯示寫入的校時十位RAM30
display(6,read_clock(0xFD)%16); //LCD上顯示寫入的校時個位RAM30
write_12864_cmd(0x30); //恢復基本指令
if(adj == 1 || adj == 2|| adj == 3 ||adj == 4){
if(adj == 1){ //當是調時狀態(tài) 本鍵用于立即退出
lcm_clr(); //清屏
Beep_set(); //確定按鍵音
Memuexit(); //退出本項
}
if(adj == 2){ //設計自動校時控制 (加減的控制)
Beep_set(); //按鍵音
write_clock(0x8e,0x00); //允許寫操作
if(read_clock(0xFB) == 1){//RAM29
write_clock(0xFA,0);
}else{
write_clock(0xFA,1);}
write_clock(0x8e,0x80);//禁止寫操作
}
if(adj == 3){ //
Set_time(menu,0);//調整
Beep_key(); //按鍵音
}
if(adj == 4){ //
Set_time(menu,0);//調整
Beep_key();} //按鍵音
}PWM1_set(read_clock(0xc5)*0x1C); IR_con(); KEY_procon();
}
} IR_con(); KEY_procon(); //等待按鍵在此循環(huán)調節(jié) //while
}//main}