作者MasterChang (我爱ASM)
看板ASM
标题Re: [问题] 传1位元
时间Fri Sep 7 20:46:22 2007
※ 引述《CuckooBoy (阿书)》之铭言:
: main()
: {
: xdata unsigned char a ;
: xdata unsigned char b ;
: Enable_MCU_to_SRAM;
: a = 0x01;
: b = 0x02;
: while(1)
: {
: P1=a;
: P1=b;
: }
: }
: 如果只想将8bit的一个bit放进P1_1,而不要一次传8bit到P1
: 我该怎麽做?
: 用CPLD我可以 OUTPUT(1)<=A(1);
: 但8051好像没这麽方便
: 有什麽方法可以读进8BIT,儿取8BIT里面的某个位元传入输出
Method 1:
struct Data8
{
unsigned char D0:1;
unsigned char D1:1;
unsigned char D2:1;
unsigned char D3:1;
unsigned char D4:1;
unsigned char D5:1;
unsigned char D6:1;
unsigned char D7:1;
};
Data8 my_data;
P1_1 = my_data.D2; <---把D2送入P1_1
Method 2:
透过左移运算把位元资料推入C旗标後再送到P1_1
--
不要问我从哪来,我只是一个浪迹天涯的工程师....
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.74.56.71