首页 > 分享 > 开源!自制一个桌面宠物(STM32CUBEMX HAL库 PWM波 小项目)

开源!自制一个桌面宠物(STM32CUBEMX HAL库 PWM波 小项目)

原视频:好,自制一个桌面宠物!_哔哩哔哩_bilibili 基础所需:基础电路认识,C语言,STM32开发,STM32CUBEIDE或CUBEMX和Keil使用(重要),一点点艺术细胞、一点点耐心。

开源协议严禁商用;以视频或其他形式发布到互联网上的(包括成果和资料等),必须署名作者“有出息的男孩_”。

CAUTION:本文重点在第一代桌面宠物代码部分的开源,是基于HAL库。硬件手工部分不出教程(没必要)可以直接看视频,文末附步态参考出处,接线图,舵机安排。

硬件配置

主控:STM32F103C8T6 粉色沉金板(也可以用C6T6,价格便宜一半)

舵机:SG90 *4

屏幕:1.3寸OLED (IIC驱动)

供电:锂电池 *2(3.7V 30mm*40mm 400mah以上,尺寸参数完全一样的两块普通锂电池并联,输出功率大,一块电池输出功率不够) + 锂电池充放电模块(不会自动断电、适配3.7V锂电池、输出5V、充放电同口)

蓝牙:低功耗蓝牙(BLE,串口透传,便宜又好用)

软件配置:

手机app开发:appinventor制作(这里不附教程,因为我也不熟,唯一有用的建议是我的蓝牙模组要用BLE而不是普通蓝牙,需另外下载并配置,建议另寻他佬教程

单片机开发:

平台:STM32CUBEIDE(等效STM32CUBEMX+Keil)

软件开源:  

提纲

1.定时器pwm波输出

2.串口信息交互

3.OLED显示  

CUBEMX配置:

(这里没有配置驱动屏幕的IIC,选择直接软件模拟,文末会附驱动代码。

1.RCC时钟配置:

(无脑选择外部时钟,无脑拉最高频。

2.SYS配置:

(此项没配置正确可能会导致芯片烧录一次后就再也烧录不了的情况 

3.定时器配置PWM输出模式:

(一个定时器直接开四个PWM通道即可,并关注输出引脚是否正确。根据舵机参数,配置PWM频率为50Hz。通道一为前右脚,通道二为后右脚,通道三为前左脚,通道四为后左脚,脚的位置和角度见文末图,是参考文末大佬的视频的

注意引脚为PA0,PA1,PA2,PA3。

4.配置串口

(也很无脑,但要根据蓝牙模块的参数配置传输速率(Baud Rate),我是115200。

并且开中断NVIC,优先级按经验来填2就可。

考虑到单片机引脚位置,需要把串口引脚重定向到PB6和PB7。 

5.IIC引脚配置(软件模拟IIC,引脚任意两个IO就可以,要命名成这个是因为和驱动代码匹配)

小Tip:

经验所得,把系统滴答时钟的优先级拉最高可以防止卡死在HAL_Delay里面。

6.最后生成工程,用keil的这里改成MDK_ARM

推荐打勾这个,为每个外设建.c和.h文件,使工程结构更清晰。

最后直接ctrl+s即可生成工程(用STM32CUBEMX+Keil的点Generate code建立工程)

代码部分:(最后会附完整代码,其中LED的控制可有可无 (即“HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);”)。 1.PWM波输出(姿态

uint16_t angle(uint8_t angle)

{

return angle*2000/180+500;

}

void Rbt_Init(void)

{

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));

HAL_Delay(100);

}

void move_forward(void)

{

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(135));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(45));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(45));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(135));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(135));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(45));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(45));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(135));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));

HAL_Delay(move_delay);

}

void move_behind(void)

{

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(45));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(135));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(135));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(45));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(45));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(135));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(135));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(45));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));

HAL_Delay(move_delay);

}

void move_right(void)

{

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(45));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(45));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(135));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(135));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));

HAL_Delay(move_delay);

}

void move_left(void)

{

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(135));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(135));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(45));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(45));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));

HAL_Delay(move_delay);

}

void move_swing(void)

{

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(130));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(130));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(50));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(50));

HAL_Delay(250);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(50));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(50));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(130));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(130));

HAL_Delay(250);

}

void move_stretch(void){

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));

if(TIM2->CCR1<angle(155) && TIM2->CCR3>angle(25)){

for(uint8_t i=0;i<70;i++){

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90+i));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90-i));

HAL_Delay(move_speed);

}

HAL_Delay(1000);

for(uint8_t i=0;i<70;i++){

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(160-i));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(20+i));

HAL_Delay(move_speed);

}

for(uint8_t i=0;i<65;i++){

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90+i));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90-i));

HAL_Delay(move_speed);

}

for(uint8_t i=0;i<20;i++){

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90-i));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90+i));

HAL_Delay(move_speed);

}

