📄 led.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 + -