عرض مشاركة واحدة
  #40  
قديم 09-23-2011, 05:27 AM
 
كود:
/* 
 : Seven segment display 
*/ 
// Define seven segment connections 
 sbit seg_a at RB0_bit; 
 sbit seg_b at RB1_bit; 
 sbit seg_c at RB2_bit; 
 sbit seg_d at RB3_bit; 
 sbit seg_e at RB4_bit; 
 sbit seg_f at RB5_bit; 
 sbit seg_g at RB6_bit; 
 unsigned short count=0; 
 void main() { 

   TRISB = 0b00000000; // PORTC All Outputs 
  TRISA = 0b00100000; // PORTA All Outputs, Except RA5 = MCLR 
  do { 
   switch (count) { 
   case 0 : seg_a=1; seg_b=1; seg_c=1; 
            seg_d=1; seg_e=1; seg_f=1; seg_g=0; 
            break; 
   case 1 : seg_a=0; seg_b=1; seg_c=1; seg_d=0; 
            seg_e=0; seg_f=0; seg_g=0; 
            break; 
   case 2 : seg_a=1; seg_b=1; seg_c=0; seg_d=1; 
            seg_e=1; seg_f=0; seg_g=1; 
            break; 
   case 3 : seg_a=1; seg_b=1; seg_c=1; seg_d=1; 
            seg_e=0; seg_f=0; seg_g=1; 
            break; 
   case 4 : seg_a=0; seg_b=1; seg_c=1; seg_d=0; 
            seg_e=0; seg_f=1; seg_g=1; 
            break; 
   case 5 : seg_a=1; seg_b=0; seg_c=1; seg_d=1; 
            seg_e=0; seg_f=1; seg_g=1; 
            break; 
   case 6 : seg_a=1; seg_b=0; seg_c=1; seg_d=1; 
            seg_e=1; seg_f=1; seg_g=1; 
            break; 
   case 7 : seg_a=1; seg_b=1; seg_c=1; seg_d=0; 
            seg_e=0; seg_f=0; seg_g=0; 
            break; 
   case 8 : seg_a=1; seg_b=1; seg_c=1; seg_d=1; 
            seg_e=1; seg_f=1; seg_g=1; 
            break; 
   case 9 : seg_a=1; seg_b=1; seg_c=1; seg_d=0; 
            seg_e=0; seg_f=1; seg_g=1; 
            break; 
   case 10 : seg_a=1; seg_b=1; seg_c=1; seg_d=0; 
            seg_e=1; seg_f=1; seg_g=1; 
            break; 
   case 11 : seg_a=0; seg_b=0; seg_c=1; seg_d=1; 
             seg_e=1; seg_f=1; seg_g=1; 
             break; 
   case 12 : seg_a=1; seg_b=0; seg_c=0; seg_d=1; 
             seg_e=1; seg_f=1; seg_g=0; 
             break; 
   case 13 : seg_a=0; seg_b=1; seg_c=1; seg_d=1; 
             seg_e=1; seg_f=0; seg_g=1; 
             break; 
   case 14 : seg_a=1; seg_b=0; seg_c=0; seg_d=1; 
             seg_e=1; seg_f=1; seg_g=1; 
             break; 
   case 15 : seg_a=1; seg_b=0; seg_c=0; seg_d=0; 
             seg_e=1; seg_f=1; seg_g=1; 
             break; 
  } //case end 
  count ++; 
  if(count ==16) count =0; 
  Delay_ms(1000); // Wait for 1 sec before updating the display 
 } while(1);  // Infinite Loop 
}
__________________
angel4angel4angel4angel4angel4
رد مع اقتباس