【MT32F006】MT32F006之HT1628驱动LED

本文最后修改时间:2023年03月30日

一、本节简介

本文介绍如何使用MT32F006连接HT1628芯片驱动LED。

二、实验平台

库版本:V1.0.0

编译软件:MDK5.37

硬件平台:MT32F006开发板(主芯片MT32F006)

仿真器:JLINK

传感器:HT1628

三、版权声明

1)作者:甜甜的大香瓜

2)声明:喝水不忘挖井人,转载请注明出处。

3)纠错/业务合作:897503845@qq.com

4)香瓜嵌入式之STM8/STM32群:164311667

5)本文出处:原创连载资料《简单粗暴学MT32F006》

6)完整开源资料下载地址(电脑端打开):opengua.taobao.com

四、实验前提

1、在进行本文步骤前,请先阅读以下章节:

1)《简单粗暴学MT32F006》的第一章和第二章章节

2、在进行本文步骤前,请先实现以下章节:

1)《简单粗暴学MT32F006》的《MT32F006之定时器延时》。

五、基础知识

1、什么是HT1628?

答:HT1628的完整型号HT1628BRWZ(封装SOP-28-300mil),品牌是HTCSEMI(海天芯)。

3.3V~4.2V 电压、4位*13段或7位*10段的阴极型的LED面板显示驱动。

打个比方,如果要点亮5个8字的数码管,一共要5*7=35个led。

方法一:使用mcu来控制,35个IO口对应控制35个led,此方法非常占用mcu的IO口。

方法二:使用mcu来控制,用行与列的方式,5个IO作为行、7个IO作为列,此方法需要5+7=12个IO口,也很占用mcu的IO口。

方法三(推荐):使用mcu+HT1628驱动芯片,mcu只需要3个IO(DIO数据信号、CLK时钟信号、STB信号是否有效脚)控制HT1628,HT1628再去控制LED。实际占用的是HT1628的IO口。

2、网上很多TM1628的驱动资料,与HT1628通用吗?

 

答:封装和引脚一样,但驱动代码不通用。

3、HT1628连接LED必须按一定规律顺序吗?

答:有规律会比较方便写代码,但是没规律也可以按独立的灯来写。

4、HT1628的操作逻辑是怎么样的?

1)配置DIO、CLK、STB三个IO。

2)延时等待稳定。

3)发送3条设置指令,主要设置:几位几段、地址自动增加模式、设置显示地址为0开始

4)第3条设置指令后紧跟着一串LED数据:

如上图,一共14个字节,每个字节又分为HL低字节、HU高字节,这些字节会被存在HT1628的寄存器里,每个位都只对应1个位置(也就是对应1个LED灯)。

例如左上角第一个00HL地址的4个位(4个LED)分别是SG1-DIG1、SG2-DIG1、SG3-DIG1、SG4-DIG1。

注:位digits;段segments。

5)发送第4条设置指令,主要设置:亮度、开启显示。

六、硬件原理

1、MCU与HT1628连接

由上图可知:

HT1628引脚

MT32F006引脚

DIO

PIO1_5

CLK

PIO1_4

STB

PIO1_1

2、HT1628与LED的连接

七、实验步骤

1、编写并添加串口驱动

1)编写驱动GUA_HT1628.c(存放在“……\Projects\MT006_StdPeriph_Templates\GUA”)

//**********************************************************************

//name:         GUA_HT1628.c

//introduce:    LED驱动

//author:       甜甜的大香瓜     

//email:        897503845@qq.com  

//shop:         opengua.taobao.com

//changetime:   2023.02.02

//**********************************************************************

#include "mt006.h"

#include "GUA_Delay.h"

#include "GUA_HT1628.h"

#include "string.h"

//SEG Code

//const GUA_U8 LEDseg[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0};

/*********************宏定义************************/

#define GUA_STB_H                 GPIO_WriteBit(GPIO1, GPIO_Pin_1, Bit_SET)

#define GUA_STB_L                 GPIO_WriteBit(GPIO1, GPIO_Pin_1, Bit_RESET)

#define GUA_CLK_H                 GPIO_WriteBit(GPIO1, GPIO_Pin_4, Bit_SET)

#define GUA_CLK_L                 GPIO_WriteBit(GPIO1, GPIO_Pin_4, Bit_RESET)

#define GUA_DIO_H                 GPIO_WriteBit(GPIO1, GPIO_Pin_5, Bit_SET)

#define GUA_DIO_L                 GPIO_WriteBit(GPIO1, GPIO_Pin_5, Bit_RESET)

/*********************内部变量************************/

GUA_U8 gGUA_HT1628_Ram[14] = {0};

GUA_HT1628_DISPLAY stGUA_HT1628_Display;

/*********************内部函数声明************************/

static void GUA_HT1628_DataConvert(void);

static void GUA_HT1628_GPIO_Init(void);

static void GUA_HT1628_SendCMD(GUA_U8 nGUA_CMD);

static void GUA_HT1628_SendData(GUA_U8 nGUA_Data);

//**********************************************************************

//name:         GUA_HT1628_DataConvert

//introduce:    HT1628的GPIO初始化

//parameter:    none

//return:       none

//author:       甜甜的大香瓜

//email:        897503845@qq.com

//shop:         opengua.taobao.com

//changetime:   2023.02.02

//**********************************************************************

static void GUA_HT1628_DataConvert(void)

{

      //清空内存缓冲区

      memset(gGUA_HT1628_Ram, 0, 14);

     

      //left_button D1 D2 D3

      if(stGUA_HT1628_Display.left_button == GUA_LIGHT_PART_ON)

      {

           //D1 D2 D3: 1 1 1

           gGUA_HT1628_Ram[12] |= (1<<2)|(1<<1)|(1<<0);

      }

      else

      {

           //D1 D2 D3: 0 0 0

           gGUA_HT1628_Ram[12] &= ~(1<<0);   //D1

           gGUA_HT1628_Ram[12] &= ~(1<<1);   //D2

           gGUA_HT1628_Ram[12] &= ~(1<<2);   //D3

      }

     

      //right_button D62 D63 D64

      if(stGUA_HT1628_Display.right_button == GUA_LIGHT_PART_ON)

      {

           //D62 D63 D64:1 1 1

           gGUA_HT1628_Ram[0] |= (1<<3)|(1<<2)|(1<<1);

      }

      else

      {

           //D62 D63 D64:0 0 0

           gGUA_HT1628_Ram[0] &= ~(1<<1);    //D62

           gGUA_HT1628_Ram[0] &= ~(1<<2);    //D63

           gGUA_HT1628_Ram[0] &= ~(1<<3);    //D64

      }    

     

      //lb D22

      if(stGUA_HT1628_Display.lb == GUA_LIGHT_PART_ON)

      {

           gGUA_HT1628_Ram[8] |= (1<<1);

      }

      else

      {

           gGUA_HT1628_Ram[8] &= ~(1<<1);

      }         

     

      //kg D23

      if(stGUA_HT1628_Display.kg == GUA_LIGHT_PART_ON)

      {

           gGUA_HT1628_Ram[8] |= (1<<2);

      }

      else

      {

           gGUA_HT1628_Ram[8] &= ~(1<<2);

      }

      //oz D60

      if(stGUA_HT1628_Display.oz == GUA_LIGHT_PART_ON)

      {

           gGUA_HT1628_Ram[3] |= (1<<1);

      }

      else

      {

           gGUA_HT1628_Ram[3] &= ~(1<<1);

      }

      //g D61

      if(stGUA_HT1628_Display.g == GUA_LIGHT_PART_ON)

      {

           gGUA_HT1628_Ram[0] |= (1<<0);

      }

      else

      {

           gGUA_HT1628_Ram[0] &= ~(1<<0);

      }    

     

      //point D45

      if(stGUA_HT1628_Display.point == GUA_LIGHT_PART_ON)

      {

           gGUA_HT1628_Ram[4] |= (1<<4);

      }

      else

      {

           gGUA_HT1628_Ram[4] &= ~(1<<4);

      }         

     

      //num1 D8 D10 D13 D14 D12 D9 D11**********************

      switch(stGUA_HT1628_Display.num1)

      {

           //D8 D10 D13 D14 D12 D9 D11:1 1 1 1 1 1 0

           case GUA_LIGHT_NUMBER0:

           {               

                 gGUA_HT1628_Ram[12] |= (1<<7);    //D8

                 gGUA_HT1628_Ram[13] |= (1<<1);    //D10

                 gGUA_HT1628_Ram[10] |= (1<<2);    //D13

                 gGUA_HT1628_Ram[10] |= (1<<3);    //D14

                 gGUA_HT1628_Ram[10] |= (1<<1);    //D12

                 gGUA_HT1628_Ram[13] |= (1<<0);    //D9

                 gGUA_HT1628_Ram[10] &= ~(1<<0);   //D11                            

                 break;               

           }

          

           //D8 D10 D13 D14 D12 D9 D11:0 1 1 0 0 0 0

           case GUA_LIGHT_NUMBER1:

           {               

                 gGUA_HT1628_Ram[12] &= ~(1<<7);   //D8

                 gGUA_HT1628_Ram[13] |= (1<<1);    //D10

                 gGUA_HT1628_Ram[10] |= (1<<2);    //D13

                 gGUA_HT1628_Ram[10] &= ~(1<<3);   //D14

                 gGUA_HT1628_Ram[10] &= ~(1<<1);   //D12

                 gGUA_HT1628_Ram[13] &= ~(1<<0);   //D9

                 gGUA_HT1628_Ram[10] &= ~(1<<0);   //D11                            

                 break;               

           }    

          

           //D8 D10 D13 D14 D12 D9 D11:1 1 0 1 1 0 1

           case GUA_LIGHT_NUMBER2:

           {               

                 gGUA_HT1628_Ram[12] |= (1<<7);    //D8

                 gGUA_HT1628_Ram[13] |= (1<<1);    //D10

                 gGUA_HT1628_Ram[10] &= ~(1<<2);   //D13

                 gGUA_HT1628_Ram[10] |= (1<<3);    //D14

                 gGUA_HT1628_Ram[10] |= (1<<1);    //D12

                 gGUA_HT1628_Ram[13] &= ~(1<<0);   //D9

                 gGUA_HT1628_Ram[10] |= (1<<0);    //D11                            

                 break;               

           }

          

           //D8 D10 D13 D14 D12 D9 D11:1 1 1 1 0 0 1

           case GUA_LIGHT_NUMBER3:

           {               

                 gGUA_HT1628_Ram[12] |= (1<<7);    //D8

                 gGUA_HT1628_Ram[13] |= (1<<1);    //D10

                 gGUA_HT1628_Ram[10] |= (1<<2);    //D13

                 gGUA_HT1628_Ram[10] |= (1<<3);    //D14

                 gGUA_HT1628_Ram[10] &= ~(1<<1);   //D12

                 gGUA_HT1628_Ram[13] &= ~(1<<0);   //D9

                 gGUA_HT1628_Ram[10] |= (1<<0);    //D11                            

                 break;               

           }

          

           //D8 D10 D13 D14 D12 D9 D11:0 1 1 0 0 1 1

           case GUA_LIGHT_NUMBER4:

           {               

                 gGUA_HT1628_Ram[12] &= ~(1<<7);   //D8

                 gGUA_HT1628_Ram[13] |= (1<<1);    //D10

                 gGUA_HT1628_Ram[10] |= (1<<2);    //D13

                 gGUA_HT1628_Ram[10] &= ~(1<<3);   //D14

                 gGUA_HT1628_Ram[10] &= ~(1<<1);   //D12

                 gGUA_HT1628_Ram[13] |= (1<<0);    //D9

                 gGUA_HT1628_Ram[10] |= (1<<0);    //D11                            

                 break;               

           }    

          

           //D8 D10 D13 D14 D12 D9 D11:1 0 1 1 0 1 1

           case GUA_LIGHT_NUMBER5:

           {               

                 gGUA_HT1628_Ram[12] |= (1<<7);    //D8

                 gGUA_HT1628_Ram[13] &= ~(1<<1);   //D10

                 gGUA_HT1628_Ram[10] |= (1<<2);    //D13

                 gGUA_HT1628_Ram[10] |= (1<<3);    //D14

                 gGUA_HT1628_Ram[10] &= ~(1<<1);   //D12

                 gGUA_HT1628_Ram[13] |= (1<<0);    //D9

                 gGUA_HT1628_Ram[10] |= (1<<0);    //D11                            

                 break;               

           }    

          

           //D8 D10 D13 D14 D12 D9 D11:1 0 1 1 1 1 1

           case GUA_LIGHT_NUMBER6:

           {               

                 gGUA_HT1628_Ram[12] |= (1<<7);    //D8

                 gGUA_HT1628_Ram[13] &= ~(1<<1);   //D10

                 gGUA_HT1628_Ram[10] |= (1<<2);    //D13

                 gGUA_HT1628_Ram[10] |= (1<<3);    //D14

                 gGUA_HT1628_Ram[10] |= (1<<1);    //D12

                 gGUA_HT1628_Ram[13] |= (1<<0);    //D9

                 gGUA_HT1628_Ram[10] |= (1<<0);    //D11                            

                 break;               

           }    

          

           //D8 D10 D13 D14 D12 D9 D11:1 1 1 0 0 0 0

           case GUA_LIGHT_NUMBER7:

           {               

                 gGUA_HT1628_Ram[12] |= (1<<7);    //D8

                 gGUA_HT1628_Ram[13] |= (1<<1);    //D10

                 gGUA_HT1628_Ram[10] |= (1<<2);    //D13

                 gGUA_HT1628_Ram[10] &= ~(1<<3);   //D14

                 gGUA_HT1628_Ram[10] &= ~(1<<1);   //D12

                 gGUA_HT1628_Ram[13] &= ~(1<<0);   //D9

                 gGUA_HT1628_Ram[10] &= ~(1<<0);   //D11                            

                 break;               

           }    

          

           //D8 D10 D13 D14 D12 D9 D11:1 1 1 1 1 1 1

           case GUA_LIGHT_NUMBER8:

           {               

                 gGUA_HT1628_Ram[12] |= (1<<7);    //D8

                 gGUA_HT1628_Ram[13] |= (1<<1);    //D10

                 gGUA_HT1628_Ram[10] |= (1<<2);    //D13

                 gGUA_HT1628_Ram[10] |= (1<<3);    //D14

                 gGUA_HT1628_Ram[10] |= (1<<1);    //D12

                 gGUA_HT1628_Ram[13] |= (1<<0);    //D9

                 gGUA_HT1628_Ram[10] |= (1<<0);    //D11                            

                 break;               

           }               

          

           //D8 D10 D13 D14 D12 D9 D11:1 1 1 1 0 1 1

           case GUA_LIGHT_NUMBER9:

           {               

                 gGUA_HT1628_Ram[12] |= (1<<7);    //D8

                 gGUA_HT1628_Ram[13] |= (1<<1);    //D10

                 gGUA_HT1628_Ram[10] |= (1<<2);    //D13

                 gGUA_HT1628_Ram[10] |= (1<<3);    //D14

                 gGUA_HT1628_Ram[10] &= ~(1<<1);   //D12

                 gGUA_HT1628_Ram[13] |= (1<<0);    //D9

                 gGUA_HT1628_Ram[10] |= (1<<0);    //D11                            

                 break;               

           }

          

           //D8 D10 D13 D14 D12 D9 D11:0 0 0 0 0 0 0

           default:

           {               

                 gGUA_HT1628_Ram[12] &= ~(1<<7);   //D8

                 gGUA_HT1628_Ram[13] &= ~(1<<1);   //D10

                 gGUA_HT1628_Ram[10] &= ~(1<<2);   //D13

                 gGUA_HT1628_Ram[10] &= ~(1<<3);   //D14

                 gGUA_HT1628_Ram[10] &= ~(1<<1);   //D12

                 gGUA_HT1628_Ram[13] &= ~(1<<0);   //D9

                 gGUA_HT1628_Ram[10] &= ~(1<<0);   //D11                                 

                 break;               

           }

      }

     

      //num2 D15 D17 D20 D21 D19 D16 D18**********************

      switch(stGUA_HT1628_Display.num2)

      {

           //D15 D17 D20 D21 D19 D16 D18:1 1 1 1 1 1 0

           case GUA_LIGHT_NUMBER0:

           {               

                 gGUA_HT1628_Ram[10] |= (1<<4);    //D15

                 gGUA_HT1628_Ram[10] |= (1<<6);    //D17

                 gGUA_HT1628_Ram[11] |= (1<<1);    //D20

                 gGUA_HT1628_Ram[8]  |= (1<<0);    //D21

                 gGUA_HT1628_Ram[11] |= (1<<0);    //D19

                 gGUA_HT1628_Ram[10] |= (1<<5);    //D16

                 gGUA_HT1628_Ram[10] &= ~(1<<7);   //D18                            

                 break;               

           }

          

           //D15 D17 D20 D21 D19 D16 D18:0 1 1 0 0 0 0

           case GUA_LIGHT_NUMBER1:

           {               

                 gGUA_HT1628_Ram[10] &= ~(1<<4);   //D15

                 gGUA_HT1628_Ram[10] |= (1<<6);    //D17

                 gGUA_HT1628_Ram[11] |= (1<<1);    //D20

                 gGUA_HT1628_Ram[8]  &= ~(1<<0);   //D21

                 gGUA_HT1628_Ram[11] &= ~(1<<0);   //D19

                 gGUA_HT1628_Ram[10] &= ~(1<<5);   //D16

                 gGUA_HT1628_Ram[10] &= ~(1<<7);   //D18                            

                 break;                                

           }    

          

           //D15 D17 D20 D21 D19 D16 D18:1 1 0 1 1 0 1

           case GUA_LIGHT_NUMBER2:

           {               

                 gGUA_HT1628_Ram[10] |= (1<<4);    //D15

                 gGUA_HT1628_Ram[10] |= (1<<6);    //D17

                 gGUA_HT1628_Ram[11] &= ~(1<<1);   //D20

                 gGUA_HT1628_Ram[8]  |= (1<<0);    //D21

                 gGUA_HT1628_Ram[11] |= (1<<0);    //D19

                 gGUA_HT1628_Ram[10] &= ~(1<<5);   //D16

                 gGUA_HT1628_Ram[10] |= (1<<7);    //D18                      

                 break;               

           }

          

           //D15 D17 D20 D21 D19 D16 D18:1 1 1 1 0 0 1

           case GUA_LIGHT_NUMBER3:

           {               

                 gGUA_HT1628_Ram[10] |= (1<<4);    //D15

                 gGUA_HT1628_Ram[10] |= (1<<6);    //D17

                 gGUA_HT1628_Ram[11] |= (1<<1);    //D20

                 gGUA_HT1628_Ram[8]  |= (1<<0);    //D21

                 gGUA_HT1628_Ram[11] &= ~(1<<0);   //D19

                 gGUA_HT1628_Ram[10] &= ~(1<<5);   //D16

                 gGUA_HT1628_Ram[10] |= (1<<7);    //D18                                            

                 break;               

           }

          

           //D15 D17 D20 D21 D19 D16 D18:0 1 1 0 0 1 1

           case GUA_LIGHT_NUMBER4:

           {               

                 gGUA_HT1628_Ram[10] &= ~(1<<4);   //D15

                 gGUA_HT1628_Ram[10] |= (1<<6);    //D17

                 gGUA_HT1628_Ram[11] |= (1<<1);    //D20

                 gGUA_HT1628_Ram[8]  &= ~(1<<0);   //D21

                 gGUA_HT1628_Ram[11] &= ~(1<<0);   //D19

                 gGUA_HT1628_Ram[10] |= (1<<5);    //D16

                 gGUA_HT1628_Ram[10] |= (1<<7);    //D18                                            

                 break;               

           }    

          

           //D15 D17 D20 D21 D19 D16 D18:1 0 1 1 0 1 1

           case GUA_LIGHT_NUMBER5:

           {               

                 gGUA_HT1628_Ram[10] |= (1<<4);    //D15

                 gGUA_HT1628_Ram[10] &= ~(1<<6);   //D17

                 gGUA_HT1628_Ram[11] |= (1<<1);    //D20

                 gGUA_HT1628_Ram[8]  |= (1<<0);    //D21

                 gGUA_HT1628_Ram[11] &= ~(1<<0);   //D19

                 gGUA_HT1628_Ram[10] |= (1<<5);    //D16

                 gGUA_HT1628_Ram[10] |= (1<<7);    //D18                                            

                 break;               

           }    

          

           //D15 D17 D20 D21 D19 D16 D18:1 0 1 1 1 1 1

           case GUA_LIGHT_NUMBER6:

           {    

                 gGUA_HT1628_Ram[10] |= (1<<4);    //D15

                 gGUA_HT1628_Ram[10] &= ~(1<<6);   //D17

                 gGUA_HT1628_Ram[11] |= (1<<1);    //D20

                 gGUA_HT1628_Ram[8]  |= (1<<0);    //D21

                 gGUA_HT1628_Ram[11] |= (1<<0);    //D19

                 gGUA_HT1628_Ram[10] |= (1<<5);    //D16

                 gGUA_HT1628_Ram[10] |= (1<<7);    //D18                            

                 break;               

           }    

          

           //D15 D17 D20 D21 D19 D16 D18:1 1 1 0 0 0 0

           case GUA_LIGHT_NUMBER7:

           {               

                 gGUA_HT1628_Ram[10] |= (1<<4);    //D15

                 gGUA_HT1628_Ram[10] |= (1<<6);    //D17

                 gGUA_HT1628_Ram[11] |= (1<<1);    //D20

                 gGUA_HT1628_Ram[8]  &= ~(1<<0);   //D21

                 gGUA_HT1628_Ram[11] &= ~(1<<0);   //D19

                 gGUA_HT1628_Ram[10] &= ~(1<<5);   //D16

                 gGUA_HT1628_Ram[10] &= ~(1<<7);   //D18                                            

                 break;               

           }    

          

           //D15 D17 D20 D21 D19 D16 D18:1 1 1 1 1 1 1

           case GUA_LIGHT_NUMBER8:

           {               

                 gGUA_HT1628_Ram[10] |= (1<<4);    //D15

                 gGUA_HT1628_Ram[10] |= (1<<6);    //D17

                 gGUA_HT1628_Ram[11] |= (1<<1);    //D20

                 gGUA_HT1628_Ram[8]  |= (1<<0);    //D21

                 gGUA_HT1628_Ram[11] |= (1<<0);    //D19

                 gGUA_HT1628_Ram[10] |= (1<<5);    //D16

                 gGUA_HT1628_Ram[10] |= (1<<7);    //D18                                            

                 break;               

           }               

          

           //D15 D17 D20 D21 D19 D16 D18:1 1 1 1 0 1 1

           case GUA_LIGHT_NUMBER9:

           {               

                 gGUA_HT1628_Ram[10] |= (1<<4);    //D15

                 gGUA_HT1628_Ram[10] |= (1<<6);    //D17

                 gGUA_HT1628_Ram[11] |= (1<<1);    //D20

                 gGUA_HT1628_Ram[8]  |= (1<<0);    //D21

                 gGUA_HT1628_Ram[11] &= ~(1<<0);   //D19

                 gGUA_HT1628_Ram[10] |= (1<<5);    //D16

                 gGUA_HT1628_Ram[10] |= (1<<7);    //D18                                            

                 break;               

           }

          

           //D15 D17 D20 D21 D19 D16 D18:0 0 0 0 0 0 0

           default:

           {               

                 gGUA_HT1628_Ram[10] &= ~(1<<4);   //D15

                 gGUA_HT1628_Ram[10] &= ~(1<<6);   //D17

                 gGUA_HT1628_Ram[11] &= ~(1<<1);   //D20

                 gGUA_HT1628_Ram[8]  &= ~(1<<0);   //D21

                 gGUA_HT1628_Ram[11] &= ~(1<<0);   //D19

                 gGUA_HT1628_Ram[10] &= ~(1<<5);   //D16

                 gGUA_HT1628_Ram[10] &= ~(1<<7);   //D18                                                  

                 break;               

           }

      }    

      //num3 D24 D26 D29 D30 D28 D25 D27**********************

      switch(stGUA_HT1628_Display.num3)

      {

           //D24 D26 D29 D30 D28 D25 D27:1 1 1 1 1 1 0

           case GUA_LIGHT_NUMBER0:

           {               

                 gGUA_HT1628_Ram[8] |= (1<<3);          //D24

                 gGUA_HT1628_Ram[8] |= (1<<5);          //D26

                 gGUA_HT1628_Ram[9] |= (1<<0);          //D29

                 gGUA_HT1628_Ram[9] |= (1<<1);          //D30

                 gGUA_HT1628_Ram[8] |= (1<<7);          //D28

                 gGUA_HT1628_Ram[8] |= (1<<4);          //D25

                 gGUA_HT1628_Ram[8] &= ~(1<<6);    //D27                            

                 break;               

           }

          

           //D24 D26 D29 D30 D28 D25 D27:0 1 1 0 0 0 0

           case GUA_LIGHT_NUMBER1:

           {               

                 gGUA_HT1628_Ram[8] &= ~(1<<3);    //D24

                 gGUA_HT1628_Ram[8] |= (1<<5);          //D26

                 gGUA_HT1628_Ram[9] |= (1<<0);          //D29

                 gGUA_HT1628_Ram[9] &= ~(1<<1);    //D30

                 gGUA_HT1628_Ram[8] &= ~(1<<7);    //D28

                 gGUA_HT1628_Ram[8] &= ~(1<<4);    //D25

                 gGUA_HT1628_Ram[8] &= ~(1<<6);    //D27                            

                 break;                                

           }    

          

           //D24 D26 D29 D30 D28 D25 D27:1 1 0 1 1 0 1

           case GUA_LIGHT_NUMBER2:

           {               

                 gGUA_HT1628_Ram[8] |= (1<<3);          //D24

                 gGUA_HT1628_Ram[8] |= (1<<5);          //D26

                 gGUA_HT1628_Ram[9] &= ~(1<<0);    //D29

                 gGUA_HT1628_Ram[9] |= (1<<1);          //D30

                 gGUA_HT1628_Ram[8] |= (1<<7);          //D28

                 gGUA_HT1628_Ram[8] &= ~(1<<4);    //D25

                 gGUA_HT1628_Ram[8] |= (1<<6);          //D27                                 

                 break;               

           }

          

           //D24 D26 D29 D30 D28 D25 D27:1 1 1 1 0 0 1

           case GUA_LIGHT_NUMBER3:

           {               

                 gGUA_HT1628_Ram[8] |= (1<<3);          //D24

                 gGUA_HT1628_Ram[8] |= (1<<5);          //D26

                 gGUA_HT1628_Ram[9] |= (1<<0);          //D29

                 gGUA_HT1628_Ram[9] |= (1<<1);          //D30

                 gGUA_HT1628_Ram[8] &= ~(1<<7);    //D28

                 gGUA_HT1628_Ram[8] &= ~(1<<4);    //D25

                 gGUA_HT1628_Ram[8] |= (1<<6);          //D27                                                             

                 break;               

           }

          

           //D24 D26 D29 D30 D28 D25 D27:0 1 1 0 0 1 1

           case GUA_LIGHT_NUMBER4:

           {               

                 gGUA_HT1628_Ram[8] &= ~(1<<3);    //D24

                 gGUA_HT1628_Ram[8] |= (1<<5);          //D26

                 gGUA_HT1628_Ram[9] |= (1<<0);          //D29

                 gGUA_HT1628_Ram[9] &= ~(1<<1);    //D30

                 gGUA_HT1628_Ram[8] &= ~(1<<7);    //D28

                 gGUA_HT1628_Ram[8] |= (1<<4);          //D25

                 gGUA_HT1628_Ram[8] |= (1<<6);          //D27                                                       

                 break;               

           }    

          

           //D24 D26 D29 D30 D28 D25 D27:1 0 1 1 0 1 1

           case GUA_LIGHT_NUMBER5:

           {               

                 gGUA_HT1628_Ram[8] |= (1<<3);          //D24

                 gGUA_HT1628_Ram[8] &= ~(1<<5);    //D26

                 gGUA_HT1628_Ram[9] |= (1<<0);          //D29

                 gGUA_HT1628_Ram[9] |= (1<<1);          //D30

                 gGUA_HT1628_Ram[8] &= ~(1<<7);    //D28

                 gGUA_HT1628_Ram[8] |= (1<<4);          //D25

                 gGUA_HT1628_Ram[8] |= (1<<6);          //D27                                                       

                 break;               

           }    

          

           //D24 D26 D29 D30 D28 D25 D27:1 0 1 1 1 1 1

           case GUA_LIGHT_NUMBER6:

           {    

                 gGUA_HT1628_Ram[8] |= (1<<3);          //D24

                 gGUA_HT1628_Ram[8] &= ~(1<<5);    //D26

                 gGUA_HT1628_Ram[9] |= (1<<0);          //D29

                 gGUA_HT1628_Ram[9] |= (1<<1);          //D30

                 gGUA_HT1628_Ram[8] |= (1<<7);          //D28

                 gGUA_HT1628_Ram[8] |= (1<<4);          //D25

                 gGUA_HT1628_Ram[8] |= (1<<6);          //D27                                       

                 break;               

           }    

          

           //D24 D26 D29 D30 D28 D25 D27:1 1 1 0 0 0 0

           case GUA_LIGHT_NUMBER7:

           {               

                 gGUA_HT1628_Ram[8] |= (1<<3);          //D24

                 gGUA_HT1628_Ram[8] |= (1<<5);          //D26

                 gGUA_HT1628_Ram[9] |= (1<<0);          //D29

                 gGUA_HT1628_Ram[9] &= ~(1<<1);    //D30

                 gGUA_HT1628_Ram[8] &= ~(1<<7);    //D28

                 gGUA_HT1628_Ram[8] &= ~(1<<4);    //D25

                 gGUA_HT1628_Ram[8] &= ~(1<<6);    //D27                                                        

                 break;               

           }    

          

           //D24 D26 D29 D30 D28 D25 D27:1 1 1 1 1 1 1

           case GUA_LIGHT_NUMBER8:

           {               

                 gGUA_HT1628_Ram[8] |= (1<<3);          //D24

                 gGUA_HT1628_Ram[8] |= (1<<5);          //D26

                 gGUA_HT1628_Ram[9] |= (1<<0);          //D29

                 gGUA_HT1628_Ram[9] |= (1<<1);          //D30

                 gGUA_HT1628_Ram[8] |= (1<<7);          //D28

                 gGUA_HT1628_Ram[8] |= (1<<4);          //D25

                 gGUA_HT1628_Ram[8] |= (1<<6);          //D27                                                       

                 break;               

           }               

          

           //D24 D26 D29 D30 D28 D25 D27:1 1 1 1 0 1 1

           case GUA_LIGHT_NUMBER9:

           {               

                 gGUA_HT1628_Ram[8] |= (1<<3);          //D24

                 gGUA_HT1628_Ram[8] |= (1<<5);          //D26

                 gGUA_HT1628_Ram[9] |= (1<<0);          //D29

                 gGUA_HT1628_Ram[9] |= (1<<1);          //D30

                 gGUA_HT1628_Ram[8] &= ~(1<<7);    //D28

                 gGUA_HT1628_Ram[8] |= (1<<4);          //D25

                 gGUA_HT1628_Ram[8] |= (1<<6);          //D27                                                       

                 break;               

           }

          

           //D24 D26 D29 D30 D28 D25 D27:0 0 0 0 0 0 0

           default:

           {               

                 gGUA_HT1628_Ram[8] &= ~(1<<3);    //D24

                 gGUA_HT1628_Ram[8] &= ~(1<<5);    //D26

                 gGUA_HT1628_Ram[9] &= ~(1<<0);    //D29

                 gGUA_HT1628_Ram[9] &= ~(1<<1);    //D30

                 gGUA_HT1628_Ram[8] &= ~(1<<7);    //D28

                 gGUA_HT1628_Ram[8] &= ~(1<<4);    //D25

                 gGUA_HT1628_Ram[8] &= ~(1<<6);    //D27                                                             

                 break;               

           }

      }

      //num4 D31 D33 D36 D37 D35 D32 D34**********************

      switch(stGUA_HT1628_Display.num4)

      {

           //D31 D33 D36 D37 D35 D32 D34:1 1 1 1 1 1 0

           case GUA_LIGHT_NUMBER0:

           {               

                 gGUA_HT1628_Ram[6]    |= (1<<0); //D31

                 gGUA_HT1628_Ram[6]    |= (1<<2); //D33

                 gGUA_HT1628_Ram[6]    |= (1<<5); //D36

                 gGUA_HT1628_Ram[6]  |= (1<<6);    //D37

                 gGUA_HT1628_Ram[6]    |= (1<<4); //D35

                 gGUA_HT1628_Ram[6]    |= (1<<1); //D32

                 gGUA_HT1628_Ram[6]    &= ~(1<<3);      //D34                            

                 break;               

           }

          

           //D31 D33 D36 D37 D35 D32 D34:0 1 1 0 0 0 0

           case GUA_LIGHT_NUMBER1:

           {               

                 gGUA_HT1628_Ram[6]    &= ~(1<<0);      //D31

                 gGUA_HT1628_Ram[6]    |= (1<<2); //D33

                 gGUA_HT1628_Ram[6]    |= (1<<5); //D36

                 gGUA_HT1628_Ram[6]  &= ~(1<<6);   //D37

                 gGUA_HT1628_Ram[6]    &= ~(1<<4);      //D35

                 gGUA_HT1628_Ram[6]    &= ~(1<<1);      //D32

                 gGUA_HT1628_Ram[6]    &= ~(1<<3);      //D34                                            

                 break;                                

           }    

          

           //D31 D33 D36 D37 D35 D32 D34:1 1 0 1 1 0 1

           case GUA_LIGHT_NUMBER2:

           {         

                 gGUA_HT1628_Ram[6]    |= (1<<0); //D31

                 gGUA_HT1628_Ram[6]    |= (1<<2); //D33

                 gGUA_HT1628_Ram[6]    &= ~(1<<5);      //D36

                 gGUA_HT1628_Ram[6]  |= (1<<6);    //D37

                 gGUA_HT1628_Ram[6]    |= (1<<4); //D35

                 gGUA_HT1628_Ram[6]    &= ~(1<<1);      //D32

                 gGUA_HT1628_Ram[6]    |= (1<<3); //D34                      

                 break;               

           }

          

           //D31 D33 D36 D37 D35 D32 D34:1 1 1 1 0 0 1

           case GUA_LIGHT_NUMBER3:

           {         

                 gGUA_HT1628_Ram[6]    |= (1<<0); //D31

                 gGUA_HT1628_Ram[6]    |= (1<<2); //D33

                 gGUA_HT1628_Ram[6]    |= (1<<5); //D36

                 gGUA_HT1628_Ram[6]  |= (1<<6);    //D37

                 gGUA_HT1628_Ram[6]    &= ~(1<<4);      //D35

                 gGUA_HT1628_Ram[6]    &= ~(1<<1);      //D32

                 gGUA_HT1628_Ram[6]    |= (1<<3); //D34                                            

                 break;               

           }

          

           //D31 D33 D36 D37 D35 D32 D34:0 1 1 0 0 1 1

           case GUA_LIGHT_NUMBER4:

           {               

                 gGUA_HT1628_Ram[6]    &= ~(1<<0);      //D31

                 gGUA_HT1628_Ram[6]    |= (1<<2); //D33

                 gGUA_HT1628_Ram[6]    |= (1<<5); //D36

                 gGUA_HT1628_Ram[6]  &= ~(1<<6);   //D37

                 gGUA_HT1628_Ram[6]    &= ~(1<<4);      //D35

                 gGUA_HT1628_Ram[6]    |= (1<<1); //D32

                 gGUA_HT1628_Ram[6]    |= (1<<3); //D34                                                             

                 break;               

           }    

          

           //D31 D33 D36 D37 D35 D32 D34:1 0 1 1 0 1 1

           case GUA_LIGHT_NUMBER5:

           {         

                 gGUA_HT1628_Ram[6]    |= (1<<0); //D31

                 gGUA_HT1628_Ram[6]    &= ~(1<<2);      //D33

                 gGUA_HT1628_Ram[6]    |= (1<<5); //D36

                 gGUA_HT1628_Ram[6]  |= (1<<6);    //D37

                 gGUA_HT1628_Ram[6]    &= ~(1<<4);      //D35

                 gGUA_HT1628_Ram[6]    |= (1<<1); //D32

                 gGUA_HT1628_Ram[6]    |= (1<<3); //D34                                                  

                 break;               

           }    

          

           //D31 D33 D36 D37 D35 D32 D34:1 0 1 1 1 1 1

           case GUA_LIGHT_NUMBER6:

           {    

                 gGUA_HT1628_Ram[6]    |= (1<<0); //D31

                 gGUA_HT1628_Ram[6]    &= ~(1<<2);      //D33

                 gGUA_HT1628_Ram[6]    |= (1<<5); //D36

                 gGUA_HT1628_Ram[6]  |= (1<<6);    //D37

                 gGUA_HT1628_Ram[6]    |= (1<<4); //D35

                 gGUA_HT1628_Ram[6]    |= (1<<1); //D32

                 gGUA_HT1628_Ram[6]    |= (1<<3); //D34                                            

                 break;               

           }    

          

           //D31 D33 D36 D37 D35 D32 D34:1 1 1 0 0 0 0

           case GUA_LIGHT_NUMBER7:

           {               

                 gGUA_HT1628_Ram[6]    |= (1<<0); //D31

                 gGUA_HT1628_Ram[6]    |= (1<<2); //D33

                 gGUA_HT1628_Ram[6]    |= (1<<5); //D36

                 gGUA_HT1628_Ram[6]  &= ~(1<<6);   //D37

                 gGUA_HT1628_Ram[6]    &= ~(1<<4);      //D35

                 gGUA_HT1628_Ram[6]    &= ~(1<<1);      //D32

                 gGUA_HT1628_Ram[6]    &= ~(1<<3);      //D34                                                             

                 break;               

           }    

          

           //D31 D33 D36 D37 D35 D32 D34:1 1 1 1 1 1 1

           case GUA_LIGHT_NUMBER8:

           {               

                 gGUA_HT1628_Ram[6]    |= (1<<0); //D31

                 gGUA_HT1628_Ram[6]    |= (1<<2); //D33

                 gGUA_HT1628_Ram[6]    |= (1<<5); //D36

                 gGUA_HT1628_Ram[6]  |= (1<<6);    //D37

                 gGUA_HT1628_Ram[6]    |= (1<<4); //D35

                 gGUA_HT1628_Ram[6]    |= (1<<1); //D32

                 gGUA_HT1628_Ram[6]    |= (1<<3); //D34                                                             

                 break;               

           }               

          

           //D31 D33 D36 D37 D35 D32 D34:1 1 1 1 0 1 1

           case GUA_LIGHT_NUMBER9:

           {         

                 gGUA_HT1628_Ram[6]    |= (1<<0); //D31

                 gGUA_HT1628_Ram[6]    |= (1<<2); //D33

                 gGUA_HT1628_Ram[6]    |= (1<<5); //D36

                 gGUA_HT1628_Ram[6]  |= (1<<6);    //D37

                 gGUA_HT1628_Ram[6]    &= ~(1<<4);      //D35

                 gGUA_HT1628_Ram[6]    |= (1<<1); //D32

                 gGUA_HT1628_Ram[6]    |= (1<<3); //D34                                            

                 break;               

           }

          

           //D31 D33 D36 D37 D35 D32 D34:0 0 0 0 0 0 0

           default:

           {               

                 gGUA_HT1628_Ram[6]    &= ~(1<<0);      //D31

                 gGUA_HT1628_Ram[6]    &= ~(1<<2);      //D33

                 gGUA_HT1628_Ram[6]    &= ~(1<<5);      //D36

                 gGUA_HT1628_Ram[6]  &= ~(1<<6);   //D37

                 gGUA_HT1628_Ram[6]    &= ~(1<<4);      //D35

                 gGUA_HT1628_Ram[6]    &= ~(1<<1);      //D32

                 gGUA_HT1628_Ram[6]    &= ~(1<<3);      //D34                                                                        

                 break;               

           }

      }

      //num5 D38 D40 D43 D44 D42 D39 D41**********************

      switch(stGUA_HT1628_Display.num5)

      {

           //D38 D40 D43 D44 D42 D39 D41:1 1 1 1 1 1 0

           case GUA_LIGHT_NUMBER0:

           {                          

                 gGUA_HT1628_Ram[6]    |= (1<<7); //D38

                 gGUA_HT1628_Ram[7]    |= (1<<1); //D40

                 gGUA_HT1628_Ram[4]    |= (1<<2); //D43

                 gGUA_HT1628_Ram[4]  |= (1<<3);    //D44

                 gGUA_HT1628_Ram[4]    |= (1<<1); //D42

                 gGUA_HT1628_Ram[7]    |= (1<<0); //D39

                 gGUA_HT1628_Ram[4]    &= ~(1<<0);      //D41                      

                 break;               

           }

          

           //D38 D40 D43 D44 D42 D39 D41:0 1 1 0 0 0 0

           case GUA_LIGHT_NUMBER1:

           {               

                 gGUA_HT1628_Ram[6]    &= ~(1<<7);      //D38

                 gGUA_HT1628_Ram[7]    |= (1<<1); //D40

                 gGUA_HT1628_Ram[4]    |= (1<<2); //D43

                 gGUA_HT1628_Ram[4]  &= ~(1<<3);   //D44

                 gGUA_HT1628_Ram[4]    &= ~(1<<1);      //D42

                 gGUA_HT1628_Ram[7]    &= ~(1<<0);      //D39

                 gGUA_HT1628_Ram[4]    &= ~(1<<0);      //D41                                            

                 break;                                

           }    

          

           //D38 D40 D43 D44 D42 D39 D41:1 1 0 1 1 0 1

           case GUA_LIGHT_NUMBER2:

           {         

                 gGUA_HT1628_Ram[6]    |= (1<<7); //D38

                 gGUA_HT1628_Ram[7]    |= (1<<1); //D40

                 gGUA_HT1628_Ram[4]    &= ~(1<<2);      //D43

                 gGUA_HT1628_Ram[4]  |= (1<<3);    //D44

                 gGUA_HT1628_Ram[4]    |= (1<<1); //D42

                 gGUA_HT1628_Ram[7]    &= ~(1<<0);      //D39

                 gGUA_HT1628_Ram[4]    |= (1<<0); //D41                

                 break;               

           }

          

           //D38 D40 D43 D44 D42 D39 D41:1 1 1 1 0 0 1

           case GUA_LIGHT_NUMBER3:

           {               

                 gGUA_HT1628_Ram[6]    |= (1<<7); //D38

                 gGUA_HT1628_Ram[7]    |= (1<<1); //D40

                 gGUA_HT1628_Ram[4]    |= (1<<2); //D43

                 gGUA_HT1628_Ram[4]  |= (1<<3);    //D44

                 gGUA_HT1628_Ram[4]    &= ~(1<<1);      //D42

                 gGUA_HT1628_Ram[7]    &= ~(1<<0);      //D39

                 gGUA_HT1628_Ram[4]    |= (1<<0); //D41                                                        

                 break;               

           }

          

           //D38 D40 D43 D44 D42 D39 D41:0 1 1 0 0 1 1

           case GUA_LIGHT_NUMBER4:

           {               

                 gGUA_HT1628_Ram[6]    &= ~(1<<7);      //D38

                 gGUA_HT1628_Ram[7]    |= (1<<1); //D40

                 gGUA_HT1628_Ram[4]    |= (1<<2); //D43

                 gGUA_HT1628_Ram[4]  &= ~(1<<3);   //D44

                 gGUA_HT1628_Ram[4]    &= ~(1<<1);      //D42

                 gGUA_HT1628_Ram[7]    |= (1<<0); //D39

                 gGUA_HT1628_Ram[4]    |= (1<<0); //D41                                                             

                 break;               

           }    

          

           //D38 D40 D43 D44 D42 D39 D41:1 0 1 1 0 1 1

           case GUA_LIGHT_NUMBER5:

           {         

                 gGUA_HT1628_Ram[6]    |= (1<<7); //D38

                 gGUA_HT1628_Ram[7]    &= ~(1<<1);      //D40

                 gGUA_HT1628_Ram[4]    |= (1<<2); //D43

                 gGUA_HT1628_Ram[4]  |= (1<<3);    //D44

                 gGUA_HT1628_Ram[4]    &= ~(1<<1);      //D42

                 gGUA_HT1628_Ram[7]    |= (1<<0); //D39

                 gGUA_HT1628_Ram[4]    |= (1<<0); //D41                                       

                 break;               

           }    

          

           //D38 D40 D43 D44 D42 D39 D41:1 0 1 1 1 1 1

           case GUA_LIGHT_NUMBER6:

           {    

                 gGUA_HT1628_Ram[6]    |= (1<<7); //D38

                 gGUA_HT1628_Ram[7]    &= ~(1<<1);      //D40

                 gGUA_HT1628_Ram[4]    |= (1<<2); //D43

                 gGUA_HT1628_Ram[4]  |= (1<<3);    //D44

                 gGUA_HT1628_Ram[4]    |= (1<<1); //D42

                 gGUA_HT1628_Ram[7]    |= (1<<0); //D39

                 gGUA_HT1628_Ram[4]    |= (1<<0); //D41                                       

                 break;               

           }    

          

           //D38 D40 D43 D44 D42 D39 D41:1 1 1 0 0 0 0

           case GUA_LIGHT_NUMBER7:

           {               

                 gGUA_HT1628_Ram[6]    |= (1<<7); //D38

                 gGUA_HT1628_Ram[7]    |= (1<<1); //D40

                 gGUA_HT1628_Ram[4]    |= (1<<2); //D43

                 gGUA_HT1628_Ram[4]  &= ~(1<<3);   //D44

                 gGUA_HT1628_Ram[4]    &= ~(1<<1);      //D42

                 gGUA_HT1628_Ram[7]    &= ~(1<<0);      //D39

                 gGUA_HT1628_Ram[4]    &= ~(1<<0);      //D41                                                       

                 break;               

           }    

          

           //D38 D40 D43 D44 D42 D39 D41:1 1 1 1 1 1 1

           case GUA_LIGHT_NUMBER8:

           {               

                 gGUA_HT1628_Ram[6]    |= (1<<7); //D38

                 gGUA_HT1628_Ram[7]    |= (1<<1); //D40

                 gGUA_HT1628_Ram[4]    |= (1<<2); //D43

                 gGUA_HT1628_Ram[4]  |= (1<<3);    //D44

                 gGUA_HT1628_Ram[4]    |= (1<<1); //D42

                 gGUA_HT1628_Ram[7]    |= (1<<0); //D39

                 gGUA_HT1628_Ram[4]    |= (1<<0); //D41                                                        

                 break;               

           }               

          

           //D38 D40 D43 D44 D42 D39 D41:1 1 1 1 0 1 1

           case GUA_LIGHT_NUMBER9:

           {               

                 gGUA_HT1628_Ram[6]    |= (1<<7); //D38

                 gGUA_HT1628_Ram[7]    |= (1<<1); //D40

                 gGUA_HT1628_Ram[4]    |= (1<<2); //D43

                 gGUA_HT1628_Ram[4]  |= (1<<3);    //D44

                 gGUA_HT1628_Ram[4]    &= ~(1<<1);      //D42

                 gGUA_HT1628_Ram[7]    |= (1<<0); //D39

                 gGUA_HT1628_Ram[4]    |= (1<<0); //D41                                                        

                 break;               

           }

          

           //D38 D40 D43 D44 D42 D39 D41:0 0 0 0 0 0 0

           default:

           {         

                 gGUA_HT1628_Ram[6]    &= ~(1<<7);      //D38

                 gGUA_HT1628_Ram[7]    &= ~(1<<1);      //D40

                 gGUA_HT1628_Ram[4]    &= ~(1<<2);      //D43

                 gGUA_HT1628_Ram[4]  &= ~(1<<3);   //D44

                 gGUA_HT1628_Ram[4]    &= ~(1<<1);      //D42

                 gGUA_HT1628_Ram[7]    &= ~(1<<0);      //D39

                 gGUA_HT1628_Ram[4]    &= ~(1<<0);      //D41                                            

                 break;               

           }

      }

      //num6 D46 D48 D51 D52 D50 D47 D49**********************

      switch(stGUA_HT1628_Display.num6)

      {

           //D46 D48 D51 D52 D50 D47 D49:1 1 1 1 1 1 0

           case GUA_LIGHT_NUMBER0:

           {               

                 gGUA_HT1628_Ram[4]    |= (1<<5); //D46

                 gGUA_HT1628_Ram[4]    |= (1<<7); //D48

                 gGUA_HT1628_Ram[2]    |= (1<<0); //D51

                 gGUA_HT1628_Ram[2]  |= (1<<1);    //D52

                 gGUA_HT1628_Ram[5]    |= (1<<1); //D50

                 gGUA_HT1628_Ram[4]    |= (1<<6); //D47

                 gGUA_HT1628_Ram[5]    &= ~(1<<0);      //D49                      

                 break;               

           }

          

           //D46 D48 D51 D52 D50 D47 D49:0 1 1 0 0 0 0

           case GUA_LIGHT_NUMBER1:

           {         

                 gGUA_HT1628_Ram[4]    &= ~(1<<5);      //D46

                 gGUA_HT1628_Ram[4]    |= (1<<7); //D48

                 gGUA_HT1628_Ram[2]    |= (1<<0); //D51

                 gGUA_HT1628_Ram[2]  &= ~(1<<1);   //D52

                 gGUA_HT1628_Ram[5]    &= ~(1<<1);      //D50

                 gGUA_HT1628_Ram[4]    &= ~(1<<6);      //D47

                 gGUA_HT1628_Ram[5]    &= ~(1<<0);      //D49                            

                 break;                                

           }    

          

           //D46 D48 D51 D52 D50 D47 D49:1 1 0 1 1 0 1

           case GUA_LIGHT_NUMBER2:

           {    

                 gGUA_HT1628_Ram[4]    |= (1<<5); //D46

                 gGUA_HT1628_Ram[4]    |= (1<<7); //D48

                 gGUA_HT1628_Ram[2]    &= ~(1<<0);      //D51

                 gGUA_HT1628_Ram[2]  |= (1<<1);    //D52

                 gGUA_HT1628_Ram[5]    |= (1<<1); //D50

                 gGUA_HT1628_Ram[4]    &= ~(1<<6);      //D47

                 gGUA_HT1628_Ram[5]    |= (1<<0); //D49                

                 break;               

           }

          

           //D46 D48 D51 D52 D50 D47 D49:1 1 1 1 0 0 1

           case GUA_LIGHT_NUMBER3:

           {         

                 gGUA_HT1628_Ram[4]    |= (1<<5); //D46

                 gGUA_HT1628_Ram[4]    |= (1<<7); //D48

                 gGUA_HT1628_Ram[2]    |= (1<<0); //D51

                 gGUA_HT1628_Ram[2]  |= (1<<1);    //D52

                 gGUA_HT1628_Ram[5]    &= ~(1<<1);      //D50

                 gGUA_HT1628_Ram[4]    &= ~(1<<6);      //D47

                 gGUA_HT1628_Ram[5]    |= (1<<0); //D49                                                  

                 break;               

           }

          

           //D46 D48 D51 D52 D50 D47 D49:0 1 1 0 0 1 1

           case GUA_LIGHT_NUMBER4:

           {               

                 gGUA_HT1628_Ram[4]    &= ~(1<<5);      //D46

                 gGUA_HT1628_Ram[4]    |= (1<<7); //D48

                 gGUA_HT1628_Ram[2]    |= (1<<0); //D51

                 gGUA_HT1628_Ram[2]  &= ~(1<<1);   //D52

                 gGUA_HT1628_Ram[5]    &= ~(1<<1);      //D50

                 gGUA_HT1628_Ram[4]    |= (1<<6); //D47

                 gGUA_HT1628_Ram[5]    |= (1<<0); //D49                                                             

                 break;               

           }    

          

           //D46 D48 D51 D52 D50 D47 D49:1 0 1 1 0 1 1

           case GUA_LIGHT_NUMBER5:

           {               

                 gGUA_HT1628_Ram[4]    |= (1<<5); //D46

                 gGUA_HT1628_Ram[4]    &= ~(1<<7);      //D48

                 gGUA_HT1628_Ram[2]    |= (1<<0); //D51

                 gGUA_HT1628_Ram[2]  |= (1<<1);    //D52

                 gGUA_HT1628_Ram[5]    &= ~(1<<1);      //D50

                 gGUA_HT1628_Ram[4]    |= (1<<6); //D47

                 gGUA_HT1628_Ram[5]    |= (1<<0); //D49                                                             

                 break;               

           }    

          

           //D46 D48 D51 D52 D50 D47 D49:1 0 1 1 1 1 1

           case GUA_LIGHT_NUMBER6:

           {    

                 gGUA_HT1628_Ram[4]    |= (1<<5); //D46

                 gGUA_HT1628_Ram[4]    &= ~(1<<7);      //D48

                 gGUA_HT1628_Ram[2]    |= (1<<0); //D51

                 gGUA_HT1628_Ram[2]  |= (1<<1);    //D52

                 gGUA_HT1628_Ram[5]    |= (1<<1); //D50

                 gGUA_HT1628_Ram[4]    |= (1<<6); //D47

                 gGUA_HT1628_Ram[5]    |= (1<<0); //D49                                            

                 break;               

           }    

          

           //D46 D48 D51 D52 D50 D47 D49:1 1 1 0 0 0 0

           case GUA_LIGHT_NUMBER7:

           {               

                 gGUA_HT1628_Ram[4]    |= (1<<5); //D46

                 gGUA_HT1628_Ram[4]    |= (1<<7); //D48

                 gGUA_HT1628_Ram[2]    |= (1<<0); //D51

                 gGUA_HT1628_Ram[2]  &= ~(1<<1);   //D52

                 gGUA_HT1628_Ram[5]    &= ~(1<<1);      //D50

                 gGUA_HT1628_Ram[4]    &= ~(1<<6);      //D47

                 gGUA_HT1628_Ram[5]    &= ~(1<<0);      //D49                                                             

                 break;               

           }    

          

           //D46 D48 D51 D52 D50 D47 D49:1 1 1 1 1 1 1

           case GUA_LIGHT_NUMBER8:

           {               

                 gGUA_HT1628_Ram[4]    |= (1<<5); //D46

                 gGUA_HT1628_Ram[4]    |= (1<<7); //D48

                 gGUA_HT1628_Ram[2]    |= (1<<0); //D51

                 gGUA_HT1628_Ram[2]  |= (1<<1);    //D52

                 gGUA_HT1628_Ram[5]    |= (1<<1); //D50

                 gGUA_HT1628_Ram[4]    |= (1<<6); //D47

                 gGUA_HT1628_Ram[5]    |= (1<<0); //D49                                                             

                 break;               

           }               

          

           //D46 D48 D51 D52 D50 D47 D49:1 1 1 1 0 1 1

           case GUA_LIGHT_NUMBER9:

           {               

                 gGUA_HT1628_Ram[4]    |= (1<<5); //D46

                 gGUA_HT1628_Ram[4]    |= (1<<7); //D48

                 gGUA_HT1628_Ram[2]    |= (1<<0); //D51

                 gGUA_HT1628_Ram[2]  |= (1<<1);    //D52

                 gGUA_HT1628_Ram[5]    &= ~(1<<1);      //D50

                 gGUA_HT1628_Ram[4]    |= (1<<6); //D47

                 gGUA_HT1628_Ram[5]    |= (1<<0); //D49                                                             

                 break;               

           }

          

           //D46 D48 D51 D52 D50 D47 D49:0 0 0 0 0 0 0

           default:

           {               

                 gGUA_HT1628_Ram[4]    &= ~(1<<5);      //D46

                 gGUA_HT1628_Ram[4]    &= ~(1<<7);      //D48

                 gGUA_HT1628_Ram[2]    &= ~(1<<0);      //D51

                 gGUA_HT1628_Ram[2]  &= ~(1<<1);   //D52

                 gGUA_HT1628_Ram[5]    &= ~(1<<1);      //D50

                 gGUA_HT1628_Ram[4]    &= ~(1<<6);      //D47

                 gGUA_HT1628_Ram[5]    &= ~(1<<0);      //D49                                                                        

                 break;               

           }

      }

      //num7 D53 D55 D58 D59 D57 D54 D56**********************

      switch(stGUA_HT1628_Display.num7)

      {

           //D53 D55 D58 D59 D57 D54 D56:1 1 1 1 1 1 0

           case GUA_LIGHT_NUMBER0:

           {               

                 gGUA_HT1628_Ram[2]    |= (1<<2); //D53

                 gGUA_HT1628_Ram[2]    |= (1<<4); //D55

                 gGUA_HT1628_Ram[2]    |= (1<<7); //D58

                 gGUA_HT1628_Ram[3]  |= (1<<0);    //D59

                 gGUA_HT1628_Ram[2]    |= (1<<6); //D57

                 gGUA_HT1628_Ram[2]    |= (1<<3); //D54

                 gGUA_HT1628_Ram[2]    &= ~(1<<5);      //D56                            

                 break;               

           }

          

           //D53 D55 D58 D59 D57 D54 D56:0 1 1 0 0 0 0

           case GUA_LIGHT_NUMBER1:

           {               

                 gGUA_HT1628_Ram[2]    &= ~(1<<2);      //D53

                 gGUA_HT1628_Ram[2]    |= (1<<4); //D55

                 gGUA_HT1628_Ram[2]    |= (1<<7); //D58

                 gGUA_HT1628_Ram[3]  &= ~(1<<0);   //D59

                 gGUA_HT1628_Ram[2]    &= ~(1<<6);      //D57

                 gGUA_HT1628_Ram[2]    &= ~(1<<3);      //D54

                 gGUA_HT1628_Ram[2]    &= ~(1<<5);      //D56                                                  

                 break;                                

           }    

          

           //D53 D55 D58 D59 D57 D54 D56:1 1 0 1 1 0 1

           case GUA_LIGHT_NUMBER2:

           {               

                 gGUA_HT1628_Ram[2]    |= (1<<2); //D53

                 gGUA_HT1628_Ram[2]    |= (1<<4); //D55

                 gGUA_HT1628_Ram[2]    &= ~(1<<7);      //D58

                 gGUA_HT1628_Ram[3]  |= (1<<0);    //D59

                 gGUA_HT1628_Ram[2]    |= (1<<6); //D57

                 gGUA_HT1628_Ram[2]    &= ~(1<<3);      //D54

                 gGUA_HT1628_Ram[2]    |= (1<<5); //D56                                            

                 break;               

           }

          

           //D53 D55 D58 D59 D57 D54 D56:1 1 1 1 0 0 1

           case GUA_LIGHT_NUMBER3:

           {               

                 gGUA_HT1628_Ram[2]    |= (1<<2); //D53

                 gGUA_HT1628_Ram[2]    |= (1<<4); //D55

                 gGUA_HT1628_Ram[2]    |= (1<<7); //D58

                 gGUA_HT1628_Ram[3]  |= (1<<0);    //D59

                 gGUA_HT1628_Ram[2]    &= ~(1<<6);      //D57

                 gGUA_HT1628_Ram[2]    &= ~(1<<3);      //D54

                 gGUA_HT1628_Ram[2]    |= (1<<5); //D56                                                        

                 break;               

           }

          

           //D53 D55 D58 D59 D57 D54 D56:0 1 1 0 0 1 1

           case GUA_LIGHT_NUMBER4:

           {               

                 gGUA_HT1628_Ram[2]    &= ~(1<<2);      //D53

                 gGUA_HT1628_Ram[2]    |= (1<<4); //D55

                 gGUA_HT1628_Ram[2]    |= (1<<7); //D58

                 gGUA_HT1628_Ram[3]  &= ~(1<<0);   //D59

                 gGUA_HT1628_Ram[2]    &= ~(1<<6);      //D57

                 gGUA_HT1628_Ram[2]    |= (1<<3); //D54

                 gGUA_HT1628_Ram[2]    |= (1<<5); //D56                                                        

                 break;               

           }    

          

           //D53 D55 D58 D59 D57 D54 D56:1 0 1 1 0 1 1

           case GUA_LIGHT_NUMBER5:

           {               

                 gGUA_HT1628_Ram[2]    |= (1<<2); //D53

                 gGUA_HT1628_Ram[2]    &= ~(1<<4);      //D55

                 gGUA_HT1628_Ram[2]    |= (1<<7); //D58

                 gGUA_HT1628_Ram[3]  |= (1<<0);    //D59

                 gGUA_HT1628_Ram[2]    &= ~(1<<6);      //D57

                 gGUA_HT1628_Ram[2]    |= (1<<3); //D54

                 gGUA_HT1628_Ram[2]    |= (1<<5); //D56                                                        

                 break;               

           }    

          

           //D53 D55 D58 D59 D57 D54 D56:1 0 1 1 1 1 1

           case GUA_LIGHT_NUMBER6:

           {    

                 gGUA_HT1628_Ram[2]    |= (1<<2); //D53

                 gGUA_HT1628_Ram[2]    &= ~(1<<4);      //D55

                 gGUA_HT1628_Ram[2]    |= (1<<7); //D58

                 gGUA_HT1628_Ram[3]  |= (1<<0);    //D59

                 gGUA_HT1628_Ram[2]    |= (1<<6); //D57

                 gGUA_HT1628_Ram[2]    |= (1<<3); //D54

                 gGUA_HT1628_Ram[2]    |= (1<<5); //D56                                       

                 break;               

           }    

          

           //D53 D55 D58 D59 D57 D54 D56:1 1 1 0 0 0 0

           case GUA_LIGHT_NUMBER7:

           {               

                 gGUA_HT1628_Ram[2]    |= (1<<2); //D53

                 gGUA_HT1628_Ram[2]    |= (1<<4); //D55

                 gGUA_HT1628_Ram[2]    |= (1<<7); //D58

                 gGUA_HT1628_Ram[3]  &= ~(1<<0);   //D59

                 gGUA_HT1628_Ram[2]    &= ~(1<<6);      //D57

                 gGUA_HT1628_Ram[2]    &= ~(1<<3);      //D54

                 gGUA_HT1628_Ram[2]    &= ~(1<<5);      //D56                                                       

                 break;               

           }    

          

           //D53 D55 D58 D59 D57 D54 D56:1 1 1 1 1 1 1

           case GUA_LIGHT_NUMBER8:

           {               

                 gGUA_HT1628_Ram[2]    |= (1<<2); //D53

                 gGUA_HT1628_Ram[2]    |= (1<<4); //D55

                 gGUA_HT1628_Ram[2]    |= (1<<7); //D58

                 gGUA_HT1628_Ram[3]  |= (1<<0);    //D59

                 gGUA_HT1628_Ram[2]    |= (1<<6); //D57

                 gGUA_HT1628_Ram[2]    |= (1<<3); //D54

                 gGUA_HT1628_Ram[2]    |= (1<<5); //D56                                                        

                 break;               

           }               

          

           //D53 D55 D58 D59 D57 D54 D56:1 1 1 1 0 1 1

           case GUA_LIGHT_NUMBER9:

           {               

                 gGUA_HT1628_Ram[2]    |= (1<<2); //D53

                 gGUA_HT1628_Ram[2]    |= (1<<4); //D55

                 gGUA_HT1628_Ram[2]    |= (1<<7); //D58

                 gGUA_HT1628_Ram[3]  |= (1<<0);    //D59

                 gGUA_HT1628_Ram[2]    &= ~(1<<6);      //D57

                 gGUA_HT1628_Ram[2]    |= (1<<3); //D54

                 gGUA_HT1628_Ram[2]    |= (1<<5); //D56                                                        

                 break;               

           }

          

           //D53 D55 D58 D59 D57 D54 D56:0 0 0 0 0 0 0

           default:

           {               

                 gGUA_HT1628_Ram[2]    &= ~(1<<2);      //D53

                 gGUA_HT1628_Ram[2]    &= ~(1<<4);      //D55

                 gGUA_HT1628_Ram[2]    &= ~(1<<7);      //D58

                 gGUA_HT1628_Ram[3]  &= ~(1<<0);   //D59

                 gGUA_HT1628_Ram[2]    &= ~(1<<6);      //D57

                 gGUA_HT1628_Ram[2]    &= ~(1<<3);      //D54

                 gGUA_HT1628_Ram[2]    &= ~(1<<5);      //D56                                                             

                 break;               

           }

      }    

}

//**********************************************************************

//name:         GUA_HT1628_GPIO_Init

//introduce:    HT1628的GPIO初始化

//parameter:    none

//return:       none

//author:       甜甜的大香瓜

//email:        897503845@qq.com

//shop:         opengua.taobao.com

//changetime:   2023.02.02

//**********************************************************************

static void GUA_HT1628_GPIO_Init(void)

{

      GPIO_InitTypeDef GPIO_InitStructure;

      //PIO1_1 STB,注意不能同时初始化多个IO

      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;

      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Level_2;

      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;

      GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;

      GPIO_Init(GPIO1, &GPIO_InitStructure);

     

      //PIO1_4 CLK,注意不能同时初始化多个IO

      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;

      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Level_2;

      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;

      GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;

      GPIO_Init(GPIO1, &GPIO_InitStructure);

     

      //PIO1_5 DIO,注意不能同时初始化多个IO

      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;

      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Level_2;

      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;

      GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;

      GPIO_Init(GPIO1, &GPIO_InitStructure);

      //初始化io的电平

      GUA_STB_H;

      GUA_DIO_H;

      GUA_CLK_H;

}

//**********************************************************************

//name:         GUA_HT1628_SendCMD

//introduce:    发送指令函数

//parameter:    nGUA_CMD:要发送的指令