HAL_Delay(1000);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(140));

HAL_Delay(1000);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(178));

HAL_Delay(500);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(140));

HAL_Delay(500);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(178));

HAL_Delay(500);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(140));

HAL_Delay(500);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(70));

}

}

void move_sleep(void){

if(TIM2->CCR3<angle(160) && TIM2->CCR1>angle(20)){

for(uint8_t i=0;i<75;i++){

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90-i));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90+i));

HAL_Delay(move_speed);

}

}

if(TIM2->CCR2<angle(160) && TIM2->CCR4>angle(20)){

for(uint8_t i=0;i<75;i++){

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90+i));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90-i));

HAL_Delay(move_speed);

}

}

}

2. 串口接收

(采用中断

while前开一下

HAL_UART_Receive_IT(&huart1, &move_mode, 1);

 中断回调函数(用来切换表情,然后再开启中断接收(不然后面会接收不到)

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)

{

if(move_mode == 8){

OLED_Clear();

OLED_DrawBMP(0,0,128,8,BMP2);

}

else if(move_mode == 2){

OLED_Clear();

OLED_DrawBMP(0,0,128,8,BMP2);

}

else if(move_mode == 4){

OLED_Clear();

OLED_DrawBMP(0,0,128,8,BMP4);

}

else if(move_mode == 6){

OLED_Clear();

OLED_DrawBMP(0,0,128,8,BMP3);

}

else if(move_mode == 'A'){

OLED_Clear();

OLED_DrawBMP(0,0,128,8,BMP2);

}

HAL_UART_Receive_IT(&huart1, &move_mode, 1);

}

串口重定向。在usart.c末尾添加以下代码(用于定义printf) 

注意:此重定向代码不适用于keil工程,使用keil开发的小伙伴可以自行搜索keil版本的串口重定向,或者干脆手动删去所有“printf”语句。 

#ifdef __GNUC__

#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)

#else

#define PUTCHAR_PROTOTYPE int fputc(int ch. FILE *f)

#endif

//重定向printf函数

PUTCHAR_PROTOTYPE

{

HAL_UART_Transmit(&huart1,(uint8_t *)&ch,1,0xFFFF);//输出指向串口USART1

return ch;

}

 3.主函数内while循环(运行当前动作

while (1)

{

if(move_mode == 8){

move_forward();

HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);

flag=0;

}

else if(move_mode == 2){

move_behind();

HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);

flag=0;

}

else if(move_mode == 4){

move_left();

HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);

flag=0;

}

else if(move_mode == 6){

move_right();

HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);

flag=0;

}

else if(move_mode == 5 || move_mode == 'C'){

OLED_DrawBMP(0,0,128,8,BMP1);

Rbt_Init();

HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);

flag=0;

}

else if(move_mode == 'A'){

move_swing();

HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);

flag=0;

}

else if(move_mode == 'B'){

if(flag==0){

OLED_DrawBMP(0,0,128,8,BMP2);

move_stretch();

OLED_DrawBMP(0,0,128,8,BMP5);

HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);

flag=1;

}

}

else if(move_mode == 'D'){

if(flag==0){

move_sleep();

OLED_DrawBMP(0,0,128,8,BMP6);

flag=1;

}

}

}

main文件全部代码:

#include "main.h"

#include "tim.h"

#include "usart.h"

#include "gpio.h"

#include <stdio.h>

#include "oled.h"

#include "bmp.h"

uint8_t move_mode = 0;

uint8_t flag = 0;

#define move_delay 150 //一般动作调速

#define move_speed 4 //慢速动作调速

void SystemClock_Config(void);

void Rbt_Init(void);

uint16_t angle(uint8_t angle);

void move_forward(void);

void move_behind(void);

void move_right(void);

void move_left(void);

void move_swing(void);

void move_stretch(void);

void move_test(void);

void move_sleep(void);

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)

{

if(move_mode == 8){

OLED_Clear();

OLED_DrawBMP(0,0,128,8,BMP2);

}

else if(move_mode == 2){

OLED_Clear();

OLED_DrawBMP(0,0,128,8,BMP2);

}

else if(move_mode == 4){

OLED_Clear();

OLED_DrawBMP(0,0,128,8,BMP4);

}

else if(move_mode == 6){

OLED_Clear();

OLED_DrawBMP(0,0,128,8,BMP3);

}

else if(move_mode == 'A'){

OLED_Clear();

OLED_DrawBMP(0,0,128,8,BMP2);

}

HAL_UART_Receive_IT(&huart1, &move_mode, 1);

}

int main(void)

{

HAL_Init();

SystemClock_Config();

MX_GPIO_Init();

MX_USART1_UART_Init();

MX_TIM2_Init();

HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1);

HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_2);

HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3);

HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_4);

HAL_UART_Receive_IT(&huart1, &move_mode, 1);

OLED_Init();

