LED驱动控制专用电路芯片:TM1640
特点:工作稳定,成本低
芯片引脚图
在芯片手册电气特性部分看电压与电流
给出其它可以使用的芯片及介绍
数码管驱动方式
-
单片机直接驱动数码管,单片机上要编写复杂的程序,还要对数码管进行实时扫描,好处是这种方式可以让初学者理解编程,坏处是这种方式在项目开发时让单片机工作量增大,在其处理其他任务时就会中断数码管显示
-
用数码管专用驱动电路芯片,只需要单片机把显示内容传给它,驱动芯片自动刷新现实内容
驱动共阴极数码管电路连接
驱动共阳极数码管电路连接
举例,数码管部分可以按以下电路连接方式
举例,数码管驱动代码(keil4)
%%头文件说明
#include "stm32f10x.h" //STM32Í·Îļþ
#include "sys.h"
#include "delay.h"
#include "rtc.h"
#include "TM1640.h"
#include "buzzer.h"
%%主函数部分
int main (void){//Ö÷³ÌÐò
u8 c=0x01;
RCC_Configuration();
RTC_Config();
TM1640_Init();
BUZZER_Init();
BUZZER_BEEP1();
%%主循环部分
while(1){
if(RTC_Get()==0){
// TM1640_display(0,rday/10);
// TM1640_display(1,rday%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_display(0,2);
TM1640_display(1,0);
TM1640_display(2,2);
TM1640_display(3,15);
TM1640_display(4,0);
TM1640_display(5,13);
TM1640_display(6,2);
TM1640_display(7,3);
TM1640_led(c);
BUZZER_BEEP1();
c<<=1;
if(c==0x00)c=0x01;
delay_ms(500);
}
}
}
%%本代码加入了LED点亮以及蜂鸣器