AVR单片机对数码管的控制设计

发布者:MysticGlow最新更新时间:2020-01-16 来源: elecfans关键字:AVR单片机  数码管  控制设计 手机看文章 扫描二维码
随时随地手机看文章

//数码管数据P0口,数码管控制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};

AVR单片机对数码管的控制设计

uchar TIme[4]; //时间计数

volaTIle uchar disp_buff[8]; //显示缓冲区

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;

}

}


关键字:AVR单片机  数码管  控制设计 引用地址:AVR单片机对数码管的控制设计

上一篇:avr单片机的数码管显示时钟设计
下一篇:AVR单片机对电子时钟的设计

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved