کد پروژه:
#include <mega16.h>
#include <delay.h>
void main(void)
{
const int num=6;
char Cseg[num]={0x3F,0x06,0xDB,0x4F,0x66,0x6D,0x7D,0x07,0xFF,0x6F};
char Aseg[num-5]={0xFF,0x00,0xFF,0x00};
int i=0,j=0,k=0;
DDRA=0xFF; چراغ راهنمایی
DDRB=0xFF; سون سگمنت آبی
DDRC=0xFF; سون سگمنت سبز
DDRD=0xFF; سون سگمنت قرمز
PORTB=0xFF;
for(;;)
{
PORTA.0=1; چراغ سبز روشن میشود
for(i=num;i>=0;i--) مقدار تاخیر چراغ سبز را وارد میکنیم
{
PORTC=Cseg[i];
delay_ms(1000);
}
}
PORTC=0x00; سون سگمنت سبز خالی میشود
PORTA.0=0; چراغ سبز خاموش میشود
PORTA.3=1; چراغ زرد روشن میشود
for(k=num-4;k>=0;k--) مقدارتاخیر چراغ زرد را وارد میکنیم
{
PORTB=Aseg[k];
delay_ms(500) ;
}
PORTB=0xFF; سون سگمنت آبی خالی میشود
PORTA.3=0; چراغ زرد خاموش میشود
PORTA.6=1; چراغ قرمز روشن میشود
for(j=num-3;j>=0;j--) مقدارتاخیر چراغ قرمز را وارد میکنیم
{
PORTD=Cseg[j];
delay_ms(1000);
}
PORTD=0x00; سون سگمنت قرمز خالی میشود
PORTA.6=0; چراغ قرمز خاموش میشود
}
}
اکنون کار کدنویسی تمام شده است و اگر بخواهیم همه کد های بالا را به ترتیب پشت سر هم اجرا کنیم قطعه کد ما در نهایت به شکل زیر میباشد: