HT1621从0开始

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 一、HT1621
    • 1) DATASHEET
    • 2) 个人描述
    • 3)容易混淆的概念:
  • 二、代码驱动
    • 1.驱动代码(.c文件)
    • 2.驱动LCD屏幕


一、HT1621

1) DATASHEET

2) 个人描述

HT1621是LCD屏幕的驱动电路芯片,负责点亮LCD屏上的灯,一个HT1621能驱动很多不同的LCD屏幕

3)容易混淆的概念:

Ps:LCD屏幕是屏幕,屏幕驱动芯片是芯片,HT1621 ≠ LCD屏幕


二、代码驱动

1.驱动代码(.c文件)

驱动代码GPIO控制理解为模拟I2C即可

.h文件只有两个API函数:
HT1621_INIT:用于初始化GPIO引脚和HT1621
ht1621write_val:用于HT1621地址初始化,一次只写一个地址的数据


#define CS_HIGH 
#define CS_LOW#define WR_HIGH 
#define WR_LOW	#define DATA_HIGH 
#define DATA_LOW  #define BIAS   0x50          
#define SYS_EN 0X02         
#define LCD_ON 0X06         
#define RC256  0X30         
#define WDT_DIS 0x0a
#define TIME_DIS 0X08static void ht1621write_data_LOW(uint8_t data,uint8_t n_bit)
{uint8_t current;for( current = 0 ; current <  n_bit ; current++){WR_LOW;Delay(2);if( (data & 0x01) == 1)DATA_HIGH;elseDATA_LOW;Delay(2);WR_HIGH;data >>= 1;Delay(2);}
}static void ht1621write_data(uint8_t data,uint8_t n_bit)
{uint8_t current;for( current = 0 ; current <  n_bit ; current++){WR_LOW;Delay(2);if(((data & 0x80) >> 7) == 1)DATA_HIGH;elseDATA_LOW;Delay(2);WR_HIGH;data <<= 1;Delay(2);}
}static void ht1621write_cmd(uint8_t cmd)
{CS_LOW;Delay(2);ht1621write_data(0x80,4);ht1621write_data(cmd,8);Delay(2);CS_HIGH;
}void ht1621write_val(uint8_t addr , uint8_t data)
{addr <<= 2;CS_LOW;Delay(2);ht1621write_data(0xA0,3);ht1621write_data(addr,6);ht1621write_data_LOW(data,4);Delay(2);CS_HIGH;
}void HT1621_INIT( void *pvParameters )
{CS_HIGH;WR_HIGH;DATA_HIGH;ht1621write_cmd(BIAS);ht1621write_cmd(RC256);ht1621write_cmd(WDT_DIS);ht1621write_cmd(TIME_DIS);ht1621write_cmd(SYS_EN);ht1621write_cmd(LCD_ON);
}

2.驱动LCD屏幕

这一步是关键,大部分使用LCD屏幕都是厂商私人定制,所以很大可能上厂商给的PIN脚不是对应SEG号地址,有可能是SEG号相反
给一个测试思路:
先把整个LCD屏幕的字段全亮起来,然后用for循环从0地址开始一个一个地址去清零熄灭字段

//思路程序模板举例
int i;
for(i = 0 ; i < SEG_MAX; i++)
{if( i >  0 )ht1621write_val(i-1,0xF);ht1621write_val(i,0x0);delay(5s);
}
//加个延时,就能看清每个地址对应的字段了


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部