STC11F02E单片机这里如何理解?
时间:10-02
整理:3721RD
点击:
sbit bit0=LED_data^0; //被发送的数据各位定义
sbit bit1=LED_data^1;
sbit bit2=LED_data^2;
sbit bit3=LED_data^3;
sbit bit4=LED_data^4;
sbit bit5=LED_data^5;
sbit bit6=LED_data^6;
sbit bit7=LED_data^7;
bit flag=0;
LED_data 应该也是前面定义过了吧
"^" 是按位异或运算符。
假设 LED_data 是一个 8 位的数据,则 LED_data^[n] 则是两个 8 位数据的按位异或运算(其中,n = 0, 1, ... ,7)。结果仍为一个 8 位的数据。
sbit 声明的位变量。所以,对前述 8 位数据异或运算结果判断是否为 0x00 。若为 0x00 , 则位变量结果为 0 ;否则位变量结果为 1 。
这是 LZ 代码里八条位变量定义的含义,供 LZ 参考。
標準51單片機位定義
前面一定有#define LED_data P0(假設P0)
sbit bit0=LED_data^0; 等效于 sbit bit0=P0^0;
P0端口第一位