بسم الله الرحمن الرحيم
دالة بسيطة للتعامل مع 7سيقمنت خاصة ببرنامج cvavr
كود:
/*
* Project name: 7segment fuction
(C) Copyright 19/07/2016 : gesmi said ben amar
*/
unsigned char digits [10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};//0..9 digits coded (common anode)
Number2Seg(unsigned long int num);
Number2Seg(unsigned long int num)
{
unsigned long int j=100000 ,i=0,s=1;
unsigned long int d,f;
for(i;i<=6;i++) //six digits 7segment
{
f=num/j; //
d=f%10;
PORTC=digits[d];// send digit to 7segment port
PORTD=s;//next segment
s<<=1; //rotate to left
delay_ms(100);
j=j/10;//next digit
}
}