<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x
    查看: 8363|回復: 14
    打印 上一主題 下一主題

    [提問] 請教如何用C51實現2位循環

    [復制鏈接]
    跳轉到指定樓層
    樓主
    發表于 2010-2-2 10:44:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
    關鍵詞: 請教
    意思是這樣,我想得到一個兩bit循環:01,10,01.....。請教各位老師入戶用c51實現:
    沙發
    發表于 2010-2-2 16:10:58 | 只看該作者
    怎么沒人解答?太簡單了還是太難了?
    板凳
    發表于 2010-2-3 18:53:38 | 只看該作者
    用if-else就可以了。switch都可以。不知道你要干什么?
    地板
    發表于 2010-2-3 20:26:17 | 只看該作者
    if(P0=0)
       P0=0x01;
    else
       P0=0;
    lz,這樣可否?
    地下室
    發表于 2010-2-3 21:07:02 | 只看該作者
    什么用途介紹一下,是用來產生方波?
    6
    發表于 2010-2-3 22:51:50 | 只看該作者
    a = 1;
    while(1)
    {
           a ^= 0x03;
    }

    評分

    參與人數 1積分 +2 收起 理由
    原野之狼 + 2

    查看全部評分

    7
    發表于 2010-2-4 08:43:06 | 只看該作者
    ls的方法很簡練,建議采用
    8
    發表于 2010-2-4 08:43:21 | 只看該作者
    ls的方法很簡練,建議采用
    9
    發表于 2010-2-4 09:05:44 | 只看該作者
    呵呵,毛片果然是軟件老鳥,思路獨特。
    10
    發表于 2010-2-4 15:00:11 | 只看該作者
    假如 要移位的 8位寬的 TEMP ;

    char A,B;
    TEMP=0x55;  // 0x01010101
    while(1)
    {
      A=TEMP;  //  A=0x55
      B=TEMP;  //  B=0x55;
      A>>=6;   //  高2位  循環到低2位  0x000000[ 01 ]  A=0x01
      B<<=2;   //  左移 兩位   0x010101 [00]           B=0x54
      B|=A;    //  整合起來;  0x010101 [01]           B=B|A   0x54|0x01 =0x55;
      TEMP=B;  //  回寫  TEMP=0x55;
    }
    11
    發表于 2010-2-4 15:52:41 | 只看該作者
    對于取反,‘毛片’寫的已是最簡的了。
    俺咋一看標題,還以為樓主想做胃反轉。
    12
     樓主| 發表于 2010-2-5 08:45:12 | 只看該作者
    6樓 McuPlayer 高明,已經采納到程序中。感謝。

            例如系統有2個狀態A、B:A狀態01轉換到B狀態10或反之,像一個鐘擺:那么用McuPlayer的方法就是:
           switch(current_state^3);  // 很巧妙。正規。


    3狀態轉換我還是想不出來:001,010,100,001,010,100,001......

    或者01,10,11,01,10,11,01,........

    4、5、6、狀態?
    13
    發表于 2010-2-23 22:30:44 | 只看該作者
    #define WIDTH  8
    #define BITSIZE  3

    char B;

    TEMP=0x55;  
    while(1)
    {      
       B=TEMP;  
      TEMP=  (B<>(WIDTH -BITSIZE  ))
    }
    14
    發表于 2010-6-28 17:49:54 | 只看該作者
    O,原來簡單問題可以得到這么多大師的指點.
    15
    發表于 2011-3-26 16:19:47 | 只看該作者
    高手啊!
    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規則

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