#include <stc15w401as.h>
#include <intrins.h>
#include "tm1650.c"
#define T1MS (65536-FOSC/1000)
#define FOSC 11059200L
unsigned char dat[4]={0,0,0,0};
unsigned long int num_ms=0;
unsigned long int number=0;
const unsigned char Bit_seg[4]={0x68,0x6A,0x6C,0x6E};
void DisplayCode(u8 *p)
{ u8 i=0;
for(i=0;i<4;i++)
Write_tm1650(Bit_seg[i], DispTab[*p++]);
}
void main()
{
P3M0=0XC0;
P3M1=0X00;//
Set_tm1650(Mode_Seg,Disp_open|Seg7|Bright1);
Delay(200);
AUXR |= 0x04;
// AUXR &= ~0x04;
T2L = T1MS;
T2H = T1MS >> 8;
AUXR |= 0x10;
IE2 |= 0x04;
EA = 1;
P3M0=0XC0;
P3M1=0X00;
Delay(200);
while(1)
{
DisplayCode(dat);
Delay(200);
};
}
void t2int() interrupt 12
{
num_ms=num_ms+1;
if(num_ms==1000)
{
num_ms=0;
number=number+1;
if(number==10000)
{
number=0;
}
dat[3]=number%10;
dat[2]=(number/10)%10;
dat[1]=(number/100)%10;
dat[0]=(number/1000)%10;
}