日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀] //數(shù)碼管數(shù)據(jù)P0口,數(shù)碼管控制P2口#include #include #include #include #include #define code PROGMEM#define uchar unsigned char#define uint unsigned intcode const ucharLED_7[16] = {0x28, 0x7

//數(shù)碼管數(shù)據(jù)P0口,數(shù)碼管控制P2口

#include
#include
#include
#include
#include

#define code PROGMEM

#define uchar unsigned char
#define uint unsigned int


code const ucharLED_7[16] = {0x28, 0x7E, 0xA2, 0x62, 0x74, 0x61, 0x21, 0x7A, 0x20, 0x60,0xff};//common of +

code const uchar position[8] = {0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};


uchar time[4]; //時間計數(shù)
volatile uchar disp_buff[8]; //顯示緩沖區(qū)
volatile uchar time_count = 0;

volatile uchar point_on = 0;
volatile uchar posit = 0;
volatile uchar time_10ms_ok = 0;

void time_to_dispbuff(void);
void time1_init(void);
void time0_init(void);
void display(void);

int main(void)
{
PORTA = 0xff;
DDRA = 0xff;
PORTC = 0xff;
DDRC = 0xff;

time[0] = 00;//1/10sec
time[1] = 30;//sec
time[2] = 59;//minute
time[3] = 23;//hour
time_to_dispbuff();

time1_init();
sei();

while(1)
{
if(time_10ms_ok)
{
time_10ms_ok = 0;
if(++time[0]>=100)
{
time[0] = 0;
point_on = ~point_on;
if(++time[1]>=60)
{
time[1] = 0;
if(++time[2]>=60)
{
time[2] = 0;
if(++time[3]>=24)
{
time[3] = 0;
}
}
}
}
time_to_dispbuff();
}
}
}

void time0_init(void)
{
TCCR0 = 0x05;
TCNT0 = 0xea;
TIFR |= 0x02;
TIMSK |= 0x02;
}


void time1_init(void)
{
TCCR1A = 0x00;
TCCR1B = 0x01;
TCNT1 = 0xa99a;
//TCNT1H = 0xa9;
//TCNT1L = 0x9a;
TIFR |= 0x80;
TIMSK |= 0x80;
}

SIGNAL(SIG_OVERFLOW1)
{
TCNT1 = 0xa99a;
display();
if(++time_count >=5)
{
time_10ms_ok = 1;
time_count = 0;
}
}

void display(void)
{
PORTC = 0xff;
PORTA = pgm_read_byte(&led_7[disp_buff[posit]]);
if(point_on && ((posit==2)||(posit==4)||(posit==6)))PORTA &= 0x7f;
PORTC = pgm_read_byte(&position[posit]);
if(++posit>=8)posit = 0;
}

void time_to_dispbuff(void)
{
uchar i,j=0;
for(i=0;i<=3;i++)
{
disp_buff[j++] = time[i]%10;
disp_buff[j++] = time[i]/10;
}
}


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