建设银行贵阳银行下载官方网站,网页版梦幻西游奔波儿灞,乐清建设网站公司,wordpress 检索插件本文最后修改时间#xff1a;2023年03月30日 一、本节简介
本文介绍如何使用MT32F006连接HT1628芯片驱动LED。 二、实验平台
库版本#xff1a;V1.0.0
编译软件#xff1a;MDK5.37
硬件平台#xff1a;MT32F006开发板#xff08;主芯片MT32F006#xff09;
仿真器2023年03月30日 一、本节简介
本文介绍如何使用MT32F006连接HT1628芯片驱动LED。 二、实验平台
库版本V1.0.0
编译软件MDK5.37
硬件平台MT32F006开发板主芯片MT32F006
仿真器JLINK
传感器HT1628 三、版权声明
1作者甜甜的大香瓜
2声明喝水不忘挖井人转载请注明出处。
3纠错/业务合作897503845qq.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*735个led。
方法一使用mcu来控制35个IO口对应控制35个led此方法非常占用mcu的IO口。
方法二使用mcu来控制用行与列的方式5个IO作为行、7个IO作为列此方法需要5712个IO口也很占用mcu的IO口。
方法三推荐使用mcuHT1628驱动芯片mcu只需要3个IODIO数据信号、CLK时钟信号、STB信号是否有效脚控制HT1628HT1628再去控制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: 897503845qq.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: 897503845qq.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] | (12)|(11)|(10); } else { //D1 D2 D3: 0 0 0 gGUA_HT1628_Ram[12] ~(10); //D1 gGUA_HT1628_Ram[12] ~(11); //D2 gGUA_HT1628_Ram[12] ~(12); //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] | (13)|(12)|(11); } else { //D62 D63 D64:0 0 0 gGUA_HT1628_Ram[0] ~(11); //D62 gGUA_HT1628_Ram[0] ~(12); //D63 gGUA_HT1628_Ram[0] ~(13); //D64 } //lb D22 if(stGUA_HT1628_Display.lb GUA_LIGHT_PART_ON) { gGUA_HT1628_Ram[8] | (11); } else { gGUA_HT1628_Ram[8] ~(11); } //kg D23 if(stGUA_HT1628_Display.kg GUA_LIGHT_PART_ON) { gGUA_HT1628_Ram[8] | (12); } else { gGUA_HT1628_Ram[8] ~(12); } //oz D60 if(stGUA_HT1628_Display.oz GUA_LIGHT_PART_ON) { gGUA_HT1628_Ram[3] | (11); } else { gGUA_HT1628_Ram[3] ~(11); } //g D61 if(stGUA_HT1628_Display.g GUA_LIGHT_PART_ON) { gGUA_HT1628_Ram[0] | (10); } else { gGUA_HT1628_Ram[0] ~(10); } //point D45 if(stGUA_HT1628_Display.point GUA_LIGHT_PART_ON) { gGUA_HT1628_Ram[4] | (14); } else { gGUA_HT1628_Ram[4] ~(14); } //num1 D8 D10 D13 D14 D12 D9 D11********************** switch(stGUA_HT1628_Display.num1) { //D8 D10 D13 D14 D12 D9 D111 1 1 1 1 1 0 case GUA_LIGHT_NUMBER0: { gGUA_HT1628_Ram[12] | (17); //D8 gGUA_HT1628_Ram[13] | (11); //D10 gGUA_HT1628_Ram[10] | (12); //D13 gGUA_HT1628_Ram[10] | (13); //D14 gGUA_HT1628_Ram[10] | (11); //D12 gGUA_HT1628_Ram[13] | (10); //D9 gGUA_HT1628_Ram[10] ~(10); //D11 break; } //D8 D10 D13 D14 D12 D9 D110 1 1 0 0 0 0 case GUA_LIGHT_NUMBER1: { gGUA_HT1628_Ram[12] ~(17); //D8 gGUA_HT1628_Ram[13] | (11); //D10 gGUA_HT1628_Ram[10] | (12); //D13 gGUA_HT1628_Ram[10] ~(13); //D14 gGUA_HT1628_Ram[10] ~(11); //D12 gGUA_HT1628_Ram[13] ~(10); //D9 gGUA_HT1628_Ram[10] ~(10); //D11 break; } //D8 D10 D13 D14 D12 D9 D111 1 0 1 1 0 1 case GUA_LIGHT_NUMBER2: { gGUA_HT1628_Ram[12] | (17); //D8 gGUA_HT1628_Ram[13] | (11); //D10 gGUA_HT1628_Ram[10] ~(12); //D13 gGUA_HT1628_Ram[10] | (13); //D14 gGUA_HT1628_Ram[10] | (11); //D12 gGUA_HT1628_Ram[13] ~(10); //D9 gGUA_HT1628_Ram[10] | (10); //D11 break; } //D8 D10 D13 D14 D12 D9 D111 1 1 1 0 0 1 case GUA_LIGHT_NUMBER3: { gGUA_HT1628_Ram[12] | (17); //D8 gGUA_HT1628_Ram[13] | (11); //D10 gGUA_HT1628_Ram[10] | (12); //D13 gGUA_HT1628_Ram[10] | (13); //D14 gGUA_HT1628_Ram[10] ~(11); //D12 gGUA_HT1628_Ram[13] ~(10); //D9 gGUA_HT1628_Ram[10] | (10); //D11 break; } //D8 D10 D13 D14 D12 D9 D110 1 1 0 0 1 1 case GUA_LIGHT_NUMBER4: { gGUA_HT1628_Ram[12] ~(17); //D8 gGUA_HT1628_Ram[13] | (11); //D10 gGUA_HT1628_Ram[10] | (12); //D13 gGUA_HT1628_Ram[10] ~(13); //D14 gGUA_HT1628_Ram[10] ~(11); //D12 gGUA_HT1628_Ram[13] | (10); //D9 gGUA_HT1628_Ram[10] | (10); //D11 break; } //D8 D10 D13 D14 D12 D9 D111 0 1 1 0 1 1 case GUA_LIGHT_NUMBER5: { gGUA_HT1628_Ram[12] | (17); //D8 gGUA_HT1628_Ram[13] ~(11); //D10 gGUA_HT1628_Ram[10] | (12); //D13 gGUA_HT1628_Ram[10] | (13); //D14 gGUA_HT1628_Ram[10] ~(11); //D12 gGUA_HT1628_Ram[13] | (10); //D9 gGUA_HT1628_Ram[10] | (10); //D11 break; } //D8 D10 D13 D14 D12 D9 D111 0 1 1 1 1 1 case GUA_LIGHT_NUMBER6: { gGUA_HT1628_Ram[12] | (17); //D8 gGUA_HT1628_Ram[13] ~(11); //D10 gGUA_HT1628_Ram[10] | (12); //D13 gGUA_HT1628_Ram[10] | (13); //D14 gGUA_HT1628_Ram[10] | (11); //D12 gGUA_HT1628_Ram[13] | (10); //D9 gGUA_HT1628_Ram[10] | (10); //D11 break; } //D8 D10 D13 D14 D12 D9 D111 1 1 0 0 0 0 case GUA_LIGHT_NUMBER7: { gGUA_HT1628_Ram[12] | (17); //D8 gGUA_HT1628_Ram[13] | (11); //D10 gGUA_HT1628_Ram[10] | (12); //D13 gGUA_HT1628_Ram[10] ~(13); //D14 gGUA_HT1628_Ram[10] ~(11); //D12 gGUA_HT1628_Ram[13] ~(10); //D9 gGUA_HT1628_Ram[10] ~(10); //D11 break; } //D8 D10 D13 D14 D12 D9 D111 1 1 1 1 1 1 case GUA_LIGHT_NUMBER8: { gGUA_HT1628_Ram[12] | (17); //D8 gGUA_HT1628_Ram[13] | (11); //D10 gGUA_HT1628_Ram[10] | (12); //D13 gGUA_HT1628_Ram[10] | (13); //D14 gGUA_HT1628_Ram[10] | (11); //D12 gGUA_HT1628_Ram[13] | (10); //D9 gGUA_HT1628_Ram[10] | (10); //D11 break; } //D8 D10 D13 D14 D12 D9 D111 1 1 1 0 1 1 case GUA_LIGHT_NUMBER9: { gGUA_HT1628_Ram[12] | (17); //D8 gGUA_HT1628_Ram[13] | (11); //D10 gGUA_HT1628_Ram[10] | (12); //D13 gGUA_HT1628_Ram[10] | (13); //D14 gGUA_HT1628_Ram[10] ~(11); //D12 gGUA_HT1628_Ram[13] | (10); //D9 gGUA_HT1628_Ram[10] | (10); //D11 break; } //D8 D10 D13 D14 D12 D9 D110 0 0 0 0 0 0 default: { gGUA_HT1628_Ram[12] ~(17); //D8 gGUA_HT1628_Ram[13] ~(11); //D10 gGUA_HT1628_Ram[10] ~(12); //D13 gGUA_HT1628_Ram[10] ~(13); //D14 gGUA_HT1628_Ram[10] ~(11); //D12 gGUA_HT1628_Ram[13] ~(10); //D9 gGUA_HT1628_Ram[10] ~(10); //D11 break; } } //num2 D15 D17 D20 D21 D19 D16 D18********************** switch(stGUA_HT1628_Display.num2) { //D15 D17 D20 D21 D19 D16 D181 1 1 1 1 1 0 case GUA_LIGHT_NUMBER0: { gGUA_HT1628_Ram[10] | (14); //D15 gGUA_HT1628_Ram[10] | (16); //D17 gGUA_HT1628_Ram[11] | (11); //D20 gGUA_HT1628_Ram[8] | (10); //D21 gGUA_HT1628_Ram[11] | (10); //D19 gGUA_HT1628_Ram[10] | (15); //D16 gGUA_HT1628_Ram[10] ~(17); //D18 break; } //D15 D17 D20 D21 D19 D16 D180 1 1 0 0 0 0 case GUA_LIGHT_NUMBER1: { gGUA_HT1628_Ram[10] ~(14); //D15 gGUA_HT1628_Ram[10] | (16); //D17 gGUA_HT1628_Ram[11] | (11); //D20 gGUA_HT1628_Ram[8] ~(10); //D21 gGUA_HT1628_Ram[11] ~(10); //D19 gGUA_HT1628_Ram[10] ~(15); //D16 gGUA_HT1628_Ram[10] ~(17); //D18 break; } //D15 D17 D20 D21 D19 D16 D181 1 0 1 1 0 1 case GUA_LIGHT_NUMBER2: { gGUA_HT1628_Ram[10] | (14); //D15 gGUA_HT1628_Ram[10] | (16); //D17 gGUA_HT1628_Ram[11] ~(11); //D20 gGUA_HT1628_Ram[8] | (10); //D21 gGUA_HT1628_Ram[11] | (10); //D19 gGUA_HT1628_Ram[10] ~(15); //D16 gGUA_HT1628_Ram[10] | (17); //D18 break; } //D15 D17 D20 D21 D19 D16 D181 1 1 1 0 0 1 case GUA_LIGHT_NUMBER3: { gGUA_HT1628_Ram[10] | (14); //D15 gGUA_HT1628_Ram[10] | (16); //D17 gGUA_HT1628_Ram[11] | (11); //D20 gGUA_HT1628_Ram[8] | (10); //D21 gGUA_HT1628_Ram[11] ~(10); //D19 gGUA_HT1628_Ram[10] ~(15); //D16 gGUA_HT1628_Ram[10] | (17); //D18 break; } //D15 D17 D20 D21 D19 D16 D180 1 1 0 0 1 1 case GUA_LIGHT_NUMBER4: { gGUA_HT1628_Ram[10] ~(14); //D15 gGUA_HT1628_Ram[10] | (16); //D17 gGUA_HT1628_Ram[11] | (11); //D20 gGUA_HT1628_Ram[8] ~(10); //D21 gGUA_HT1628_Ram[11] ~(10); //D19 gGUA_HT1628_Ram[10] | (15); //D16 gGUA_HT1628_Ram[10] | (17); //D18 break; } //D15 D17 D20 D21 D19 D16 D181 0 1 1 0 1 1 case GUA_LIGHT_NUMBER5: { gGUA_HT1628_Ram[10] | (14); //D15 gGUA_HT1628_Ram[10] ~(16); //D17 gGUA_HT1628_Ram[11] | (11); //D20 gGUA_HT1628_Ram[8] | (10); //D21 gGUA_HT1628_Ram[11] ~(10); //D19 gGUA_HT1628_Ram[10] | (15); //D16 gGUA_HT1628_Ram[10] | (17); //D18 break; } //D15 D17 D20 D21 D19 D16 D181 0 1 1 1 1 1 case GUA_LIGHT_NUMBER6: { gGUA_HT1628_Ram[10] | (14); //D15 gGUA_HT1628_Ram[10] ~(16); //D17 gGUA_HT1628_Ram[11] | (11); //D20 gGUA_HT1628_Ram[8] | (10); //D21 gGUA_HT1628_Ram[11] | (10); //D19 gGUA_HT1628_Ram[10] | (15); //D16 gGUA_HT1628_Ram[10] | (17); //D18 break; } //D15 D17 D20 D21 D19 D16 D181 1 1 0 0 0 0 case GUA_LIGHT_NUMBER7: { gGUA_HT1628_Ram[10] | (14); //D15 gGUA_HT1628_Ram[10] | (16); //D17 gGUA_HT1628_Ram[11] | (11); //D20 gGUA_HT1628_Ram[8] ~(10); //D21 gGUA_HT1628_Ram[11] ~(10); //D19 gGUA_HT1628_Ram[10] ~(15); //D16 gGUA_HT1628_Ram[10] ~(17); //D18 break; } //D15 D17 D20 D21 D19 D16 D181 1 1 1 1 1 1 case GUA_LIGHT_NUMBER8: { gGUA_HT1628_Ram[10] | (14); //D15 gGUA_HT1628_Ram[10] | (16); //D17 gGUA_HT1628_Ram[11] | (11); //D20 gGUA_HT1628_Ram[8] | (10); //D21 gGUA_HT1628_Ram[11] | (10); //D19 gGUA_HT1628_Ram[10] | (15); //D16 gGUA_HT1628_Ram[10] | (17); //D18 break; } //D15 D17 D20 D21 D19 D16 D181 1 1 1 0 1 1 case GUA_LIGHT_NUMBER9: { gGUA_HT1628_Ram[10] | (14); //D15 gGUA_HT1628_Ram[10] | (16); //D17 gGUA_HT1628_Ram[11] | (11); //D20 gGUA_HT1628_Ram[8] | (10); //D21 gGUA_HT1628_Ram[11] ~(10); //D19 gGUA_HT1628_Ram[10] | (15); //D16 gGUA_HT1628_Ram[10] | (17); //D18 break; } //D15 D17 D20 D21 D19 D16 D180 0 0 0 0 0 0 default: { gGUA_HT1628_Ram[10] ~(14); //D15 gGUA_HT1628_Ram[10] ~(16); //D17 gGUA_HT1628_Ram[11] ~(11); //D20 gGUA_HT1628_Ram[8] ~(10); //D21 gGUA_HT1628_Ram[11] ~(10); //D19 gGUA_HT1628_Ram[10] ~(15); //D16 gGUA_HT1628_Ram[10] ~(17); //D18 break; } } //num3 D24 D26 D29 D30 D28 D25 D27********************** switch(stGUA_HT1628_Display.num3) { //D24 D26 D29 D30 D28 D25 D271 1 1 1 1 1 0 case GUA_LIGHT_NUMBER0: { gGUA_HT1628_Ram[8] | (13); //D24 gGUA_HT1628_Ram[8] | (15); //D26 gGUA_HT1628_Ram[9] | (10); //D29 gGUA_HT1628_Ram[9] | (11); //D30 gGUA_HT1628_Ram[8] | (17); //D28 gGUA_HT1628_Ram[8] | (14); //D25 gGUA_HT1628_Ram[8] ~(16); //D27 break; } //D24 D26 D29 D30 D28 D25 D270 1 1 0 0 0 0 case GUA_LIGHT_NUMBER1: { gGUA_HT1628_Ram[8] ~(13); //D24 gGUA_HT1628_Ram[8] | (15); //D26 gGUA_HT1628_Ram[9] | (10); //D29 gGUA_HT1628_Ram[9] ~(11); //D30 gGUA_HT1628_Ram[8] ~(17); //D28 gGUA_HT1628_Ram[8] ~(14); //D25 gGUA_HT1628_Ram[8] ~(16); //D27 break; } //D24 D26 D29 D30 D28 D25 D271 1 0 1 1 0 1 case GUA_LIGHT_NUMBER2: { gGUA_HT1628_Ram[8] | (13); //D24 gGUA_HT1628_Ram[8] | (15); //D26 gGUA_HT1628_Ram[9] ~(10); //D29 gGUA_HT1628_Ram[9] | (11); //D30 gGUA_HT1628_Ram[8] | (17); //D28 gGUA_HT1628_Ram[8] ~(14); //D25 gGUA_HT1628_Ram[8] | (16); //D27 break; } //D24 D26 D29 D30 D28 D25 D271 1 1 1 0 0 1 case GUA_LIGHT_NUMBER3: { gGUA_HT1628_Ram[8] | (13); //D24 gGUA_HT1628_Ram[8] | (15); //D26 gGUA_HT1628_Ram[9] | (10); //D29 gGUA_HT1628_Ram[9] | (11); //D30 gGUA_HT1628_Ram[8] ~(17); //D28 gGUA_HT1628_Ram[8] ~(14); //D25 gGUA_HT1628_Ram[8] | (16); //D27 break; } //D24 D26 D29 D30 D28 D25 D270 1 1 0 0 1 1 case GUA_LIGHT_NUMBER4: { gGUA_HT1628_Ram[8] ~(13); //D24 gGUA_HT1628_Ram[8] | (15); //D26 gGUA_HT1628_Ram[9] | (10); //D29 gGUA_HT1628_Ram[9] ~(11); //D30 gGUA_HT1628_Ram[8] ~(17); //D28 gGUA_HT1628_Ram[8] | (14); //D25 gGUA_HT1628_Ram[8] | (16); //D27 break; } //D24 D26 D29 D30 D28 D25 D271 0 1 1 0 1 1 case GUA_LIGHT_NUMBER5: { gGUA_HT1628_Ram[8] | (13); //D24 gGUA_HT1628_Ram[8] ~(15); //D26 gGUA_HT1628_Ram[9] | (10); //D29 gGUA_HT1628_Ram[9] | (11); //D30 gGUA_HT1628_Ram[8] ~(17); //D28 gGUA_HT1628_Ram[8] | (14); //D25 gGUA_HT1628_Ram[8] | (16); //D27 break; } //D24 D26 D29 D30 D28 D25 D271 0 1 1 1 1 1 case GUA_LIGHT_NUMBER6: { gGUA_HT1628_Ram[8] | (13); //D24 gGUA_HT1628_Ram[8] ~(15); //D26 gGUA_HT1628_Ram[9] | (10); //D29 gGUA_HT1628_Ram[9] | (11); //D30 gGUA_HT1628_Ram[8] | (17); //D28 gGUA_HT1628_Ram[8] | (14); //D25 gGUA_HT1628_Ram[8] | (16); //D27 break; } //D24 D26 D29 D30 D28 D25 D271 1 1 0 0 0 0 case GUA_LIGHT_NUMBER7: { gGUA_HT1628_Ram[8] | (13); //D24 gGUA_HT1628_Ram[8] | (15); //D26 gGUA_HT1628_Ram[9] | (10); //D29 gGUA_HT1628_Ram[9] ~(11); //D30 gGUA_HT1628_Ram[8] ~(17); //D28 gGUA_HT1628_Ram[8] ~(14); //D25 gGUA_HT1628_Ram[8] ~(16); //D27 break; } //D24 D26 D29 D30 D28 D25 D271 1 1 1 1 1 1 case GUA_LIGHT_NUMBER8: { gGUA_HT1628_Ram[8] | (13); //D24 gGUA_HT1628_Ram[8] | (15); //D26 gGUA_HT1628_Ram[9] | (10); //D29 gGUA_HT1628_Ram[9] | (11); //D30 gGUA_HT1628_Ram[8] | (17); //D28 gGUA_HT1628_Ram[8] | (14); //D25 gGUA_HT1628_Ram[8] | (16); //D27 break; } //D24 D26 D29 D30 D28 D25 D271 1 1 1 0 1 1 case GUA_LIGHT_NUMBER9: { gGUA_HT1628_Ram[8] | (13); //D24 gGUA_HT1628_Ram[8] | (15); //D26 gGUA_HT1628_Ram[9] | (10); //D29 gGUA_HT1628_Ram[9] | (11); //D30 gGUA_HT1628_Ram[8] ~(17); //D28 gGUA_HT1628_Ram[8] | (14); //D25 gGUA_HT1628_Ram[8] | (16); //D27 break; } //D24 D26 D29 D30 D28 D25 D270 0 0 0 0 0 0 default: { gGUA_HT1628_Ram[8] ~(13); //D24 gGUA_HT1628_Ram[8] ~(15); //D26 gGUA_HT1628_Ram[9] ~(10); //D29 gGUA_HT1628_Ram[9] ~(11); //D30 gGUA_HT1628_Ram[8] ~(17); //D28 gGUA_HT1628_Ram[8] ~(14); //D25 gGUA_HT1628_Ram[8] ~(16); //D27 break; } } //num4 D31 D33 D36 D37 D35 D32 D34********************** switch(stGUA_HT1628_Display.num4) { //D31 D33 D36 D37 D35 D32 D341 1 1 1 1 1 0 case GUA_LIGHT_NUMBER0: { gGUA_HT1628_Ram[6] | (10); //D31 gGUA_HT1628_Ram[6] | (12); //D33 gGUA_HT1628_Ram[6] | (15); //D36 gGUA_HT1628_Ram[6] | (16); //D37 gGUA_HT1628_Ram[6] | (14); //D35 gGUA_HT1628_Ram[6] | (11); //D32 gGUA_HT1628_Ram[6] ~(13); //D34 break; } //D31 D33 D36 D37 D35 D32 D340 1 1 0 0 0 0 case GUA_LIGHT_NUMBER1: { gGUA_HT1628_Ram[6] ~(10); //D31 gGUA_HT1628_Ram[6] | (12); //D33 gGUA_HT1628_Ram[6] | (15); //D36 gGUA_HT1628_Ram[6] ~(16); //D37 gGUA_HT1628_Ram[6] ~(14); //D35 gGUA_HT1628_Ram[6] ~(11); //D32 gGUA_HT1628_Ram[6] ~(13); //D34 break; } //D31 D33 D36 D37 D35 D32 D341 1 0 1 1 0 1 case GUA_LIGHT_NUMBER2: { gGUA_HT1628_Ram[6] | (10); //D31 gGUA_HT1628_Ram[6] | (12); //D33 gGUA_HT1628_Ram[6] ~(15); //D36 gGUA_HT1628_Ram[6] | (16); //D37 gGUA_HT1628_Ram[6] | (14); //D35 gGUA_HT1628_Ram[6] ~(11); //D32 gGUA_HT1628_Ram[6] | (13); //D34 break; } //D31 D33 D36 D37 D35 D32 D341 1 1 1 0 0 1 case GUA_LIGHT_NUMBER3: { gGUA_HT1628_Ram[6] | (10); //D31 gGUA_HT1628_Ram[6] | (12); //D33 gGUA_HT1628_Ram[6] | (15); //D36 gGUA_HT1628_Ram[6] | (16); //D37 gGUA_HT1628_Ram[6] ~(14); //D35 gGUA_HT1628_Ram[6] ~(11); //D32 gGUA_HT1628_Ram[6] | (13); //D34 break; } //D31 D33 D36 D37 D35 D32 D340 1 1 0 0 1 1 case GUA_LIGHT_NUMBER4: { gGUA_HT1628_Ram[6] ~(10); //D31 gGUA_HT1628_Ram[6] | (12); //D33 gGUA_HT1628_Ram[6] | (15); //D36 gGUA_HT1628_Ram[6] ~(16); //D37 gGUA_HT1628_Ram[6] ~(14); //D35 gGUA_HT1628_Ram[6] | (11); //D32 gGUA_HT1628_Ram[6] | (13); //D34 break; } //D31 D33 D36 D37 D35 D32 D341 0 1 1 0 1 1 case GUA_LIGHT_NUMBER5: { gGUA_HT1628_Ram[6] | (10); //D31 gGUA_HT1628_Ram[6] ~(12); //D33 gGUA_HT1628_Ram[6] | (15); //D36 gGUA_HT1628_Ram[6] | (16); //D37 gGUA_HT1628_Ram[6] ~(14); //D35 gGUA_HT1628_Ram[6] | (11); //D32 gGUA_HT1628_Ram[6] | (13); //D34 break; } //D31 D33 D36 D37 D35 D32 D341 0 1 1 1 1 1 case GUA_LIGHT_NUMBER6: { gGUA_HT1628_Ram[6] | (10); //D31 gGUA_HT1628_Ram[6] ~(12); //D33 gGUA_HT1628_Ram[6] | (15); //D36 gGUA_HT1628_Ram[6] | (16); //D37 gGUA_HT1628_Ram[6] | (14); //D35 gGUA_HT1628_Ram[6] | (11); //D32 gGUA_HT1628_Ram[6] | (13); //D34 break; } //D31 D33 D36 D37 D35 D32 D341 1 1 0 0 0 0 case GUA_LIGHT_NUMBER7: { gGUA_HT1628_Ram[6] | (10); //D31 gGUA_HT1628_Ram[6] | (12); //D33 gGUA_HT1628_Ram[6] | (15); //D36 gGUA_HT1628_Ram[6] ~(16); //D37 gGUA_HT1628_Ram[6] ~(14); //D35 gGUA_HT1628_Ram[6] ~(11); //D32 gGUA_HT1628_Ram[6] ~(13); //D34 break; } //D31 D33 D36 D37 D35 D32 D341 1 1 1 1 1 1 case GUA_LIGHT_NUMBER8: { gGUA_HT1628_Ram[6] | (10); //D31 gGUA_HT1628_Ram[6] | (12); //D33 gGUA_HT1628_Ram[6] | (15); //D36 gGUA_HT1628_Ram[6] | (16); //D37 gGUA_HT1628_Ram[6] | (14); //D35 gGUA_HT1628_Ram[6] | (11); //D32 gGUA_HT1628_Ram[6] | (13); //D34 break; } //D31 D33 D36 D37 D35 D32 D341 1 1 1 0 1 1 case GUA_LIGHT_NUMBER9: { gGUA_HT1628_Ram[6] | (10); //D31 gGUA_HT1628_Ram[6] | (12); //D33 gGUA_HT1628_Ram[6] | (15); //D36 gGUA_HT1628_Ram[6] | (16); //D37 gGUA_HT1628_Ram[6] ~(14); //D35 gGUA_HT1628_Ram[6] | (11); //D32 gGUA_HT1628_Ram[6] | (13); //D34 break; } //D31 D33 D36 D37 D35 D32 D340 0 0 0 0 0 0 default: { gGUA_HT1628_Ram[6] ~(10); //D31 gGUA_HT1628_Ram[6] ~(12); //D33 gGUA_HT1628_Ram[6] ~(15); //D36 gGUA_HT1628_Ram[6] ~(16); //D37 gGUA_HT1628_Ram[6] ~(14); //D35 gGUA_HT1628_Ram[6] ~(11); //D32 gGUA_HT1628_Ram[6] ~(13); //D34 break; } } //num5 D38 D40 D43 D44 D42 D39 D41********************** switch(stGUA_HT1628_Display.num5) { //D38 D40 D43 D44 D42 D39 D411 1 1 1 1 1 0 case GUA_LIGHT_NUMBER0: { gGUA_HT1628_Ram[6] | (17); //D38 gGUA_HT1628_Ram[7] | (11); //D40 gGUA_HT1628_Ram[4] | (12); //D43 gGUA_HT1628_Ram[4] | (13); //D44 gGUA_HT1628_Ram[4] | (11); //D42 gGUA_HT1628_Ram[7] | (10); //D39 gGUA_HT1628_Ram[4] ~(10); //D41 break; } //D38 D40 D43 D44 D42 D39 D410 1 1 0 0 0 0 case GUA_LIGHT_NUMBER1: { gGUA_HT1628_Ram[6] ~(17); //D38 gGUA_HT1628_Ram[7] | (11); //D40 gGUA_HT1628_Ram[4] | (12); //D43 gGUA_HT1628_Ram[4] ~(13); //D44 gGUA_HT1628_Ram[4] ~(11); //D42 gGUA_HT1628_Ram[7] ~(10); //D39 gGUA_HT1628_Ram[4] ~(10); //D41 break; } //D38 D40 D43 D44 D42 D39 D411 1 0 1 1 0 1 case GUA_LIGHT_NUMBER2: { gGUA_HT1628_Ram[6] | (17); //D38 gGUA_HT1628_Ram[7] | (11); //D40 gGUA_HT1628_Ram[4] ~(12); //D43 gGUA_HT1628_Ram[4] | (13); //D44 gGUA_HT1628_Ram[4] | (11); //D42 gGUA_HT1628_Ram[7] ~(10); //D39 gGUA_HT1628_Ram[4] | (10); //D41 break; } //D38 D40 D43 D44 D42 D39 D411 1 1 1 0 0 1 case GUA_LIGHT_NUMBER3: { gGUA_HT1628_Ram[6] | (17); //D38 gGUA_HT1628_Ram[7] | (11); //D40 gGUA_HT1628_Ram[4] | (12); //D43 gGUA_HT1628_Ram[4] | (13); //D44 gGUA_HT1628_Ram[4] ~(11); //D42 gGUA_HT1628_Ram[7] ~(10); //D39 gGUA_HT1628_Ram[4] | (10); //D41 break; } //D38 D40 D43 D44 D42 D39 D410 1 1 0 0 1 1 case GUA_LIGHT_NUMBER4: { gGUA_HT1628_Ram[6] ~(17); //D38 gGUA_HT1628_Ram[7] | (11); //D40 gGUA_HT1628_Ram[4] | (12); //D43 gGUA_HT1628_Ram[4] ~(13); //D44 gGUA_HT1628_Ram[4] ~(11); //D42 gGUA_HT1628_Ram[7] | (10); //D39 gGUA_HT1628_Ram[4] | (10); //D41 break; } //D38 D40 D43 D44 D42 D39 D411 0 1 1 0 1 1 case GUA_LIGHT_NUMBER5: { gGUA_HT1628_Ram[6] | (17); //D38 gGUA_HT1628_Ram[7] ~(11); //D40 gGUA_HT1628_Ram[4] | (12); //D43 gGUA_HT1628_Ram[4] | (13); //D44 gGUA_HT1628_Ram[4] ~(11); //D42 gGUA_HT1628_Ram[7] | (10); //D39 gGUA_HT1628_Ram[4] | (10); //D41 break; } //D38 D40 D43 D44 D42 D39 D411 0 1 1 1 1 1 case GUA_LIGHT_NUMBER6: { gGUA_HT1628_Ram[6] | (17); //D38 gGUA_HT1628_Ram[7] ~(11); //D40 gGUA_HT1628_Ram[4] | (12); //D43 gGUA_HT1628_Ram[4] | (13); //D44 gGUA_HT1628_Ram[4] | (11); //D42 gGUA_HT1628_Ram[7] | (10); //D39 gGUA_HT1628_Ram[4] | (10); //D41 break; } //D38 D40 D43 D44 D42 D39 D411 1 1 0 0 0 0 case GUA_LIGHT_NUMBER7: { gGUA_HT1628_Ram[6] | (17); //D38 gGUA_HT1628_Ram[7] | (11); //D40 gGUA_HT1628_Ram[4] | (12); //D43 gGUA_HT1628_Ram[4] ~(13); //D44 gGUA_HT1628_Ram[4] ~(11); //D42 gGUA_HT1628_Ram[7] ~(10); //D39 gGUA_HT1628_Ram[4] ~(10); //D41 break; } //D38 D40 D43 D44 D42 D39 D411 1 1 1 1 1 1 case GUA_LIGHT_NUMBER8: { gGUA_HT1628_Ram[6] | (17); //D38 gGUA_HT1628_Ram[7] | (11); //D40 gGUA_HT1628_Ram[4] | (12); //D43 gGUA_HT1628_Ram[4] | (13); //D44 gGUA_HT1628_Ram[4] | (11); //D42 gGUA_HT1628_Ram[7] | (10); //D39 gGUA_HT1628_Ram[4] | (10); //D41 break; } //D38 D40 D43 D44 D42 D39 D411 1 1 1 0 1 1 case GUA_LIGHT_NUMBER9: { gGUA_HT1628_Ram[6] | (17); //D38 gGUA_HT1628_Ram[7] | (11); //D40 gGUA_HT1628_Ram[4] | (12); //D43 gGUA_HT1628_Ram[4] | (13); //D44 gGUA_HT1628_Ram[4] ~(11); //D42 gGUA_HT1628_Ram[7] | (10); //D39 gGUA_HT1628_Ram[4] | (10); //D41 break; } //D38 D40 D43 D44 D42 D39 D410 0 0 0 0 0 0 default: { gGUA_HT1628_Ram[6] ~(17); //D38 gGUA_HT1628_Ram[7] ~(11); //D40 gGUA_HT1628_Ram[4] ~(12); //D43 gGUA_HT1628_Ram[4] ~(13); //D44 gGUA_HT1628_Ram[4] ~(11); //D42 gGUA_HT1628_Ram[7] ~(10); //D39 gGUA_HT1628_Ram[4] ~(10); //D41 break; } } //num6 D46 D48 D51 D52 D50 D47 D49********************** switch(stGUA_HT1628_Display.num6) { //D46 D48 D51 D52 D50 D47 D491 1 1 1 1 1 0 case GUA_LIGHT_NUMBER0: { gGUA_HT1628_Ram[4] | (15); //D46 gGUA_HT1628_Ram[4] | (17); //D48 gGUA_HT1628_Ram[2] | (10); //D51 gGUA_HT1628_Ram[2] | (11); //D52 gGUA_HT1628_Ram[5] | (11); //D50 gGUA_HT1628_Ram[4] | (16); //D47 gGUA_HT1628_Ram[5] ~(10); //D49 break; } //D46 D48 D51 D52 D50 D47 D490 1 1 0 0 0 0 case GUA_LIGHT_NUMBER1: { gGUA_HT1628_Ram[4] ~(15); //D46 gGUA_HT1628_Ram[4] | (17); //D48 gGUA_HT1628_Ram[2] | (10); //D51 gGUA_HT1628_Ram[2] ~(11); //D52 gGUA_HT1628_Ram[5] ~(11); //D50 gGUA_HT1628_Ram[4] ~(16); //D47 gGUA_HT1628_Ram[5] ~(10); //D49 break; } //D46 D48 D51 D52 D50 D47 D491 1 0 1 1 0 1 case GUA_LIGHT_NUMBER2: { gGUA_HT1628_Ram[4] | (15); //D46 gGUA_HT1628_Ram[4] | (17); //D48 gGUA_HT1628_Ram[2] ~(10); //D51 gGUA_HT1628_Ram[2] | (11); //D52 gGUA_HT1628_Ram[5] | (11); //D50 gGUA_HT1628_Ram[4] ~(16); //D47 gGUA_HT1628_Ram[5] | (10); //D49 break; } //D46 D48 D51 D52 D50 D47 D491 1 1 1 0 0 1 case GUA_LIGHT_NUMBER3: { gGUA_HT1628_Ram[4] | (15); //D46 gGUA_HT1628_Ram[4] | (17); //D48 gGUA_HT1628_Ram[2] | (10); //D51 gGUA_HT1628_Ram[2] | (11); //D52 gGUA_HT1628_Ram[5] ~(11); //D50 gGUA_HT1628_Ram[4] ~(16); //D47 gGUA_HT1628_Ram[5] | (10); //D49 break; } //D46 D48 D51 D52 D50 D47 D490 1 1 0 0 1 1 case GUA_LIGHT_NUMBER4: { gGUA_HT1628_Ram[4] ~(15); //D46 gGUA_HT1628_Ram[4] | (17); //D48 gGUA_HT1628_Ram[2] | (10); //D51 gGUA_HT1628_Ram[2] ~(11); //D52 gGUA_HT1628_Ram[5] ~(11); //D50 gGUA_HT1628_Ram[4] | (16); //D47 gGUA_HT1628_Ram[5] | (10); //D49 break; } //D46 D48 D51 D52 D50 D47 D491 0 1 1 0 1 1 case GUA_LIGHT_NUMBER5: { gGUA_HT1628_Ram[4] | (15); //D46 gGUA_HT1628_Ram[4] ~(17); //D48 gGUA_HT1628_Ram[2] | (10); //D51 gGUA_HT1628_Ram[2] | (11); //D52 gGUA_HT1628_Ram[5] ~(11); //D50 gGUA_HT1628_Ram[4] | (16); //D47 gGUA_HT1628_Ram[5] | (10); //D49 break; } //D46 D48 D51 D52 D50 D47 D491 0 1 1 1 1 1 case GUA_LIGHT_NUMBER6: { gGUA_HT1628_Ram[4] | (15); //D46 gGUA_HT1628_Ram[4] ~(17); //D48 gGUA_HT1628_Ram[2] | (10); //D51 gGUA_HT1628_Ram[2] | (11); //D52 gGUA_HT1628_Ram[5] | (11); //D50 gGUA_HT1628_Ram[4] | (16); //D47 gGUA_HT1628_Ram[5] | (10); //D49 break; } //D46 D48 D51 D52 D50 D47 D491 1 1 0 0 0 0 case GUA_LIGHT_NUMBER7: { gGUA_HT1628_Ram[4] | (15); //D46 gGUA_HT1628_Ram[4] | (17); //D48 gGUA_HT1628_Ram[2] | (10); //D51 gGUA_HT1628_Ram[2] ~(11); //D52 gGUA_HT1628_Ram[5] ~(11); //D50 gGUA_HT1628_Ram[4] ~(16); //D47 gGUA_HT1628_Ram[5] ~(10); //D49 break; } //D46 D48 D51 D52 D50 D47 D491 1 1 1 1 1 1 case GUA_LIGHT_NUMBER8: { gGUA_HT1628_Ram[4] | (15); //D46 gGUA_HT1628_Ram[4] | (17); //D48 gGUA_HT1628_Ram[2] | (10); //D51 gGUA_HT1628_Ram[2] | (11); //D52 gGUA_HT1628_Ram[5] | (11); //D50 gGUA_HT1628_Ram[4] | (16); //D47 gGUA_HT1628_Ram[5] | (10); //D49 break; } //D46 D48 D51 D52 D50 D47 D491 1 1 1 0 1 1 case GUA_LIGHT_NUMBER9: { gGUA_HT1628_Ram[4] | (15); //D46 gGUA_HT1628_Ram[4] | (17); //D48 gGUA_HT1628_Ram[2] | (10); //D51 gGUA_HT1628_Ram[2] | (11); //D52 gGUA_HT1628_Ram[5] ~(11); //D50 gGUA_HT1628_Ram[4] | (16); //D47 gGUA_HT1628_Ram[5] | (10); //D49 break; } //D46 D48 D51 D52 D50 D47 D490 0 0 0 0 0 0 default: { gGUA_HT1628_Ram[4] ~(15); //D46 gGUA_HT1628_Ram[4] ~(17); //D48 gGUA_HT1628_Ram[2] ~(10); //D51 gGUA_HT1628_Ram[2] ~(11); //D52 gGUA_HT1628_Ram[5] ~(11); //D50 gGUA_HT1628_Ram[4] ~(16); //D47 gGUA_HT1628_Ram[5] ~(10); //D49 break; } } //num7 D53 D55 D58 D59 D57 D54 D56********************** switch(stGUA_HT1628_Display.num7) { //D53 D55 D58 D59 D57 D54 D561 1 1 1 1 1 0 case GUA_LIGHT_NUMBER0: { gGUA_HT1628_Ram[2] | (12); //D53 gGUA_HT1628_Ram[2] | (14); //D55 gGUA_HT1628_Ram[2] | (17); //D58 gGUA_HT1628_Ram[3] | (10); //D59 gGUA_HT1628_Ram[2] | (16); //D57 gGUA_HT1628_Ram[2] | (13); //D54 gGUA_HT1628_Ram[2] ~(15); //D56 break; } //D53 D55 D58 D59 D57 D54 D560 1 1 0 0 0 0 case GUA_LIGHT_NUMBER1: { gGUA_HT1628_Ram[2] ~(12); //D53 gGUA_HT1628_Ram[2] | (14); //D55 gGUA_HT1628_Ram[2] | (17); //D58 gGUA_HT1628_Ram[3] ~(10); //D59 gGUA_HT1628_Ram[2] ~(16); //D57 gGUA_HT1628_Ram[2] ~(13); //D54 gGUA_HT1628_Ram[2] ~(15); //D56 break; } //D53 D55 D58 D59 D57 D54 D561 1 0 1 1 0 1 case GUA_LIGHT_NUMBER2: { gGUA_HT1628_Ram[2] | (12); //D53 gGUA_HT1628_Ram[2] | (14); //D55 gGUA_HT1628_Ram[2] ~(17); //D58 gGUA_HT1628_Ram[3] | (10); //D59 gGUA_HT1628_Ram[2] | (16); //D57 gGUA_HT1628_Ram[2] ~(13); //D54 gGUA_HT1628_Ram[2] | (15); //D56 break; } //D53 D55 D58 D59 D57 D54 D561 1 1 1 0 0 1 case GUA_LIGHT_NUMBER3: { gGUA_HT1628_Ram[2] | (12); //D53 gGUA_HT1628_Ram[2] | (14); //D55 gGUA_HT1628_Ram[2] | (17); //D58 gGUA_HT1628_Ram[3] | (10); //D59 gGUA_HT1628_Ram[2] ~(16); //D57 gGUA_HT1628_Ram[2] ~(13); //D54 gGUA_HT1628_Ram[2] | (15); //D56 break; } //D53 D55 D58 D59 D57 D54 D560 1 1 0 0 1 1 case GUA_LIGHT_NUMBER4: { gGUA_HT1628_Ram[2] ~(12); //D53 gGUA_HT1628_Ram[2] | (14); //D55 gGUA_HT1628_Ram[2] | (17); //D58 gGUA_HT1628_Ram[3] ~(10); //D59 gGUA_HT1628_Ram[2] ~(16); //D57 gGUA_HT1628_Ram[2] | (13); //D54 gGUA_HT1628_Ram[2] | (15); //D56 break; } //D53 D55 D58 D59 D57 D54 D561 0 1 1 0 1 1 case GUA_LIGHT_NUMBER5: { gGUA_HT1628_Ram[2] | (12); //D53 gGUA_HT1628_Ram[2] ~(14); //D55 gGUA_HT1628_Ram[2] | (17); //D58 gGUA_HT1628_Ram[3] | (10); //D59 gGUA_HT1628_Ram[2] ~(16); //D57 gGUA_HT1628_Ram[2] | (13); //D54 gGUA_HT1628_Ram[2] | (15); //D56 break; } //D53 D55 D58 D59 D57 D54 D561 0 1 1 1 1 1 case GUA_LIGHT_NUMBER6: { gGUA_HT1628_Ram[2] | (12); //D53 gGUA_HT1628_Ram[2] ~(14); //D55 gGUA_HT1628_Ram[2] | (17); //D58 gGUA_HT1628_Ram[3] | (10); //D59 gGUA_HT1628_Ram[2] | (16); //D57 gGUA_HT1628_Ram[2] | (13); //D54 gGUA_HT1628_Ram[2] | (15); //D56 break; } //D53 D55 D58 D59 D57 D54 D561 1 1 0 0 0 0 case GUA_LIGHT_NUMBER7: { gGUA_HT1628_Ram[2] | (12); //D53 gGUA_HT1628_Ram[2] | (14); //D55 gGUA_HT1628_Ram[2] | (17); //D58 gGUA_HT1628_Ram[3] ~(10); //D59 gGUA_HT1628_Ram[2] ~(16); //D57 gGUA_HT1628_Ram[2] ~(13); //D54 gGUA_HT1628_Ram[2] ~(15); //D56 break; } //D53 D55 D58 D59 D57 D54 D561 1 1 1 1 1 1 case GUA_LIGHT_NUMBER8: { gGUA_HT1628_Ram[2] | (12); //D53 gGUA_HT1628_Ram[2] | (14); //D55 gGUA_HT1628_Ram[2] | (17); //D58 gGUA_HT1628_Ram[3] | (10); //D59 gGUA_HT1628_Ram[2] | (16); //D57 gGUA_HT1628_Ram[2] | (13); //D54 gGUA_HT1628_Ram[2] | (15); //D56 break; } //D53 D55 D58 D59 D57 D54 D561 1 1 1 0 1 1 case GUA_LIGHT_NUMBER9: { gGUA_HT1628_Ram[2] | (12); //D53 gGUA_HT1628_Ram[2] | (14); //D55 gGUA_HT1628_Ram[2] | (17); //D58 gGUA_HT1628_Ram[3] | (10); //D59 gGUA_HT1628_Ram[2] ~(16); //D57 gGUA_HT1628_Ram[2] | (13); //D54 gGUA_HT1628_Ram[2] | (15); //D56 break; } //D53 D55 D58 D59 D57 D54 D560 0 0 0 0 0 0 default: { gGUA_HT1628_Ram[2] ~(12); //D53 gGUA_HT1628_Ram[2] ~(14); //D55 gGUA_HT1628_Ram[2] ~(17); //D58 gGUA_HT1628_Ram[3] ~(10); //D59 gGUA_HT1628_Ram[2] ~(16); //D57 gGUA_HT1628_Ram[2] ~(13); //D54 gGUA_HT1628_Ram[2] ~(15); //D56 break; } } } //********************************************************************** //name: GUA_HT1628_GPIO_Init //introduce: HT1628的GPIO初始化 //parameter: none //return: none //author: 甜甜的大香瓜 //email: 897503845qq.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: 897503845qq.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(i0; i8; 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: 897503845qq.com //shop: opengua.taobao.com //changetime: 2023.02.02 //********************************************************************** static void GUA_HT1628_SendData(GUA_U8 nGUA_Data) { GUA_U8 i; //按位写入 for(i0; i8; 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: 897503845qq.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(i0; i14; 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: 897503845qq.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: 897503845qq.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灯其他灭。 八、注意事项
暂无 九、实验结果
暂无