⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6-2.txt

📁 单片机应用开发实例.rar
💻 TXT
📖 第 1 页 / 共 5 页
字号:
   h11=0;
   h12=0;
   h13=0;
   h14=0;
   max=0;
   enable;
   ;
   w79=85h;
   w79d=0;
   w79=86h;
   w79d=0;
   do j=0 to 256;
      tor(j).ten=0;
      tor(j).fir=0;
      tor(j).err=0;
      tor(j).mer=0;
      tor(j).ready=0;
      tor(j).flor=0;
      tor(j).numb=0;
      tor(j).pb=0;
      tor(j).shi=0;
      tor(j).fen=0;
      tor(j).acunt=0;
   end;
   do j=0 to 64;
     tna(j).e1=0;
     tna(j).e2=0;
     tna(j).e3=0;
     tna(j).f1=0;
     tna(j).f2=0;
     tna(j).f3=0;
     tnb(j).e1=0;
     tnb(j).e2=0;
     tnb(j).e3=0;
     tnb(j).f1=0;
     tnb(j).f2=0;
     tnb(j).f3=0;
     tnc(j).e1=0;
     tnc(j).e2=0;
     tnc(j).e3=0;
     tnc(j).f1=0;
     tnc(j).f2=0;
     tnc(j).f3=0;
     tnd(j).e1=0;
     tnd(j).e2=0;
     tnd(j).e3=0;
     tnd(j).f1=0;
     tnd(j).f2=0;
     tnd(j).f3=0;
   end;
   do i=1 to 3;
      toa(i).ave=0h;
      toa(i).mer=0h;    
      tob(i).ave=0h;
      tob(i).mer=0h;    
      toc(i).ave=0h;
      toc(i).mer=0h;    
      tod(i).ave=0h;
      tod(i).mer=0h;    
   end;
   do i=1 to 64;
      tna(i).e1=0h;
      tnb(i).e1=0h;   
      tnc(i).e1=0h;   
      tnd(i).e1=0h;   
      tna(i).e2=0h;
      tnb(i).e2=0h;   
      tnc(i).e2=0h;   
      tnd(i).e2=0h;   
      tna(i).e3=0h;
      tnb(i).e3=0h;   
      tnc(i).e3=0h;   
      tnd(i).e3=0h;   
   end;
   do i=1 to 8;
      j=hsi_time;
   end;
   j=0h;
   w79=81h;
   w79d=99h;
   w79=82h;
   w79d=0f9h;
   /* first xun */
   do i=1 to 64;
      portd=80h;
      ;
      portb=0ffh-i; 
      ;
      portc=10h;
      ;
      latt=timer1;
      latter=0h;
      ;
      do while latter <1ff0h;
          ;
          ;
          ;
          latter=timer1-latt;
      end;
      ;
      portd=80h;
      ;
      portc=1fh;     
      call time(2800);
      tor(i).mer=(high1-low1)/500;
      high1=0h;
      low1=0h;
      if tor(i).mer>28 then tna(i).e1=1;
      ;
      tor(i+64).mer=(high2-low2)/500;
      high2=0h;
      low2=0h;
      if tor(i+64).mer>28 then tnb(i).e1=1;
      ;
      tor(i+128).mer=(high3-low3)/500;
      high3=0h;
      low3=0h;
      if tor(i+128).mer>28 then tnc(i).e1=1;
      ;
      tor(i+192).mer=(high4-low4)/500;
      high4=0h;
      low4=0h;
      if tor(i+192).mer>28 then tnd(i).e1=1;
      ;
   end;
   /* second xun  */
   do i=1 to 64;
      portd=80h;
      ;
      portb=0ffh-i; 
      ;
      portc=10h;
      ;
      latt=timer1;
      latter=0h;
      ;
      do while latter <1ff0h;
          ;
          ;
          ;
          latter=timer1-latt;
      end;
      ;
      portd=80h;
      ;
      portc=1fh;     
      call time(2800);
      tor(i).mer=(high1-low1)/500;
      high1=0h;
      low1=0h;
      if tor(i).mer>28 then tna(i).e2=1;
      ;
      tor(i+64).mer=(high2-low2)/500;
      high2=0h;
      low2=0h;
      if tor(i+64).mer>28 then tnb(i).e2=1;
      ;
      tor(i+128).mer=(high3-low3)/500;
      high3=0h;
      low3=0h;
      if tor(i+128).mer>28 then tnc(i).e2=1;
      ;
      tor(i+192).mer=(high4-low4)/500;
      high4=0h;
      low4=0h;
      if tor(i+192).mer>28 then tnd(i).e2=1;
      ;
   end;
    /* third xun */        
   do i=1 to 64;
      portd=80h;
      ;
      portb=0ffh-i; 
      ;
      portc=10h;
      ;
      latt=timer1;
      latter=0h;
      ;
      do while latter <1ff0h;
          ;
          ;
          ;
          latter=timer1-latt;
      end;
      ;
      portd=80h;
      ;
      portc=1fh;     
      call time(2800);
      tor(i).mer=(high1-low1)/500;
      high1=0h;
      low1=0h;
      if tor(i).mer>28 then tna(i).e3=1;
      ;
      tor(i+64).mer=(high2-low2)/500;
      high2=0h;
      low2=0h;
      if tor(i+64).mer>28 then tnb(i).e3=1;
      ;
      tor(i+128).mer=(high3-low3)/500;
      high3=0h;
      low3=0h;
      if tor(i+128).mer>28 then tnc(i).e3=1;
      ;
      tor(i+192).mer=(high4-low4)/500;
      high4=0h;
      low4=0h;
      if tor(i+192).mer>28 then tnd(i).e3=1;
      ;
   end;
   do i=1 to 64;
       if (tna(i).e1+tna(i).e2+tna(i).e3)>=2 then 
       do;
          tor(i).ten=55h;
          tor(i).numb=i;
          tor(i).flor=1h;
          w79=84h;   
          w79d=1h;   
          ;
          w79=83h;   
          w79d=dec(i);   
          ;
          call time(1000);
       end;   
   end;
   do i=1 to 64;
       if (tnb(i).e1+tnb(i).e2+tnb(i).e3)>=2 then  
       do;
          tor(i+64).ten=55h;
          tor(i+64).numb=i;
          tor(i+64).flor=2h;
          w79=84h;   
          w79d=2h;   
          ;
          w79=83h;   
          w79d=dec(i);   
          ;
          call time(1000);
       end;   
   end;
   do i=1 to 64;
       if (tnc(i).e1+tnc(i).e2+tnc(i).e3)>=2 then  
       do;
          tor(i+128).ten=55h;
          tor(i+128).numb=i; 
          tor(i+128).flor=3h; 
          w79=84h;   
          w79d=3;   
          ;
          w79=83h;   
          w79d=dec(i);   
          ;
          call time(1000);
       end;   
   end;
   do i=1 to 64;
       if (tnd(i).e1+tnd(i).e2+tnd(i).e3)>=2 then 
       do;
          tor(i+192).ten=55h;
          tor(i+192).numb=i; 
          tor(i+192).flor=4h; 
          w79=84h;   
          w79d=4h;   
          ;
          w79=83h;   
          w79d=dec(i);   
          w79=81h;
          w79d=dec(tor(i+192).mer);
          call time(4000);
       end;   
   end;
      w79=84h;
      w79d=0ffh;
      w79=83h;
      w79d=0ffh;
      w79=82h;
      w79d=0ffh;
      w79=81h;
      w79d=0ffh;
      do i=1 to 64;
          if tor(i).ten=55h then 
          do;
             h11=h11+1;
             max=i;
          end;
          if tor(i+64).ten=55h then 
          do;
             h12=h12+1;
             max=i;
          end;
          if tor(i+128).ten=55h then 
          do;
             h13=h13+1;
             max=i;
          end;
          if tor(i+192).ten=55h then 
          do;
             h14=h14+1;
             max=i;
          end;
      end;   
      if max<5 then estep=27;
      if max>=5 then estep=27;
      if max<10 then max=10;
    call n1;
   /* xun */
