Re: [問題] 傳1位元
※ 引述《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
ASM 近期熱門文章
PTT數位生活區 即時熱門文章
-4
30