0基础 | 数码管原理与驱动程序

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点亮以及蜂鸣器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值