本帖最后由 弘毅 于 2017-4-6 16:05 编辑
怎么用一个按键控制4位数码管时钟的从00:00开始?而我这个程序我用按键控制,它不受控制的?
[kenrobot_code]#include <TimerOne.h>
#include "TM1637.h"
char ON='1';
char OFF="0";
int8_t TimeDisp[] ={0,1,2,3};
unsigned char ClockPoint = 1;
unsigned char Update;
unsigned char halfsecond = 0;
unsigned char second = 0;
unsigned char minute = 0;
char CLK=A1;//pins definitions for TM1637 and can be changed to other ports
char DIO=A0;
TM1637 tm1637(CLK,DIO);
void setup()
{pinMode(14,OUTPUT);
digitalWrite(14,HIGH);
tm1637.set();
tm1637.init();
Timer1.initialize(500000);//timing for 500ms
Timer1.attachInterrupt(TimingISR);//declare the interrupt serve routine:TimingISR
}
void loop()
{
if(Update == ON)
{
TimeUpdate();
tm1637.display(TimeDisp);
}
if(minute == 1)
{Update = OFF;
digitalWrite(14,LOW);
}
}
void TimingISR()
{
halfsecond++;
Update = ON;
if(halfsecond == 2){
second ++;
if(second == 60)
{
minute++;
if(minute == 1)
{
}
second = 0;
}
halfsecond = 0;
}
// Serial.println(second)
ClockPoint = (~ClockPoint) & 0x01;
}
void TimeUpdate(void)
{
if(ClockPoint)tm1637.point(POINT_ON);
else tm1637.point(POINT_OFF);
TimeDisp[0] = minute / 10;
TimeDisp[1] = minute % 10;
TimeDisp[2] = second / 10;
TimeDisp[3] = second % 10;
Update = OFF;
}[/kenrobot_code]
|