liweiqiang668 发表于 2012-4-28 10:17:59

單片機的PORT位置能重新組合嗎?

有時候我想把P3.0--P3.3與P1.4--P1.7共8個IO端口用於數碼管的段驅動,有什麼辦法可以讓這幾個IO重新組合,比如組合后的名稱叫P6,我把數據送出時只需,P6=0x0b就好了.

ourdev850725 发表于 2012-4-28 10:23:59

当然不可以了

linghu2 发表于 2012-4-28 10:26:23

写个函数{:lol:}

qlb1234 发表于 2012-4-28 10:57:40

常規手段無法做到的,PX實際上是51的寄存器。
你可以嘗試這樣寫。
#define P6=(val) P3&=0xF0;P3|=(val)&0x0F;P1&=0x0F;P1|=(val)&0xF0

tangxh 发表于 2012-4-28 11:05:35

用楼上的方法。。定义个宏定义

asdf1776 发表于 2012-4-28 11:15:37

qlb1234 发表于 2012-4-28 10:57 static/image/common/back.gif
常規手段無法做到的,PX實際上是51的寄存器。
你可以嘗試這樣寫。
#define P6=(val) P3&=0xF0;P3|=(val)&0x ...

此楼正解

liweiqiang668 发表于 2012-4-28 13:24:14

qlb1234 发表于 2012-4-28 10:57 static/image/common/back.gif
常規手段無法做到的,PX實際上是51的寄存器。
你可以嘗試這樣寫。
#define P6=(val) P3&=0xF0;P3|=(val)&0x ...

謝謝!
(val) P3&=0xF0;P3|=(val)&0x0F這句應該怎樣理解,本人新手,val代表什麼?

qlb1234 发表于 2012-4-28 13:30:29

請移步查看。
http://www.cplusplus.com/doc/tutorial/preprocessor/

wochai 发表于 2012-4-28 14:54:53

qlb1234 发表于 2012-4-28 10:57 static/image/common/back.gif
常規手段無法做到的,PX實際上是51的寄存器。
你可以嘗試這樣寫。
#define P6=(val) P3&=0xF0;P3|=(val)&0x ...

原来还可以这么用

lxa0 发表于 2012-4-29 15:16:19

当然可以这样用了
就是有点麻烦
页: [1]
查看完整版本: 單片機的PORT位置能重新組合嗎?