找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1481|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

請教C語言邏輯語句含義?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:28942 發(fā)表于 2024-2-13 14:30 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
void Move_LED()
{
         if((P1 & 0x01) == 0x00) //如何解讀?
P0 ^= 0x01; //異或的目的是什么
         }


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:94031 發(fā)表于 2024-2-14 08:43 | 只看該作者
(P1 & 0x01) == 0x00,判斷P1末位是否為0。
回復(fù)

使用道具 舉報

板凳
ID:94031 發(fā)表于 2024-2-14 09:04 | 只看該作者
P0 ^= 0x01; //對P0末位進行翻轉(zhuǎn)。
回復(fù)

使用道具 舉報

地板
ID:1110932 發(fā)表于 2024-2-14 10:24 | 只看該作者
如果P1.0的引腳為低電平,就讓它翻轉(zhuǎn)置為高電平
回復(fù)

使用道具 舉報

5#
ID:1109793 發(fā)表于 2024-2-14 10:43 | 只看該作者
P0 ^= 0x01;異或不怎么用,好像是保留7-1位不變,只吧0位取反
回復(fù)

使用道具 舉報

6#
ID:496636 發(fā)表于 2024-2-14 12:09 | 只看該作者

P0 ^= 0x01;
就是
P0 = P0 ^0x01
意思就是P0的8位二進制數(shù)與0000 0001進行按位異或,異或的意思是二者不同則結(jié)果為1,兩者相同則結(jié)果為0,與P0相異或的數(shù)的1-7位都為0,則P0相對應(yīng)的位的為1則為1,為0則為0,而與P0異或的0位為1,如果P0的0位為1,那么相同結(jié)果為0,如果P0的0位為0,那么相異為1,取反。
所以運算的結(jié)果P0的0位取反,其它保持不變。
如果要使P0口的1位取反呢,那么異或的數(shù)是多少?只要那位為1,其它為0就可以了。
此值為(二進制)0000 0010
這樣:P0^=0x02;
這樣就可以對端口的任意位進行操作,不影響其它位的值。
回復(fù)

使用道具 舉報

7#
ID:1057978 發(fā)表于 2024-2-15 09:15 | 只看該作者
用大白話就是:P1口的末位是0的話就把P0口的末位電平翻轉(zhuǎn)一下
回復(fù)

使用道具 舉報

8#
ID:1111098 發(fā)表于 2024-2-18 15:53 | 只看該作者
讀取P1端的最低位是否為低電平,若是,則翻轉(zhuǎn)P0端的最低位輸出電平;
異或運算在單片機編程中一般用來翻轉(zhuǎn),0異或0等于0,0異或1等于1,1異或0等于0,1異或1等于0,分析以上結(jié)果可以看出,0或者1異或0之后不變,異或1之后則變相反數(shù)
回復(fù)

使用道具 舉報

9#
ID:28942 發(fā)表于 2024-3-4 07:52 | 只看該作者
感謝各位。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表