stm32 MCU液晶TM1622 HT1622驱动调试

这篇具有很好参考价值的文章主要介绍了stm32 MCU液晶TM1622 HT1622驱动调试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文使用的例程软件工程代码如下

(1条消息) stm32MCU液晶TM1622HT1622驱动调试,源代码,实际项目使用资源-CSDN文库文章来源地址https://www.toymoban.com/news/detail-640758.html

HT1622/HT1622G/TM1622是一款常用的LCD驱动芯片

TM1622/HT1622厂家不一样,但是芯片功能基本上一直,硬件上基本上可以做到pin2pin兼容,这个需要根据自己的做微调整

以TM1622的资料为例,做如下说明

TM1622是256点内存映象和多功能的LCD驱动专用芯片,TM1622的软件配置特性使它适用于多种LCD应用 场合,包括:LCD模块和显示子系统。用于连接主控制器和TM1622的管脚只有4或5条,TM1622还有一个节电命 令用于降低系统功耗。本产品性能优良、质量可靠。

功能特点

 工作电压2.4~ 5.2V

 内置32 KHz RC振荡器

 可外接32KHz频率源作为时钟输入

 内置时基频率源

 内置蜂鸣器输出驱动,有两种输出频率可选(2 KHz或者4 KHz)

 内置节电模式,可用于减少功耗

 内置时基发生器和看门狗(WDT)输出

 内置32ⅹ8位显示寄存器,32个SEG,8个COM输出驱动, 1/4偏压

 四线串行接口  提供VLCD管脚用于调整LCD操作电压

 三种数据访问模式

 八个时基/看门狗定时器时钟源

 数据模式和命令模式指令

 四种封装形式可选:LQFP44(长脚),LQFP44(短脚),LQFP52,LQFP64 内部结构框图

ht1622驱动程序,嵌入式系统,stm32,TM1622,HT1622,驱动,MCU

MCU典型接法

ht1622驱动程序,嵌入式系统,stm32,TM1622,HT1622,驱动,MCU

 写数据时序图,这里不需要读取,也不用看读数据的时序

ht1622驱动程序,嵌入式系统,stm32,TM1622,HT1622,驱动,MCU

 软件命令列表

ht1622驱动程序,嵌入式系统,stm32,TM1622,HT1622,驱动,MCU

需要详细的,手册,可以下载一份数据手册看看

 实际项目原理图设计如下

这里有点复杂,就是要支持两款液晶,一个大液晶一个小液晶,其中YJ1是焊接大液晶的接口,YJ2是焊接小液晶的接口

下图1处,是液晶的背光灯开关

2处是MCU控制液晶的接口,其中SPI_RD用0欧姆的电阻连接,可以考虑不需要读取也液晶数据,可以不焊接该电阻,空余出来一个MCU的管脚

3处是电平转换后的TM1622的控制管脚

ht1622驱动程序,嵌入式系统,stm32,TM1622,HT1622,驱动,MCU

MCU的控制管脚设计如下

ht1622驱动程序,嵌入式系统,stm32,TM1622,HT1622,驱动,MCU

实际项目使用的控制管脚设计比较多,这里比较简单,提取出来对应TM1622的控制管脚

对应上述原理图,软件实现的控制管脚接口,如下所示


#define LCD_CS_L          {PBout(7) = 0;}
#define LCD_CS_H          {PBout(7) = 1;}

#define LCD_RD_L          {PBout(6) = 0;}  
#define LCD_RD_H          {PBout(6) = 1;}  

#define LCD_WR_L          {PBout(8) = 0;}      
#define LCD_WR_H          {PBout(8) = 1;}     

#define LCD_DAT_L         {PBout(9) = 0;}      
#define LCD_DAT_H         {PBout(9) = 1;} 

#define LCD_BLK_EN_ON     {PBout(13) = 0;}      
#define LCD_BLK_EN_OFF    {PBout(13) = 1;} 

stm32cube的关键设计如下

IO的配置,PB6/PB7/PB8/PB9/PB13配置为输出模式

其中需要注意的是,PB6连接的tm1622的数据读取管脚,这个管脚实际上没有使用,配置成输入输出都无所谓 

ht1622驱动程序,嵌入式系统,stm32,TM1622,HT1622,驱动,MCU

时钟的配置

时钟采用外部时钟8M,倍频到72M供系统使用 

ht1622驱动程序,嵌入式系统,stm32,TM1622,HT1622,驱动,MCU

系统主函数,主要是添加了initHT1622()测试


/**
  * @brief  The application entry point.
  * @retval int
  */
int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART1_UART_Init();
  /* USER CODE BEGIN 2 */
  initHT1622();
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

TM1622的写函数,这些函数是根据手册写时序图调试出来的

当然也和MCU的时钟有关,这里配置为72MHZ,如果需要移植该驱动,则需要根据自己的系统时钟修改如下函数的延时,当然也需要修改控制管脚

void Write_HT1622_Byte(unsigned char Data,unsigned char length)
{
    unsigned char i,Temp=0x80;
    for (i=0;i<length;i++)
    {

        if (Data&Temp)
				{
        LCD_DAT_H;//数据线置1
				}
        else
				{
        LCD_DAT_L;//数据线置0
				}
        Temp>>=1; //准备下一位
        
        LCD_WR_L; //“写”时钟置0        
        __NOP();
        __NOP();
        __NOP();
        LCD_WR_H; //“写”时钟置1
    }
}

