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

打印 上一主题 下一主题

主题 857|帖子 857|积分 2571

原视频:好,自制一个桌面宠物!_哔哩哔哩_bilibili

根本所需:根本电路熟悉,C语言,STM32开发,STM32CUBEIDE或CUBEMX和Keil使用(重要),一点点艺术细胞、一点点耐烦。

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

硬件设置

主控:STM32F103C8T6 粉色沉金板(也可以用C6T6,价格便宜一半)
舵机:SG90 *4
屏幕:1.3寸OLED (IIC驱动)
供电:锂电池 (3.7V 30mm*40mm 800mah,建议购买尺寸合适的飞控专用锂电池或两块普通锂电池并联,输出功率大,不需要后续拆保护板) + 锂电池充放电模块(不会自动断电、适配3.7V锂电池、输出5V、充放电同口)
蓝牙:低功耗蓝牙(BLE,串口透传,便宜又好用)
软件设置:

手机app开发:appinventor制作(这里不附教程,因为我也不熟,唯一有效的建议是我的蓝牙模组要用BLE而不是普通蓝牙,需别的下载并设置,建议另寻他佬教程
单片机开发:
平台:STM32CUBEIDE(等效STM32CUBEMX+Keil)
软件开源:  

提要
1.定时器pwm波输出
2.串口信息交互
3.OLED显示  
CUBEMX设置:

(这里没有设置驱动屏幕的IIC,选择直接软件模拟,文末会附驱动代码。
1.RCC时钟设置:

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



2.定时器设置PWM输出模式:

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


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


3.设置串口

(也很无脑,但要根据蓝牙模块的参数设置传输速率(Baud Rate),我是115200。
而且开制止NVIC,优先级按履历来填2就可。

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

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


小Tip:

履历所得,把体系滴答时钟的优先级拉最高可以防止卡死在HAL_Delay内里。

5.末了生成工程,用keil的这里改成MDK_ARM


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

末了直接ctrl+s即可生成工程(用STM32CUBEMX+Keil的点Generate code创建工程)



代码部门:(末了会附完整代码,此中LED的控制可有可无

(即“HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);”)。

1.PWM波输出(姿态

  1. uint16_t angle(uint8_t angle) //角度CCR值转换
  2. {
  3.         return angle*2000/180+500;
  4. }
  5. void Rbt_Init(void) //立正
  6. {
  7.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));
  8.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));
  9.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));
  10.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));
  11.         HAL_Delay(100);
  12. }
  13. void move_forward(void) //前进
  14. {
  15.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(135));
  16.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(45));
  17.         HAL_Delay(move_delay);
  18.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(45));
  19.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(135));
  20.         HAL_Delay(move_delay);
  21.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));
  22.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));
  23.         HAL_Delay(move_delay);
  24.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));
  25.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));
  26.         HAL_Delay(move_delay);
  27.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(135));
  28.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(45));
  29.         HAL_Delay(move_delay);
  30.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(45));
  31.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(135));
  32.         HAL_Delay(move_delay);
  33.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));
  34.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));
  35.         HAL_Delay(move_delay);
  36.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));
  37.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));
  38.         HAL_Delay(move_delay);
  39. }
  40. void move_behind(void) //后退
  41. {
  42.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(45));
  43.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(135));
  44.         HAL_Delay(move_delay);
  45.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(135));
  46.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(45));
  47.         HAL_Delay(move_delay);
  48.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));
  49.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));
  50.         HAL_Delay(move_delay);
  51.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));
  52.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));
  53.         HAL_Delay(move_delay);
  54.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(45));
  55.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(135));
  56.         HAL_Delay(move_delay);
  57.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(135));
  58.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(45));
  59.         HAL_Delay(move_delay);
  60.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));
  61.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));
  62.         HAL_Delay(move_delay);
  63.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));
  64.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));
  65.         HAL_Delay(move_delay);
  66. }
  67. void move_right(void) //右转
  68. {
  69.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(45));
  70.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(45));
  71.         HAL_Delay(move_delay);
  72.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(135));
  73.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(135));
  74.         HAL_Delay(move_delay);
  75.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));
  76.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));
  77.         HAL_Delay(move_delay);
  78.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));
  79.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));
  80.         HAL_Delay(move_delay);
  81. }
  82. void move_left(void) //左转
  83. {
  84.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(135));
  85.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(135));
  86.         HAL_Delay(move_delay);
  87.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(45));
  88.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(45));
  89.         HAL_Delay(move_delay);
  90.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));
  91.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));
  92.         HAL_Delay(move_delay);
  93.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));
  94.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));
  95.         HAL_Delay(move_delay);
  96. }
  97. void move_swing(void) //摇摆
  98. {
  99.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(130));
  100.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(130));
  101.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(50));
  102.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(50));
  103.         HAL_Delay(250);
  104.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(50));
  105.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(50));
  106.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(130));
  107.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(130));
  108.         HAL_Delay(250);
  109. }
  110. void move_stretch(void){ //伸懒腰+坐下招手
  111.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90));
  112.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90));
  113.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90));
  114.         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90));
  115.         if(TIM2->CCR1<angle(155) && TIM2->CCR3>angle(25)){
  116.                 for(uint8_t i=0;i<70;i++){       //循环算法,可以减慢舵机运转速度
  117.                         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90+i));
  118.                         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90-i));
  119.                         HAL_Delay(move_speed);
  120.                 }
  121.                 HAL_Delay(1000);
  122.                 for(uint8_t i=0;i<70;i++){
  123.                         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(160-i));
  124.                         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(20+i));
  125.                         HAL_Delay(move_speed);
  126.                 }
  127.                 for(uint8_t i=0;i<65;i++){
  128.                         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90+i));
  129.                         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90-i));
  130.                         HAL_Delay(move_speed);
  131.                 }
  132.                 for(uint8_t i=0;i<20;i++){
  133.                         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90-i));
  134.                         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90+i));
  135.                         HAL_Delay(move_speed);
  136.                 }
  137.                 HAL_Delay(1000);
  138.                 __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(140));
  139.                 HAL_Delay(1000);
  140.                 __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(178));
  141.                 HAL_Delay(500);
  142.                 __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(140));
  143.                 HAL_Delay(500);
  144.                 __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(178));
  145.                 HAL_Delay(500);
  146.                 __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(140));
  147.                 HAL_Delay(500);
  148.                 __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(70));
  149.         }
  150. }
  151. void move_sleep(void){ //睡眠
  152.         if(TIM2->CCR3<angle(160) && TIM2->CCR1>angle(20)){
  153.                 for(uint8_t i=0;i<75;i++){
  154.                         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(90-i));
  155.                         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_3,angle(90+i));
  156.                         HAL_Delay(move_speed);
  157.                 }
  158.         }
  159.         if(TIM2->CCR2<angle(160) && TIM2->CCR4>angle(20)){
  160.                 for(uint8_t i=0;i<75;i++){
  161.                         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,angle(90+i));
  162.                         __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4,angle(90-i));
  163.                         HAL_Delay(move_speed);
  164.                 }
  165.         }
  166. }
