寫在前面
從前我也是個白嫖怪,現在我想要當個被白嫖的人,如果有幫助,希望能留言個下次一定(老b站了hhhh)工程開源說明:分享在電賽期間的每個版本的程式,希望能對大家有幫助,本檔案大致進行說明下代碼的講解,懶得下載的人可以通過文章中的代碼自行除錯,
gitee鏈接
不習慣github,還是換成國內的平臺了,
快嫖我,快嫖我

代碼功能描述
(備注:有些部分是直接把正點原子的例程的東西貼過來改寫的,所以大家在正點的板子上可能更方便操作,我們使用的板子是自己做的板子,所以螢屏顯示可能直接使用正點原子的板子無法正常顯示,這個只需要在正點的LCD的例程下面進行修改即可,別的按鍵功能只需要自行修改管腳即可),波形的幅值大小是根據我們的模擬部分進行擬合的,所以顯示的是放大器輸出的大約的幅值大小,
使用網版FFT,定時器3采集版本
我們為了保證進行FFT之后的精準程度(分度值),在權衡下,選擇了10240HZ為最后的采樣頻率,采樣點數為1024,這樣我們得到的頻域的資料的分度值是10hz,所以也就能保證我們比較精準取到1k,2k,3k,4k,5k頻率下的頻域的幅值資訊,
大致功能說明:
- 使用PA1進行ADC的采樣,
- 采樣定時器3進行定時采集(控制采樣時鐘),
- 只進行一次采集測驗,復位后進行下次采集,
- 繪制頻譜和波形圖,
版本效果展示

使用FFT庫函式,定時器輸出PWM波進行采集版本
我們為了保證進行FFT之后的精準程度(分度值),在權衡下,選擇了10240HZ為最后的采樣頻率,采樣點數為1024,這樣我們得到的頻域的資料的分度值是10hz,所以也就能保證我們比較精準取到1k,2k,3k,4k,5k頻率下的頻域的幅值資訊,
只進行講解說明最終版本的功能:
- 使用PC1進行ADC的采樣,(和上個版本略有不同)
- 通過繼電器切換控制不同失真狀態
- 可以全自動回圈采集各種失真情況下的THD,全自動模式下,采集5次求均值進行保存顯示
- 可以實作單種狀態回圈測量
- 可以通過按鍵切換不同的失真狀態(控制繼電器)
- 可以顯示頻譜和波形資料
最終實作效果展示
這里是單獨測驗程式功能,沒有接繼電器,全自動模式測驗顯示的失真狀態的漢字可能對不上,隨機給了波進行測的,見諒,后面三種波形測驗放到了單次回圈的模式下,

測驗三種1k的信號的理論值
- 正弦:1%以內
- 方波:大約38.87%
- 三角波:大約11.81%
測量1k方波

測驗1k正弦波

測驗1k三角波

定時器3采集版本代碼:
這里的FFT演算法同前文,不進行展示,由于c檔案比較多,對沒有引數宣告,只是函式宣告的h檔案不再進行展示,lcd顯示屏的代碼不再展示,自行修改顯示到自己的平臺下,
main.c
/* Includes ------------------------------------------------------------------*/
#include "usart.h"
#include "fft.h"
#include <math.h>
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "lcd.h"
#include "usart.h"
#include "adc.h"
#include "timer.h"
#include <stdio.h>
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
#define N 1024 //采樣點數
#define Fs 10240 //采樣頻率
#define F 10 //解析度
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/
extern float data[1024];
extern int end;
/*螢屏設計頻譜*/
int x11=20;
int y11=120,y12=220; //豎
int x21=20,x22=280;//橫
int y21=120;
/*螢屏設計波形*/
int X1=20,X2=160;
int Y1=1,Y2=101;
int XX1=20,YY1=1;
//FFT測驗資料集 輸入陣列
complex FFT_256PointIn[N];
//FFT測驗資料集 輸出陣列
float FFT_256PointOut[N/2];
float Mag[N/2];
u8 temp1[20];
//填入陣列 測驗
//void InitBufInArray()
//{
// unsigned short i;
// for(i=0; i<N; i++)
// {
// FFT_256PointIn[i].real = 1500 * sin(2*PI * i * 2000.0 / Fs)
// +10 * sin(2*PI * i * 1000.0 / Fs)
// +4000 * sin(2*PI * i * 4000.0 / Fs);
// FFT_256PointIn[i].imag = 0;
// }
//}
void InitBufInArray()
{
unsigned short i;
for(i=0; i<N; i++)
{
FFT_256PointIn[i].real = data[i]*3.30/4096;//
FFT_256PointIn[i].imag = 0;
//測驗
// printf("%d ",i);
// printf("%lf \n",FFT_256PointIn[i].real);
}
}
/******************************************************************
函式名稱:GetPowerMag()
函式功能:計算各次諧波幅值
引數說明:
備 注:先將FFT_256PointIn分解成實部(X)和虛部(Y),
然后計算幅值:(sqrt(X*X+Y*Y)*2/N
然后計算相位:atan2(Y/X)
作 者:土耳其冰激凌
*******************************************************************/
void GetPowerMag()
{
unsigned short i;
float X,Y,P;
c_abs(FFT_256PointIn,FFT_256PointOut,N/2);
for(i=0; i<N/2; i++)
{
X = FFT_256PointIn[i].real/N; //計算實部
Y = FFT_256PointIn[i].imag/N; //計算虛部
if(i==0)
Mag[i] = FFT_256PointOut[i]/N; //計算幅值
else
Mag[i] = FFT_256PointOut[i]*2/N;
P = atan2(Y,X)*180/PI; //計算相位
printf("%d ",i);
printf("%d ",F*i);
printf("%f \r\n",Mag[i]);
}
}
/**
*計算歐總諧振失真函式
**/
void GetTHD()
{
unsigned short i=20;//控制字符平移
float Uo1,Uo2,Uo3,Uo4,Uo5;
double THD,thd_fz=0,thd_fm=0;
Uo1=Mag[100];
Uo2=Mag[200];
Uo3=Mag[300];
Uo4=Mag[400];
Uo5=Mag[500];
thd_fm=Uo1;
thd_fz=Uo2*Uo2 + Uo3*Uo3 + Uo4*Uo4 + Uo5*Uo5;
thd_fz=sqrt(thd_fz);
THD=thd_fz/thd_fm*100;
sprintf((unsigned char *)temp1,"Uo1:%5lfV",Uo1);
LCD_ShowString(180,0+i,200,16,16,temp1);
sprintf((unsigned char *)temp1,"Uo2:%5lfV",Uo2);
LCD_ShowString(180,15+i,200,16,16,temp1);
sprintf((unsigned char *)temp1,"Uo3:%5lfV",Uo3);
LCD_ShowString(180,30+i,200,16,16,temp1);
sprintf((unsigned char *)temp1,"Uo4:%5lfV",Uo4);
LCD_ShowString(180,45+i,200,16,16,temp1);
sprintf((unsigned char *)temp1,"Uo5:%5lfV",Uo5);
LCD_ShowString(180,60+i,200,16,16,temp1);
sprintf((unsigned char *)temp1,"THD:%5lf%%",THD);
LCD_ShowString(180,75+i,200,16,16,temp1);
//測驗
// printf("%lf ",Uo1);
// printf("%lf ",Uo2);
// printf("%lf ",Uo3);
// printf("%lf ",Uo4);
// printf("%lf ",Uo5);
}
/*************
畫波形圖
*
*/
void Getsignchart()
{
int i;
int con=8,x_con=4;
for(i=0;i<35;i++){
if(i==0){
LCD_DrawPoint(20+i*x_con+1,101-data[i+4]*3.30/1024*con);
}
else
{
LCD_DrawPoint(20+i*x_con+1,101-data[i+4]*3.30/1024*con);
LCD_DrawLine(20+(i-1)*x_con+1, 101-data[i-1+4]*3.30/1024*con, 20+i*x_con+1, 101-data[i+4]*3.30/1024*con);
}
}
int main(void)
{
int i,t;
delay_init();//延時函式初始化
SystemInit();//系統時鐘初始化
USART_Configuration();//串口1初始化
Adc_Init(); //ADC初始化
TIM3_Int_Init(780*3+2,2);//1952*2
//TIM3_Int_Init(780,8);//1952*2
//TIM3_Int_Init(98,71);//1952*2
LCD_Init();
//printf("這是一個FFT 測驗實驗\r\n");
POINT_COLOR=GRAY;//設定字體為紅色
LCD_Display_Dir(1);
LCD_ShowNum(10,220,0,1,16);
//畫圖頻譜區域
for(i=0;i<8;i++){
LCD_DrawLine(XX1, Y1, XX1, Y2);
XX1=XX1+20;
}
for(i=0;i<6;i++){
LCD_DrawLine(X1, YY1, X2, YY1);
YY1=YY1+20;
}
//設計頻譜引數
LCD_ShowString(285,200,32,16,16,"fre/");
LCD_ShowString(290,215,24,16,16,"Hz");
LCD_ShowString(0,120,32,16,16,"|A");
LCD_ShowString(1,135,32,16,16,"/V");
LCD_ShowString(65,221,24,16,16,"1k");
LCD_ShowString(110,221,24,16,16,"2k");
LCD_ShowString(158,221,24,16,16,"3k");
LCD_ShowString(208,221,24,16,16,"4k");
LCD_ShowString(265,221,24,16,16,"5k");
for(i=0;i<14;i++){
LCD_DrawLine(x11, y11, x11, y12);
x11=x11+20;
}
for(i=0;i<6;i++){
LCD_DrawLine(x21, y21, x22, y21);
y21=y21+20;
}
// printf("點數 頻率 幅值 實部 虛部\n");
// GetPowerMag();
while(1)
{
if(end==1) //接受一次
{
InitBufInArray();
fft(N,FFT_256PointIn);
POINT_COLOR=RED;//設定字體為紅色
//printf("點數 頻率 幅值 實部 虛部\n");
GetPowerMag();
end=0;
GetTHD();
Getsignchart();
for(i=0;i<256;i++){
if(i==0){
if(Mag[0]*50==0)
LCD_DrawPoint(20+i+1,220);
}
else
{
LCD_DrawPoint(20+i+1,220-Mag[i*2]*25);
LCD_DrawLine(20+i-1+1, 220-Mag[(i-1)*2]*25, 20+i+1, 220-Mag[i*2]*25);
}
}
}
}
}
adc.c
#include "adc.h"
#include "delay.h"
//初始化ADC
void Adc_Init(void)
{
ADC_InitTypeDef ADC_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_ADC1 , ENABLE ); //使能ADC1通道時鐘
RCC_ADCCLKConfig(RCC_PCLK2_Div6); //設定ADC分頻因子6 72M/6=12,ADC最大時間不能超過14M
//PA1 作為模擬通道輸入引腳
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; //模擬輸入引腳
GPIO_Init(GPIOA, &GPIO_InitStructure);
ADC_DeInit(ADC1); //復位ADC1,將外設 ADC1 的全部暫存器重設為預設值
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //ADC作業模式:ADC1和ADC2作業在獨立模式
ADC_InitStructure.ADC_ScanConvMode = DISABLE; //模數轉換作業在單通道模式
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; //模數轉換作業在單次轉換模式
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //轉換由軟體而不是外部觸發啟動
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //ADC資料右對齊
ADC_InitStructure.ADC_NbrOfChannel = 1; //順序進行規則轉換的ADC通道的數目
ADC_Init(ADC1, &ADC_InitStructure); //根據ADC_InitStruct中指定的引數初始化外設ADCx的暫存器
ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_71Cycles5 ); //ADC1,ADC通道,采樣時間為239.5周期
ADC_Cmd(ADC1, ENABLE); //使能指定的ADC1
ADC_ResetCalibration(ADC1); //使能復位校準
while(ADC_GetResetCalibrationStatus(ADC1)); //等待復位校準結束
ADC_StartCalibration(ADC1); //開啟AD校準
while(ADC_GetCalibrationStatus(ADC1)); //等待校準結束
ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能指定的ADC1的軟體轉換啟動功能
}
timer.c
#include "timer.h"
#include<stm32f10x.h>
#include "led.h"
#include "adc.h"
float data[1024];
int counter=0;
extern int adcx;
int end=0;
//通用定時器3中斷初始化
//這里時鐘選擇為APB1的2倍,而APB1為36M
//arr:自動重裝值,
//psc:時鐘預分頻數
//這里使用的是定時器3!
void TIM3_Int_Init(u16 arr,u16 psc)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //時鐘使能
//定時器TIM3初始化
TIM_TimeBaseStructure.TIM_Period = arr; //設定在下一個更新事件裝入活動的自動重裝載暫存器周期的值
TIM_TimeBaseStructure.TIM_Prescaler =psc; //設定用來作為TIMx時鐘頻率除數的預分頻值
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //設定時鐘分割:TDTS = Tck_tim
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上計數模式
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根據指定的引數初始化TIMx的時間基數單位
TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //使能指定的TIM3中斷,允許更新中斷
//中斷優先級NVIC設定
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; //TIM3中斷
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //先占優先級0級
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //從優先級3級
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
NVIC_Init(&NVIC_InitStructure); //初始化NVIC暫存器
TIM_Cmd(TIM3, ENABLE); //使能TIMx
}
//定時器3中斷服務程式
void TIM3_IRQHandler(void) //TIM3中斷
{
if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) //檢查TIM3更新中斷發生與否
{
data[counter]=ADC_GetConversionValue(ADC1);
//printf("%.2f\r\n",data[counter]);//);
counter++;
if(counter==1024)
{
counter=0;
end=1;
TIM_Cmd(TIM3, DISABLE); //關閉
}
TIM_ClearITPendingBit(TIM3, TIM_IT_Update ); //清除TIMx更新中斷標志
}
}
STM32DSP庫的使用
只需要下載STM32官方撰寫的庫函式,(已經把STM32官方撰寫的庫函式上傳到碼云)然后包含頭檔案即可,

