#include <mega8.h>
#include <DELAY.h>
#define uchar unsigned char
#define uint unsigned int
#define LEDData PORTB
#define LEDDirect DDRB
#define LEDIO4 PORTD.4
#define LEDIO3 PORTD.5
#define LEDIO2 PORTD.6
#define LEDIO1 PORTD.7
#define LEDDir4 DDRD.4
#define LEDDir3 DDRD.5
#define LEDDir2 DDRD.6
#define LEDDir1 DDRD.7
uchar dtab[10]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴
uchar i;
void PORT_Init(void)
{
LEDDirect="0xff";
LEDData="0xff";
LEDDir1=1;
LEDDir2=1;
LEDDir3=1;
LEDDir4=1;
}
void Display_Part(uchar qw,uchar bw,uchar sw,uchar gw )
{
i="10";
while(i-->0)
{
LEDIO2=1;LEDIO3=1;LEDIO4=1;LEDIO1=0;
LEDData="dtab"[qw];
delay_ms(5);
LEDIO1=1;LEDIO3=1;LEDIO4=1;LEDIO2=0;
LEDData="dtab"[bw];
delay_ms(5);
LEDIO1=1;LEDIO2=1;LEDIO4=1;LEDIO3=0;
LEDData="dtab"[sw];
delay_ms(5);
LEDIO1=1;LEDIO2=1;LEDIO3=1;LEDIO4=0;
LEDData="dtab"[gw];
delay_ms(5);
}
}
void main(void)
{
PORT_Init();
while(1)
{
Display_Part(1,2,3,4);
delay_ms(5);
Display_Part(2,2,3,4);
delay_ms(5);
Display_Part(3,2,3,4);
delay_ms(5);
Display_Part(4,2,3,4);
delay_ms(5);
Display_Part(5,2,3,4);
delay_ms(5);
Display_Part(6,2,3,4);
delay_ms(5);
Display_Part(7,2,3,4);
delay_ms(5);
Display_Part(8,2,3,4);
delay_ms(5);
Display_Part(9,2,3,4);
delay_ms(5);
}
}
用户518079 2009-4-4 21:37