复制代码
2. 串口接收

(接纳制止
while前开一下
  1. HAL_UART_Receive_IT(&huart1, &move_mode, 1);
复制代码
 制止回调函数(用来切换心情,然后再开启制止接收(否则后面会接收不到)
  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) 

  1. #ifdef __GNUC__
  2. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
  3. #else
  4. #define PUTCHAR_PROTOTYPE int fputc(int ch. FILE *f)
  5. #endif
  6. //重定向printf函数
  7. PUTCHAR_PROTOTYPE
  8. {
  9.     HAL_UART_Transmit(&huart1,(uint8_t *)&ch,1,0xFFFF);//输出指向串口USART1
  10.     return ch;
  11. }
复制代码

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

  1. while (1)
  2.   {
  3.           if(move_mode == 8){//前进
  4.                   move_forward();
  5.                   HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);
  6.                   flag=0;
  7.           }
  8.           else if(move_mode == 2){//后退
  9.                   move_behind();
  10.                   HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);
  11.                   flag=0;
  12.           }
  13.           else if(move_mode == 4){//左转
  14.                   move_left();
  15.                   HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);
  16.                   flag=0;
  17.           }
  18.           else if(move_mode == 6){//右转
  19.                   move_right();
  20.                   HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);
  21.                   flag=0;
  22.           }
  23.           else if(move_mode == 5 || move_mode == 'C'){//立正
  24.                   OLED_DrawBMP(0,0,128,8,BMP1);
  25.                   Rbt_Init();
  26.                   HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);
  27.                   flag=0;
  28.           }
  29.           else if(move_mode == 'A'){//摇摆
  30.                   move_swing();
  31.                   HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);
  32.                   flag=0;
  33.           }
  34.           else if(move_mode == 'B'){//坐下
  35.                   if(flag==0){
  36.                           OLED_DrawBMP(0,0,128,8,BMP2);
  37.                           move_stretch();
  38.                           OLED_DrawBMP(0,0,128,8,BMP5);
  39.                           HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);
  40.                           flag=1;
  41.                   }
  42.           }
  43.           else if(move_mode == 'D'){//睡觉
  44.                   if(flag==0){
  45.                           move_sleep();
  46.                           OLED_DrawBMP(0,0,128,8,BMP6);
  47.                           flag=1;
  48.                   }
  49.           }
  50.     /* USER CODE END WHILE */
  51.     /* USER CODE BEGIN 3 */
  52.   }
复制代码
main文件全部代码:
  1. /* USER CODE END Header *//* Includes ------------------------------------------------------------------*/#include "main.h"#include "tim.h"#include "usart.h"#include "gpio.h"/* Private includes ----------------------------------------------------------*//* USER CODE BEGIN Includes */#include <stdio.h>#include "oled.h"#include "bmp.h"/* USER CODE END Includes *//* Private typedef -----------------------------------------------------------*//* USER CODE BEGIN PTD *//* USER CODE END PTD *//* Private define ------------------------------------------------------------*//* USER CODE BEGIN PD *//* USER CODE END PD *//* Private macro -------------------------------------------------------------*//* USER CODE BEGIN PM *//* USER CODE END PM *//* Private variables ---------------------------------------------------------*//* USER CODE BEGIN PV */uint8_t move_mode = 0;uint8_t flag = 0;#define move_delay 150 //一样平常动作调速#define move_speed 4 //慢速动作调速/* USER CODE END PV *//* Private function prototypes -----------------------------------------------*/void SystemClock_Config(void);/* USER CODE BEGIN PFP */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);/* USER CODE END PFP *//* Private user code ---------------------------------------------------------*//* USER CODE BEGIN 0 */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);}/* USER CODE END 0 *//**  * @brief  The application entry point.  * @retval int  */int main(void){  /* USER CODE BEGIN 1 */  /* USER CODE END 1 */  /* MCU Configuration--------------------------------------------------------*/  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */  HAL_Init();  /* USER CODE BEGIN Init */  /* USER CODE END Init */  /* Configure the system clock */  SystemClock_Config();  /* USER CODE BEGIN SysInit */  /* USER CODE END SysInit */  /* Initialize all configured peripherals */  MX_GPIO_Init();  MX_USART1_UART_Init();  MX_TIM2_Init();  /* USER CODE BEGIN 2 */  /* USER CODE END 2 */  /* Infinite loop */  /* USER CODE BEGIN WHILE */  HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1);//开启PWM输出  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)  {          /*__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1,angle(120));         HAL_Delay(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;                  }          }    /* USER CODE END WHILE */    /* USER CODE BEGIN 3 */  }  /* USER CODE END 3 */}/**  * @brief System Clock Configuration  * @retval None  */void SystemClock_Config(void){  RCC_OscInitTypeDef RCC_OscInitStruct = {0};  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};  /** Initializes the RCC Oscillators according to the specified parameters  * in the RCC_OscInitTypeDef structure.  */  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();  }  /** Initializes the CPU, AHB and APB buses clocks  */  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();  }}/* USER CODE BEGIN 4 */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);                }        }}/* USER CODE END 4 *//**  * @brief  This function is executed in case of error occurrence.  * @retval None  */void Error_Handler(void){  /* USER CODE BEGIN Error_Handler_Debug */  /* User can add his own implementation to report the HAL error return state */  __disable_irq();  while (1)  {  }  /* USER CODE END Error_Handler_Debug */}#ifdef  USE_FULL_ASSERT/**  * @brief  Reports the name of the source file and the source line number  *         where the assert_param error has occurred.  * @param  file: pointer to the source file name  * @param  line: assert_param error line source number  * @retval None  */void assert_failed(uint8_t *file, uint32_t line){  /* USER CODE BEGIN 6 */  /* User can add his own implementation to report the file name and line number,     ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */  /* USER CODE END 6 */}#endif /* USE_FULL_ASSERT */
