|
发表于 2025-2-6 20:16:05
|
显示全部楼层
第九节 数码管
①了解数码管的硬件原理 共阴 共阳
②了解HC595芯片的功能,用三个引脚控制多个引脚节省IO口
③用扫描刷新的思想控制数码管
④时间函数的写法
void TIMECOUNT_Task(void)
{
miao ++;
if( miao>59 )
{
miao = 0;
fen++;
if( fen>59 )
{
fen = 0;
shi ++;
if( shi>23 )
shi = 0;
}
}
}
void Seg_Task(void)
{
u8 num = 0;
if( Seg_no ==0 ) //小时十位
{
num = shi/10;
Display_Seg( SEG_NUM[num] , ~T_NUM[0]); //数码管刷段码和位码
}
else if( Seg_no ==1 ) //小时的个位
{
num = shi%10;
Display_Seg( SEG_NUM[num] , ~T_NUM[1]); //数码管刷段码和位码
}
else if( Seg_no ==2 ) //第一个横杠
{
Display_Seg( SEG_NUM[16] , ~T_NUM[2]); //数码管刷段码和位码
}
else if( Seg_no ==3 ) //分钟的十位
{
num = fen/10;
Display_Seg( SEG_NUM[num] , ~T_NUM[3]); //数码管刷段码和位码
}
else if( Seg_no ==4 )
{
num = fen%10;
Display_Seg( SEG_NUM[num] , ~T_NUM[4]); //数码管刷段码和位码
}
else if( Seg_no ==5 )
{
Display_Seg( SEG_NUM[16] , ~T_NUM[5]); //数码管刷段码和位码
}
else if( Seg_no ==6 )
{
num = miao/10;
Display_Seg( SEG_NUM[num] , ~T_NUM[6]); //数码管刷段码和位码
}
else if( Seg_no ==7 )
{
num = miao%10;
Display_Seg( SEG_NUM[num] , ~T_NUM[7]); //数码管刷段码和位码
}
else
{
}
Seg_no ++;
if( Seg_no>7 )
Seg_no=0;
}
|
|