//return:       none

//author:       甜甜的大香瓜

//email:        897503845@qq.com

//shop:         opengua.taobao.com

//changetime:   2023.02.02

//**********************************************************************

static void GUA_HT1628_SendCMD(GUA_U8 nGUA_CMD)

{

  GUA_U8 i;

      //拉高

      GUA_STB_H;

      GUA_Delay_Us(1);

     

      //拉低

      GUA_STB_L;

      GUA_Delay_Us(1);

     

     

      //按位写入

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

  {   

    GUA_CLK_L;

           GUA_Delay_Us(1);

          

    if(nGUA_CMD & 0x01)

    {

      GUA_DIO_H;

    }

    else 

    {

      GUA_DIO_L;

    }     

    nGUA_CMD >>= 1;

          

    GUA_CLK_H;

           GUA_Delay_Us(1);

  }

}

//**********************************************************************

//name:         GUA_HT1628_SendData

//introduce:    发送数据函数

//parameter:    nGUA_Data:要发送的数据

//return:       none

//author:       甜甜的大香瓜

//email:        897503845@qq.com

//shop:         opengua.taobao.com

//changetime:   2023.02.02

//**********************************************************************

static void GUA_HT1628_SendData(GUA_U8 nGUA_Data)

{

  GUA_U8 i;

      //按位写入

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

  {   

    GUA_CLK_L;

           GUA_Delay_Us(1);

          

    if (nGUA_Data & 0x01)  

    {

      GUA_DIO_H;

    }

    else 

    {

      GUA_DIO_L;

    }

    nGUA_Data >>= 1;

          

    GUA_CLK_H;

           GUA_Delay_Us(1);

  }

}

//**********************************************************************

//name:         GUA_HT1628_Display

//introduce:    将结构体数据对应显示到led上

//parameter:    none

//return:       none

//author:       甜甜的大香瓜

//email:        897503845@qq.com

//shop:         opengua.taobao.com

//changetime:   2023.02.02

//**********************************************************************

void GUA_HT1628_Display(void)

{

      GUA_U8 i = 0;

      //将结构体数据转换到数组中

      GUA_HT1628_DataConvert();

     

  //3条设置指令

  GUA_HT1628_SendCMD(0x03);   //指令1 7位10段

  GUA_HT1628_SendCMD(0x40);   //指令2 地址自动增加模式

  GUA_HT1628_SendCMD(0xC0);   //指令3 设置显示地址为00

      //指令3带的14个字节数据初始化

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

      {

           GUA_HT1628_SendData(gGUA_HT1628_Ram[i]);    

      }

 

      //最后一条设置指令

  GUA_HT1628_SendCMD((0x80|stGUA_HT1628_Display.pulse_width|stGUA_HT1628_Display.onoff));

}

//**********************************************************************

//name:         GUA_HT1628_Init

//introduce:    初始化函数

//parameter:    none

//return:       none

//author:       甜甜的大香瓜

//email:        897503845@qq.com

//shop:         opengua.taobao.com

//changetime:   2023.02.02

//**********************************************************************

void GUA_HT1628_Init(void)

{

      //初始化IO

      GUA_HT1628_GPIO_Init();

     

      //延时,如果不加延时,全速时会写入不正常

      GUA_Delay_Ms(1);

     

      //填充初始数据

      stGUA_HT1628_Display.left_button = GUA_LIGHT_PART_ON;

      stGUA_HT1628_Display.right_button = GUA_LIGHT_PART_ON;

      stGUA_HT1628_Display.num1 = GUA_LIGHT_NUMBER8;

      stGUA_HT1628_Display.num2 = GUA_LIGHT_NUMBER8;

      stGUA_HT1628_Display.num3 = GUA_LIGHT_NUMBER8;

      stGUA_HT1628_Display.num4 = GUA_LIGHT_NUMBER8;

      stGUA_HT1628_Display.num5 = GUA_LIGHT_NUMBER8;

      stGUA_HT1628_Display.num6 = GUA_LIGHT_NUMBER8;

      stGUA_HT1628_Display.num7 = GUA_LIGHT_NUMBER8;

      stGUA_HT1628_Display.lb = GUA_LIGHT_PART_ON;

      stGUA_HT1628_Display.kg = GUA_LIGHT_PART_ON;

      stGUA_HT1628_Display.oz = GUA_LIGHT_PART_ON;

      stGUA_HT1628_Display.g = GUA_LIGHT_PART_ON;

      stGUA_HT1628_Display.point = GUA_LIGHT_PART_ON;

      stGUA_HT1628_Display.pulse_width = GUA_LIGHT_PULSE_WIDTH_13_16;   

      stGUA_HT1628_Display.onoff = GUA_LIGHT_ON;  

     

      //数据显示

      GUA_HT1628_Display();

}

2)编写驱动头文件GUA_HT1628.h

(存放在“……\Projects\MT006_StdPeriph_Templates\GUA”)

//**********************************************************************

//name:         GUA_HT1628.h

//introduce:    LED驱动的头文件

//author:       甜甜的大香瓜     

//email:        897503845@qq.com  

//shop:         opengua.taobao.com

//changetime:   2023.02.02

//**********************************************************************

#ifndef _GUA_HT1628_H_

#define _GUA_HT1628_H_

/*********************宏定义************************/

//类型宏

#ifndef GUA_C

typedef char GUA_C;

#endif

#ifndef GUA_U8

typedef unsigned char GUA_U8;

#endif

#ifndef GUA_8

typedef signed char GUA_8;

#endif

#ifndef GUA_U16

typedef unsigned short GUA_U16;

#endif

#ifndef GUA_16

typedef signed short GUA_16;

#endif

#ifndef GUA_U32

typedef unsigned long GUA_U32;

#endif

#ifndef GUA_32

typedef signed long GUA_32;

#endif

//显示结构体使用的宏

//数码管之外的灯用的宏

#define GUA_LIGHT_PART_ON                          1        //开启对应功能的灯

#define GUA_LIGHT_PART_OFF                     0        //关闭对应功能的灯

//数码管用的宏

#define GUA_LIGHT_NUMBER0                          0

#define GUA_LIGHT_NUMBER1                          1

#define GUA_LIGHT_NUMBER2                          2

#define GUA_LIGHT_NUMBER3                          3

#define GUA_LIGHT_NUMBER4                          4

#define GUA_LIGHT_NUMBER5                          5

#define GUA_LIGHT_NUMBER6                           6

#define GUA_LIGHT_NUMBER7                          7

#define GUA_LIGHT_NUMBER8                          8

#define GUA_LIGHT_NUMBER9                          9

#define GUA_LIGHT_NUMBER_OFF                   255

//控制亮度的宏

#define GUA_LIGHT_PULSE_WIDTH_1_16   0        //PWM 1/16 最暗

#define GUA_LIGHT_PULSE_WIDTH_2_16   1        //PWM 2/16

#define GUA_LIGHT_PULSE_WIDTH_4_16   2        //PWM 4/16

#define GUA_LIGHT_PULSE_WIDTH_10_16  3        //PWM 10/16

#define GUA_LIGHT_PULSE_WIDTH_11_16  4        //PWM 11/16

#define GUA_LIGHT_PULSE_WIDTH_12_16  5        //PWM 12/16

#define GUA_LIGHT_PULSE_WIDTH_13_16  6        //PWM 13/16 最亮

//控制总开关的宏

#define GUA_LIGHT_ON                                    0x08//打开显示的总开关

#define GUA_LIGHT_OFF                                   0x00//关闭显示的总开关

/*********************外部变量************************/

typedef struct

{

     GUA_U8 left_button;

     GUA_U8 right_button;

     GUA_U8 num1;

     GUA_U8 num2;

     GUA_U8 num3;

     GUA_U8 num4;

     GUA_U8 num5;

     GUA_U8 num6;

     GUA_U8 num7;

     GUA_U8 lb;

     GUA_U8 kg;

     GUA_U8 oz;

     GUA_U8 g;

     GUA_U8 point;

     GUA_U8 pulse_width;

     GUA_U8 onoff;

}GUA_HT1628_DISPLAY;

extern GUA_HT1628_DISPLAY stGUA_HT1628_Display;

/*********************外部函数声明************************/

extern void GUA_HT1628_Display(void);

extern void GUA_HT1628_Init(void);

#endif

3)工程中添加驱动文件

 

4)在MDK设置中添加驱动源文件路径

2、添加库的驱动

1)添加库的驱动文件(为了方便一次性都添加进来,已有则不用添加)

2)添加库的驱动头文件(mt006_conf.h 中)(为了方便一次性都添加进来,已有则不用添加)

3、在应用层中调用

1)添加驱动头文件(main.c中)

#include "GUA_HT1628.h"

2)添加驱动初始化代码(main.c的main函数中)

    //LED初始化

    GUA_HT1628_Init(); 

3)添加测试代码(main.c的main函数中)

                    //填充初始数据

                    stGUA_HT1628_Display.left_button = GUA_LIGHT_PART_ON;

                    stGUA_HT1628_Display.right_button = GUA_LIGHT_PART_OFF;

                    stGUA_HT1628_Display.num1 = GUA_LIGHT_NUMBER0;

                    stGUA_HT1628_Display.num2 = GUA_LIGHT_NUMBER_OFF;

                    stGUA_HT1628_Display.num3 = GUA_LIGHT_NUMBER_OFF;

                    stGUA_HT1628_Display.num4 = GUA_LIGHT_NUMBER_OFF;

                    stGUA_HT1628_Display.num5 = GUA_LIGHT_NUMBER_OFF;

                    stGUA_HT1628_Display.num6 = GUA_LIGHT_NUMBER_OFF;

                    stGUA_HT1628_Display.num7 = GUA_LIGHT_NUMBER_OFF;

                    stGUA_HT1628_Display.lb = GUA_LIGHT_PART_OFF;

                    stGUA_HT1628_Display.kg = GUA_LIGHT_PART_OFF;

                    stGUA_HT1628_Display.oz = GUA_LIGHT_PART_OFF;

                    stGUA_HT1628_Display.g = GUA_LIGHT_PART_OFF;

                    stGUA_HT1628_Display.point = GUA_LIGHT_PART_OFF;

                    stGUA_HT1628_Display.pulse_width = GUA_LIGHT_PULSE_WIDTH_13_16;   

                    stGUA_HT1628_Display.onoff = GUA_LIGHT_ON; 

                   

                    //数据显示

                    GUA_HT1628_Display();  

这里是只亮左边触摸按键边上的3个led灯,其他灭。

八、注意事项

暂无

九、实验结果

暂无

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/41618.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode算法心得——限制条件下元素之间的最小绝对差(TreeSet)

大家好&#xff0c;我是晴天学长&#xff0c;今天用到了Java一个非常实用的类TreeSet&#xff0c;能解决一些看起来棘手的问题。 1 &#xff09;限制条件下元素之间的最小绝对差 2) .算法思路 初始化变量&#xff1a;n为列表nums的大小。 min为整型最大值&#xff0c;用于记录…

python3 0学习笔记之基本知识

0基础学习笔记之基础知识 &#x1f4da; 基础内容1. 条件语句 if - elif - else2. 错误铺捉try - except(一种保险策略&#xff09;3. 四种开发模式4. 函数&#xff1a;def用来定义函数的5. 最大值最小值函数&#xff0c;max &#xff0c;min6. is 严格的相等&#xff0c;is no…

机器学习:基本介绍

机器学习介绍 Hnad-crafted rules Hand-crafted rules&#xff0c;叫做人设定的规则。那假设今天要设计一个机器人&#xff0c;可以帮忙打开或关掉音乐&#xff0c;那做法可能是这样&#xff1a; 设立一条规则&#xff0c;就是写一段程序。如果输入的句子里面看到**“turn of…

C#__使用Type类反射数据的基本用法

// 简单介绍 // 元数据&#xff08;metadata&#xff09;&#xff1a;与程序及其类型有关的数据。 // 反射&#xff1a;一个运行的程序查看本身元数据或其他程序集中的元数据的行为 // Assembly类&#xff1a;允许访问给定程序集的元数据&#xff0c;包含了可以加载和执行程序…

【C# 基础精讲】文件读取和写入

文件读取和写入是计算机程序中常见的操作&#xff0c;用于从文件中读取数据或将数据写入文件。在C#中&#xff0c;使用System.IO命名空间中的类来进行文件读写操作。本文将详细介绍如何在C#中进行文件读取和写入&#xff0c;包括读取文本文件、写入文本文件、读取二进制文件和写…

选择大型语言模型自定义技术

推荐&#xff1a;使用 NSDT场景编辑器 助你快速搭建可二次编辑器的3D应用场景 企业需要自定义模型来根据其特定用例和领域知识定制语言处理功能。自定义LLM使企业能够在特定的行业或组织环境中更高效&#xff0c;更准确地生成和理解文本。 自定义模型使企业能够创建符合其品牌…

BDA初级分析——认识SQL,认识基础语法

一、认识SQL SQL作为实用技能&#xff0c;热度高、应用广泛 在对数据分析人员的调查中SQL长期作为热度排名第-一的编程语言超过Python和R SQL&#xff1a;易学易用&#xff0c;高效强大的语言 SQL&#xff1a;Structured Query Language 结构化查询语言 SQL&#xff1a;易学…

多维时序 | MATLAB实现WOA-CNN-BiGRU-Attention多变量时间序列预测

多维时序 | MATLAB实现WOA-CNN-BiGRU-Attention多变量时间序列预测 目录 多维时序 | MATLAB实现WOA-CNN-BiGRU-Attention多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 多维时序 | MATLAB实现WOA-CNN-BiGRU-Attention多变量时间序列预测 1.程…

java 向上取整 java对小数取整

取整方法 Math.floor(double a) 向下取整 Math.ceil(double a) 向上取整 Math.round(double a) 四舍五入 0.5向下取整 Math.rint(double a) 就近取整 1.6接近2&#xff0c;所以就取2 1.4接近1&#xff0c;所以就取1 1.5跟1和2都很接近&#xff0c;这时候就取偶数 (int) 类型强转…

MongoDB:数据库初步应用

一.连接MongoDB 1.MongoDBCompass连接数据库 连接路径:mongodb://用户名:密码localhost:27017/ 2.创建数据库(集合) MongoDB中数据库被称为集合. MongoDBCompass连接后,点击红色框加号创建集合,点击蓝色框加号创建文档(数据表) 文档中的数据结构(相当于表中的列)设计不用管…

一个DW的计算

一个DW的计算 1- 题目: 已知一个DW1.1 要求: 从DW中取出指定的位的值1.1.1 分析1.1.2 实现1.1.3 简化实现1.1.4 验证 2- 题目: 已知一个DW2.1 要求: 从DW中的指定的P和S,取出指定的位的值2.1.1 分析2.1.2 实现 1- 题目: 已知一个DW 有图中所示一行信息&#xff0c;表示一个DW(…

常见的Web安全漏洞有哪些,Web安全漏洞常用测试方法介绍

Web安全漏洞是指在Web应用程序中存在的可能被攻击者利用的漏洞&#xff0c;正确认识和了解这些漏洞对于Web应用程序的开发和测试至关重要。 一、常见的Web安全漏洞类型&#xff1a; 1、跨站脚本攻击(Cross-Site Scripting&#xff0c;XSS)&#xff1a;攻击者通过向Web页面注入…

养生的年轻人,自己给自己“治病”

【潮汐商业评论/原创】 “最近嘴周总长痘&#xff0c;应该是上火了&#xff0c;我这就下单点金银花露喝。”对于长痘这件事&#xff0c;Anna的第一反应就是“内调”。 “针对性护肤和涂药这些方法治标不治本&#xff0c;就算用完痘痘不泛红且瘪了&#xff0c;身体里的问题没解…

金蝶软件实现Excel数据复制分录信息粘贴到单据体分录行中

>>>适合KIS云专业版V16.0|KIS云旗舰版V7.0|K/3 WISE 14.0等版本<<< 实现Excel数据复制分录信息粘贴到金蝶单据体分录中,在采购订单|采购入库单|销售订单|销售出库单等类型单据中,以少量的必要字段在excel表格中按模板填列好,很方便快捷地复制到金蝶单据表体…

java+springboot+mysql银行管理系统

项目介绍&#xff1a; 使用javaspringbootmysql开发的银行管理系统&#xff0c;系统包含超级管理员、管理员、客户角色&#xff0c;功能如下&#xff1a; 超级管理员&#xff1a;管理员管理&#xff1b;客户管理&#xff1b;卡号管理&#xff08;存款、取款、转账&#xff09…

记一次微信小游戏渗透测试

本文转载于&#xff1a;https://www.freebuf.com/vuls/371936.html 准备工作 因为目标站点只能用微信打开&#xff0c;微信又不能调试看代码。这里推荐可以使用pc端旧版微信3.2.1&#xff0c;具体方法放链接里&#xff1a; https://blog.csdn.net/qq_45863248/article/details/…

Springboot 封装整活 Mybatis 动态查询条件SQL自动组装拼接

前言 ps&#xff1a;最近在参与3100保卫战&#xff0c;战况很激烈&#xff0c;刚刚打完仗&#xff0c;来更新一下之前写了一半的博客。 该篇针对日常写查询的时候&#xff0c;那些动态条件sql 做个简单的封装&#xff0c;自动生成&#xff08;抛砖引玉&#xff0c;搞个小玩具&a…

【Linux操作系统】深入探索Linux进程:创建、共享与管理

进程的创建是Linux系统编程中的重要概念之一。在本节中&#xff0c;我们将介绍进程的创建、获取进程ID和父进程ID、进程共享、exec函数族、wait和waitpid等相关内容。 文章目录 1. 进程的创建1.1 函数原型和返回值1.2 函数示例 2. 获取进程ID和父进程ID2.1 函数原型和返回值2.…

接口测试及接口抓包常用测试工具和方法?

作为测试领域中不可或缺的一环&#xff0c;接口测试和抓包技术在软件开发过程中扮演着至关重要的角色。不论你是新手还是有一些经验的小伙伴&#xff0c;本篇文章都会为你详细介绍接口测试的基本概念、常用测试工具和实际操作技巧&#xff0c;让你轻松掌握这一技能。 接口测试…

Java数字化智慧工地管理云平台源码(人工智能、物联网、大数据)

智慧工地优势&#xff1a;"智慧工地”将施工企业现场视频管理、建筑起重机械安全监控、现场从业人员管理、物料管理、进度管理、扬尘噪声监测等现场设备有机、高效、科学、规范的结合起来真正实现工程项目业务流与现场各类监控源数据流的有效结合与深度配合&#xff0c;实…