液晶初始化

void initHT1622(void)
{
    uint8_t i;
    //InitLcdPin();
    
   // for(i = 0 ;i < 100; i++)
    
    {

    Write_HT1622_Command(SYSDIS);//关闭系统振荡器和LCD驱动
    Write_HT1622_Command(SYSEN); //打开系统振荡器
    Write_HT1622_Command(LCDOFF);//关闭LCD显示
    Write_HT1622_Command(LCDON); //打开LCD显示
    }
    //Write_HT1622_Command(0x01);
   // Write_HT1622_Command(0x29);
    //Write_HT1622_Command(0x18);
    //Write_HT1622_Command(0x01);
    //Write_HT1622_Command(0x03);

    

      
    //清屏
    
    for(i = 0; i < 64; i++)
    {
      Write_HT1622_Data(i,0);
    }

}

本文使用的例程软件工程代码如下

(1条消息) stm32MCU液晶TM1622HT1622驱动调试,源代码,实际项目使用资源-CSDN文库

到了这里,关于stm32 MCU液晶TM1622 HT1622驱动调试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 合泰HT32F52352入门教程(# 1W+字 博客帮您快速上手,拿奖不是梦 #)

    这篇文章适合已经有单片机基础,比如STM32。熟悉STM32库函数(标准库最好,HAL库要适应一下手写配置) 这篇文章的代码均经过本人烧写验证,帮你快速上手HT32F52352 如果觉得对你有帮助,记得点赞(别老是放在收藏夹里吃灰) 更多有意思的文章点击“我的主页” --------😐

    2023年04月22日
    浏览(32)
  • STM32物联网项目——TM1620驱动数码管显示

    程序功能:       TM1620 这里主要说说关于TM1620指令与数据传输,其他概述等内容详细见TM1620手册: 链接:https://pan.baidu.com/s/1C4I_oy9n9QjSPu8UD-FJRg  提取码:9ec0  --来自百度网盘超级会员V2的分享 TM1620一共有4条指令: (1) 显示模式命令设置:  该指令用来设置选择段和位的个数

    2024年01月16日
    浏览(32)
  • 【STM32】驱动LCD1602液晶8线并、4线并

    目录 LCD1602液晶 引脚定义说明 字库概述  LCD1602原理图  LCD1602时序图 LCD1602代码 接线图 用结构体的方式显示字符 LCD1602动态显示数字 4线驱动LCD1602 液晶模块和数码管相比,液晶模块会显得更加专业、漂亮。液晶显示器以其体积小、功耗低、超薄、轻巧、显示内容丰富、使用方

    2024年02月16日
    浏览(32)
  • STM32管脚模拟协议驱动双路16位DAC芯片TM8211

    TM8211是一款国产的低成本双路16位DAC驱动芯片,可以应用于普通数模转换领域及音频转换领域等。这里介绍STM32 HAL库驱动TM8211的逻辑,时序和代码。 TM8211的功能特性为: TM8211的内部电路功能框图为: TM8211支持典型的3.3V供电和5V供电,在驱动后进行电压输出时, 需要注意,如以

    2024年02月16日
    浏览(31)
  • 四旋翼电调驱动程序(STM32F1)

    使用stm32f103c8t6驱动四旋翼电调,包括解锁和指定转速旋转 main.c

    2024年02月09日
    浏览(26)
  • stm32 AW9523B IO扩展芯片扩展io口驱动程序

    对AW9523B驱动模块进行初始化 对AW9523B驱动模块进行操作 初始化AW9523B单个引脚 读取AW9523B单个引脚 读取AW9523B单个端口 用于存储单个ic中的数据,如需管理更多的结构体,可以再增加定义 3060793968@qq.com 

    2024年01月20日
    浏览(30)
  • STM32F103C8T6驱动LCD1602液晶篇

    1 电路连接 LCD1602有5V供电和3.3V供电,此次采用3.3V供电。 LCD1602共有16个引脚,不做一一介绍,其中主要的是第3引脚,3.3V背光电源供电时,接100-1K电阻,5V供电时,接2k-4.7k电阻。其余正常连接就行。 2 遇到的问题 2.1 液晶不显示 仿真验证时可以显示的,但是实物连接后还是不

    2024年02月07日
    浏览(31)
  • STM32烧写程序:ST-Link驱动下载和安装

    在进行STM32微控制器的烧写程序之前,我们需要先安装ST-Link驱动程序,并确保其能够正确连接到目标设备。本文将提供详细的步骤说明,以帮助您下载和安装ST-Link驱动程序。 步骤1:下载ST-Link驱动程序 首先,我们需要从STMicroelectronics官方网站下载ST-Link驱动程序。请按照以下

    2024年01月15日
    浏览(58)
  • RN8209 RN8302 spi驱动和校表程序STM32

    2024年01月25日
    浏览(25)
  • 【洋桃一号板】STM32F103CBT6标准库函数驱动TM1640点亮数码管

    一、今天介绍如何使用STM32F103CBT6驱动TM1640点亮数码管,硬件用的洋桃开发板,点亮后效果如下,六个数码管依次显示0.1.2.3.4.5.6.7 硬件原理图如下,只用到了单片机的两个IO口即可实现上图的效果,该开发板上用的是PA11和PA12两个IO口,用来模拟IIC通信,其中PA11接SCLK,PA12接D

    2024年02月16日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包