標(biāo)題:
單片機(jī)C語言如何讀取外部7個端口形成16進(jìn)制數(shù)組?
[打印本頁]
作者:
xia20
時間:
2023-3-9 17:05
標(biāo)題:
單片機(jī)C語言如何讀取外部7個端口形成16進(jìn)制數(shù)組?
比如單片機(jī)P1測外部Q1~Q7的高低數(shù)據(jù)1011 1001,如何判斷并存為16進(jìn)制數(shù)組?C語言是不是這樣?定義,num,a~G ,if Q1==1, a=1,Q2==0, b=0,……num=a&&b&&c……
作者:
hy47566398
時間:
2023-3-9 17:05
num = Q1<<7 + Q2<<6 +...+Q6<<1+Q7
作者:
wzg_90
時間:
2023-3-9 22:59
#define VAL 0x9d
//判斷函數(shù)
/*
函數(shù)說明 當(dāng)P1口的值為0x9d ,將值通過Jude()函數(shù)返回,否則返回0
*/
int Jude()
{
unsigned char temp;
temp = P1; //獲取P1端口的值
if(temp==VAL)
{
return temp;
}else
{
return 0;
}
}
void main()
{
unsigned char res;
res = Jude();
}
作者:
lyonkon
時間:
2023-3-10 08:23
你問題描述不準(zhǔn)確,是p1
作者:
xia20
時間:
2023-3-10 09:32
謝謝樓上各位的回復(fù),都回答得很好,謝謝!
作者:
lyonkon
時間:
2023-3-10 11:46
你問題描述不準(zhǔn)確,是p1口整體作為一個字節(jié)接收數(shù)據(jù),還是p1每一位作為獨(dú)立的數(shù)據(jù)端口接收數(shù)據(jù)。如果是作為一個字節(jié)接收,就判斷p1的值。是需要的值就存入內(nèi)存。如果是獨(dú)立接收數(shù)據(jù),就判斷p1口的值,然后邏輯運(yùn)算取需要的位值,通過移位取得一個字節(jié)數(shù)據(jù), 存入內(nèi)存。值本來就是十六進(jìn)制的。如果值的意義是數(shù)量,那么不用移位,用加
作者:
wulin
時間:
2023-3-10 21:34
單片機(jī)只認(rèn)識2進(jìn)制,16進(jìn)制是2進(jìn)制的簡短表達(dá)式,給人看的。定義一個變量unsigned char num。
num=P1;
作者:
hzsweet
時間:
2023-3-11 11:13
那要看你是存內(nèi)存的高8位還是低8位
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1