亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: 這個單片機程序怎樣跳出第三個while循環?幫忙看一下 [打印本頁]

作者: gpm    時間: 2018-12-3 00:58
標題: 這個單片機程序怎樣跳出第三個while循環?幫忙看一下
  1. #include <reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit SHCP=P3^6;//595的移位信號         
  5. sbit STCP=P3^5;//是595的鎖存信號              
  6. sbit SDA=P3^4;//紅數據  

  7. sbit IA=P1^0;//行控制線A                 
  8. sbit IB=P1^1;//行控制線B
  9. sbit IC=P1^2;//行控制線C


  10. /********************************************************************/


  11. #define  scan0    {IA=0;IB=0;IC=0;}
  12. #define  scan1    {IA=1;IB=0;IC=0;}
  13. #define  scan2    {IA=0;IB=1;IC=0;}
  14. #define  scan3    {IA=1;IB=1;IC=0;}
  15. #define  scan4    {IA=0;IB=0;IC=1;}
  16. #define  scan5    {IA=1;IB=0;IC=1;}
  17. #define  scan6    {IA=0;IB=1;IC=1;}
  18. #define  scan7    {IA=1;IB=1;IC=1;}
  19. #define light 3
  20. extern uint uiAllData;                       //定義亮度
  21. uchar code hanzi[];        //漢字字模
  22. uchar Move,Speed,line,tome_count;  //(移位 速度 行 ) 定義
  23. uint zimuo;                                   //字模計數器
  24. uint uiAllData;
  25. uchar BUFF[10];                                   //緩存
  26. void   DelayMs(void);              // 延時
  27. void   in_data();                                   // 調整移動數據
  28. void   rxd_data();                                   // 發送移動數據
  29. uchar time_count=0; //計數
  30. void   rxd_data1();                                   // 發送移動數據
  31. /******************************************************/
  32. /*****不影響其他端口的掃描*************************/
  33. void scan(unsigned char Value)
  34. {switch(Value)
  35.         { case  0: scan0;break;
  36.                   case  1: scan1;break;
  37.                   case  2: scan2;break;
  38.                   case  3: scan3;break;
  39.           case  4: scan4;break;
  40.                   case  5: scan5;break;
  41.                   case  6: scan6;break;
  42.                   case  7: scan7;break;
  43.               default:break;
  44.         }
  45. }
  46. /**************************延時***********************/

  47. void DelayMs(void)
  48. {
  49.   uchar TempCyc;
  50.   for(TempCyc=250;TempCyc>1;TempCyc--)
  51.      {;}
  52. }
  53. /********************************************/


  54. /*主函數*/
  55. void main()
  56. {  
  57.    Move=0;
  58.    zimuo=0;
  59.    while(1)  
  60.    {
  61.            //利用sizeof()語句 運算字幕有效數據的總數;
  62.    while(zimuo<1024)//2048)//定義顯示字幕數據的長度 2048/32=64 即顯示完64個16*16大小的字符后 重新循環
  63.     {
  64.          while(Move<16)        //數據移位。
  65.        {
  66.              for(Speed=0;Speed<3;Speed++) //移動速度控制
  67.               {        
  68.                     for(line=0;line<8;line++)
  69.                           {
  70.                                 in_data();        //調整移動數據
  71.                                 rxd_data(); //裝載移動數據
  72.                                 scan(line); //輸出行掃描      
  73.                                                                                    
  74.                                 STCP=1;//鎖存
  75.                                 STCP=0;
  76.                                 
  77.                                 DelayMs();         //延時,等待一段時間,讓這列顯示的內容在人眼內產生“視覺暫留”現象。
  78.                                 DelayMs();
  79.                                  
  80.                   }
  81.                  }
  82.        Move++;                                                 //移動一步
  83.              }
  84.      Move=0;
  85.          zimuo=zimuo+64; //換下一個字         這里不在移動地址 就實現了靜態顯示
  86.     }
  87.               
  88.   TMOD=0x01; //定時器0 16位定時定時器1方式2
  89.   TH0=0x4c;  //50ms
  90.   TL0=0x00;  
  91.   TR0=1; //開定時器計數
  92.   ET0=1; //開定時器中斷
  93.   EA=1;         //開中斷
  94.    while(tome_count<9)    //怎么樣跳出這個循環????????
  95.    {
  96.         }                     
  97.         
  98.    zimuo=0;
  99.    }
  100. }
  101.          
  102. /**********************************************************/

  103. void in_data(void)                                       //調整數據一個屏2個字的數據
  104. {
  105. char s;
  106.         for(s=2;s>=0;s--)                                            //一個屏能顯示4個字 取最前面的字發送給595的最前面
  107.         {   //zimuo 是個計算顯示到哪個字的計數器 s是取4個字的循環 line是顯示到哪一行 根據這幾個參數計算出一個屏中現在需要顯示的數據 放入BUFF 內存中 等待發送給595
  108.                  BUFF[2*s]=hanzi[zimuo+32*s+2*line];        //要知道為什么這么算就需要知道取模的方向和原理  一行有8個字節 (一個中文16*16的字 一行有2個字節)
  109.                  BUFF[2*s+1]=hanzi[zimuo+1+32*s+2*line];//把一個字的首字節放入BUFF[0]中 后面一個字節放入BUFF[1] 以此類推剩下的3個字            
  110.         }
  111. }

  112. /***********************發送移動的數據****************************/
  113. void rxd_data(void)                            //串行發送數據
  114. {
  115.   uchar s;
  116.   uchar temp,k;   
  117.   for(s=0;s<4;s++)                   //發送4字節數據
  118.         {
  119.          temp=BUFF[s];
  120.          temp=255-temp;
  121.                  SDA=0;
  122.              for(k=0;k<8;k++)//一個字節8位 發送給595
  123.                {
  124.                        SHCP=0; //上升沿移位595                           
  125.                            SDA=(bit)(temp&0x01);//通過IO口送一個位給 595         0x01
  126.                        temp=temp>>1;  //字節移位 準備送下一位                           
  127.                    SHCP=1;
  128.                }

  129.    }

  130. }

  131. void Timer0Interrupt(void) interrupt 1 //定時器中斷
  132. {
  133.      TH0 = 0x04C;//定時50MS        這里的晶振是18.432M 測試無需理會晶振大小
  134.      TL0 = 0x000;
  135.          
  136.    time_count++;
  137.    if(time_count>8)//發送一次數據
  138.    {      
  139.        time_count=0;
  140.            line++; //下一行
  141.           if(line>8) //共16行
  142.            {
  143.                     line=0; //重新移動        
  144.            }
  145.             rxd_data1();//發送數據
  146.         scan(line); //打開行掃描                                                                                             
  147.                 STCP=1;//鎖存
  148.             STCP=0;

  149.    }
  150.         
  151. }
  152. void rxd_data1(void)                            //串行發送數據
  153. {
  154.   uchar s;
  155.   uchar k;

  156.   for(s=0;s<4;s++)//發送4字節數據 一行4個字節
  157.         {
  158.      for(k=0;k<8;k++) //一個字節8位
  159.        {
  160.                SHCP=0; //上降沿移位595
  161.           SDA=1;

  162.           SHCP=1;
  163.        }
  164.    }
  165. }

  166. const uchar code hanzi[]={


  167. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"未命名文件",0*/
  168. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"未命名文件",0*/
  169. 0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,
  170. 0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,/*"未命名文件",0*/
  171. 0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
  172. 0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,/*"未命名文件",0*/
  173. 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,
  174. 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,/*"未命名文件",0*/
  175. 0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
  176. 0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,/*"未命名文件",0*/
  177. 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
  178. 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,/*"未命名文件",0*/
  179. 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
  180. 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,/*"未命名文件",0*/
  181. 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
  182. 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,/*"未命名文件",0*/
  183. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"未命名文件",0*/
  184. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"未命名文件",0*/
  185. 0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,/*"未命名文件",0*/
  186. 0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,/*"未命名文件",0*/
  187. 0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"未命名文件",0*/
  188. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"未命名文件",0*/




  189. };

復制代碼

作者: 謝小康4    時間: 2018-12-3 08:39
當while()中的語句為真時,執行一遍{}里的內容,直到()內不為真,退出該循環,執行下一步指令
作者: phang    時間: 2018-12-3 09:45
第3個while里Move++,加到=16跳出來,又被你Move=0了,那就被你摁在第2和第3個while了。。
作者: yousunny    時間: 2018-12-3 09:53
Move++;                                                 //移動一步
這里一直加,到最后,肯定就跳出循環了
作者: xuyaqi    時間: 2018-12-3 09:59
這是循環成立的條件:while(Move<16)
每循環一次 Move++;
循環16次,就不滿足循環條件,跳出循環。
作者: 冰冰潔潔    時間: 2018-12-3 10:34
while(tome_count<9)    //怎么樣跳出這個循環????????
   {
        }                     
        
   zimuo=0;
   }
}這個不是定義嗎,while(tome_count<9),就是計數大于9后為假,跳出。
作者: gpm    時間: 2018-12-3 11:18
是第四個while循環出不來
作者: 15779064856    時間: 2018-12-3 12:20
這是循環成立的條件:while(Move<16) 每循環一次 Move++;  循環16次,就不滿足循環條件,就是讓循環的條件不滿足循環




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1