Port a-Port b geçiş sorunu

Başlatan NBR07, 20 Mart 2013, 23:37:13

aboo67

bence demek istediği led , k, l degişkenlerinde yaptığın gibi whileden çıkınça ana döngüde tekrar değerlerini atamak şunu bir dene  :o

  #include <16f628a.h>
#use delay(clock=4000000)
int led=1;
int K=1;
int L=1;
int J=1;
int h=255;
void main()
{
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_ccp1(CCP_OFF);
   setup_comparator(NC_NC_NC_NC);

  while(1)
   { led=1;
     K=1;
     L=1;
     J=1;
     h=255;
  ////////////////////////////////////
     while(K)
          {
           output_b(led);
           K++;
           led=led<<1;
           delay_ms(50);
           output_b(led);
   if(led==0x00)
          {
           output_a(1);
           delay_ms(50);
           output_a(0x00);
           led=1;
          }
   if(K==100)
          {
          K=0;
          }
          }
  
////////////////////////////////////
 //:o//**kardeşim burası döngüye tekrar girmiyor**/// :o
 while(h)
          {
           output_b(h);
           K++;
           H=H>>1;
           delay_ms(50);
           output_b(H);
   if(H==128)
          {
           output_a(1);
           delay_ms(50);
           output_a(0x00);
           H=1;
          }
   if(K==100)
          {
          K=0;
          }
          }
 
////////////////////////////////////
   while(L)
         {
          L++;
          output_b(0xFF);
          output_a(0x01);
          delay_ms(300);
          output_b(0x00);
          output_a(0x00);
          delay_ms(300);
   if(L==10)
         {
         L=0;
         }
         }
  
///////////////////////////////////
   while(J)
         {
         J++;
         output_b(0x1F);
         output_a(0x00);
         delay_ms(200);
         output_b(0xE0);
         output_a(0x01);
         delay_ms(200);
  if(J==8)
         {
         J=0;
         }
         }
   //////////////////////////  
   output_a(0x02);
   delay_ms(200);
   output_a(0x04);
   delay_ms(200);
   output_a(0x08);
   delay_ms(20);
   ///////////////////////////////
 }}