<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>

  • 電子工程網

    標題: 不連續IO口怎么輸出7led顯示 [打印本頁]

    作者: haosheng    時間: 2009-11-25 14:37
    標題: 不連續IO口怎么輸出7led顯示
    大家好:   小弟初學KEIL,看到很多流水燈例子都是用連續的IO,比方:P0,P1等,   由于PCB布線的原因,不連續的IO(比方說:7LED用到的段為P1.5,P1.6,P3.7,P1.7,P3.4,P1.4,P1.3)通過什么方法(也就是像操作P1口那樣)輸出7LED數碼管顯示呢?謝謝
    作者: uushuo    時間: 2009-11-25 22:27
    不知道這樣可以不?用“P4(x);”代替“P4 = (x);”
    #include

    #define P4(x)         P1_2 = 0x01&x;\
                                    P1_5 = 0X02&x;\
                                    P1_6 = 0x04&x;\
                                    P3_7 = 0x08&x;\
                                    P1_7 = 0x10&x;\
                                    P3_4 = 0x20&x;\
                                    P1_4 = 0x40&x;\
                                    P1_3 = 0x80&x
    作者: haosheng    時間: 2009-11-27 20:53
    樓上的好像不行的。
    作者: alpha321    時間: 2010-5-19 01:01
    感謝1樓! 你的代碼是可以的, 列表為證:
      12          void main(void)
      13          {
      14   1          P4(5);
      15   1         
      16   1          while(1);
      17   1      }
    C51 COMPILER V8.02   TES1                                                                  05/19/2010 00:59:30 PAGE 5   

    ASSEMBLY LISTING OF GENERATED OBJECT CODE


                 ; FUNCTION main (BEGIN)
                                               ; SOURCE LINE # 12
                                               ; SOURCE LINE # 13
                                               ; SOURCE LINE # 14
    0000 D292              SETB    P1_2
    0002 C295              CLR     P1_5
    0004 D296              SETB    P1_6
    0006 C2B7              CLR     P3_7
    0008 C297              CLR     P1_7
    000A C2B4              CLR     P3_4
    000C C294              CLR     P1_4
    000E C293              CLR     P1_3
    0010         ?C0001:
    作者: alpha321    時間: 2010-5-19 01:02
    1樓高手, 有空多交流!
    作者: oksmn    時間: 2010-5-26 01:48
    哈哈。真的要感謝uushuo,這個問題也困擾我很久了 ,
    作者: alpha321    時間: 2010-5-29 10:04
    要是寫成類似這樣會更好:
    #define P4((x))         P1_2 = 0x01&(x);\
    .....

    這里的x可以是一個常數表達式, 如 0x01<<2.
    作者: lyong2002    時間: 2010-5-30 14:08
    初學者,看不明白.用(X)是表示什么意思
    作者: kobeast    時間: 2010-6-1 23:16
    1樓高手 ,好久不用51了
    作者: daw85    時間: 2010-6-7 23:30
    還真沒想到這個問題呢
    作者: eastljd    時間: 2011-6-12 11:23
    按位賦值
    作者: eastljd    時間: 2011-6-12 11:24
    按位賦值
    作者: MCU_NEWER    時間: 2011-7-4 08:27
    自己做個枚舉列表,猶如數組一樣,這樣看著也方便。
    作者: michelle_qi1234    時間: 2011-7-4 09:06
    學習
    作者: thunderccx    時間: 2011-7-11 16:05
    簡單的數據處理,沒什么不同
    作者: hyfcl    時間: 2011-7-14 18:28
    先查出欲顯示信息的字段碼,再按位賦值




    歡迎光臨 電子工程網 (http://www.portaltwn.com/) Powered by Discuz! X3.4
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