硬件设计
链接:https://pan.baidu.com/s/1u9xLgU15yK1YjG18zKRBEA
提取码:0w6i
仿真图如下所示:
程序设计
# include "key.h"
# include "sys.h"
# include "timer.h"
# include "digitaltube.h"
# include "exti.h"
# include "led.h"
int flag1 = 0;
int count_l = 0;
int count_h = 0;
extern int temp;
void Init (void);
void Mod_Time_Check (void);
// 主函数
int main(void)
{
Init ();
while (1)
{
Mod_Time_Check ();
DigitalTube_DispData_H (count_h);
DigitalTube_DispData_L (count_l);
}
}
// 初始化函数
void Init ()
{
NVIC_PriorityGroupConfig (NVIC_PriorityGroup_2);
TIM3_Int_Init(10, 884); // 根据proteus环境而设置的1ms定时
DigitalTube_Init ();
LED_Init ();
EXTIX_Init ();
KEY_Init ();
}
// 设置时间函数
void Mod_Time_Check ()
{
if (flag1 == 1)
{
int i;
TIM_Cmd(TIM3, DISABLE);
DISP_ZERO ();
for (i = 0; i < 8; i++)
{
Set_Time ();
GPIO_Write (GPIOA, 0x00);
DISP_Bit (temp, i);
}
TIM_Cmd(TIM3, ENABLE);
flag1 = 0;
LED0 = 1;
}
}
.
.