OLED_Clear();

OLED_DrawBMP(0,0,128,8,BMP6);

while (1)

{

if(move_mode == 8){

move_forward();

HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);

flag=0;

}

else if(move_mode == 2){

move_behind();

HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);

flag=0;

}

else if(move_mode == 4){

move_left();

HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);

flag=0;

}

else if(move_mode == 6){

move_right();

HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);

flag=0;

}

else if(move_mode == 5 || move_mode == 'C'){

OLED_DrawBMP(0,0,128,8,BMP1);

Rbt_Init();

HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);

flag=0;

}

else if(move_mode == 'A'){

move_swing();

HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);

flag=0;

}

else if(move_mode == 'B'){

if(flag==0){

OLED_DrawBMP(0,0,128,8,BMP2);

move_stretch();

OLED_DrawBMP(0,0,128,8,BMP5);

HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);

flag=1;

}

}

else if(move_mode == 'D'){

if(flag==0){

move_sleep();

OLED_DrawBMP(0,0,128,8,BMP6);

flag=1;

}

}

}

}

void SystemClock_Config(void)

{

RCC_OscInitTypeDef RCC_OscInitStruct = {0};

RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};

RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;

RCC_OscInitStruct.HSEState = RCC_HSE_ON;

RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;

RCC_OscInitStruct.HSIState = RCC_HSI_ON;

RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;

RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;

RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;

if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)

{

Error_Handler();

}

RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK

|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;

RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;

RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;

RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;

RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;

if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)

{

Error_Handler();

}

}

void Rbt_Init(void)

{

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));

HAL_Delay(100);

}

uint16_t angle(uint8_t angle)

{

return angle*2000/180+500;

}

void move_forward(void)

{

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(135));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(45));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(45));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(135));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(135));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(45));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(45));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(135));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));

HAL_Delay(move_delay);

}

void move_behind(void)

{

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(45));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(135));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(135));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(45));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(45));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(135));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(135));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(45));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));

HAL_Delay(move_delay);

}

void move_right(void)

{

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(45));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(45));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(135));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(135));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));

HAL_Delay(move_delay);

}

void move_left(void)

{

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(135));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(135));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(45));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(45));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));

HAL_Delay(move_delay);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));

HAL_Delay(move_delay);

}

void move_swing(void)

{

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(130));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(130));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(50));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(50));

HAL_Delay(200);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(50));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(50));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(130));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(130));

HAL_Delay(200);

}

void move_stretch(void){

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));

if(TIM2->CCR1<angle(155) && TIM2->CCR3>angle(25)){

for(uint8_t i=0;i<70;i++){

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90+i));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90-i));

HAL_Delay(move_speed);

}

HAL_Delay(1000);

for(uint8_t i=0;i<70;i++){

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(160-i));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(20+i));

HAL_Delay(move_speed);

}

for(uint8_t i=0;i<65;i++){

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90+i));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90-i));

HAL_Delay(move_speed);

}

for(uint8_t i=0;i<20;i++){

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90-i));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90+i));

HAL_Delay(move_speed);

}

HAL_Delay(1000);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(140));

HAL_Delay(1000);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(178));

HAL_Delay(500);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(140));

HAL_Delay(500);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(178));

HAL_Delay(500);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(140));

HAL_Delay(500);

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(70));

}

}

void move_sleep(void){

if(TIM2->CCR3<angle(160) && TIM2->CCR1>angle(20)){

for(uint8_t i=0;i<75;i++){

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90-i));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90+i));

HAL_Delay(move_speed);

}

}

if(TIM2->CCR2<angle(160) && TIM2->CCR4>angle(20)){

for(uint8_t i=0;i<75;i++){

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90+i));

__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90-i));

HAL_Delay(move_speed);

}

}

}

void Error_Handler(void)

{

__disable_irq();

while (1)

{

}

}

#ifdef USE_FULL_ASSERT

void assert_failed(uint8_t *file, uint32_t line)

{

}

#endif /* USE_FULL_ASSERT */

最后附OLED驱动(评价是不如去参考别人的 

1."oled.c"

#include "oled.h"

#include "oledfont.h"

#include "main.h"

void IIC_Start()

{

OLED_SCLK_Set() ;

OLED_SDIN_Set();

OLED_SDIN_Clr();

OLED_SCLK_Clr();

}

void IIC_Stop()

{

OLED_SCLK_Clr();

OLED_SDIN_Clr();

OLED_SDIN_Set();

OLED_SCLK_Set() ;

}

void Write_IIC_Byte(unsigned char IIC_Byte)

{

unsigned char i;

unsigned char m,da;

da=IIC_Byte;

for(i=0;i<8;i++)

{

m=da;

OLED_SCLK_Clr();

m=m&0x80;

if(m==0x80)

{OLED_SDIN_Set();}

else OLED_SDIN_Clr();

da=da<<1;

OLED_SCLK_Set();

}

OLED_SCLK_Clr();

OLED_SCLK_Set() ;

}

void Write_IIC_Command(unsigned char IIC_Command)

{

IIC_Start();

Write_IIC_Byte(0x78);

Write_IIC_Byte(0x00);

Write_IIC_Byte(IIC_Command);

IIC_Stop();

}

void Write_IIC_Data(unsigned char IIC_Data)

{

IIC_Start();

Write_IIC_Byte(0x78);

Write_IIC_Byte(0x40);

Write_IIC_Byte(IIC_Data);

IIC_Stop();

}

void OLED_WR_Byte(unsigned dat,unsigned cmd)

{

if(cmd)

{

IIC_Start();

Write_IIC_Byte(0x78);

Write_IIC_Byte(0x40);

Write_IIC_Byte(dat);

IIC_Stop();

}

else {

IIC_Start();

Write_IIC_Byte(0x78);

Write_IIC_Byte(0x00);

Write_IIC_Byte(dat);

IIC_Stop();

}

}

void fill_picture(unsigned char fill_Data)

{

unsigned char m,n;

for(m=0;m<8;m++)

{

OLED_WR_Byte(0xb0+m,0);

OLED_WR_Byte(0x00,0);

OLED_WR_Byte(0x10,0);

for(n=0;n<128;n++)

{

OLED_WR_Byte(fill_Data,1);

}

}

}

void OLED_Set_Pos(unsigned char x, unsigned char y)

{OLED_WR_Byte(0xb0+y,OLED_CMD);

OLED_WR_Byte(((x&0xf0)>>4)|0x10,OLED_CMD);

OLED_WR_Byte((x&0x0f)|0x01,OLED_CMD);

}

void OLED_Display_On(void)

{

OLED_WR_Byte(0X8D,OLED_CMD);

OLED_WR_Byte(0X14,OLED_CMD);

OLED_WR_Byte(0XAF,OLED_CMD);

}

void OLED_Display_Off(void)

{

OLED_WR_Byte(0X8D,OLED_CMD);

OLED_WR_Byte(0X10,OLED_CMD);

OLED_WR_Byte(0XAE,OLED_CMD);

}

void OLED_Clear(void)

{

uint8_t i,n;

for(i=0;i<8;i++)

{

OLED_WR_Byte (0xb0+i,OLED_CMD);

OLED_WR_Byte (0x02,OLED_CMD);

OLED_WR_Byte (0x10,OLED_CMD);

for(n=0;n<128;n++)OLED_WR_Byte(0,OLED_DATA);

}

}

void OLED_On(void)

{

uint8_t i,n;

for(i=0;i<8;i++)

{

OLED_WR_Byte (0xb0+i,OLED_CMD);

OLED_WR_Byte (0x02,OLED_CMD);

OLED_WR_Byte (0x10,OLED_CMD);

for(n=0;n<128;n++)OLED_WR_Byte(1,OLED_DATA);

}

}

void OLED_ShowChar(uint8_t x,uint8_t y,uint8_t chr,uint8_t Char_Size)

{

unsigned char c=0,i=0;

c=chr-' ';

if(x>Max_Column-1){x=0;y=y+2;}

if(Char_Size ==16)

{

OLED_Set_Pos(x,y);

for(i=0;i<8;i++)

OLED_WR_Byte(F8X16[c*16+i],OLED_DATA);

OLED_Set_Pos(x,y+1);

for(i=0;i<8;i++)

OLED_WR_Byte(F8X16[c*16+i+8],OLED_DATA);

}

else {

OLED_Set_Pos(x,y);

for(i=0;i<6;i++)

OLED_WR_Byte(F6x8[c][i],OLED_DATA);

}

}

uint32_t oled_pow(uint8_t m,uint8_t n)

{

uint32_t result=1;

while(n--)result*=m;

return result;

}

void OLED_ShowNum(uint8_t x,uint8_t y,uint32_t num,uint8_t len,uint8_t size2)

{

uint8_t t,temp;

uint8_t enshow=0;

for(t=0;t<len;t++)

{

temp=(num/oled_pow(10,len-t-1))%10;

if(enshow==0&&t<(len-1))

{

if(temp==0)

{

OLED_ShowChar(x+(size2/2)*t,y,' ',size2);

continue;

}else enshow=1;

}

OLED_ShowChar(x+(size2/2)*t,y,temp+'0',size2);

}

}

void OLED_ShowString(uint8_t x,uint8_t y,uint8_t *chr,uint8_t Char_Size)

{

unsigned char j=0;

while (chr[j]!='')

{OLED_ShowChar(x,y,chr[j],Char_Size);

x+=8;

if(x>120){x=0;y+=2;}

j++;

}

}

void OLED_ShowCHinese(uint8_t x,uint8_t y,uint8_t no)

{

uint8_t t,adder=0;

OLED_Set_Pos(x,y);

for(t=0;t<16;t++)

{

OLED_WR_Byte(Hzk[2*no][t],OLED_DATA);

adder+=1;

}

OLED_Set_Pos(x,y+1);

for(t=0;t<16;t++)

{

OLED_WR_Byte(Hzk[2*no+1][t],OLED_DATA);

adder+=1;

}

}

void OLED_DrawBMP(unsigned char x0, unsigned char y0,unsigned char x1, unsigned char y1,unsigned char BMP[])

{

unsigned int j=0;

unsigned char x,y;

if(y1%8==0) y=y1/8;

else y=y1/8+1;

for(y=y0;y<y1;y++)

{

OLED_Set_Pos(x0,y);

for(x=x0;x<x1;x++)

{

OLED_WR_Byte(BMP[j++],OLED_DATA);

}

}

}

void OLED_Init(void)

{

OLED_WR_Byte(0xAE,OLED_CMD);

OLED_WR_Byte(0x02,OLED_CMD);

OLED_WR_Byte(0x10,OLED_CMD);

OLED_WR_Byte(0x40,OLED_CMD);

OLED_WR_Byte(0xB0,OLED_CMD);

OLED_WR_Byte(0x81,OLED_CMD);

OLED_WR_Byte(0xFF,OLED_CMD);

OLED_WR_Byte(0xA1,OLED_CMD);

OLED_WR_Byte(0xA6,OLED_CMD);

OLED_WR_Byte(0xA8,OLED_CMD);

OLED_WR_Byte(0x3F,OLED_CMD);

OLED_WR_Byte(0xAD,OLED_CMD);

OLED_WR_Byte(0x8B,OLED_CMD);

OLED_WR_Byte(0x33,OLED_CMD);

OLED_WR_Byte(0xC8,OLED_CMD);

OLED_WR_Byte(0xD3,OLED_CMD);

OLED_WR_Byte(0x00,OLED_CMD);

OLED_WR_Byte(0xD5,OLED_CMD);

OLED_WR_Byte(0x80,OLED_CMD);

OLED_WR_Byte(0xD8,OLED_CMD);

OLED_WR_Byte(0x05,OLED_CMD);

OLED_WR_Byte(0xD9,OLED_CMD);

OLED_WR_Byte(0x1F,OLED_CMD);

OLED_WR_Byte(0xDA,OLED_CMD);

OLED_WR_Byte(0x12,OLED_CMD);

OLED_WR_Byte(0xDB,OLED_CMD);

OLED_WR_Byte(0x40,OLED_CMD);

OLED_WR_Byte(0xAF,OLED_CMD);

}

2."oled.h"

#ifndef __OLED_H

#define __OLED_H

#include "main.h"

#include "stdlib.h"

#define OLED_MODE 0

#define SIZE 8

#define XLevelL0x00

#define XLevelH0x10

#define Max_Column128

#define Max_Row64

#defineBrightness0xFF

#define X_WIDTH128

#define Y_WIDTH64

#define OLED_SCLK_Clr() HAL_GPIO_WritePin(SCL_GPIO_Port,SCL_Pin,GPIO_PIN_RESET)//SCL IIC�ӿڵ�ʱ���ź�

#define OLED_SCLK_Set() HAL_GPIO_WritePin(SCL_GPIO_Port,SCL_Pin,GPIO_PIN_SET)

#define OLED_SDIN_Clr() HAL_GPIO_WritePin(SDA_GPIO_Port,SDA_Pin,GPIO_PIN_RESET)//SDA IIC�ӿڵ������ź�

#define OLED_SDIN_Set() HAL_GPIO_WritePin(SDA_GPIO_Port,SDA_Pin,GPIO_PIN_SET)

#define OLED_CMD 0//���

#define OLED_DATA 1//���

void OLED_WR_Byte(unsigned dat,unsigned cmd);

void OLED_Display_On(void);

void OLED_Display_Off(void);

void OLED_Init(void);

void OLED_Clear(void);

void OLED_DrawPoint(uint8_t x,uint8_t y,uint8_t t);

void OLED_Fill(uint8_t x1,uint8_t y1,uint8_t x2,uint8_t y2,uint8_t dot);

void OLED_ShowChar(uint8_t x,uint8_t y,uint8_t chr,uint8_t Char_Size);

void OLED_ShowNum(uint8_t x,uint8_t y,uint32_t num,uint8_t len,uint8_t size);

void OLED_ShowString(uint8_t x,uint8_t y, uint8_t *p,uint8_t Char_Size);

void OLED_Set_Pos(unsigned char x, unsigned char y);

void OLED_ShowCHinese(uint8_t x,uint8_t y,uint8_t no);

void OLED_DrawBMP(unsigned char x0, unsigned char y0,unsigned char x1, unsigned char y1,unsigned char BMP[]);

void Delay_50ms(unsigned int Del_50ms);

void Delay_1ms(unsigned int Del_1ms);

void fill_picture(unsigned char fill_Data);

void Picture();

void IIC_Start();

void IIC_Stop();

void Write_IIC_Command(unsigned char IIC_Command);

void Write_IIC_Data(unsigned char IIC_Data);

void Write_IIC_Byte(unsigned char IIC_Byte);

#endif

 3."bmp.h"(表情的模

#ifndef __BMP_H

#define __BMP_H

unsigned char BMP1[] =

{

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,

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,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x80,0x80,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,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF8,0xFE,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFE,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF8,0xFE,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,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,0xFF,0xFF,0xFF,

0xFF,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,0x00,0x00,

0x00,0x00,0x00,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,0xFF,

0xFF,0xFF,0xFF,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,

0x00,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,0xFF,0xFF,0xFF,

0xFF,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,0x00,0x00,

0x00,0x00,0x00,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,0xFF,

0xFF,0xFF,0xFF,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,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x3F,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0x03,

0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,

0x03,0x03,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

unsigned char BMP2[] =

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xFE,0xFE,0xFC,0xFC,0xF8,0xF8,0xF0,0xF0,0xE0,0xE0,0xC0,0xC0,

0x80,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,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x80,0x80,0xC0,0xC0,0xE0,0xE0,0xF0,0xF0,0xF8,0xF8,0xFC,0xFC,0xFE,0xFE,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x03,0x03,0x07,0x07,0x0F,0x0F,0x1F,0x1F,0x1F,

0x3F,0x3F,0x7F,0x7F,0xFE,0xFE,0xFE,0xFC,0xFC,0xF8,0xF8,0xF0,0xF0,0xE0,0xE0,0xC0,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0xC0,0xC0,0xE0,0xE0,0xF0,0xF0,0xF8,0xF8,0xFC,0xFC,0xFE,0xFE,0x7F,0x7F,

0x3F,0x3F,0x3F,0x1F,0x1F,0x0F,0x0F,0x07,0x07,0x03,0x03,0x03,0x01,0x01,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0xC0,0xC0,0xE0,0xE0,0xF0,0xF0,0xF0,

0xF8,0xF8,0xFC,0xFC,0xFC,0xFE,0xFF,0x7F,0x7F,0x3F,0x3F,0x1F,0x1F,0x0F,0x0F,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,0x0F,0x0F,0x1F,0x1F,0x3F,0x3F,0x7F,0x7F,0xFF,0xFF,0xFC,0xFC,0xFC,0xF8,

0xF8,0xF0,0xF0,0xE0,0xE0,0xE0,0xC0,0xC0,0x80,0x80,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0xFE,0xFE,0xFF,0x7F,0x7F,0x7F,0x3F,0x3F,0x1F,0x1F,0x0F,0x0F,0x07,0x07,

0x03,0x03,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0x03,

0x03,0x07,0x07,0x0F,0x0F,0x1F,0x1F,0x3F,0x3F,0x7F,0x7F,0xFF,0xFF,0xFE,0xFE,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

unsigned char BMP3[] ={

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x80,0x80,0xC0,0xC0,0xC0,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,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x80,0x80,0xC0,0xC0,0xC0,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,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,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,

0xFF,0xFF,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,0x00,

0x00,0x00,0x00,0x00,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,

0xFF,0xFF,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,0x00,

0x00,0x00,0x00,0x00,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,

0xFF,0xFF,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,0x00,

0x00,0x00,0x00,0x00,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,

0xFF,0xFF,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,0x00,

0x00,0x00,0x00,0x00,0x00,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,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,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,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x01,0x01,0x03,0x03,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x01,0x01,0x03,0x03,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

unsigned char BMP4[] ={

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xC0,0xC0,0x80,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,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xC0,0xC0,0x80,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,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,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,0xFF,0xFF,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,0x00,0x00,0x00,0x00,

0x00,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,0xFF,0xFF,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,0x00,0x00,0x00,0x00,

0x00,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,0xFF,0xFF,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,0x00,0x00,0x00,0x00,

0x00,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,0xFF,0xFF,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,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,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,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,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,0x01,0x03,0x03,0x03,0x01,0x01,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x03,0x03,0x01,0x01,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

unsigned char BMP5[] ={

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0xF0,0xF0,

0x30,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x80,0xF0,0xF0,0xF0,0x80,0xC0,0x00,0x00,

0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,

0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0xC0,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xE0,0xC0,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,

0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x00,0x00,0x00,0x00,

0x00,0x00,0xC0,0x80,0xF0,0xF0,0xF0,0x80,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,

0xF0,0xF0,0xE0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x0F,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x3F,0x3F,0x0F,0x3F,0x3F,0x11,0x01,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0F,0x0F,0x1E,0x1E,0x3C,0x3C,

0x3C,0x3C,0x1E,0x1E,0x0F,0x0F,0x07,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x01,0x11,0x3F,0x3F,0x0F,0x3F,0x3F,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x0F,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,0x1F,0xFF,0xFF,0xF0,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0xF0,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x0F,0x0F,

0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,

0x0F,0x0F,0x07,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

unsigned char BMP6[] ={

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x3E,0x3E,0x3C,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,

0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,

0x38,0x3C,0x3C,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x3C,0x3C,

0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,

0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x3C,0x3E,0x3E,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

#endif

4."oledfont.h"字模(其实和本项目无关,但还是要加,防止报错)

#ifndef __OLEDFONT_H

#define __OLEDFONT_H

const unsigned char F6x8[][6] =

{

0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x2f, 0x00, 0x00,

0x00, 0x00, 0x07, 0x00, 0x07, 0x00,

0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14,

0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12,

0x00, 0x62, 0x64, 0x08, 0x13, 0x23,

0x00, 0x36, 0x49, 0x55, 0x22, 0x50,

0x00, 0x00, 0x05, 0x03, 0x00, 0x00,

0x00, 0x00, 0x1c, 0x22, 0x41, 0x00,

0x00, 0x00, 0x41, 0x22, 0x1c, 0x00,

0x00, 0x14, 0x08, 0x3E, 0x08, 0x14,

0x00, 0x08, 0x08, 0x3E, 0x08, 0x08,

0x00, 0x00, 0x00, 0xA0, 0x60, 0x00,

0x00, 0x08, 0x08, 0x08, 0x08, 0x08,

0x00, 0x00, 0x60, 0x60, 0x00, 0x00,

0x00, 0x20, 0x10, 0x08, 0x04, 0x02,

0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E,

0x00, 0x00, 0x42, 0x7F, 0x40, 0x00,

0x00, 0x42, 0x61, 0x51, 0x49, 0x46,

0x00, 0x21, 0x41, 0x45, 0x4B, 0x31,

0x00, 0x18, 0x14, 0x12, 0x7F, 0x10,

0x00, 0x27, 0x45, 0x45, 0x45, 0x39,

0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30,

0x00, 0x01, 0x71, 0x09, 0x05, 0x03,

0x00, 0x36, 0x49, 0x49, 0x49, 0x36,

0x00, 0x06, 0x49, 0x49, 0x29, 0x1E,

0x00, 0x00, 0x36, 0x36, 0x00, 0x00,

0x00, 0x00, 0x56, 0x36, 0x00, 0x00,

0x00, 0x08, 0x14, 0x22, 0x41, 0x00,

0x00, 0x14, 0x14, 0x14, 0x14, 0x14,

0x00, 0x00, 0x41, 0x22, 0x14, 0x08,

0x00, 0x02, 0x01, 0x51, 0x09, 0x06,

0x00, 0x32, 0x49, 0x59, 0x51, 0x3E,

0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C,

0x00, 0x7F, 0x49, 0x49, 0x49, 0x36,

0x00, 0x3E, 0x41, 0x41, 0x41, 0x22,

0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C,

0x00, 0x7F, 0x49, 0x49, 0x49, 0x41,

0x00, 0x7F, 0x09, 0x09, 0x09, 0x01,

0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A,

0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F,

0x00, 0x00, 0x41, 0x7F, 0x41, 0x00,

0x00, 0x20, 0x40, 0x41, 0x3F, 0x01,

0x00, 0x7F, 0x08, 0x14, 0x22, 0x41,

0x00, 0x7F, 0x40, 0x40, 0x40, 0x40,

0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F,

0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F,

0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E,

0x00, 0x7F, 0x09, 0x09, 0x09, 0x06,

0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E,

0x00, 0x7F, 0x09, 0x19, 0x29, 0x46,

0x00, 0x46, 0x49, 0x49, 0x49, 0x31,

0x00, 0x01, 0x01, 0x7F, 0x01, 0x01,

0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F,

0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F,

0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F,

0x00, 0x63, 0x14, 0x08, 0x14, 0x63,

0x00, 0x07, 0x08, 0x70, 0x08, 0x07,

0x00, 0x61, 0x51, 0x49, 0x45, 0x43,

0x00, 0x00, 0x7F, 0x41, 0x41, 0x00,

0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55,

0x00, 0x00, 0x41, 0x41, 0x7F, 0x00,

0x00, 0x04, 0x02, 0x01, 0x02, 0x04,

0x00, 0x40, 0x40, 0x40, 0x40, 0x40,

0x00, 0x00, 0x01, 0x02, 0x04, 0x00,

0x00, 0x20, 0x54, 0x54, 0x54, 0x78,

0x00, 0x7F, 0x48, 0x44, 0x44, 0x38,

0x00, 0x38, 0x44, 0x44, 0x44, 0x20,

0x00, 0x38, 0x44, 0x44, 0x48, 0x7F,

0x00, 0x38, 0x54, 0x54, 0x54, 0x18,

0x00, 0x08, 0x7E, 0x09, 0x01, 0x02,

0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C,

0x00, 0x7F, 0x08, 0x04, 0x04, 0x78,

0x00, 0x00, 0x44, 0x7D, 0x40, 0x00,

0x00, 0x40, 0x80, 0x84, 0x7D, 0x00,

0x00, 0x7F, 0x10, 0x28, 0x44, 0x00,

0x00, 0x00, 0x41, 0x7F, 0x40, 0x00,

0x00, 0x7C, 0x04, 0x18, 0x04, 0x78,

0x00, 0x7C, 0x08, 0x04, 0x04, 0x78,

0x00, 0x38, 0x44, 0x44, 0x44, 0x38,

0x00, 0xFC, 0x24, 0x24, 0x24, 0x18,

0x00, 0x18, 0x24, 0x24, 0x18, 0xFC,

0x00, 0x7C, 0x08, 0x04, 0x04, 0x08,

0x00, 0x48, 0x54, 0x54, 0x54, 0x20,

0x00, 0x04, 0x3F, 0x44, 0x40, 0x20,

0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C,

0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C,

0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C,

0x00, 0x44, 0x28, 0x10, 0x28, 0x44,

0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C,

0x00, 0x44, 0x64, 0x54, 0x4C, 0x44,

0x14, 0x14, 0x14, 0x14, 0x14, 0x14,

};

const unsigned char F8X16[]=

{

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00,

0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00,

0x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00,

0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00,

0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10,

0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00,

0x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00,

0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00,

0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,

0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,

0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,

0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,

0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,

0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,

0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,

0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,

0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,

0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,

0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,

0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,

0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,

0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00,

0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,

0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00,

0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00,

0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,0x07,0x18,0x27,0x24,0x23,0x14,0x0B,0x00,

0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20,

0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00,

0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00,

0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00,

0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00,

0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00,

0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00,

0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20,

0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,

0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00,

0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,

0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00,

0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00,

0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00,

0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00,

0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00,

0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00,

0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20,

0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,

0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,

0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,

0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00,

0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00,

0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20,

0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,

0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00,

0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00,

0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00,

0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,

0x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,

0x00,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20,

0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00,

0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,

0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20,

0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,

0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,

0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00,

0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,

0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,

0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,

0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00,

0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,

0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,

0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,

0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,

0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00,

0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80,

0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,

0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,

0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,

0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20,

0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00,

0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00,

0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00,

0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00,

0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00,

0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40,

0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,

0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00,

0x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

char Hzk[][32]={

{0x00,0x00,0x20,0x20,0xE0,0x20,0x10,0x40,0x40,0xC0,0x7C,0x40,0x20,0xE0,0x00,0x00},

{0x00,0x04,0x04,0x04,0x03,0x22,0x12,0x09,0x04,0x03,0x30,0x30,0x1E,0x01,0x00,0x00},

{0x00,0x00,0x00,0x30,0xE8,0x44,0xC0,0x40,0xF0,0x5E,0xCA,0x28,0xA0,0x60,0x00,0x00},

{0x00,0x04,0x02,0x7F,0x00,0x20,0x18,0x11,0x25,0x4D,0x4A,0x43,0x54,0x64,0x0C,0x00},

};

#endif

 尾巴:

如果需要机架模型文件和手机app,或者物料淘宝链接,欢迎加技术交流群:QQ948064955. 

(若被拒绝请b站私信我) 

接线图:

注意仅是一块普通锂电池才需要拆电池保护板!!!目前经过验证,两块电池并联输出功率足够,运行稳定,不需要拆除保护板。

小机器狗的运动步态我也是参考b站大佬的作品(原视频:【步态详解】人人都可制作的WiFi遥控迷你四足机器人_哔哩哔哩_bilibili

他做得比我好,且也开源>-< 

相关知识

探索爱犬世界的奇妙之旅:TinDog 开源项目
桌面宠物自制app有哪些 桌面宠物软件合集
打造个性化的虚拟桌宠:开源WPF应用程序VPet
一款开源的宠物领养平台前端开源项宠物领养宠物社区 商城多商户发布 闲置商城一体化
用JavaScript写一个可以聊天的桌面宠物
探索AIDog:智能狗狗识别与行为理解的开源项目
桌面宠物app大全
我的小傻瓜玩家自制宠物足球宝贝7月壁纸
宠物项圈!明星硬件开源社区pcDunio也做智能硬件
桌面宠物app哪个好?手机桌面宠物软件

网址: 开源!自制一个桌面宠物(STM32CUBEMX HAL库 PWM波 小项目) https://m.mcbbbk.com/newsview147652.html

所属分类:萌宠日常
上一篇: 剑网3宠物奇遇至尊宝小落墨触发方
下一篇: 剑网3攻略:宠物奇缘「北行镖·小