打印
[开发板与模块]

【HT32F52352 Starter Kit测评】+驱动串行数码管

[复制链接]
1839|38
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 werasd 于 2022-5-25 15:16 编辑

串行数码管显示模块的外观如图1所示,它具有输入端和输出端可多个模块级联起来使用,以显示更多位的数码值。

图1 串行数码管模块

串行数码管显示模块的电路原理图见图2所示,该模块采用5V电压来工作。

图2 原理图

该显示模块与开发板的连接关系为:
SCL---PA2
SDA---PA3
CS ---PA4
图3 显示效果

Max7219字节数据发送函数为:
void Write_Max7219_byte(unsigned char DATA)
{
      unsigned char i;
      GPIO_ClearOutBits(HT_GPIOA, GPIO_PIN_4);
           __Delay(10);
      for(i=8;i>=1;i--)
      {
           GPIO_ClearOutBits(HT_GPIOA, GPIO_PIN_2);
           if(DATA&0x80)  GPIO_SetOutBits(HT_GPIOA, GPIO_PIN_3);
           else  GPIO_ClearOutBits(HT_GPIOA, GPIO_PIN_3);
           __Delay(10);
                      DATA=DATA<<1;
           GPIO_SetOutBits(HT_GPIOA, GPIO_PIN_2);
           __Delay(10);
}
}


Max7219写寄存器函数为:
void Write_Max7219(char address,char dat)
{
      GPIO_ClearOutBits(HT_GPIOA, GPIO_PIN_4);
      Write_Max7219_byte(address);
      Write_Max7219_byte(dat);
      GPIO_SetOutBits(HT_GPIOA, GPIO_PIN_4);
}

Max7219初始化函数为:
void Init_MAX7219(void)
{
      Write_Max7219(0x09, 0xff);
      Write_Max7219(0x0a, 0x03);
      Write_Max7219(0x0b, 0x07);
      Write_Max7219(0x0c, 0x01);
      Write_Max7219(0x0f, 0x01);
}

主程序为:
int main(void)
{
  NVIC_Configuration();
  CKCU_Configuration();
  GPIO_Configuration();
  RETARGET_Configuration();
  T1_GPIO_Configuration();
  Init_MAX7219();
  __Delay(1000000);
  Write_Max7219(0x0f, 0x00);
  Write_Max7219(1,8);
  Write_Max7219(2,7);
  Write_Max7219(3,6);
  Write_Max7219(4,5);
  Write_Max7219(5,4);
  Write_Max7219(6,3);
  Write_Max7219(7,2);
  Write_Max7219(8,1);
  while (1)
  {
   ;
  }
}




使用特权

评论回复

相关帖子

沙发
selongli| | 2022-10-5 16:37 | 只看该作者
用9012PNP来驱动共阳极数码管

使用特权

评论回复
板凳
jstgotodo| | 2022-10-5 17:41 | 只看该作者
七段译码驱动74246 74247 74LS247 等好多的芯片

使用特权

评论回复
地板
xiaoyaodz| | 2022-10-5 18:37 | 只看该作者
TM1628怎么驱动共阳数码管  

使用特权

评论回复
5
febgxu| | 2022-10-5 19:06 | 只看该作者
数码管要多大电流驱动               

使用特权

评论回复
6
jinglixixi|  楼主 | 2022-10-6 08:52 | 只看该作者
febgxu 发表于 2022-10-5 19:06
数码管要多大电流驱动

这个可以不考虑,使用的这个模块有较强的驱动能力,并能自动进行显示刷新。

使用特权

评论回复
7
jinglixixi|  楼主 | 2022-10-6 08:54 | 只看该作者
xiaoyaodz 发表于 2022-10-5 18:37
TM1628怎么驱动共阳数码管

低电平输出的段码,加上共阳极的高电平即可点亮数码管。

使用特权

评论回复
8
AloneKaven| | 2022-11-4 20:44 | 只看该作者
数码管要多大电流驱动               

使用特权

评论回复
9
jinglixixi|  楼主 | 2022-11-5 10:13 | 只看该作者
AloneKaven 发表于 2022-11-4 20:44
数码管要多大电流驱动

模块已解决了驱动和锁存的问题,直接使用即可。至于模块的功耗,可自行测一下。

使用特权

评论回复
10
belindagraham| | 2022-12-2 20:51 | 只看该作者
如何用uln2803驱动大号数码管

使用特权

评论回复
11
jinglixixi|  楼主 | 2022-12-3 00:30 | 只看该作者
belindagraham 发表于 2022-12-2 20:51
如何用uln2803驱动大号数码管

那uln2803当功放使就是了,相当于是个大电流的开关。

使用特权

评论回复
12
i1mcu| | 2022-12-3 14:11 | 只看该作者
接串行口利用74LS245驱动六位数码管怎么编程?

使用特权

评论回复
13
plsbackup| | 2022-12-3 14:49 | 只看该作者
驱动数码管可以要什么型号三极管和芯片呢?

使用特权

评论回复
14
wengh2016| | 2022-12-3 15:18 | 只看该作者
用SPI串行接口驱动数码管?  

使用特权

评论回复
15
jinglixixi|  楼主 | 2022-12-3 23:12 | 只看该作者
wengh2016 发表于 2022-12-3 15:18
用SPI串行接口驱动数码管?

可以这样看,但它更接近与I2C只不过多了个片选引脚。

使用特权

评论回复
16
jinglixixi|  楼主 | 2022-12-3 23:13 | 只看该作者
plsbackup 发表于 2022-12-3 14:49
驱动数码管可以要什么型号三极管和芯片呢?

该模块已具备驱动功能

使用特权

评论回复
17
jinglixixi|  楼主 | 2022-12-3 23:15 | 只看该作者
i1mcu 发表于 2022-12-3 14:11
接串行口利用74LS245驱动六位数码管怎么编程?

74LS245属并行类的缓冲芯片,驱动六位数码管查相关单片机教程接口。

使用特权

评论回复
18
chenci2013| | 2022-12-4 22:11 | 只看该作者
tm1651如何驱动数码管?  

使用特权

评论回复
19
jinglixixi|  楼主 | 2022-12-5 13:55 | 只看该作者
chenci2013 发表于 2022-12-4 22:11
tm1651如何驱动数码管?

没有过

使用特权

评论回复
20
plsbackup| | 2022-12-5 23:19 | 只看该作者
用并行芯片控制数码管的段和位,比较浪费IO口资源

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

464

主题

2787

帖子

38

粉丝