下面这段单片机程序的什么意思
发布网友
发布时间:2023-11-02 23:53
我来回答
共3个回答
热心网友
时间:2024-11-25 18:45
bdata sinthr; //sinthr定义为位寻址区域的一个变量(20~2FH)
sbit flag=sinthr^0; //flag定义为变量sinthr的D0位
{keyword=key&0x07; //keyword高5位清零,保留低三位
if(keyword!=0x07) //有键按下执行之后的程序
{
while((key&0x07)!=0x07);//等待键释放
switch(keyword)
{
case 6:{{flag=0;EA=1;}break;}//第一个按键按下(110),开中断,标志位清零
case 5:{{flag=1;EA=1;}break;}//第二个按键按下(101),开中断,标志位置1
case 3:{flag=~flag;EA=1;break;}//第三个按键按下(011),开中断,标志位取反
default:{EA=1;break;}//否则,开中断
}
sbit flag=sinthr^0; //sbit是位定义伪指令,这句意思就是变量flag是位变量,具体地址为
sinthr的第0位,51中位寻址范围为20~2FH,对应的位址为00~7FH共128个位地址
case 3:{flag=~flag;EA=1;break;}//也就是当这个键按下后,将位变量取反,0变1,1变0.
热心网友
时间:2024-11-25 18:45
那是CS1.5启动时的程序或时间追问能否具体分析一下,我对sbit flag=sinthr^0; case 3:{flag=~flag;EA=1;break;}/这两句不理解,补充一下定义#define key P1 //键盘口
uchar data keyword,v=0; //键值存放,查表指针
热心网友
时间:2024-11-25 18:46
zhxiufan| 解释的很i清楚了,没错