nsl 发表于 2017-4-6 15:49:42

怎么用一个按键控制4位数码管时钟的从00:00开始?而我这个程序我用按键控制,它不...

本帖最后由 弘毅 于 2017-4-6 16:05 编辑

怎么用一个按键控制4位数码管时钟的从00:00开始?而我这个程序我用按键控制,它不受控制的?
#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 = minute / 10;
TimeDisp = minute % 10;
TimeDisp = second / 10;
TimeDisp = second % 10;
Update = OFF;
}
页: [1]
查看完整版本: 怎么用一个按键控制4位数码管时钟的从00:00开始?而我这个程序我用按键控制,它不...