复制代码

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

1."oled.c"
  1. #include "oled.h"
  2. //#include "stdlib.h"
  3. #include "oledfont.h"           
  4. #include "main.h"
  5. void IIC_Start()
  6. {
  7.         OLED_SCLK_Set() ;
  8.         OLED_SDIN_Set();
  9.         OLED_SDIN_Clr();
  10.         OLED_SCLK_Clr();
  11. }
  12. /**********************************************
  13. //IIC Stop
  14. **********************************************/
  15. void IIC_Stop()
  16. {
  17.         OLED_SCLK_Clr();
  18.         OLED_SDIN_Clr();
  19.         OLED_SDIN_Set();
  20.         OLED_SCLK_Set() ;
  21. }
  22. /**********************************************
  23. // IIC Write byte
  24. **********************************************/
  25. void Write_IIC_Byte(unsigned char IIC_Byte)
  26. {
  27.         unsigned char i;
  28.         unsigned char m,da;
  29.         da=IIC_Byte;
  30.         for(i=0;i<8;i++)               
  31.         {
  32.                         m=da;
  33.                         OLED_SCLK_Clr();
  34.                 m=m&0x80;
  35.                 if(m==0x80)
  36.                 {OLED_SDIN_Set();}
  37.                 else OLED_SDIN_Clr();
  38.                         da=da<<1;
  39.                 OLED_SCLK_Set();
  40.                 }
  41.         OLED_SCLK_Clr();
  42.         OLED_SCLK_Set() ;
  43. }
  44. /**********************************************
  45. // IIC Write Command
  46. **********************************************/
  47. void Write_IIC_Command(unsigned char IIC_Command)
  48. {
  49.    IIC_Start();
  50.    Write_IIC_Byte(0x78);            //Slave address,SA0=0
  51.    Write_IIC_Byte(0x00);                        //write command
  52.    Write_IIC_Byte(IIC_Command);
  53.    IIC_Stop();
  54. }
  55. /**********************************************
  56. // IIC Write Data
  57. **********************************************/
  58. void Write_IIC_Data(unsigned char IIC_Data)
  59. {
  60.    IIC_Start();
  61.    Write_IIC_Byte(0x78);                        //D/C#=0; R/W#=0
  62.    Write_IIC_Byte(0x40);                        //write data
  63.    Write_IIC_Byte(IIC_Data);
  64.    IIC_Stop();
  65. }
  66. void OLED_WR_Byte(unsigned dat,unsigned cmd)
  67. {
  68.         if(cmd)
  69.                         {
  70.    IIC_Start();
  71.    Write_IIC_Byte(0x78);                        //D/C#=0; R/W#=0
  72.    Write_IIC_Byte(0x40);                        //write data
  73.    Write_IIC_Byte(dat);
  74.    IIC_Stop();
  75.                 }
  76.         else {
  77.                 IIC_Start();
  78.    Write_IIC_Byte(0x78);            //Slave address,SA0=0
  79.    Write_IIC_Byte(0x00);                        //write command
  80.    Write_IIC_Byte(dat);
  81.    IIC_Stop();
  82.                
  83.         }
  84. }
  85. /********************************************
  86. // fill_Picture
  87. ********************************************/
  88. void fill_picture(unsigned char fill_Data)
  89. {
  90.         unsigned char m,n;
  91.         for(m=0;m<8;m++)
  92.         {
  93.                 OLED_WR_Byte(0xb0+m,0);                //page0-page1
  94.                 OLED_WR_Byte(0x00,0);                //low column start address
  95.                 OLED_WR_Byte(0x10,0);                //high column start address
  96.                 for(n=0;n<128;n++)
  97.                         {
  98.                                 OLED_WR_Byte(fill_Data,1);
  99.                         }
  100.         }
  101. }
  102. /***********************Delay****************************************/
  103. /*void Delay_50ms(unsigned int Del_50ms)
  104. {
  105.         unsigned int m;
  106.         for(;Del_50ms>0;Del_50ms--)
  107.                 for(m=6245;m>0;m--);
  108. }
  109. void Delay_1ms(unsigned int Del_1ms)
  110. {
  111.         unsigned char j;
  112.         while(Del_1ms--)
  113.         {       
  114.                 for(j=0;j<123;j++);
  115.         }
  116. }*/
  117. //��������
  118.         void OLED_Set_Pos(unsigned char x, unsigned char y)
  119. {         OLED_WR_Byte(0xb0+y,OLED_CMD);
  120.         OLED_WR_Byte(((x&0xf0)>>4)|0x10,OLED_CMD);
  121.         OLED_WR_Byte((x&0x0f)|0x01,OLED_CMD);
  122. }             
  123. //����OLED��ʾ   
  124. void OLED_Display_On(void)
  125. {
  126.         OLED_WR_Byte(0X8D,OLED_CMD);  //SET DCDC����
  127.         OLED_WR_Byte(0X14,OLED_CMD);  //DCDC ON
  128.         OLED_WR_Byte(0XAF,OLED_CMD);  //DISPLAY ON
  129. }
  130. //�ر�OLED��ʾ     
  131. void OLED_Display_Off(void)
  132. {
  133.         OLED_WR_Byte(0X8D,OLED_CMD);  //SET DCDC����
  134.         OLED_WR_Byte(0X10,OLED_CMD);  //DCDC OFF
  135.         OLED_WR_Byte(0XAE,OLED_CMD);  //DISPLAY OFF
  136. }                                            
  137. //��������,������,������Ļ�Ǻ�ɫ��!��û����һ��!!!          
  138. void OLED_Clear(void)  
  139. {  
  140.         uint8_t i,n;
  141.         for(i=0;i<8;i++)  
  142.         {  
  143.                 OLED_WR_Byte (0xb0+i,OLED_CMD);    //����ҳ��ַ��0~7��
  144.                 OLED_WR_Byte (0x02,OLED_CMD);      //������ʾλ�á��е͵�ַ
  145.                 OLED_WR_Byte (0x10,OLED_CMD);      //������ʾλ�á��иߵ�ַ   
  146.                 for(n=0;n<128;n++)OLED_WR_Byte(0,OLED_DATA);
  147.         } //������ʾ
  148. }
  149. void OLED_On(void)  
  150. {  
  151.         uint8_t i,n;
  152.         for(i=0;i<8;i++)  
  153.         {  
  154.                 OLED_WR_Byte (0xb0+i,OLED_CMD);    //����ҳ��ַ��0~7��
  155.                 OLED_WR_Byte (0x02,OLED_CMD);      //������ʾλ�á��е͵�ַ
  156.                 OLED_WR_Byte (0x10,OLED_CMD);      //������ʾλ�á��иߵ�ַ   
  157.                 for(n=0;n<128;n++)OLED_WR_Byte(1,OLED_DATA);
  158.         } //������ʾ
  159. }
  160. //��ָ��λ����ʾһ���ַ�,���������ַ�
  161. //x:0~127
  162. //y:0~63
  163. //mode:0,������ʾ;1,������ʾ                                 
  164. //size:ѡ������ 16/12
  165. void OLED_ShowChar(uint8_t x,uint8_t y,uint8_t chr,uint8_t Char_Size)
  166. {             
  167.         unsigned char c=0,i=0;       
  168.                 c=chr-' ';//�õ�ƫ�ƺ��ֵ                       
  169.                 if(x>Max_Column-1){x=0;y=y+2;}
  170.                 if(Char_Size ==16)
  171.                         {
  172.                         OLED_Set_Pos(x,y);       
  173.                         for(i=0;i<8;i++)
  174.                         OLED_WR_Byte(F8X16[c*16+i],OLED_DATA);
  175.                         OLED_Set_Pos(x,y+1);
  176.                         for(i=0;i<8;i++)
  177.                         OLED_WR_Byte(F8X16[c*16+i+8],OLED_DATA);
  178.                         }
  179.                         else {       
  180.                                 OLED_Set_Pos(x,y);
  181.                                 for(i=0;i<6;i++)
  182.                                 OLED_WR_Byte(F6x8[c][i],OLED_DATA);
  183.                                
  184.                         }
  185. }
  186. //m^n����
  187. uint32_t oled_pow(uint8_t m,uint8_t n)
  188. {
  189.         uint32_t result=1;
  190.         while(n--)result*=m;   
  191.         return result;
  192. }                                  
  193. //��ʾ2������
  194. //x,y :�������         
  195. //len :���ֵ�λ��
  196. //size:�����С
  197. //mode:ģʽ        0,���ģʽ;1,����ģʽ
  198. //num:��ֵ(0~4294967295);                           
  199. void OLED_ShowNum(uint8_t x,uint8_t y,uint32_t num,uint8_t len,uint8_t size2)
  200. {                
  201.         uint8_t t,temp;
  202.         uint8_t enshow=0;
  203.         for(t=0;t<len;t++)
  204.         {
  205.                 temp=(num/oled_pow(10,len-t-1))%10;
  206.                 if(enshow==0&&t<(len-1))
  207.                 {
  208.                         if(temp==0)
  209.                         {
  210.                                 OLED_ShowChar(x+(size2/2)*t,y,' ',size2);
  211.                                 continue;
  212.                         }else enshow=1;
  213.                           
  214.                 }
  215.                  OLED_ShowChar(x+(size2/2)*t,y,temp+'0',size2);
  216.         }
  217. }
  218. //��ʾһ���ַ��Ŵ�
  219. void OLED_ShowString(uint8_t x,uint8_t y,uint8_t *chr,uint8_t Char_Size)
  220. {
  221.         unsigned char j=0;
  222.         while (chr[j]!='\0')
  223.         {                OLED_ShowChar(x,y,chr[j],Char_Size);
  224.                         x+=8;
  225.                 if(x>120){x=0;y+=2;}
  226.                         j++;
  227.         }
  228. }
  229. //��ʾ����
  230. void OLED_ShowCHinese(uint8_t x,uint8_t y,uint8_t no)
  231. {                                  
  232.         uint8_t t,adder=0;
  233.         OLED_Set_Pos(x,y);
  234.     for(t=0;t<16;t++)
  235.                 {
  236.                                 OLED_WR_Byte(Hzk[2*no][t],OLED_DATA);
  237.                                 adder+=1;
  238.      }       
  239.                 OLED_Set_Pos(x,y+1);       
  240.     for(t=0;t<16;t++)
  241.                         {       
  242.                                 OLED_WR_Byte(Hzk[2*no+1][t],OLED_DATA);
  243.                                 adder+=1;
  244.       }                                       
  245. }
  246. /***********������������ʾ��ʾBMPͼƬ128��64��ʼ������(x,y),x�ķ�Χ0��127��yΪҳ�ķ�Χ0��7*****************/
  247. void OLED_DrawBMP(unsigned char x0, unsigned char y0,unsigned char x1, unsigned char y1,unsigned char BMP[])
  248. {        
  249. unsigned int j=0;
  250. unsigned char x,y;
  251.   
  252.   if(y1%8==0) y=y1/8;      
  253.   else y=y1/8+1;
  254.         for(y=y0;y<y1;y++)
  255.         {
  256.                 OLED_Set_Pos(x0,y);
  257.     for(x=x0;x<x1;x++)
  258.             {      
  259.                     OLED_WR_Byte(BMP[j++],OLED_DATA);                   
  260.             }
  261.         }
  262. }
  263. //��ʼ��SSD1306                                            
  264. void OLED_Init(void)
  265. {        
  266.          
  267. //         GPIO_InitTypeDef  GPIO_InitStructure;
  268. //
  269. //         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOG, ENABLE);         //ʹ��PC,D,G�˿�ʱ��
  270. //
  271. //        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_3|GPIO_Pin_8;         //PD3,PD6�������
  272. //         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  //�������
  273. //        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//�ٶ�50MHz
  274. //         GPIO_Init(GPIOD, &GPIO_InitStructure);          //��ʼ��GPIOD3,6
  275. //         GPIO_SetBits(GPIOD,GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_3|GPIO_Pin_8);        //PD3,PD6 �����
  276. // #if OLED_MODE==1
  277. //
  278. //         GPIO_InitStructure.GPIO_Pin =0xFF; //PC0~7 OUT�������
  279. //         GPIO_Init(GPIOC, &GPIO_InitStructure);
  280. //         GPIO_SetBits(GPIOC,0xFF); //PC0~7�����
  281. //
  282. //         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;                                 //PG13,14,15 OUT�������
  283. //         GPIO_Init(GPIOG, &GPIO_InitStructure);
  284. //         GPIO_SetBits(GPIOG,GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);                                                 //PG13,14,15 OUT  �����
  285. //
  286. // #else
  287. //         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1;                                 //PC0,1 OUT�������
  288. //         GPIO_Init(GPIOC, &GPIO_InitStructure);
  289. //         GPIO_SetBits(GPIOC,GPIO_Pin_0|GPIO_Pin_1);                                                 //PC0,1 OUT  �����
  290. //
  291. //        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;                                 //PG15 OUT�������          RST
  292. //         GPIO_Init(GPIOG, &GPIO_InitStructure);
  293. //         GPIO_SetBits(GPIOG,GPIO_Pin_15);                                                 //PG15 OUT  �����
  294. //
  295. //
  296. // #endif
  297. OLED_WR_Byte(0xAE,OLED_CMD);//--display off
  298.         OLED_WR_Byte(0x02,OLED_CMD);//---set low column address
  299.         OLED_WR_Byte(0x10,OLED_CMD);//---set high column address
  300.         OLED_WR_Byte(0x40,OLED_CMD);//--set start line address  
  301.         OLED_WR_Byte(0xB0,OLED_CMD);//--set page address
  302.         OLED_WR_Byte(0x81,OLED_CMD); // contract control
  303.         OLED_WR_Byte(0xFF,OLED_CMD);//--128   
  304.         OLED_WR_Byte(0xA1,OLED_CMD);//set segment remap
  305.         OLED_WR_Byte(0xA6,OLED_CMD);//--normal / reverse
  306.         OLED_WR_Byte(0xA8,OLED_CMD);//--set multiplex ratio(1 to 64)
  307.         OLED_WR_Byte(0x3F,OLED_CMD);//--1/64 duty
  308.         OLED_WR_Byte(0xAD,OLED_CMD);//set charge pump enable
  309.         OLED_WR_Byte(0x8B,OLED_CMD);//-0x8B �ڹ� VCC
  310.         OLED_WR_Byte(0x33,OLED_CMD);//-0X30---0X33 set VPP 9V
  311.         OLED_WR_Byte(0xC8,OLED_CMD);//Com scan direction
  312.         OLED_WR_Byte(0xD3,OLED_CMD);//-set display offset
  313.         OLED_WR_Byte(0x00,OLED_CMD);//
  314.        
  315.         OLED_WR_Byte(0xD5,OLED_CMD);//set osc division
  316.         OLED_WR_Byte(0x80,OLED_CMD);//
  317.        
  318.         OLED_WR_Byte(0xD8,OLED_CMD);//set area color mode off
  319.         OLED_WR_Byte(0x05,OLED_CMD);//
  320.        
  321.         OLED_WR_Byte(0xD9,OLED_CMD);//Set Pre-Charge Period
  322.         OLED_WR_Byte(0x1F,OLED_CMD);//
  323.        
  324.         OLED_WR_Byte(0xDA,OLED_CMD);//set com pin configuartion
  325.         OLED_WR_Byte(0x12,OLED_CMD);//
  326.        
  327.         OLED_WR_Byte(0xDB,OLED_CMD);//set Vcomh
  328.         OLED_WR_Byte(0x40,OLED_CMD);//
  329.        
  330.        
  331.         OLED_WR_Byte(0xAF,OLED_CMD);//--turn on oled panel
  332. }  
复制代码
2."oled.h"
  1. #ifndef __OLED_H
  2. #define __OLED_H
  3. #include "main.h"
  4. #include "stdlib.h"
  5. //#include "gpio.h"
  6. #define OLED_MODE 0
  7. #define SIZE 8
  8. #define XLevelL                0x00
  9. #define XLevelH                0x10
  10. #define Max_Column        128
  11. #define Max_Row                64
  12. #define        Brightness        0xFF
  13. #define X_WIDTH         128
  14. #define Y_WIDTH         64                                                              
  15. //-----------------OLED IIC�˿ڶ���----------------                                            
  16. #define OLED_SCLK_Clr() HAL_GPIO_WritePin(SCL_GPIO_Port,SCL_Pin,GPIO_PIN_RESET)//SCL IIC�ӿڵ�ʱ���ź�
  17. #define OLED_SCLK_Set() HAL_GPIO_WritePin(SCL_GPIO_Port,SCL_Pin,GPIO_PIN_SET)
  18. #define OLED_SDIN_Clr() HAL_GPIO_WritePin(SDA_GPIO_Port,SDA_Pin,GPIO_PIN_RESET)//SDA IIC�ӿڵ������ź�
  19. #define OLED_SDIN_Set() HAL_GPIO_WritePin(SDA_GPIO_Port,SDA_Pin,GPIO_PIN_SET)
  20.                      
  21. #define OLED_CMD  0        //д����
  22. #define OLED_DATA 1        //д����
  23. //OLED�����ú���
  24. void OLED_WR_Byte(unsigned dat,unsigned cmd);  
  25. void OLED_Display_On(void);
  26. void OLED_Display_Off(void);                                                                                          
  27. void OLED_Init(void);
  28. void OLED_Clear(void);
  29. void OLED_DrawPoint(uint8_t x,uint8_t y,uint8_t t);
  30. void OLED_Fill(uint8_t x1,uint8_t y1,uint8_t x2,uint8_t y2,uint8_t dot);
  31. void OLED_ShowChar(uint8_t x,uint8_t y,uint8_t chr,uint8_t Char_Size);
  32. void OLED_ShowNum(uint8_t x,uint8_t y,uint32_t num,uint8_t len,uint8_t size);
  33. void OLED_ShowString(uint8_t x,uint8_t y, uint8_t *p,uint8_t Char_Size);
  34. void OLED_Set_Pos(unsigned char x, unsigned char y);
  35. void OLED_ShowCHinese(uint8_t x,uint8_t y,uint8_t no);
  36. void OLED_DrawBMP(unsigned char x0, unsigned char y0,unsigned char x1, unsigned char y1,unsigned char BMP[]);
  37. void Delay_50ms(unsigned int Del_50ms);
  38. void Delay_1ms(unsigned int Del_1ms);
  39. void fill_picture(unsigned char fill_Data);
  40. void Picture();
  41. void IIC_Start();
  42. void IIC_Stop();
  43. void Write_IIC_Command(unsigned char IIC_Command);
  44. void Write_IIC_Data(unsigned char IIC_Data);
  45. void Write_IIC_Byte(unsigned char IIC_Byte);
  46. #endif  
  47.          
复制代码
 3."bmp.h"(心情的模
  1. #ifndef __BMP_H
  2. #define __BMP_H
  3. unsigned char BMP1[] = //立正脸
  4.         {
  5.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  6.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  7.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  8.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  9.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  10.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  11.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  12.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  13.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  14.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,
  15.                         0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  16.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  17.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  18.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  19.                         0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  20.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  21.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  22.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF8,0xFE,0xFF,0xFF,0xFF,0xFF,
  23.                         0xFF,0xFF,0xFF,0xFE,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  24.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  25.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  26.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF8,0xFE,0xFF,0xFF,
  27.                         0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  28.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  29.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  30.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  31.                         0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  32.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  33.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  34.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,
  35.                         0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  36.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  37.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  38.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  39.                         0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  40.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  41.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  42.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,
  43.                         0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  44.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  45.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  46.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,
  47.                         0xFF,0xFF,0xFF,0xFF,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  48.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  49.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  50.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x3F,0xFF,0xFF,0xFF,
  51.                         0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  52.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  53.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  54.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0x03,
  55.                         0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  56.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  57.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  58.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,
  59.                         0x03,0x03,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  60.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  61.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  62.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  63.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  64.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  65.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  66.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  67.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  68.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"C:\Users\zjyhuoer\Desktop\1.bmp",0*/
  69.                         /* (128 X 64 )*/
  70.         };
  71. unsigned char BMP2[] = //前进脸
  72.         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  73.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  74.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  75.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  76.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  77.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  78.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  79.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  80.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  81.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  82.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  83.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  84.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  85.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  86.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  87.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  88.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  89.                         0x00,0x00,0xFF,0xFF,0xFE,0xFE,0xFC,0xFC,0xF8,0xF8,0xF0,0xF0,0xE0,0xE0,0xC0,0xC0,
  90.                         0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  91.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  92.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  93.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  94.                         0x80,0x80,0xC0,0xC0,0xE0,0xE0,0xF0,0xF0,0xF8,0xF8,0xFC,0xFC,0xFE,0xFE,0xFF,0x00,
  95.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  96.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  97.                         0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x03,0x03,0x07,0x07,0x0F,0x0F,0x1F,0x1F,0x1F,
  98.                         0x3F,0x3F,0x7F,0x7F,0xFE,0xFE,0xFE,0xFC,0xFC,0xF8,0xF8,0xF0,0xF0,0xE0,0xE0,0xC0,
  99.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  100.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  101.                         0x00,0x00,0xC0,0xC0,0xE0,0xE0,0xF0,0xF0,0xF8,0xF8,0xFC,0xFC,0xFE,0xFE,0x7F,0x7F,
  102.                         0x3F,0x3F,0x3F,0x1F,0x1F,0x0F,0x0F,0x07,0x07,0x03,0x03,0x03,0x01,0x01,0x00,0x00,
  103.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  104.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  105.                         0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0xC0,0xC0,0xE0,0xE0,0xF0,0xF0,0xF0,
  106.                         0xF8,0xF8,0xFC,0xFC,0xFC,0xFE,0xFF,0x7F,0x7F,0x3F,0x3F,0x1F,0x1F,0x0F,0x0F,0x07,
  107.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  108.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  109.                         0x00,0x00,0x0F,0x0F,0x1F,0x1F,0x3F,0x3F,0x7F,0x7F,0xFF,0xFF,0xFC,0xFC,0xFC,0xF8,
  110.                         0xF8,0xF0,0xF0,0xE0,0xE0,0xE0,0xC0,0xC0,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,
  111.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  112.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  113.                         0x00,0x00,0xFE,0xFE,0xFF,0x7F,0x7F,0x7F,0x3F,0x3F,0x1F,0x1F,0x0F,0x0F,0x07,0x07,
  114.                         0x03,0x03,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  115.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  116.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  117.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0x03,
  118.                         0x03,0x07,0x07,0x0F,0x0F,0x1F,0x1F,0x3F,0x3F,0x7F,0x7F,0xFF,0xFF,0xFE,0xFE,0x00,
  119.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  120.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  121.                         0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  122.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  123.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  124.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  125.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  126.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,
  127.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  128.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  129.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  130.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  131.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  132.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  133.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  134.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  135.                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"C:\Users\zjyhuoer\Desktop\2.2.bmp",0*/
  136.         };
  137. unsigned char BMP3[] ={//左转脸
  138.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  139.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  140.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  141.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  142.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  143.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  144.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  145.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  146.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  147.                 0x80,0x80,0xC0,0xC0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  148.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  149.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  150.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  151.                 0x80,0x80,0xC0,0xC0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  152.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  153.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  154.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,
  155.                 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  156.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  157.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  158.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,
  159.                 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  160.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  161.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  162.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,
  163.                 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  164.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  165.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  166.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,
  167.                 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  168.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  169.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  170.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,
  171.                 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  172.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  173.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  174.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,
  175.                 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  176.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  177.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  178.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,
  179.                 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  180.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  181.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  182.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,
  183.                 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  184.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  185.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  186.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  187.                 0x01,0x01,0x03,0x03,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  188.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  189.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  190.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  191.                 0x01,0x01,0x03,0x03,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  192.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  193.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  194.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  195.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  196.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  197.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  198.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  199.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  200.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  201.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"C:\Users\zjyhuoer\Desktop\5.bmp",0*/
  202. };
  203. unsigned char BMP4[] ={//右转脸
  204.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  205.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  206.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  207.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  208.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  209.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  210.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  211.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  212.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  213.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  214.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xC0,0xC0,0x80,0x80,
  215.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  216.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  217.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  218.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xC0,0xC0,0x80,0x80,
  219.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  220.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  221.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  222.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  223.                 0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  224.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  225.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  226.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  227.                 0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  228.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  229.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  230.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  231.                 0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  232.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  233.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  234.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  235.                 0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  236.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  237.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  238.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  239.                 0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  240.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  241.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  242.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  243.                 0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  244.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  245.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  246.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  247.                 0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  248.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  249.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  250.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  251.                 0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  252.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  253.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  254.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x03,0x03,0x01,0x01,
  255.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  256.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  257.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  258.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x03,0x03,0x01,0x01,
  259.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  260.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  261.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  262.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  263.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  264.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  265.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  266.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  267.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"C:\Users\zjyhuoer\Desktop\6.bmp",0*/
  268.                 /* (128 X 64 )*/
  269. };
  270. unsigned char BMP5[] ={//特殊脸
  271.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  272.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  273.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  274.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  275.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  276.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  277.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  278.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  279.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  280.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  281.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  282.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  283.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  284.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  285.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  286.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  287.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0xF0,0xF0,
  288.                 0x30,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x80,0xF0,0xF0,0xF0,0x80,0xC0,0x00,0x00,
  289.                 0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,
  290.                 0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0xC0,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,
  291.                 0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xE0,0xC0,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,
  292.                 0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x00,0x00,0x00,0x00,
  293.                 0x00,0x00,0xC0,0x80,0xF0,0xF0,0xF0,0x80,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,
  294.                 0xF0,0xF0,0xE0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  295.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x0F,0x00,
  296.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x3F,0x3F,0x0F,0x3F,0x3F,0x11,0x01,0x00,
  297.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  298.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0F,0x0F,0x1E,0x1E,0x3C,0x3C,
  299.                 0x3C,0x3C,0x1E,0x1E,0x0F,0x0F,0x07,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  300.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  301.                 0x00,0x01,0x11,0x3F,0x3F,0x0F,0x3F,0x3F,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  302.                 0x00,0x0F,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  303.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xF0,0x00,
  304.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  305.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  306.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  307.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  308.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  309.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  310.                 0x00,0xF0,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  311.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x0F,0x0F,
  312.                 0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  313.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  314.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  315.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  316.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  317.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,
  318.                 0x0F,0x0F,0x07,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  319.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  320.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  321.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  322.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  323.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  324.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  325.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  326.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  327.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  328.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  329.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  330.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  331.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  332.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  333.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  334.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"C:\Users\zjyhuoer\Desktop\7.bmp",0*/
  335.                 /* (128 X 64 )*/
  336. };
  337. unsigned char BMP6[] ={ //睡觉脸
  338.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  339.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  340.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  341.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  342.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  343.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  344.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  345.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  346.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  347.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  348.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  349.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  350.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  351.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  352.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  353.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  354.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  355.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  356.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  357.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  358.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  359.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  360.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  361.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  362.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  363.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  364.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  365.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  366.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  367.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  368.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  369.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  370.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  371.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  372.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  373.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  374.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  375.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  376.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  377.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  378.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  379.                 0x00,0x00,0x00,0x00,0x3E,0x3E,0x3C,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
  380.                 0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
  381.                 0x38,0x3C,0x3C,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x3C,0x3C,
  382.                 0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,
  383.                 0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x3C,0x3E,0x3E,0x00,0x00,
  384.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  385.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  386.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  387.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  388.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  389.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  390.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  391.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  392.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  393.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  394.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  395.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  396.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  397.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  398.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  399.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  400.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  401.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"C:\Users\zjyhuoer\Desktop\9.bmp",0*/
  402. };
  403. #endif
复制代码
4."oledfont.h"字模(实在和本项目无关,但还是要加,防止报错)
  1. #ifndef __OLEDFONT_H
  2. #define __OLEDFONT_H           
  3. //常用ASCII表
  4. //偏移量32
  5. //ASCII字符集
  6. //偏移量32
  7. //大小:12*6
  8. /************************************6*8的点阵************************************/
  9. const unsigned char F6x8[][6] =               
  10. {
  11. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,// sp
  12. 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00,// !
  13. 0x00, 0x00, 0x07, 0x00, 0x07, 0x00,// "
  14. 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14,// #
  15. 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12,// $
  16. 0x00, 0x62, 0x64, 0x08, 0x13, 0x23,// %
  17. 0x00, 0x36, 0x49, 0x55, 0x22, 0x50,// &
  18. 0x00, 0x00, 0x05, 0x03, 0x00, 0x00,// '
  19. 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00,// (
  20. 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00,// )
  21. 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14,// *
  22. 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08,// +
  23. 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00,// ,
  24. 0x00, 0x08, 0x08, 0x08, 0x08, 0x08,// -
  25. 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,// .
  26. 0x00, 0x20, 0x10, 0x08, 0x04, 0x02,// /
  27. 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E,// 0
  28. 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00,// 1
  29. 0x00, 0x42, 0x61, 0x51, 0x49, 0x46,// 2
  30. 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31,// 3
  31. 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10,// 4
  32. 0x00, 0x27, 0x45, 0x45, 0x45, 0x39,// 5
  33. 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30,// 6
  34. 0x00, 0x01, 0x71, 0x09, 0x05, 0x03,// 7
  35. 0x00, 0x36, 0x49, 0x49, 0x49, 0x36,// 8
  36. 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E,// 9
  37. 0x00, 0x00, 0x36, 0x36, 0x00, 0x00,// :
  38. 0x00, 0x00, 0x56, 0x36, 0x00, 0x00,// ;
  39. 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,// <
  40. 0x00, 0x14, 0x14, 0x14, 0x14, 0x14,// =
  41. 0x00, 0x00, 0x41, 0x22, 0x14, 0x08,// >
  42. 0x00, 0x02, 0x01, 0x51, 0x09, 0x06,// ?
  43. 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E,// @
  44. 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C,// A
  45. 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36,// B
  46. 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22,// C
  47. 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C,// D
  48. 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41,// E
  49. 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01,// F
  50. 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A,// G
  51. 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F,// H
  52. 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00,// I
  53. 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01,// J
  54. 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41,// K
  55. 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40,// L
  56. 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F,// M
  57. 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F,// N
  58. 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E,// O
  59. 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06,// P
  60. 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E,// Q
  61. 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46,// R
  62. 0x00, 0x46, 0x49, 0x49, 0x49, 0x31,// S
  63. 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01,// T
  64. 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F,// U
  65. 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F,// V
  66. 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F,// W
  67. 0x00, 0x63, 0x14, 0x08, 0x14, 0x63,// X
  68. 0x00, 0x07, 0x08, 0x70, 0x08, 0x07,// Y
  69. 0x00, 0x61, 0x51, 0x49, 0x45, 0x43,// Z
  70. 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00,// [
  71. 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55,// 55
  72. 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00,// ]
  73. 0x00, 0x04, 0x02, 0x01, 0x02, 0x04,// ^
  74. 0x00, 0x40, 0x40, 0x40, 0x40, 0x40,// _
  75. 0x00, 0x00, 0x01, 0x02, 0x04, 0x00,// '
  76. 0x00, 0x20, 0x54, 0x54, 0x54, 0x78,// a
  77. 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38,// b
  78. 0x00, 0x38, 0x44, 0x44, 0x44, 0x20,// c
  79. 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F,// d
  80. 0x00, 0x38, 0x54, 0x54, 0x54, 0x18,// e
  81. 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02,// f
  82. 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C,// g
  83. 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78,// h
  84. 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00,// i
  85. 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00,// j
  86. 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00,// k
  87. 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00,// l
  88. 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78,// m
  89. 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78,// n
  90. 0x00, 0x38, 0x44, 0x44, 0x44, 0x38,// o
  91. 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18,// p
  92. 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC,// q
  93. 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08,// r
  94. 0x00, 0x48, 0x54, 0x54, 0x54, 0x20,// s
  95. 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20,// t
  96. 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C,// u
  97. 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C,// v
  98. 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C,// w
  99. 0x00, 0x44, 0x28, 0x10, 0x28, 0x44,// x
  100. 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C,// y
  101. 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44,// z
  102. 0x14, 0x14, 0x14, 0x14, 0x14, 0x14,// horiz lines
  103. };
  104. /****************************************8*16的点阵************************************/
  105. const unsigned char F8X16[]=          
  106. {
  107.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// 0
  108.   0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00,//! 1
  109.   0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//" 2
  110.   0x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00,//# 3
  111.   0x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00,//$ 4
  112.   0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00,//% 5
  113.   0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10,//& 6
  114.   0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//' 7
  115.   0x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00,//( 8
  116.   0x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00,//) 9
  117.   0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00,//* 10
  118.   0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x00,//+ 11
  119.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00,//, 12
  120.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,//- 13
  121.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,//. 14
  122.   0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,/// 15
  123.   0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,//0 16
  124.   0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//1 17
  125.   0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,//2 18
  126.   0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,//3 19
  127.   0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,//4 20
  128.   0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,//5 21
  129.   0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,//6 22
  130.   0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,//7 23
  131.   0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,//8 24
  132.   0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,//9 25
  133.   0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//: 26
  134.   0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,//; 27
  135.   0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00,//< 28
  136.   0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,//= 29
  137.   0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00,//> 30
  138.   0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00,//? 31
  139.   0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,0x07,0x18,0x27,0x24,0x23,0x14,0x0B,0x00,//@ 32
  140.   0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20,//A 33
  141.   0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00,//B 34
  142.   0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00,//C 35
  143.   0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00,//D 36
  144.   0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00,//E 37
  145.   0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00,//F 38
  146.   0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00,//G 39
  147.   0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20,//H 40
  148.   0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//I 41
  149.   0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00,//J 42
  150.   0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,//K 43
  151.   0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00,//L 44
  152.   0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00,//M 45
  153.   0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00,//N 46
  154.   0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00,//O 47
  155.   0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00,//P 48
  156.   0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00,//Q 49
  157.   0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20,//R 50
  158.   0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,//S 51
  159.   0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//T 52
  160.   0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//U 53
  161.   0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00,//V 54
  162.   0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00,//W 55
  163.   0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20,//X 56
  164.   0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//Y 57
  165.   0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00,//Z 58
  166.   0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00,//[ 59
  167.   0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00,//\ 60
  168.   0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,//] 61
  169.   0x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//^ 62
  170.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,//_ 63
  171.   0x00,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//` 64
  172.   0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20,//a 65
  173.   0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00,//b 66
  174.   0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,//c 67
  175.   0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20,//d 68
  176.   0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,//e 69
  177.   0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//f 70
  178.   0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00,//g 71
  179.   0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//h 72
  180.   0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//i 73
  181.   0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,//j 74
  182.   0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00,//k 75
  183.   0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//l 76
  184.   0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,//m 77
  185.   0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//n 78
  186.   0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//o 79
  187.   0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00,//p 80
  188.   0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80,//q 81
  189.   0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,//r 82
  190.   0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,//s 83
  191.   0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,//t 84
  192.   0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20,//u 85
  193.   0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00,//v 86
  194.   0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00,//w 87
  195.   0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00,//x 88
  196.   0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00,//y 89
  197.   0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00,//z 90
  198.   0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40,//{ 91
  199.   0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,//| 92
  200.   0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00,//} 93
  201.   0x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//~ 94
  202. };
  203. char Hzk[][32]={
  204.         {0x00,0x00,0x20,0x20,0xE0,0x20,0x10,0x40,0x40,0xC0,0x7C,0x40,0x20,0xE0,0x00,0x00},
  205.         {0x00,0x04,0x04,0x04,0x03,0x22,0x12,0x09,0x04,0x03,0x30,0x30,0x1E,0x01,0x00,0x00},/*"功",0*/
  206. /* (16 X 16 , 楷体 )*/
  207.         {0x00,0x00,0x00,0x30,0xE8,0x44,0xC0,0x40,0xF0,0x5E,0xCA,0x28,0xA0,0x60,0x00,0x00},
  208.         {0x00,0x04,0x02,0x7F,0x00,0x20,0x18,0x11,0x25,0x4D,0x4A,0x43,0x54,0x64,0x0C,0x00},/*"德",1*/
  209. /* (16 X 16 , 楷体 )*/
  210. };
  211. #endif
复制代码

 尾巴:
如果需要机架模型文件和手机app,或者物料淘宝链接,接待加技能互换群:QQ801168744. 
接线图:

注意仅是一块普通锂电池才需要拆保护板!!!且拆保护板较为伤害。 
小呆板狗的活动步态我也是参考b站大佬的作品(原视频:【步态详解】大家都可制作的WiFi遥控迷你四足呆板人_哔哩哔哩_bilibili

他做得比我好,且也开源>-< 



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农妇山泉一亩田

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表