课程2+任务2+使用定时器中断实现数码管倒计时功能
一、任务概述
主要内容:使用定时器中断,实现数码管显示数值的递减
时间范围:10~0
递减步长:1s,
pin脚配置如下
代码如下
void Display_Out()
{
HC595_RCK(0);
delay_cycles(100);
HC595_RCK(1);
delay_cycles(100);
}
/* 串行数据写入 */
void HC595_WriteData(uint8_t data)
{
uint8_t i;
for(i = 0; i < 8; i++)
{
if(data&0x80)
{
HC595_DAT(1);
}
else
{
HC595_DAT(0);
}
data <<=1;
delay_cycles(100);
HC595_CLK(0);
delay_cycles(100);
HC595_CLK(1);
delay_cycles(100);
}
}
/* 按位点亮数码管 */
void HC595_SEND_DATA(uint8_t disp_num, uint8_t disp_bit)
{
HC595_WriteData(disp_num);
HC595_WriteData(1<<disp_bit);
Display_Out();
}
实物图
ps(我的数码管有问题 需要拿着才能显示)