mmm: do i=1 to max;
     if errbd=55h then estep=29;
     if (tor(i).fir=55h or tor(i+64).fir=55h or tor(i+128).fir=55h or tor(i+192).fir=55h) then call firxun;
     else 
     do;
       portd=80h;
       ;
       portb=0ffh-i; 
       ;
       portc=10h;
       ;
       latter=0h;
       latt=timer1;
       ;
       do while latter <1ff0h;
         ;
         ;
         latter=timer1-latt;
       end;
       ;
       portd=80h;
       ;
       portc=1fh;     
       call time(2800);
       tor(i).mer=(high1-low1)/500;  
       high1=0h;
       low1=0h;
       tor(i+64).mer=(high2-low2)/500;       
       high2=0h;
       low2=0h;
       tor(i+128).mer=(high3-low3)/500;       
       high3=0h;
       low3=0h;
       tor(i+192).mer=(high4-low4)/500;     
       high4=0h;
       low4=0h;
     end;
       ;
       if tor(i).ten=55h then           /*   line1  */
       do;
           ;
           if tor(i).mer>=estep and tor(i).mer<=40 then
           do;
               if tor(i).err=55h then             /* clr err  */
               do;
                   tor(i).err=0h;
                   error=error-1;
                   if fire=0h and error=0h then
                   do;
                       pt8255=pt8255 and 0eeh;
                       ptd=80h;
                       ;
                       ptc=pt8255;
                       call time(1000);
                       w79=84h;
                       w79d=0ffh;
                       w79=83h;
                       w79d=0ffh;
                       zsd89=zsd89 and 7fh;
                       w79=89h;
                       w79d=zsd89;
                       zsd87=zsd87 or 80h;
                       w79=87h;
                       w79d=zsd87;
                   end;
                   else 
                   do;
                      w79=84h;
                      if tor(i).flor=w79d then
                      do;
                          w79=83h;
                          if tor(i).numb=w79d then
                          do j=0 to 256;
                              if tor(j).err=55h then
                              do;
                                  w79=84h;
                                  w79d=tor(j).flor;
                                  w79=83h;
                                  w79d=tor(j).numb;
                              end;
                          end;
                      end;
                   end;
               end;
               if tor(i).ready>0 then    /* clr fready */
               do;
                     tor(i).ready=0;
                     zsd89=zsd89 or 2h;
                     w79=89h;
                     w79d=zsd89;
               end;
           end;
           ;
               if (tor(i).mer<estep and tor(i).err=0 and tor(i).pb=0h) then
               do;
                   ;
                   call err1;
                   if tor(i).err=55h then
                   do;
                      error=error+1;
                      if fire=0h then 
                      do;
                         pt8255=pt8255 or 10h;
                         ptd=80h;
                         ;
                         ptc=pt8255;
                         call time(100);
                         w79=84h;
                         w79d=1h;
                         w79=83h;
                         w79d=dec(i);
                      end;
                      zsd89=zsd89 or 80h;
                      w79=89h;
                      w79d=zsd89;    
                      do j=0 to 96;
                         test(j)=test2(j);
                      end;
                      test(97)=30h;
                      test(98)=tor(i).flor+30h;
                      test(99)=tor(i).numb/10+30h;
                      test(100)=(tor(i).numb-tor(i).numb/10*10)+30h;
                      test(101)=0dh;
                      test(102)=20h;
                      test(103)=0dh;
                      test(104)=year3+30h;
                      test(105)=year4+30h;
                      test(106)=8ch;
                      test(107)=moun1+30h;
                      test(108)=moun2+30h;
                      test(109)=8dh;
                      test(110)=day1+30h;
                      test(111)=day2+30h;
                      test(112)=8eh;
                      test(113)=20h;
                      test(114)=hour/10+30h;
                      test(115)=(hour-hour/10*10)+30h;
                      test(116)=3ah;
                      test(117)=min/10+30h;
                      test(118)=(min-min/10*10)+30h;
                      test(119)=0dh;
                      test(120)=02h;
                      test(121)=0dh;
                      prnumb=121;
                      call print;
                   end;
               end;
               r0=0h;
               ;
               if tor(i).mer>=41 and tor(i).fir=0 and tor(i).pb=0h then       /* frady   */
               call time(2000);
               do;
                  call fir1;
                  if (toa(1).ave+toa(2).ave+toa(3).ave)>=2 then 
                  do;
                    tor(i).ready=tor(i).ready+1;
                    zsd89=zsd89 and 0fdh;
                    w79=89h;
                    w79d=zsd89;
                  end;
               end;
               if tor(i).mer>=42 and tor(i).ready>1 and tor(i).pb=0h then 
               do;                               /* fire alarm   */
                  call lamp1;
                  pt8255=pt8255 or 11h;
                  ptd=80h;
                  ;
                  ;
                  ptc=pt8255;
                  call time(1000);
                  tor(i).fir=55h;
                  tor(i).ready=0;
                  if  fire=0 then 
                  do;
                     tor(i).soji=55h;
                     zsd88=zsd88 and 0fbh;
                  end;
                  else zsd88=zsd88 or 4h;
                  fire=fire+1;
                  tor(i).acunt=fire;
                  zsd89=zsd89 or 3h;
                  w79=89h;
                  w79d=zsd89;
                  w79=88h;
                  w79d=zsd88;
                  w79=84h;
                  w79d=1h;
                  w79=83h;
                  w79d=dec(i);
                  w79=81h;
                  w79d=dec(tor(i).acunt);
                  do j=0 to 96;
                     test(j)=test1(j);
                  end;
                  test(97)=30h;
                  test(98)=tor(i).flor+30h;
                  test(99)=tor(i).numb/10+30h;
                  test(100)=(tor(i).numb-tor(i).numb/10*10)+30h;
                  test(101)=0dh;
                      test(102)=20h;
               

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -