STM32F1开发指南笔记20

您所在的位置:网站首页 74HC245芯片如何驱动点亮数码管 STM32F1开发指南笔记20

STM32F1开发指南笔记20

#STM32F1开发指南笔记20| 来源: 网络整理| 查看: 265

以前在单片机学习中,驱动数码管是直接将数码管连接单片机,在单片机上需要编写很复杂的程序,并且对数码管需要实时扫描。在实际项目开发中,一般使用数码管专用控制芯片来驱动数码管,提高开发效率。

TM1640是一种LED(发光二极管显示器)驱动控制专用电路,内部集成有MCU数字接口、数据锁存器、LED驱动等电路。主要应用于电子产品LED显示屏驱动。采用SOP28封装形式。TM1640只是数码管驱动芯片的一种,还有很多其他的驱动芯片,具体芯片选择需要根据项目需求及预算来决定。 在这里插入图片描述

在这里插入图片描述 可驱动16位数码管。 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 有共阴极与共阳极两种电路图,根据开发板上的数码管实际连接来决定使用哪个。 在这里插入图片描述 在这里插入图片描述 这两个引脚分别与单片机的两个GPIO相连。

在这里插入图片描述 8位数码管 在这里插入图片描述 这八个共阴极的LED灯相当于一个数码管,可以当成一个数码管来处理。

驱动代码如下: main函数 #include "stm32f10x.h" #include "sys.h" #include "delay.h" #include "rtc.h" #include "TM1640.h" int main (void) { u8 c=0x01; RCC_Configuration(); //系统时钟初始化 RTC_Config(); //RTC初始化 TM1640_Init(); //TM1640初始化 while(1) { if(RTC_Get()==0) //读出RTC时间 { TM1640_display(0,rday/10); //天 TM1640_display(1,rday%10+10); //+10是为了显示后面的小数点 TM1640_display(2,rhour/10); //时 TM1640_display(3,rhour%10+10); TM1640_display(4,rmin/10); //分 TM1640_display(5,rmin%10+10); TM1640_display(6,rsec/10); //秒 TM1640_display(7,rsec%10); TM1640_led(c); //与TM1640连接的8个LED全亮 c GPIO_WriteBit(TM1640_GPIOPORT,TM1640_DIN,(BitAction)(0)); //接口输出0 GPIO_WriteBit(TM1640_GPIOPORT,TM1640_SCLK,(BitAction)(1)); //接口输出高电平1 delay_us(DE


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3