呼叫使用1024點的函式
也即為把采樣的1024個點輸入,存盤輸出即可得到計算結果,
這里左移是因為庫函式下的高16位是實數,低16位是虛數,
/********FFT變換**********/
void DSP_FFT1024()
{
u16 i;
for (i = 0; i <NPT ; i++)
{
input[i] = ADC_input[i]<<16;
}
cr4_fft_1024_stm32(output,input,NPT); //FFT變換
PowerMag(NPT);
}
/***************計算幅值*****************/
void PowerMag(u16 FFT_NPT)
{
// s16 lx, ly;
signed short lx, ly;
u32 i;
float mag, x, y;
for (i = 0; i < FFT_NPT/2; i++ )
{
lx = (output[i]<<16)>>16;
ly = (output[i]>>16);
x = FFT_NPT*((float)lx)/32768;
y = FFT_NPT*((float)ly)/32768;
mag = sqrt(x*x+y*y)/FFT_NPT;
Mag[i] = (unsigned long)(mag*65536)*3.30/4096;
// printf("%d\r\n",i ) ;
// printf("%\r\n",Mag[i] ) ;
}
Mag[0] = Mag[0]/2;
}
使用FFT庫函式最終版本
main.c
#include "stm32f10x.h"
#include "led.h"
#include "usart.h"
#include "fft.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "lcd.h"
#include "adc.h"
#include "img1.h"
#include <usar.h>
#include "timer.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include "img.h"
#include "stm32_dsp.h"
#include "table_fft.h"
/****************************變數區***************************************/
#define PI2 6.28318530717959
#define Fs 10240 //采樣頻率 Hz
#define NPT 1024 //采樣點數
u16 ADC_input[NPT]; //DMA讀取的電壓值
float thd;
long input[NPT];
long output[NPT];
double Mag[NPT];
float Mag_max;
u16 ADC_DataNum = 0;
s16 Fn_Num;
u16 ADC_flag = 0;
extern __IO uint16_t ADC_ConvertedValue[1024]; // ADC1轉換的電壓值通過MDA方式傳到SRAM
u8 temp1[20];
extern char auto_flag;
extern char auto_flag1;
extern char classify_flag;
float vpp=0;
double THD;
extern u8 flag_zidongkz;//自動控制狀態
extern double thd_1[5];
extern double thd_2[5];
extern double thd_3[5];
extern double thd_4[5];
extern double thd_5[5];
double mean_thd_1=0;
double mean_thd_2=0;
double mean_thd_3=0;
double mean_thd_4=0;
double mean_thd_5=0;
extern u8 cc;
extern u8 zt;
/**********************函式區*******************************************/
/*************
gpio初始化
*
*/
void gpio_init()
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF,ENABLE);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //輸出速率
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|
GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8; //選擇引腳
GPIO_Init(GPIOF, &GPIO_InitStructure);//初始化GPIOF.0
}
//
void gpio()
{
GPIO_ResetBits(GPIOF,GPIO_Pin_0);
GPIO_ResetBits(GPIOF,GPIO_Pin_1);
GPIO_ResetBits(GPIOF,GPIO_Pin_2);
GPIO_ResetBits(GPIOF,GPIO_Pin_3);
GPIO_ResetBits(GPIOF,GPIO_Pin_4);
GPIO_ResetBits(GPIOF,GPIO_Pin_5);
GPIO_ResetBits(GPIOF,GPIO_Pin_6);
GPIO_ResetBits(GPIOF,GPIO_Pin_7);
GPIO_ResetBits(GPIOF,GPIO_Pin_8);
}
void get_vpp()
{
u16 i;
u16 max=0,min=5000;
max = 0;
for(i=0; i < NPT; i++)
{
if(max < ADC_input[i])
{
max = ADC_input[i];
}
}
for(i=0; i < NPT; i++)
{
if(min > ADC_input[i])
{
min = ADC_input[i];
}
}
vpp = (max-min)*3.3/4096;
}
/***************計算幅值*****************/
void PowerMag(u16 FFT_NPT)
{
// s16 lx, ly;
signed short lx, ly;
u32 i;
float mag, x, y;
for (i = 0; i < FFT_NPT/2; i++ )
{
lx = (output[i]<<16)>>16;
ly = (output[i]>>16);
x = FFT_NPT*((float)lx)/32768;
y = FFT_NPT*((float)ly)/32768;
mag = sqrt(x*x+y*y)/FFT_NPT;
Mag[i] = (unsigned long)(mag*65536)*3.30/4096;
// printf("%d\r\n",i ) ;
// printf("%\r\n",Mag[i] ) ;
}
Mag[0] = Mag[0]/2;
}
/***********取最大值************/
void Compare_Max()
{
u16 i;
Mag_max = Mag[1];
for(i=1; i < NPT/2; i++)
{
if(Mag_max < Mag[i])
{
Fn_Num = i;
Mag_max = Mag[i];
}
}
}
/********FFT變換**********/
void DSP_FFT1024()
{
u16 i;
for (i = 0; i <NPT ; i++)
{
input[i] = ADC_input[i]<<16;
}
cr4_fft_1024_stm32(output,input,NPT); //FFT變換
PowerMag(NPT);
}
/***********計算歐總諧振失真函式**********/
void GetTHD()
{
unsigned short i=17,con1=68;//控制字符平移
float Uo1,Uo2,Uo3,Uo4,Uo5;
double thd_fz=0,thd_fm=0,xs=0.76*2.1;
Uo1=Mag[100]*xs;
Uo2=Mag[200]*xs;
Uo3=Mag[300]*xs;
Uo4=Mag[400]*xs;
Uo5=Mag[500]*xs;
thd_fm=Uo1;
thd_fz=Uo2*Uo2 + Uo3*Uo3 + Uo4*Uo4 + Uo5*Uo5;
thd_fz=sqrt(thd_fz);
THD=thd_fz/thd_fm*100;
sprintf((unsigned char *)temp1,"Uo1:%.4lfV",Uo1);
LCD_ShowString(180-con1,0+i,200,16,16,temp1);
sprintf((unsigned char *)temp1,"Uo2:%.4lfV",Uo2);
LCD_ShowString(180-con1,15+i,200,16,16,temp1);
sprintf((unsigned char *)temp1,"Uo3:%.4lfV",Uo3);
LCD_ShowString(180-con1,30+i,200,16,16,temp1);
sprintf((unsigned char *)temp1,"Uo4:%.4lfV",Uo4);
LCD_ShowString(180-con1,45+i,200,16,16,temp1);
sprintf((unsigned char *)temp1,"Uo5:%.4lfV",Uo5);
LCD_ShowString(180-con1,60+i,200,16,16,temp1);
POINT_COLOR=BLUE;
sprintf((unsigned char *)temp1,"THD:%.4lf%%",THD);
LCD_ShowString(180-con1,75+i,200,16,16,temp1);
POINT_COLOR=RED;
//sprintf((unsigned char *)temp1,"Vpp:%.4lfV",vpp*xs*0.9*0.96);
//LCD_ShowString(180-con1,90+i,200,16,16,temp1);
//測驗
// printf("%lf ",Uo1);
// printf("%lf ",Uo2);
// printf("%lf ",Uo3);
// printf("%lf ",Uo4);
// printf("%lf ",Uo5);
}
/*************
畫波形圖
*
*/
void Getsignchart()
{
int i,x0=25;
double con=7.7,x_con=4,y_con=15;
for(i=0;i<19;i++){
if(i==0){
LCD_DrawPoint(x0+i*x_con+1,y_con+99-ADC_input[i]*3.30/1024*con);
}
else
{
LCD_DrawPoint(x0+i*x_con+1,y_con+99-ADC_input[i]*3.30/1024*con);
LCD_DrawLine(x0+(i-1)*x_con+1, y_con+99-ADC_input[i-1]*3.30/1024*con, x0+i*x_con+1, y_con+99-ADC_input[i]*3.30/1024*con);
}
// printf("%d ",i);
// printf("%lf \n",data[i]*3.30/1024*con);
}
}
/*************
畫頻譜圖
*
*/
void Getfreqchart()
{
int i;
float xs=27.4;
for(i=0;i<256;i++){
if(i==0){
if(Mag[0]*xs==0)
LCD_DrawPoint(20+i+1,220);
else
LCD_DrawPoint(20+i+1,Mag[0]*xs);
}
else
{
LCD_DrawPoint(20+i+1,220-Mag[i*2]*xs);
LCD_DrawLine(20+i-1+1, 220-Mag[(i-1)*2]*xs, 20+i+1, 220-Mag[i*2]*xs);
}
}
}
//畫圖設計函式
void LCD_Drawdesign()
{
u16 i ;
/*螢屏設計頻譜*/
int x11=20;
int y11=140,y12=220; //豎
int x21=20,x22=280;//橫
int y21=140;
/*螢屏設計波形*/
int X1=25,X2=105;
int Y1=1,Y2=101;
int XX1=25,YY1=1;
//printf("這是一個FFT 測驗實驗\r\n");
POINT_COLOR=RED;//設定字體為紅色 WHITE
//設定頻譜引數
LCD_ShowString(0,0,32,16,16,"5V");
LCD_ShowString(0,15,32,16,16,"4V");
LCD_ShowString(0,30,32,16,16,"3V");
LCD_ShowString(0,50,32,16,16,"2V");
LCD_ShowString(0,70,32,16,16,"1V");
LCD_ShowString(10,90,32,16,16,"0");
LCD_ShowString(100,100,32,16,16,"t");
//設計頻譜引數
LCD_ShowString(285,200,32,16,16,"fre/");
LCD_ShowString(290,215,24,16,16,"Hz");
LCD_ShowString(0,120,32,16,16,"Am");
LCD_ShowString(1,135,32,16,16,"/V");
LCD_ShowString(65,221,24,16,16,"1k");
LCD_ShowString(110,221,24,16,16,"2k");
LCD_ShowString(158,221,24,16,16,"3k");
LCD_ShowString(208,221,24,16,16,"4k");
LCD_ShowString(265,221,24,16,16,"5k");
LCD_ShowNum(10,220,0,1,16);
POINT_COLOR=LGRAY;//設定字體為紅色 WHITE
LCD_Display_Dir(1);
//畫圖波形區域
for(i=0;i<5;i++){
LCD_DrawLine(XX1, Y1, XX1, Y2);
XX1=XX1+20;
}
for(i=0;i<6;i++){
LCD_DrawLine(X1, YY1, X2, YY1);
YY1=YY1+20;
}
//畫圖頻譜區域
for(i=0;i<14;i++){
LCD_DrawLine(x11, y11, x11, y12);
x11=x11+20;
}
for(i=0;i<6;i++){
LCD_DrawLine(x21, y21, x22, y21);
y21=y21+20;
}
//設計引數顯示區域
POINT_COLOR=BLACK;//設定字體為紅色 WHITE
LCD_DrawRectangle(200,0,320,120);
LCD_DrawLine(200,19,320,19);
LCD_DrawLine(200,39,320,39);
LCD_DrawLine(200,59,320,59);
LCD_DrawLine(200,79,320,79);
LCD_DrawLine(200,99,320,99);
LCD_DrawLine(250,0,250,120);
//POINT_COLOR=LGRAY;//設定字體為紅色 WHITE
POINT_COLOR=DARKBLUE;
//設計顯示thd存盤區
Show_Graph(201,20,(u8*)wu,16,0);
Show_Graph(215,20,(u8*)ming,16,0);
Show_Graph(230,20,(u8*)xian,16,0);
Show_Graph(215,40,(u8*)ding,16,0);
Show_Graph(230,40,(u8*)bu,16,0);
Show_Graph(215,60,(u8*)di,16,0);
Show_Graph(230,60,(u8*)bu,16,0);
Show_Graph(215,80,(u8*)shuang,16,0);
Show_Graph(230,80,(u8*)xiang,16,0);
Show_Graph(215,100,(u8*)jiao,16,0);
Show_Graph(230,100,(u8*)yue,16,0);
LCD_ShowString(260,1,24,16,16,"THD");
}
/***************************************************
*
*
* 顯示種類漢字
*
*
*****************************************************/
void xianshi_classify()
{
int con=65;
if(classify_flag==0)
{
POINT_COLOR=DARKBLUE;
Show_Graph(180-con,0,(u8*)wu,16,0);
Show_Graph(195-con,0,(u8*)ming,16,0);
Show_Graph(210-con,0,(u8*)xian,16,0);
Show_Graph(225-con,0,(u8*)shi,16,0);
Show_Graph(240-con,0,(u8*)zhen,16,0);
//POINT_COLOR=RED;
}
if(classify_flag==1)
{
POINT_COLOR=DARKBLUE;
Show_Graph(180-con,0,(u8*)ding,16,0);
Show_Graph(195-con,0,(u8*)bu,16,0);
Show_Graph(210-con,0,(u8*)shi,16,0);
Show_Graph(225-con,0,(u8*)zhen,16,0);
Show_Graph(240-con,0,(u8*)k,16,0);
//POINT_COLOR=RED;
}
if(classify_flag==2)
{
POINT_COLOR=DARKBLUE;
Show_Graph(180-con,0,(u8*)di,16,0);
Show_Graph(195-con,0,(u8*)bu,16,0);
Show_Graph(210-con,0,(u8*)shi,16,0);
Show_Graph(225-con,0,(u8*)zhen,16,0);
Show_Graph(240-con,0,(u8*)k,16,0);
//POINT_COLOR=RED;
}
if(classify_flag==3)
{
POINT_COLOR=DARKBLUE;
Show_Graph(180-con,0,(u8*)shuang,16,0);
Show_Graph(195-con,0,(u8*)xiang,16,0);
Show_Graph(210-con,0,(u8*)shi,16,0);
Show_Graph(225-con,0,(u8*)zhen,16,0);
Show_Graph(240-con,0,(u8*)k,16,0);
//POINT_COLOR=RED;
}
if(classify_flag==4)
{
POINT_COLOR=DARKBLUE;
Show_Graph(180-con,0,(u8*)jiao,16,0);
Show_Graph(195-con,0,(u8*)yue,16,0);
Show_Graph(210-con,0,(u8*)shi,16,0);
Show_Graph(225-con,0,(u8*)zhen,16,0);
Show_Graph(240-con,0,(u8*)k,16,0);
//POINT_COLOR=RED;
}
}
/**************************************************************
*
*
*
*
* 全自動
*
*
*
*
***************************************************************/
void quanzidong()
{
if(flag_zidongkz==0)
{
wushizhen
delay_ms(900);
}
if(flag_zidongkz==1)
{ dingbushizhen
delay_ms(900);
}
if(flag_zidongkz==2)
{
dibushizhen
delay_ms(900);
}
if(flag_zidongkz==3)
{
shuangxiangshizhen
delay_ms(900);
}
if(flag_zidongkz==4)
{
jiaoyueshizhen
delay_ms(900);
}
}
void get_danci()
{
if(classify_flag==0)
{
sprintf((unsigned char *)temp1,"%.4lf%%",THD);
LCD_ShowString(260,20,200,16,16,temp1);
//Show_Graph(260,20,(u8*)wu,16,0);
Show_Graph(260,40,(u8*)wu,16,0);
Show_Graph(260,60,(u8*)wu,16,0);
Show_Graph(260,80,(u8*)wu,16,0);
Show_Graph(260,100,(u8*)wu,16,0);
}
if(classify_flag==1)
{
sprintf((unsigned char *)temp1,"%.4lf%%",THD);
LCD_ShowString(260,40,200,16,16,temp1);
Show_Graph(260,20,(u8*)wu,16,0);
//Show_Graph(260,40,(u8*)wu,16,0);
Show_Graph(260,60,(u8*)wu,16,0);
Show_Graph(260,80,(u8*)wu,16,0);
Show_Graph(260,100,(u8*)wu,16,0);
}
if(classify_flag==2)
{
sprintf((unsigned char *)temp1,"%.4lf%%",THD);
LCD_ShowString(260,60,200,16,16,temp1);
Show_Graph(260,20,(u8*)wu,16,0);
Show_Graph(260,40,(u8*)wu,16,0);
//Show_Graph(260,60,(u8*)wu,16,0);
Show_Graph(260,80,(u8*)wu,16,0);
Show_Graph(260,100,(u8*)wu,16,0);
}
if(classify_flag==3)
{
sprintf((unsigned char *)temp1,"%.4lf%%",THD);
LCD_ShowString(260,80,200,16,16,temp1);
Show_Graph(260,20,(u8*)wu,16,0);
Show_Graph(260,40,(u8*)wu,16,0);
Show_Graph(260,60,(u8*)wu,16,0);
//Show_Graph(260,80,(u8*)wu,16,0);
Show_Graph(260,100,(u8*)wu,16,0);
}
if(classify_flag==4)
{
sprintf((unsigned char *)temp1,"%.4lf%%",THD);
LCD_ShowString(260,100,200,16,16,temp1);
Show_Graph(260,20,(u8*)wu,16,0);
Show_Graph(260,40,(u8*)wu,16,0);
Show_Graph(260,60,(u8*)wu,16,0);
Show_Graph(260,80,(u8*)wu,16,0);
//Show_Graph(260,100,(u8*)wu,16,0);
}
}
void get_thdmean()
{
u8 i,n;//i 控制回圈 n控制求值
//thd_1求平均
if(thd_1[0]==0&&thd_1[1]==0&&thd_1[2]==0&&thd_1[3]==0&&thd_1[4]==0)
Show_Graph(260,20,(u8*)wu,16,0);
else
{
n=0;mean_thd_1=0;
for(i=0;i<5;i++)
{
if(thd_1[i]!=0)
{
n++;
mean_thd_1+=thd_1[i];
}
}
mean_thd_1=mean_thd_1/n;
sprintf((unsigned char *)temp1,"%.4lf%%",mean_thd_1);
LCD_ShowString(260,20,200,16,16,temp1);
}
//thd_2求平均
if(thd_2[0]==0&&thd_2[1]==0&&thd_2[2]==0&&thd_2[3]==0&&thd_2[4]==0)
Show_Graph(260,40,(u8*)wu,16,0);
else
{
n=0;mean_thd_2=0;
for(i=0;i<5;i++)
{
if(thd_2[i]!=0)
{
n++;
mean_thd_2+=thd_2[i];
}
}
mean_thd_2=mean_thd_2/n;
sprintf((unsigned char *)temp1,"%.4lf%%",mean_thd_2);
LCD_ShowString(260,40,200,16,16,temp1);
}
//thd_3求平均
if(thd_3[0]==0&&thd_3[1]==0&&thd_3[2]==0&&thd_3[3]==0&&thd_3[4]==0)
Show_Graph(260,60,(u8*)wu,16,0);
else
{
n=0;mean_thd_3=0;
for(i=0;i<5;i++)
{
if(thd_3[i]!=0)
{
n++;
mean_thd_3+=thd_3[i];
}
}
mean_thd_3=mean_thd_3/n;
sprintf((unsigned char *)temp1,"%.4lf%%",mean_thd_3);
LCD_ShowString(260,60,200,16,16,temp1);
}
//thd_4求平均
if(thd_4[0]==0&&thd_4[1]==0&&thd_4[2]==0&&thd_4[3]==0&&thd_4[4]==0)
Show_Graph(260,80,(u8*)wu,16,0);
else
{
n=0;mean_thd_4=0;
for(i=0;i<5;i++)
{
if(thd_4[i]!=0)
{
n++;
mean_thd_4+=thd_4[i];
}
}
mean_thd_4=mean_thd_4/n;
sprintf((unsigned char *)temp1,"%.4lf%%",mean_thd_4);
LCD_ShowString(260,80,200,16,16,temp1);
}
if(thd_5[0]==0&&thd_5[1]==0&&thd_5[2]==0&&thd_5[3]==0&&thd_5[4]==0)
Show_Graph(260,100,(u8*)wu,16,0);
else
{
n=0;mean_thd_5=0;
for(i=0;i<5;i++)
{
if(thd_5[i]!=0)
{
n++;
mean_thd_5+=thd_5[i];
}
}
mean_thd_5=mean_thd_5/n;
sprintf((unsigned char *)temp1,"%.4lf%%",mean_thd_5);
LCD_ShowString(260,100,200,16,16,temp1);
}
}
/**************************************************************
*
*
*
*
* 主函式
*
*
*
*
***************************************************************/
int main(void)
{
u16 i ;
SystemInit();//系統時鐘初始化
//繼電器控制
gpio_init();
gpio();
delay_init();
TIME2_Init();
ADC1_Init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設定中斷優先級分組為組2:2位搶占優先級,2位回應優先級
USART_Configuration();//串口1初始化
LCD_Init();
KEY_Init();
wushizhen
TIM3_Int_Init(500,7199);//10Khz的計數頻率,計數到5000為500ms
POINT_COLOR=RED;//設定字體為紅色
Show_Graph(0,40,(u8*)tp1,240,1);
delay_ms(1000);
delay_ms(1000);
POINT_COLOR=BLACK;//
LCD_Clear(WHITE);
Show_Graph(0,40,(u8*)tp,240,1);
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
LCD_Clear(WHITE);
LCD_Drawdesign();
auto_flag=1;
auto_flag1=0;
// printf("點數 頻率 幅值 實部 虛部\n");
// GetPowerMag();
while (1)
{
//quanzidong();
//printf("check %d",auto_flag1);
if(auto_flag1==0)
{
quanzidong();
delay_ms(1000);
DMA_Cmd(DMA1_Channel1,ENABLE);
TIM_Cmd(TIM2,ENABLE); //開啟定時器2
}
if(auto_flag==0){
delay_ms(1000);
DMA_Cmd(DMA1_Channel1,ENABLE);
TIM_Cmd(TIM2,ENABLE); //開啟定時器2
}
if(ADC_flag == 1)
{
LCD_Clear(WHITE);
xianshi_classify();
LCD_Drawdesign();
TIM_Cmd(TIM2,DISABLE);
DMA_Cmd(DMA1_Channel1,DISABLE);
ADC_flag = 0;
POINT_COLOR=RED;//設定字體為紅色
DSP_FFT1024();
get_vpp();
GetTHD();
Getsignchart();
Getfreqchart();
DMA_Cmd(DMA1_Channel1,DISABLE);
TIM_Cmd(TIM2,DISABLE); //開啟定時器
if(auto_flag1==0)
{
//printf(" %lf %lf %lf %lf %lf %lf\n",mean_thd_1,thd_1[0],thd_1[1],thd_1[2],thd_1[3],thd_1[4]);
if(flag_zidongkz==0)//
thd_1[zt]=THD;
if(flag_zidongkz==1)
thd_2[zt]=THD;
if(flag_zidongkz==2)
thd_3[zt]=THD;
if(flag_zidongkz==3)
thd_4[zt]=THD;
if(flag_zidongkz==4)
thd_5[zt]=THD;
zt++;
if(zt==5)
{
zt=0;
//printf("111");
flag_zidongkz++;
if(flag_zidongkz==5)
flag_zidongkz=0;
classify_flag=flag_zidongkz;
//printf("%d %d",flag_zidongkz,classify_flag);
}
get_thdmean();
}
else if(auto_flag==0||cc==0)
get_danci();
}
}
}
/**************************************************
*
*
* DMA中斷服務函式
*
*
*
***************************************************/
void DMA1_Channel1_IRQHandler()
{
int i;
if(DMA_GetITStatus(DMA_IT_TC)) //判斷DMA傳輸完成中斷
{
for(i=0;i<NPT;i++)
{
ADC_input[i] = ADC_ConvertedValue[i];
// printf("%d\r\n",ADC_input[i]);
// printf("%f\r\n",(float)ADC_input[i]*3.3/4096);
}
ADC_flag = 1;
}
DMA_ClearITPendingBit(DMA_IT_TC); //清除DMA中斷標志位
}
timer.c
#include "timer.h"
#include<stm32f10x.h>
#include "led.h"
#include "delay.h"
#include "key.h"
extern char auto_flag;
int tt;
/*************************************************
函式:
功能: 定時器配置
引數: 無
回傳: 無
**************************************************/
void TIM2_Configuration(void)
{
TIM_TimeBaseInitTypeDef TIM2_InitStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
TIM_DeInit(TIM2);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
TIM_InternalClockConfig(TIM2);
TIM2_InitStructure.TIM_ClockDivision = TIM_CKD_DIV1;
TIM2_InitStructure.TIM_RepetitionCounter = 0;
TIM2_InitStructure.TIM_CounterMode = TIM_CounterMode_Up;
//=====================采樣率調節↓=====================================
TIM2_InitStructure.TIM_Period =585; // 1170 389 585 780 239 //(799,43)頻率2048 //59,29(40K) //44,19(80K)
TIM2_InitStructure.TIM_Prescaler = 11;// 5 17 11 8 29
//==============================================================
TIM_TimeBaseInit(TIM2, &TIM2_InitStructure);
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //TIM脈沖寬度調制模式1
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //
TIM_OCInitStructure.TIM_Pulse = 50; //占空比(大于0就OK)
TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCPolarity_Low; //TIM輸出比較級性低
TIM_OC2Init(TIM2,&TIM_OCInitStructure);
TIM_InternalClockConfig(TIM2); //設定TIMx內部時鐘
TIM_OC2PreloadConfig(TIM2,TIM_OCPreload_Enable); //使能或失能TIMx在CCR2上的預裝載暫存器
TIM_UpdateDisableConfig(TIM2,DISABLE); //使能或失能TIMx更新事件
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); //使能或失能指定的TIM中斷
TIM_Cmd(TIM2,ENABLE);
}
void TIM2_NVIC_Configuration(void)
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
void TIME2_Init()
{
TIM2_NVIC_Configuration();
TIM2_Configuration();
}
void TIM2_IRQHandler(void)
{
if(TIM_GetITStatus(TIM2, TIM_IT_Update)==SET)
{
//=================定時器2中斷處理函式================================
//====================測驗用,可以用示波器測量定時頻率↓==================
// if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_3))
// led4(ON);
// else
// led4(OFF);
//===============================================================
TIM_ClearFlag(TIM2, TIM_IT_Update); //清除溢位中斷標志
}
}
void TIM3_Int_Init(u16 arr,u16 psc)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //時鐘使能
//定時器TIM3初始化
TIM_TimeBaseStructure.TIM_Period = arr; //設定在下一個更新事件裝入活動的自動重裝載暫存器周期的值
TIM_TimeBaseStructure.TIM_Prescaler =psc; //設定用來作為TIMx時鐘頻率除數的預分頻值
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //設定時鐘分割:TDTS = Tck_tim
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上計數模式
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根據指定的引數初始化TIMx的時間基數單位
TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //使能指定的TIM3中斷,允許更新中斷
//中斷優先級NVIC設定
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; //TIM3中斷
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //先占優先級0級
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //從優先級3級
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
NVIC_Init(&NVIC_InitStructure); //初始化NVIC暫存器
TIM_Cmd(TIM3, ENABLE); //使能TIMx
}
//定時器3中斷服務程式
void TIM3_IRQHandler(void) //TIM3中斷
{
if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) //檢查TIM3更新中斷發生與否
{
KEY_Scan();
TIM_ClearITPendingBit(TIM3, TIM_IT_Update ); //清除TIMx更新中斷標志
}
}
ADC.c
#include "adc.h"
#define ADC1_DR_Address ((u32)0x40012400+0x4c)
__IO uint16_t ADC_ConvertedValue[1024];
/**
* @brief 使能ADC1和DMA1的時鐘,初始化PC.01
* @param 無
* @retval 無
*/
static void ADC1_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
/* Enable DMA clock */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);
/* Enable ADC1 and GPIOC clock */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_GPIOC, ENABLE);
/* Configure PC.01 as analog input */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOC, &GPIO_InitStructure); // PC1,輸入時不用設定速率
}
/**
* @brief 配置ADC1的作業模式為MDA模式
* @param 無
* @retval 無
*/
static void ADC1_Mode_Config(void)
{
DMA_InitTypeDef DMA_InitStructure;
ADC_InitTypeDef ADC_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
NVIC_InitStructure.NVIC_IRQChannel = DMA1_Channel1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel = ADC1_2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;//先占優先級0
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; //從優先級
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
/* DMA channel1 configuration */
DMA_DeInit(DMA1_Channel1);
DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address; //ADC地址
DMA_InitStructure.DMA_MemoryBaseAddr = (u32)ADC_ConvertedValue; //記憶體地址
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;
DMA_InitStructure.DMA_BufferSize = 1024;
DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; //外設地址固定
DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; //記憶體地址
DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; //半字
DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;
DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; //回圈傳輸
DMA_InitStructure.DMA_Priority = DMA_Priority_High;
DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;
DMA_Init(DMA1_Channel1, &DMA_InitStructure);
/* Enable DMA channel1 */
DMA_ITConfig(DMA1_Channel1,DMA_IT_TC,ENABLE); //使能DMA傳輸完成中斷請求
DMA_Cmd(DMA1_Channel1, ENABLE);
/* ADC1 configuration */
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //獨立ADC模式
ADC_InitStructure.ADC_ScanConvMode = DISABLE ; //禁止掃描模式,掃描模式用于多通道采集
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; //不開啟連續轉換模式
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T2_CC2;
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //采集資料右對齊
ADC_InitStructure.ADC_NbrOfChannel = 1; //要轉換的通道數目1
ADC_Init(ADC1, &ADC_InitStructure);
/*配置ADC時鐘,為PCLK2的6分頻,即12MHz*/
RCC_ADCCLKConfig(RCC_PCLK2_Div6);
/*配置ADC1的通道11為55. 5個采樣周期,序列為1 */
ADC_RegularChannelConfig(ADC1, ADC_Channel_11, 1, ADC_SampleTime_55Cycles5);
/* Enable ADC1 DMA */
ADC_DMACmd(ADC1, ENABLE);
/* Enable ADC1 */
ADC_Cmd(ADC1, ENABLE);
/*復位校準暫存器 */
ADC_ResetCalibration(ADC1);
/*等待校準暫存器復位完成 */
while(ADC_GetResetCalibrationStatus(ADC1));
/* ADC校準 */
ADC_StartCalibration(ADC1);
/* 等待校準完成*/
while(ADC_GetCalibrationStatus(ADC1));
/* 使用定時器觸發ADC轉換 */
ADC_ExternalTrigConvCmd(ADC1,ENABLE);
}
/**
* @brief ADC1初始化
* @param 無
* @retval 無
*/
void ADC1_Init(void)
{
ADC1_GPIO_Config();
ADC1_Mode_Config();
}
key.c
#include "key.h"
char auto_flag;
char auto_flag1,classify_flag;
u8 flag_zidongkz;//自動控制狀態
double thd_1[5]={0,0,0,0,0};
double thd_2[5]={0,0,0,0,0};
double thd_3[5]={0,0,0,0,0};
double thd_4[5]={0,0,0,0,0};
double thd_5[5]={0,0,0,0,0};
u8 cc=1;
u8 zt=0;
/*-------------------------------------------------------------------------------
程式名稱:KEY_Init
程式描述:按鍵引腳初始化,打開埠時鐘,配置埠引腳,埠作業頻率,埠輸入模式
輸入引數:無
回傳引數:無
備 注:無
---------------------------------------------------------------------------------*/
void KEY_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 |GPIO_Pin_3 | GPIO_Pin_4| GPIO_Pin_5| GPIO_Pin_6;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOG, &GPIO_InitStructure);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_13 | GPIO_Pin_12;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOD, &GPIO_InitStructure);
}
void KEY_Scan()
{
static u16 key1_sum=0,key2_sum=0,key3_sum=0,key4_sum=0,key5_sum=0\
,key6_sum=0,key7_sum=0,key8_sum=0;
u8 z;
if(KEY1==0)
{
key1_sum++;
if(key1_sum==1)
{
/*功能補充*/
wushizhen
delay_ms(800);
classify_flag=0;
//printf(" KEY1\r\n");
}
}
else
key1_sum=0;
if(KEY2==0)
{
key2_sum++;
if(key2_sum==1)
{
/*功能補充*/
dingbushizhen
delay_ms(800);
classify_flag=1;
}
}
else
key2_sum=0;
if(KEY3==0)
{
key3_sum++;
if(key3_sum==1)
{
dibushizhen
delay_ms(800);
classify_flag=2;
/*功能補充*/
}
}
else
key3_sum=0;
if(KEY4==0)
{
key4_sum++;
if(key4_sum==1)
{
/*功能補充*/
shuangxiangshizhen
delay_ms(800);
classify_flag=3;
}
}
else
key4_sum=0;
if(KEY6==0)
{
key6_sum++;
if(key6_sum==1)
{
/*功能補充*/
jiaoyueshizhen
delay_ms(800);
classify_flag=4;
}
}
else
key6_sum=0;
if(KEY5==0)
{
key5_sum++;
if(key5_sum==1)
{
/*功能補充*/
auto_flag1=0;
cc=1;
zt=0;
classify_flag=0;
flag_zidongkz=0;
for(z=0; z < 5; z++)
{
thd_1[z]=0;
thd_2[z]=0;
thd_3[z]=0;
thd_4[z]=0;
thd_5[z]=0;
}
}
}
else
key5_sum=0;
if(KEY7==0)
{
key7_sum++;
if(key7_sum==1)
{
/*功能補充*/
auto_flag=0;
}
}
else
key7_sum=0;
//暫停
if(KEY8==0)
{
key8_sum++;
if(key8_sum==1)
{
/*功能補充*/
if(cc==0)
{
auto_flag=1;
delay_ms(800);
DMA_Cmd(DMA1_Channel1,ENABLE);
TIM_Cmd(TIM2,ENABLE); //開啟定時器2
delay_ms(1000);
}
else{
delay_ms(1000);
cc=0;
auto_flag1=1;
DMA_Cmd(DMA1_Channel1,DISABLE);
TIM_Cmd(TIM2,DISABLE);
}
}
}
else
key8_sum=0;
}
key.h
#ifndef __KEY_H
#define __KEY_H
#include "stm32f10x.h"
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "adc.h"
#include "timer.h"
#include "lcd.h"
#define wushizhen \
GPIO_ResetBits(GPIOF,GPIO_Pin_1);GPIO_SetBits(GPIOF,GPIO_Pin_2);\
GPIO_ResetBits(GPIOF,GPIO_Pin_3);GPIO_SetBits(GPIOF,GPIO_Pin_4);GPIO_ResetBits(GPIOF,GPIO_Pin_5);\
GPIO_SetBits(GPIOF,GPIO_Pin_6);GPIO_ResetBits(GPIOF,GPIO_Pin_7);GPIO_ResetBits(GPIOF,GPIO_Pin_8);
#define dingbushizhen \
GPIO_ResetBits(GPIOF,GPIO_Pin_1);GPIO_ResetBits(GPIOF,GPIO_Pin_2);\
GPIO_SetBits(GPIOF,GPIO_Pin_3);GPIO_SetBits(GPIOF,GPIO_Pin_4);GPIO_ResetBits(GPIOF,GPIO_Pin_5);\
GPIO_ResetBits(GPIOF,GPIO_Pin_6);GPIO_SetBits(GPIOF,GPIO_Pin_7);GPIO_ResetBits(GPIOF,GPIO_Pin_8);
#define dibushizhen \
GPIO_SetBits(GPIOF,GPIO_Pin_1);GPIO_ResetBits(GPIOF,GPIO_Pin_2);\
GPIO_ResetBits(GPIOF,GPIO_Pin_3);GPIO_SetBits(GPIOF,GPIO_Pin_4);GPIO_ResetBits(GPIOF,GPIO_Pin_5);\
GPIO_ResetBits(GPIOF,GPIO_Pin_6);GPIO_SetBits(GPIOF,GPIO_Pin_7);GPIO_ResetBits(GPIOF,GPIO_Pin_8);
#define shuangxiangshizhen \
GPIO_ResetBits(GPIOF,GPIO_Pin_1);GPIO_SetBits(GPIOF,GPIO_Pin_2);\
GPIO_ResetBits(GPIOF,GPIO_Pin_3);GPIO_SetBits(GPIOF,GPIO_Pin_4);GPIO_ResetBits(GPIOF,GPIO_Pin_5);\
GPIO_ResetBits(GPIOF,GPIO_Pin_6);GPIO_ResetBits(GPIOF,GPIO_Pin_7);GPIO_SetBits(GPIOF,GPIO_Pin_8);
#define jiaoyueshizhen \
GPIO_ResetBits(GPIOF,GPIO_Pin_1);GPIO_SetBits(GPIOF,GPIO_Pin_2);\
GPIO_ResetBits(GPIOF,GPIO_Pin_3);GPIO_ResetBits(GPIOF,GPIO_Pin_4);GPIO_SetBits(GPIOF,GPIO_Pin_5);\
GPIO_ResetBits(GPIOF,GPIO_Pin_6);GPIO_SetBits(GPIOF,GPIO_Pin_7);GPIO_ResetBits(GPIOF,GPIO_Pin_8);
#define KEY1 GPIO_ReadInputDataBit(GPIOG,GPIO_Pin_6)
#define KEY2 GPIO_ReadInputDataBit(GPIOG,GPIO_Pin_5)
#define KEY3 GPIO_ReadInputDataBit(GPIOG,GPIO_Pin_4)
#define KEY4 GPIO_ReadInputDataBit(GPIOG,GPIO_Pin_3)
#define KEY5 GPIO_ReadInputDataBit(GPIOG,GPIO_Pin_2)
#define KEY6 GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_13)
#define KEY7 GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_12)
#define KEY8 GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_11)
extern __IO uint16_t ADC_ConvertedValue[1024]; // ADC1轉換的電壓值通過MDA方式傳到SRAM
void KEY_Init(void);
void KEY_Scan();
#endif
顯示圖片和漢字問題
詳細參考博文:DIY顯示
呼叫這個函式,自己安排位置,
//顯示一個DIY圖形
//x,y:圖形顯示的坐標
//num:第幾個圖形
//size:圖形大小
//mode:0,正常顯示,1,疊加顯示
void Show_Graph(u16 x,u16 y,u8 *num,u8 size,u8 mode)
{
u8 temp;
u16 t,t1;
u16 y0 = y;
u16 x0 = x;
u16 csize=(size/8+((size%8)?1:0))*(size);//得到字體一個字符對應點陣集所占的位元組數
for(t = 0;t < csize;t++)
{
temp = num[t];
for(t1 = 0;t1 < 8;t1++)
{
if(temp&0x80)LCD_Fast_DrawPoint(x,y,POINT_COLOR);
else if(mode==0)LCD_Fast_DrawPoint(x,y,BACK_COLOR);
temp<<=1;
y++;
if((y-y0) == size)
{
y=y0;
x++;
break;
}
if((x-x0) == size)
{
x = x0;
break;
}
}
}
}
img.h
#ifndef __IMG_H
#define __IMG_H
const unsigned char wu[]= {0x00,0x01,0x02,0x02,0x42,0x04,0x42,0x08,0x42,0x30,0x43,0xC0,0x7E,0x00,0x42,0x00,0x43,0xFC,0x42,0x02,0x42,0x02,0x42,0x02,0x02,0x02,0x02,0x0E,0x00,0x00,0x00,0x00};/*"無",0*/
const unsigned char ming[]= {0x00,0x00,0x3F,0xF0,0x22,0x20,0x22,0x20,0x22,0x20,0x3F,0xF1,0x00,0x02,0x00,0x0C,0x7F,0xF0,0x44,0x40,0x44,0x40,0x44,0x42,0x44,0x41,0x7F,0xFE,0x00,0x00,0x00,0x00};/*"明",1*/
const unsigned char xian[]= {0x00,0x02,0x00,0x42,0x00,0x22,0x7F,0x1A,0x49,0x02,0x49,0xFE,0x49,0x02,0x49,0x02,0x49,0x02,0x49,0xFE,0x49,0x02,0x7F,0x0A,0x00,0x12,0x00,0x62,0x00,0x02,0x00,0x00};/*"顯",2*/
const unsigned char shi[]= {0x00,0x81,0x02,0x81,0x0C,0x82,0x78,0x84,0x08,0x88,0x08,0xB0,0x08,0xC0,0xFF,0x80,0x08,0xC0,0x08,0xB0,0x08,0x88,0x08,0x84,0x08,0x82,0x00,0x81,0x00,0x81,0x00,0x00};/*"失",3*/
const unsigned char zhen[]= {0x00,0x08,0x20,0x08,0x20,0x09,0x2F,0xFA,0x2A,0xAC,0x2A,0xA8,0x2A,0xA8,0xFA,0xA8,0x2A,0xA8,0x2A,0xA8,0x2A,0xAC,0x2F,0xFA,0x20,0x09,0x20,0x08,0x00,0x08,0x00,0x00};/*"真",4*/
const unsigned char ding[]= {0x20,0x00,0x20,0x04,0x20,0x02,0x3F,0xFC,0x20,0x00,0x20,0x00,0x20,0x01,0x4F,0xF2,0x48,0x04,0x58,0x18,0x6B,0xE0,0x48,0x08,0x48,0x04,0x4F,0xF2,0x40,0x01,0x00,0x00};/*"頂",5*/
const unsigned char bu[]= {0x02,0x00,0x22,0x00,0x2A,0x7E,0xA6,0x44,0x62,0x44,0x22,0x44,0x26,0x44,0x2A,0x7E,0x22,0x00,0x02,0x00,0x7F,0xFF,0x40,0x10,0x44,0x08,0x5B,0x10,0x60,0xE0,0x00,0x00};/*"部",6*/
const unsigned char di[]= {0x00,0x01,0x00,0x06,0x3F,0xF8,0x20,0x00,0x20,0x00,0x27,0xFF,0x24,0x42,0xA4,0x44,0x64,0x40,0x27,0xC2,0x28,0x71,0x28,0x48,0x28,0x44,0x28,0x42,0x20,0x4F,0x00,0x00};/*"底",7*/
const unsigned char shuang[]= {0x20,0x02,0x2C,0x0C,0x23,0x30,0x20,0xC0,0x23,0x30,0x3C,0x0C,0x00,0x01,0x20,0x02,0x3F,0x04,0x20,0xC8,0x20,0x30,0x20,0xC8,0x23,0x04,0x3C,0x02,0x00,0x01,0x00,0x00};/*"雙",8*/
const unsigned char xiang[]= {0x00,0x00,0x1F,0xFF,0x10,0x00,0x10,0x00,0x30,0x00,0x53,0xF8,0x92,0x10,0x12,0x10,0x12,0x10,0x13,0xF8,0x10,0x00,0x10,0x02,0x10,0x01,0x1F,0xFE,0x00,0x00,0x00,0x00};/*"向",9*/
const unsigned char jiao[]= {0x10,0x01,0x10,0x81,0x11,0x02,0x16,0x02,0x10,0x84,0x10,0x44,0x90,0x28,0x70,0x10,0x10,0x28,0x10,0x44,0x11,0x82,0x14,0x02,0x12,0x01,0x11,0x81,0x10,0x01,0x00,0x00};/*"交",10*/
const unsigned char yue[]= {0x02,0x01,0x12,0x7E,0x12,0x08,0xFF,0xFC,0x12,0x22,0x12,0x22,0x00,0x02,0x1F,0xF2,0x10,0x22,0x10,0x0A,0xFF,0x92,0x10,0x62,0x91,0x92,0x56,0x3A,0x00,0x02,0x00,0x00};/*"越",11*/
const unsigned char k[]= {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/*"越",11*/
#endif
img1.h
這里是電賽的標志和放大器裝置這幾個字的顯示圖片
#ifndef __IMG1_H
#define __IMG1_H
const unsigned char tp[]= {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x0E,0x00,0xF0,0x00,0x06,0x01,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x01,0xC0,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x70,0x00,0x8E,0x07,0x80,0x00,0x71,0xC0,0x00,0xFF,0xDF,0xF8,0x00,0x03,0x80,0x00,0x01,0xC0,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x30,0x70,0x01,
0xEE,0x03,0x80,0x00,0x71,0xC0,0x00,0xE1,0xDC,0x38,0x00,0x03,0x80,0x00,0x01,0xE0,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x70,0x70,0x03,0xCE,0x03,0x80,0x00,0x71,0xC0,0x00,0xE1,0xDC,0x38,0x00,0x03,0x80,0x00,0x00,0xE0,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x70,0x70,0x01,0x8E,0x01,0xC0,0x00,
0x71,0xC0,0x00,0xE1,0xDC,0x38,0x00,0x03,0x80,0x00,0x00,0xE0,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x73,0xF0,0x0C,0x0E,0x19,0xE0,0x7F,0xF1,0xFF,0xC0,0xFF,0xDF,0xF8,0x00,0x03,0x80,0x00,0x00,0xE4,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFB,0xFE,0x0F,0xCE,0x3C,0xE0,0x7F,0xF1,0xFF,0xC0,0xFF,
0xDF,0xF8,0x00,0x03,0x80,0x00,0xFF,0xF7,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFB,0xFE,0x0F,0xFE,0x1C,0x70,0x00,0x71,0xC0,0x00,0x08,0x30,0x00,0x00,0x03,0x80,0x00,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x0E,0x3F,0xFE,0x00,0x7F,0xFE,0x78,0x00,0x71,0xC0,0x00,0x1E,0x70,0x00,0x1F,0xFF,
0xFF,0xF0,0x38,0x78,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x3F,0x7E,0x00,0x0F,0xEF,0xF8,0x00,0x71,0xC0,0x00,0x1C,0x78,0x00,0x1F,0xFF,0xFF,0xF0,0x38,0x78,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x1E,0x7E,0x18,0x0E,0x07,0xF8,0x00,0x71,0xC0,0x03,0xFF,0xFF,0xFC,0x00,0x03,0x80,0x00,0x3C,0x7C,
0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x1C,0x7E,0x1F,0xDE,0x07,0x00,0x7F,0xF1,0xFF,0x83,0xFF,0xFF,0xFC,0x00,0x03,0xC0,0x00,0x3C,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x1C,0x77,0x0F,0xFE,0x03,0x80,0x7F,0xF1,0xFF,0x80,0x03,0xFE,0x00,0x00,0x07,0xC0,0x00,0x1C,0xFF,0xFC,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x70,0x00,0x3F,0xE1,0xC0,0x00,0x71,0xC0,0x00,0x1F,0x8F,0x80,0x00,0x07,0xC0,0x00,0x1C,0xE7,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xF0,0x70,0x07,0x1C,0xE1,0xE0,0x00,0x71,0xC0,0x07,0xFE,0x07,0xFE,0x00,0x0F,0xE0,0x00,0x1C,0xE7,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x01,0xFF,0xF0,0x70,0x0F,0x9C,0x1F,0xF0,0x00,0x71,0xC0,0x03,0xF8,0x00,0xFE,0x00,0x1E,0xE0,0x00,0x1D,0xC7,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x70,0x07,0xDC,0x1F,0xF0,0x00,0x71,0xC0,0x00,0x00,0x00,0x1C,0x00,0x1C,0xF0,0x00,0x0F,0xC7,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,
0x70,0x03,0xF8,0x00,0xF0,0x00,0x71,0xC0,0x00,0xFF,0xDF,0xF8,0x00,0x3C,0x78,0x00,0x0F,0xC3,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x70,0x01,0xF8,0x00,0x00,0xFF,0xF1,0xFF,0xC0,0xE1,0xDC,0x38,0x00,0x78,0x38,0x00,0x0F,0x83,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x70,0x00,0x78,0x30,
0x00,0xFF,0xF1,0xFF,0xC0,0xE1,0xDC,0x38,0x00,0xF0,0x3C,0x00,0x07,0x83,0x8F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x70,0x08,0xFC,0x3F,0xC0,0x00,0x71,0xC0,0x00,0xE1,0xDC,0x38,0x01,0xE0,0x1F,0x00,0x0F,0x83,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x70,0x38,0xFF,0x0F,0xF8,0x00,0x71,0xC0,
0x00,0xE1,0xDC,0x38,0x07,0xC0,0x0F,0x80,0x1F,0xC3,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x70,0x3F,0xCF,0xC0,0xF0,0x00,0x71,0xC0,0x00,0xFF,0xDF,0xF8,0x0F,0x80,0x07,0xE0,0x3D,0xF3,0xC3,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFC,0x70,0x1F,0xC3,0xF0,0x00,0x00,0x71,0xC0,0x00,0xFF,0xDF,0xF8,
0x1F,0x00,0x01,0xF8,0xF8,0x7F,0xF3,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFC,0x70,0x1F,0x01,0xE0,0x00,0x00,0x71,0xC0,0x00,0xE1,0xDC,0x38,0x0E,0x00,0x00,0xF0,0xF0,0x3D,0xE1,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x06,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0xC0,0x00,0x30,0x00,0x00,0x00,0x00,
0xC0,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xF8,0x00,0x70,0x38,0x00,0x00,0x0E,0x00,0x03,0xFF,
0xF0,0x00,0x00,0x03,0x80,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xF8,0x00,0x70,0x38,0x00,0x00,0x1E,0x00,0x03,0xFF,0xFF,0xFC,0x00,0x03,0x80,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC3,0x8E,0x38,0x00,0x70,0x39,0xC0,0x00,0x0E,0x00,0x00,0xE3,0x8F,0xFC,0x0F,0xFF,
0xFF,0xE0,0x00,0x1C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC3,0x8C,0x38,0x0F,0xFF,0xBB,0xC0,0x7F,0xFF,0xFF,0xC0,0xE3,0x80,0xE0,0x0F,0xFF,0xFF,0xE0,0x00,0x1C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xF8,0x0F,0xFF,0xBF,0x80,0x7F,0xFF,0xFF,0xC0,0xE3,0x80,0x70,0x00,0x03,0xC0,0x00,0x00,0x1C,
0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xF8,0x00,0x70,0x33,0x00,0x70,0x00,0x03,0xC0,0xE3,0x80,0x70,0x01,0xFF,0xFF,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x70,0x38,0x00,0x70,0x40,0x03,0xC0,0xE3,0x80,0x70,0x01,0xFF,0xFF,0x00,0x3F,0xFF,0xFC,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x70,0x3E,0x00,0x71,0xE1,0xE3,0xC0,0xE3,0x80,0x78,0x01,0xC0,0x07,0x00,0x3F,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFC,0x07,0xFF,0x3F,0x80,0x07,0xE0,0xF0,0x00,0xE3,0x87,0xF8,0x01,0xC0,0x0F,0x00,0x00,0x1C,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x01,0xFF,0xFF,0xFC,0x07,0xFF,0x3B,0xF0,0x1F,0x80,0x7C,0x00,0xE3,0x87,0xFC,0x01,0xFF,0xFF,0x00,0x00,0x1C,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x01,0xB8,0xE0,0x7E,0x07,0x1F,0x07,0xFF,0xF7,0x3C,0x01,0xC0,0x0F,0x00,0x00,0x1C,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,
0xE0,0x00,0x03,0xF0,0x00,0x78,0x07,0x0F,0x87,0xFF,0xF7,0x3E,0x01,0xFF,0xFF,0x00,0x00,0x1C,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0xE0,0x00,0x03,0x80,0x00,0x30,0x07,0x03,0x00,0xF3,0x87,0x3F,0x01,0xFF,0xFF,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0xE0,0x00,0x03,0x00,
0x00,0x00,0x07,0x87,0x00,0xE3,0x87,0x3E,0x01,0xC0,0x0F,0x00,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xE0,0x1F,0xFF,0xFF,0xE0,0x03,0xFF,0xFF,0x00,0xE3,0x87,0x38,0x01,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0xE0,0x1F,0xFF,0xFF,0xE0,0x03,0xC7,0x80,
0x00,0xE1,0xC7,0x38,0x01,0xFF,0xFF,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0xE0,0x00,0x07,0xE0,0x00,0x03,0x83,0x80,0x00,0xE1,0xC7,0x38,0x01,0xC0,0x07,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xE0,0x03,0x87,0x78,0x00,0x03,0x83,0x80,0x00,0xE1,0xC7,0xF8,
0x01,0xC0,0x0F,0x00,0x00,0x77,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xE0,0x07,0xCE,0x3C,0x00,0x03,0x83,0xC0,0x00,0xE1,0xC7,0xF8,0x3F,0xFF,0xFF,0xF8,0x01,0xF3,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0xE0,0x01,0xFC,0x3F,0x00,0x03,0x81,0xE0,0x00,0xE1,0xE7,0x38,0x3F,0xFF,0xFF,0xF8,
0x03,0xE3,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xE0,0x00,0x78,0x3F,0xE0,0xE3,0x81,0xF0,0x00,0xE0,0xE7,0x38,0x00,0x30,0x30,0x00,0x0F,0xC1,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0xE0,0x00,0xF3,0xF9,0xF1,0xE3,0x80,0xF8,0x00,0xE0,0xF0,0x38,0x01,0xF8,0x7C,0x00,0x3F,0x00,0xF8,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0xE0,0x07,0xE1,0xF8,0x60,0xF7,0x80,0x7F,0x00,0xE0,0x78,0x38,0x07,0xE0,0x3F,0x00,0xFE,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFE,0x1F,0x80,0x7C,0x00,0xFF,0x80,0x1F,0xC0,0xF0,0x3C,0x30,0x0F,0x80,0x07,0xE0,0x78,0x00,0x1F,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x18,0x00,0x00,0x00,0x07,0x80,0xF0,0x18,0x00,0x06,0x00,0x00,0xC0,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
}
;
const unsigned char tp1[]= {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF ,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFC,0x07,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xF8,0x03,0xFF ,
0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xF8,0x03,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xF0,0x01,0xFF,0xFF,0xFF,0xFC,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xE0,0x00,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xE0,0x00,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xE0,0x00,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xC0,0x00,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xC0,0x00,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x7F,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0x0F,0xFF,0xFF,0xC0,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFC ,
0x07,0xFF,0xFF,0xC0,0x00,0x7F,0xFF,0xFF,0xCF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xF8,0x03,0xFF,0xFF,0xE0,0x00,0xFF,0xFF,0xFF,0x07,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xF8,0x01,0xFF,0xFF,0xE0 ,
0x00,0xFF,0xFF,0xFC,0x01,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xF0,0x00,0xFF,0xFF,0xE0,0x00,0xFF,0xFF,0xFC,0x00,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xF0,0x00,0xFF,0xFF,0xE0,0x00,0xFF,0xFF,0xF8 ,
0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xE0,0x00,0xFF,0xFF,0xF0,0x01,0xFF,0xFF,0xF8,0x00,0x7F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xE0,0x00,0xFF,0xFF,0xF0,0x01,0xFF,0xFF,0xF8,0x00,0x7F,0xFF,0x80 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xE0,0x00,0x7F,0xFF,0xF8,0x03,0xFF,0xFF,0xF0,0x00,0x7F,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xE0,0x00,0x7F,0xFF,0xFC,0x07,0xFF,0xFF,0xF0,0x00,0x3F,0xFF,0xC0,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xE0,0x00,0x7F,0xFF,0xFE,0x0F,0xFF,0xFF,0xF0,0x00,0x3F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xC0,0x00,0x7F,0xFF,0xFF,0x1F,0xFF,0xFF,0xF0,0x00,0x3F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xC0,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x3F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xE0,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x3F,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0xFF,0xFF,0xE0,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x3F,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xE0,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x3F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF ,
0xFF,0xE0,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x3F,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xE0,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x3F,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xF0,0x00,0xFF ,
0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x3F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xF0,0x00,0xFF,0xFF,0xFC,0x0F,0xFF,0xFF,0xF0,0x00,0x7F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xF8,0x01,0xFF,0xFF,0xF0,0x07,0xFF ,
0xFF,0xF8,0x00,0x7F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xF8,0x01,0xFF,0xFF,0xE0,0x01,0xFF,0xFF,0xF8,0x00,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFC,0x03,0xFF,0xFF,0xC0,0x00,0xFF,0xFF,0xFC,0x00,0xFF ,
0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFE,0x07,0xFF,0xFF,0x80,0x00,0x7F,0xFF,0xFC,0x00,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0x1F,0xFF,0xFF,0x80,0x00,0x7F,0xFF,0xFE,0x03,0xFF,0xFF,0xFF,0xC0,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x3F,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x02,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0xF4,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x07,0xF8,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x0F,0xFC,0x07,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xF8,0x0F,0xFF,0xF8,0x0F,0xFC,0x07,0xFF,0xF8,0x01,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xF0 ,
0x03,0xFF,0xF0,0x1F,0xFE,0x03,0xFF,0xF0,0x00,0x7F,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xC0,0x01,0xFF,0xF0,0x3F,0xFF,0x03,0xFF,0xE0,0x00,0x3F,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x80,0x00,0xFF,0xF0,0x3F ,
0xFF,0x03,0xFF,0xC0,0x00,0x1F,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x80,0x00,0x7F,0xF0,0x7F,0xFF,0x03,0xFF,0x80,0x00,0x1F,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x3F,0xE0,0x7F,0xFF,0x81,0xFF,0x80 ,
0x00,0x0F,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFE,0x00,0x00,0x1F,0xE0,0x7F,0xFF,0xC1,0xFF,0x00,0x00,0x07,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFE,0x00,0x00,0x1F,0xE0,0xFF,0xFF,0xC1,0xFF,0x00,0x00,0x07,0xFF,0xFF ,
0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFC,0x10,0x00,0x0F,0xE0,0xFF,0xFF,0xC0,0xFE,0x00,0x38,0x03,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xF8,0x01,0xE0,0x0F,0xE0,0xFF,0xFF,0xC0,0xFE,0x01,0xFC,0x03,0xFF,0xFF,0xFC,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xF8,0x07,0xF0,0x07,0xC0,0xFF,0xFF,0xE0,0xFC,0x03,0xFE,0x01,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xF8,0x0F,0xFC,0x07,0xC0,0xFF,0xFF,0xE0,0xFC,0x07,0xFF,0x01,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xF0,0x1F,0xFE,0x03,0xC1,0xFF,0xFF,0xE0,0xF8,0x8F,0xFF,0x80,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xF0,0x3F,0xFF,0x03,0xC1,0xFF,0xFF,0xF0,0x78,0x1F,0xFF,0xC0,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
0x00,0x01,0xFF,0xFF,0xF0,0x3F,0xFF,0x83,0xC1,0xFF,0xFF,0xF0,0x78,0x1F,0xFF,0xC0,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xE0,0x7F,0xFF,0x81,0xC1,0xFF,0xFF,0xF0,0x78,0xBF,0xFF,0xE0,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF ,
0xE0,0x7F,0xFF,0xC1,0xC3,0xFF,0xFF,0xF0,0x70,0x7F,0xFF,0xE0,0x7F,0xFF,0xFE,0x00,0x00,0x00
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/176470.html
標籤:其他
上一篇:8051單片機的C語言程式設計
- 標籤雲
-
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)
- 熱門瀏覽
-
-
如何從xshell上傳檔案到centos linux虛擬機里
如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......
uj5u.com 2020-09-10 02:00:47 more -
一、SQLMAP入門
一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......
uj5u.com 2020-09-10 02:00:50 more -
Metasploit 簡單使用教程
metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......
uj5u.com 2020-09-10 02:00:53 more -
游戲逆向之驅動層與用戶層通訊
驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......
uj5u.com 2020-09-10 02:00:56 more -
北斗電力時鐘(北斗授時服務器)讓網路資料更精準
北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......
uj5u.com 2020-09-10 02:01:03 more -
【CTF】CTFHub 技能樹 彩蛋 writeup
?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......
uj5u.com 2020-09-10 02:04:05 more -
02windows基礎操作
我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......
uj5u.com 2020-09-10 02:04:18 more -
03.Linux基礎操作
我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......
uj5u.com 2020-09-10 02:04:30 more
- 最新发布
-
-
2023年最新微信小程式抓包教程
01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......
uj5u.com 2023-04-20 08:48:24 more -
web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包
Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......
uj5u.com 2023-04-20 08:47:46 more -
vulnhub_Earth
前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......
uj5u.com 2023-04-20 07:46:20 more -
從4k到42k,軟體測驗工程師的漲薪史,給我看哭了
清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......
uj5u.com 2023-04-20 07:44:00 more -
最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇
🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......
uj5u.com 2023-04-20 07:43:36 more -
漫談前端自動化測驗演進之路及測驗工具分析
隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......
uj5u.com 2023-04-20 07:43:16 more -
CANN開發實踐:4個DVPP記憶體問題的典型案例解讀
摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......
uj5u.com 2023-04-20 07:43:03 more -
Halcon軟體安裝與界面簡介
1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......
uj5u.com 2023-04-20 07:42:17 more -
在MacOS下使用Unity3D開發游戲
第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......
uj5u.com 2023-04-20 07:40:19 more
-
- 友情鏈接
