電子工程網
標題:
不連續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_久久亚洲国产精品五月天婷