سلام دوستان کسی هست که در مورد این برنامه کمکم کنه توضیحاتی در مورد هر خط بهم بده ممنون میشم
include <mega16.h>
#include <delay.h>
#define red_1 PORTA.0
#define yellow_1 PORTA.1
#define green_1 PORTA.2
#define red_2 PORTA.3
#define yellow_2 PORTA.4
#define green_2 PORTA.5
#define green_a PORTA.6
#define red_a PORTA.7
#define green_b PORTB.0
#define red_b PORTB.1
unsigned char a,b;
unsigned char segment (unsigned char input){
switch(input){
case 1:{return 0x06;break;}
case 2:{return 0x5B;break;}
case 3:{return 0x4F;break;}
case 4:{return 0x66;break;}
case 5:{return 0x6D;break;}
case 6:{return 0x7D;break;}
case 7:{return 0x07;break;}
case 8:{return 0x7F;break;}
case 9:{return 0x6F;break;}
case 0:{return 0x3F;break;}
}
}
void delay_green(void){
red_a=0;
green_b=0;
a=9;
b=0;
while(b!=10){
delay_ms(1000);
b++;
PORTC=segment(a);
green_a=1;
red_b=1;
a--;
}
a=9;
}
void delay_red(void){
green_a=0;
red_b=0;
a=9;
b=0;
while(b!=10){
delay_ms(1000);
b++;
PORTC=segment(a);
red_a=1;
green_b=1;
a--;
}
}
void main(void){
PORTA=0x00;
DDRA=0xFF;
PORTB=0x00;
DDRB=0x03;
PORTC=0x00;
DDRC=0xFF;
PORTD=0x00;
DDRD=0xFF;
while (1)
{
red_1=0;
red_2=1;
green_1=1;
delay_green();
green_1=0;
yellow_1=1;
delay_ms(1500);
yellow_1=0;
red_1=1;
red_2=0;
green_2=1;
delay_red();
yellow_2=1;
green_2=0;
delay_ms(1500);
yellow_2=0;
};
}
include <mega16.h>
#include <delay.h>
#define red_1 PORTA.0
#define yellow_1 PORTA.1
#define green_1 PORTA.2
#define red_2 PORTA.3
#define yellow_2 PORTA.4
#define green_2 PORTA.5
#define green_a PORTA.6
#define red_a PORTA.7
#define green_b PORTB.0
#define red_b PORTB.1
unsigned char a,b;
unsigned char segment (unsigned char input){
switch(input){
case 1:{return 0x06;break;}
case 2:{return 0x5B;break;}
case 3:{return 0x4F;break;}
case 4:{return 0x66;break;}
case 5:{return 0x6D;break;}
case 6:{return 0x7D;break;}
case 7:{return 0x07;break;}
case 8:{return 0x7F;break;}
case 9:{return 0x6F;break;}
case 0:{return 0x3F;break;}
}
}
void delay_green(void){
red_a=0;
green_b=0;
a=9;
b=0;
while(b!=10){
delay_ms(1000);
b++;
PORTC=segment(a);
green_a=1;
red_b=1;
a--;
}
a=9;
}
void delay_red(void){
green_a=0;
red_b=0;
a=9;
b=0;
while(b!=10){
delay_ms(1000);
b++;
PORTC=segment(a);
red_a=1;
green_b=1;
a--;
}
}
void main(void){
PORTA=0x00;
DDRA=0xFF;
PORTB=0x00;
DDRB=0x03;
PORTC=0x00;
DDRC=0xFF;
PORTD=0x00;
DDRD=0xFF;
while (1)
{
red_1=0;
red_2=1;
green_1=1;
delay_green();
green_1=0;
yellow_1=1;
delay_ms(1500);
yellow_1=0;
red_1=1;
red_2=0;
green_2=1;
delay_red();
yellow_2=1;
green_2=0;
delay_ms(1500);
yellow_2=0;
};
}
دیدگاه