[开发工具] 新定义MCU开发板测评 +HT1621

[复制链接]
 楼主| 比神乐 发表于 2022-11-22 09:07 | 显示全部楼层 |阅读模式
今天捣鼓了一下HT1621
代码:
  1. //************************************************************
  2. //  Copyright (c)  
  3. //        FileName         : main.c
  4. //        Module Function        :
  5. //  Instructions : Contains the MCU initialization function and its H file
  6. //************************************************************
  7. /********************Includes************************************************************************/
  8. #include "SC_Init.h"        //MCU Init header,Include all IC resource headers
  9. #include "SC_it.h"
  10. #include "..\Drivers\SCDriver_list.h"
  11. #include "HeadFiles\SysFunVarDefine.h"
  12. /**************************************Generated by EasyCodeCube*************************************/
  13. #define Smg_a    0x80
  14. #define Smg_b    0x40
  15. #define Smg_c    0x20
  16. #define Smg_d    0x01
  17. #define Smg_e    0x02
  18. #define Smg_f    0x08
  19. #define Smg_g    0x04
  20. #define Smg_dp   0x10

  21. #define Bmp0Map          Smg_a | Smg_b | Smg_c | Smg_d | Smg_e | Smg_f
  22. #define Bmp1Map          Smg_b | Smg_c
  23. #define Bmp2Map          Smg_a | Smg_b | Smg_d | Smg_e | Smg_g
  24. #define Bmp3Map          Smg_a | Smg_b | Smg_c | Smg_d | Smg_g
  25. #define Bmp4Map          Smg_b | Smg_c | Smg_f | Smg_g
  26. #define Bmp5Map          Smg_a | Smg_c | Smg_d | Smg_f | Smg_g
  27. #define Bmp6Map          Smg_a | Smg_c | Smg_d | Smg_e | Smg_f | Smg_g
  28. #define Bmp8Map          Smg_a | Smg_b | Smg_c | Smg_d | Smg_e | Smg_f | Smg_g
  29. #define Bmp9Map          Smg_a | Smg_b | Smg_c | Smg_d | Smg_f | Smg_g
  30. #define Bmp7Map          Smg_a | Smg_b | Smg_c
  31. #define BmpAMap          Smg_a | Smg_b | Smg_c | Smg_e | Smg_f | Smg_g
  32. #define BmpBMap          Smg_c | Smg_d | Smg_e | Smg_f | Smg_g
  33. #define BmpCMap          Smg_a | Smg_d | Smg_e | Smg_f
  34. #define BmpDMap          Smg_b | Smg_c | Smg_d | Smg_e | Smg_g
  35. #define BmpEMap          Smg_a | Smg_d | Smg_e | Smg_f | Smg_g
  36. #define BmpFMap          Smg_a | Smg_e | Smg_f | Smg_g

  37. #define CS_0           GPIO_WriteLow(GPIO2, GPIO_PIN_7)
  38. #define CS_1           GPIO_WriteHigh(GPIO2, GPIO_PIN_7)
  39. #define WR_0           GPIO_WriteLow(GPIO0, GPIO_PIN_0)
  40. #define WR_1           GPIO_WriteHigh(GPIO0, GPIO_PIN_0)
  41. #define DA_0           GPIO_WriteLow(GPIO0, GPIO_PIN_1)
  42. #define DA_1           GPIO_WriteHigh(GPIO0, GPIO_PIN_1)

  43. const unsigned char SegCode[] = {Bmp0Map,Bmp1Map,Bmp2Map,Bmp3Map,Bmp4Map,Bmp5Map,Bmp6Map,Bmp7Map,Bmp8Map,Bmp9Map,BmpAMap,BmpBMap,BmpCMap,BmpDMap,BmpEMap,BmpFMap};
  44. unsigned char DpyNum[6] = {Smg_g,Smg_g,Smg_g,Smg_g,Smg_g,Smg_g}; //显示缓冲区

  45. unsigned int i;
  46. void COMMAND_HT1621(unsigned char comm)
  47. {
  48.         unsigned char i;
  49.         CS_0;
  50.        
  51.         WR_0;
  52.         for(i=0;i<3;i++)        //写命令
  53.         {
  54.                 if((0x04<<i)&0x04)  DA_1;    //100
  55.                 else                DA_0;
  56.                 WR_0;
  57.                 WR_1;
  58.         }
  59.         for(i=0;i<9;i++)        //写命令数据
  60.         {
  61.                 if((comm<<i)&0x80)  DA_1;    //100
  62.                 else                DA_0;
  63.                 WR_0;
  64.                 WR_1;
  65.         }
  66.         CS_1;
  67.        
  68. }

  69. void HT1621_Display(void)
  70. {
  71.         unsigned char i;
  72.         CS_0;                        //片选CS
  73.         WR_0;
  74.         for(i=0;i<3;i++)                   //写命令
  75.         {
  76.                 if((0x05<<i)&0x04)  DA_1;
  77.                 else                DA_0;
  78.                 WR_0;
  79.                 WR_1;
  80.         }
  81.         for(i=0;i<6;i++)                   //写地址
  82.         {
  83.                 if((20<<i)&0x20)    DA_1;  //20对应 SEG地址
  84.                   else                DA_0;
  85.                 WR_0;
  86.                 WR_1;
  87.         }
  88.         for(i=0;i<8;i++)                   //写数据
  89.         {
  90.                 if((DpyNum[5]<<i)&0x80)   DA_1;
  91.                 else                      DA_0;
  92.                 WR_0;
  93.                 WR_1;
  94.         }
  95.         for(i=0;i<8;i++)                   //写数据
  96.         {
  97.                 if((DpyNum[4]<<i)&0x80)   DA_1;
  98.                 else                      DA_0;
  99.                 WR_0;
  100.                 WR_1;
  101.         }
  102.         for(i=0;i<8;i++)                   //写数据
  103.         {
  104.                 if((DpyNum[3]<<i)&0x80)   DA_1;
  105.                 else                      DA_0;
  106.                 WR_0;
  107.                 WR_1;
  108.         }
  109.         for(i=0;i<8;i++)                   //写数据
  110.         {
  111.                 if((DpyNum[2]<<i)&0x80)   DA_1;
  112.                 else                      DA_0;
  113.                 WR_0;
  114.                 WR_1;
  115.         }
  116.         for(i=0;i<8;i++)                   //写数据
  117.         {
  118.                 if((DpyNum[1]<<i)&0x80)   DA_1;
  119.                 else                      DA_0;
  120.                 WR_0;
  121.                 WR_1;
  122.         }
  123.         for(i=0;i<8;i++)                   //写数据
  124.         {
  125.                 if((DpyNum[0]<<i)&0x80)   DA_1;
  126.                 else                      DA_0;
  127.                 WR_0;
  128.                 WR_1;
  129.         }
  130.         CS_1;                          //释放CS
  131. }

  132. void LCD_Init(void)
  133. {
  134.         COMMAND_HT1621(0x01);         //SYS EN
  135.         COMMAND_HT1621(0x03);         //LCD ON
  136.         COMMAND_HT1621(0x29);         //4 COM  1/3 BIAS
  137.         HT1621_Display();             //clear screen
  138. }
  139. /*************************************.Generated by EasyCodeCube.************************************/
  140. /*****************************************************************************************************
  141. * Function Name: main
  142. * Description  : This function implements main function.
  143. * Arguments    : None
  144. * Return Value : None
  145. ******************************************************************************************************/
  146. void main(void)
  147. {       
  148.     /*<Generated by EasyCodeCube begin>*/
  149.     /*<UserCodeStart>*//*<SinOne-Tag><3>*/
  150.     SC_Init(); /*** MCU init***/
  151.     /*<UserCodeEnd>*//*<SinOne-Tag><3>*/
  152.     /*<UserCodeStart>*//*<SinOne-Tag><4>*/
  153.     /*****MainLoop*****/
  154.                 LCD_Init();
  155.                 DpyNum[0] = Smg_a|Smg_d|Smg_g;              //"三"
  156.                 DpyNum[1] = SegCode[1];
  157.                 DpyNum[2] = SegCode[3];
  158.                 DpyNum[3] = SegCode[5];
  159.                 DpyNum[4] = SegCode[7];
  160.                 DpyNum[5] = SegCode[9];

  161.                 HT1621_Display();   
  162.     while(1)
  163.     {
  164.         /*<UserCodeStart>*//*<SinOne-Tag><5>*/
  165.         /*****User program*****/
  166.         /*<UserCodeEnd>*//*<SinOne-Tag><5>*/
  167.         /*<Begin-Inserted by EasyCodeCube for Condition>*/
  168.     }
  169.     /*<UserCodeEnd>*//*<SinOne-Tag><4>*/
  170.     /*<Generated by EasyCodeCube end>*/
  171. }
复制代码
IO口初始化代码:
  1. void SC_Init(void)
  2. {
  3.         SC_GPIO_Init();
  4.         SC_OPTION_Init();
  5.         /*write initial function here*/       
  6.         EA = 1;       
  7. }

  8. /*****************************************************
  9. *函数名称: SC_GPIO_Init
  10. *函数功能: GPIO初始化函数
  11. *入口参数:void
  12. *出口参数:void
  13. *****************************************************/
  14. void SC_GPIO_Init(void)
  15. {
  16.         GPIO_Init(GPIO2, GPIO_PIN_7,GPIO_MODE_OUT_PP);
  17.         GPIO_Init(GPIO0, GPIO_PIN_0,GPIO_MODE_OUT_PP);
  18.         GPIO_Init(GPIO0, GPIO_PIN_1,GPIO_MODE_OUT_PP);
  19.         /*GPIO_Init write here*/               
  20. }
复制代码
效果图
3.jpg
您需要登录后才可以回帖 登录 | 注册

本版积分规则

470

主题

3535

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部