⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 led.h

📁 数码管显示程序
💻 H
字号:
#include "delay.h"
//-----------------端口设置----------------
//使用本驱动需要修改这里以及下面的显示函数中的共阴共阳设置
#define LED_SEL        PORTA
#define LED_DDR_SEL    DDRA
#define LED_DATA	   PORTB
#define LED_DDR_DATA   DDRB
//----------------------------------------
//数码管字型表,对应的是:0,1,2,3,4,5,6,7,8,9
unsigned char LED_table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6f,0x7d,0x07,0x7f,0x6f};
unsigned char LED_dp[4]={0,0,0,0};//显示的初始值:0,0,0,0

//********计数值处理函数******************//
void LED_process(unsigned int i,unsigned char *p)
{p[0]=i/1000;//千位
p[1]=i/100%10;//百位
p[2]=i/10%10;//十位
p[3]=i%10;//个位

}


//**********动态显示函数,参数p为待显示的数组名**********//
void LED_display(unsigned char *p)
{unsigned char i,sel=0x01;//低位:0x01高位:0x10
LED_DDR_SEL=0x0f;//低位:0x0f高位:0xf0
LED_DDR_DATA=0xff;
for (i=0;i<4;i++)
	{LED_SEL=sel;//PA为位选,共阳:LED_SEL=sel;共阴:LED_SEL=~sel;
	LED_DATA=~LED_table[p[i]];
	//字型表,共阳:LED_DATA=~LED_table[p[i]];共阴:LED_DATA=LED_table[p[i]];
	delay_nms(2);
	sel=sel<<1;
	}
}

//**********数码管初始化函数**********/
/*
void LED_init(void)
{LED_SEL|=0x0f;
LED_DDR_SEL|=0x0f;
}
*/

//**********数码管显示调用函数**********//
void LED(unsigned int i)
{
LED_process(i,LED_dp);
LED_display(LED_dp);

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -