下面这段单片机程序的什么意思

2025-05-14 13:33:51
推荐回答(2个)
回答1:

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.

回答2:

那是CS1.5启动时的程序或时间