<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
    查看: 8392|回復: 15
    打印 上一主題 下一主題

    [提問] 不連續IO口怎么輸出7led顯示

    [復制鏈接]
    跳轉到指定樓層
    樓主
    發表于 2009-11-25 14:37:08 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
    關鍵詞: 輸出
    大家好:   小弟初學KEIL,看到很多流水燈例子都是用連續的IO,比方:P0,P1等,   由于PCB布線的原因,不連續的IO(比方說:7LED用到的段為P1.5,P1.6,P3.7,P1.7,P3.4,P1.4,P1.3)通過什么方法(也就是像操作P1口那樣)輸出7LED數碼管顯示呢?謝謝
    沙發
    發表于 2009-11-25 22:27:41 | 只看該作者
    不知道這樣可以不?用“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
    板凳
     樓主| 發表于 2009-11-27 20:53:37 | 只看該作者
    樓上的好像不行的。
    地板
    發表于 2010-5-19 01:01:14 | 只看該作者
    感謝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:
    地下室
    發表于 2010-5-19 01:02:14 | 只看該作者
    1樓高手, 有空多交流!
    6
    發表于 2010-5-26 01:48:55 | 只看該作者
    哈哈。真的要感謝uushuo,這個問題也困擾我很久了 ,
    7
    發表于 2010-5-29 10:04:05 | 只看該作者
    要是寫成類似這樣會更好:
    #define P4((x))         P1_2 = 0x01&(x);\
    .....

    這里的x可以是一個常數表達式, 如 0x01<<2.
    8
    發表于 2010-5-30 14:08:30 | 只看該作者
    初學者,看不明白.用(X)是表示什么意思
    9
    發表于 2010-6-1 23:16:05 | 只看該作者
    1樓高手 ,好久不用51了
    10
    發表于 2010-6-7 23:30:20 | 只看該作者
    還真沒想到這個問題呢
    11
    發表于 2011-6-12 11:23:55 | 只看該作者
    按位賦值
    12
    發表于 2011-6-12 11:24:14 | 只看該作者
    按位賦值
    13
    發表于 2011-7-4 08:27:09 | 只看該作者
    自己做個枚舉列表,猶如數組一樣,這樣看著也方便。
    14
    發表于 2011-7-4 09:06:48 | 只看該作者
    學習
    15
    發表于 2011-7-11 16:05:22 | 只看該作者
    簡單的數據處理,沒什么不同
    16
    發表于 2011-7-14 18:28:58 | 只看該作者
    先查出欲顯示信息的字段碼,再按位賦值
    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規則

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