/**********数码管************/
#include <avr/io.h>
//#include <macros.h>
#define uchar unsigned char
#define uint unsigned int
uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
/*
void delay(uint ms)//8m晶振1MS延时
{
uint i,j;
for(i=0;i<ms;i++)
{
for(j=0;j<1141;j++);
}
}
*/
void delay(uint ms)//16m晶振1MS延时
{
uint i,j;
for(i=0;i<ms;i++)
{
for(j=0;j<571;j++);
}
}
int main(void)
{
// DDRA &= ~(1<<0);
// PORTA |= (1<<0);
// DDRA &= ~(1<<1);
//PORTA |= (1<<1);
// DDRA &= ~(1<<2);
// PORTA |= (1<<2);
//DDRA &= ~(1<<3);
//PORTA |= (1<<3);
// DDRD |= (1<<0);
// PORTD |= (1<<0);//关蜂呜器
DDRB = 0xff;
DDRA = 0xff;
//DDRC |=0x1c;
while(1)
{
uchar i,j;
for(j=0;j<800;j++)
{
delay(2);
for(i=0;i<8;i++)
{
PORTA=table[(i+j/100)%8+0];
//PORTB |=0xff;
PORTB &= ~(1<<i);
delay(0.5);
PORTB |=0xff;
// PORTB |=0xff;
//
// if(i==8)
// i=0;
}
}
}
}
评论0