一条指令存储在存储器中地址为2000的地方,其操作数地址字段在地址为2001的地方,地址字段的值为3000

2025-04-07 13:45:45
推荐回答(1个)
回答1:

#define uchar unsigned char
uchar bdata BITS;//位变量声明
bit TEST = BITS^0;
/**************************/
/*主函数*/
/**************************/
main()
{
SCON=0X50; //设置为工作方式1
TMOD=0X21; //设置计数器T1工作于方式2,T0工作于方式1
PCON=0X80; //波特率加倍
TH1=0XF3; //计数器T1初始值设置,注意波特率是4800的
TL1=0XF3;
TH0=0x4c; //预置T0计数初值
TL0=0x00;
ET0=1; //允许定时器T0中断
TR0=1; //T0开始计数
TR1=1; //T1开始计数
// ES = 1;
EA=1; //打开总中断
TEST = 0; //清0位变量
while(1)
{
if(TEST)//如果T0计数中断次数达到21
{
TEST = 0;//清0该标志
if(P3==127)//如果p3.7低电平
{
second=second+1;
SBUF=second;//将接收到的数据放入到发送寄存器
while(!TI); //等待发送数据完成
TI=0;
}
else{
second=second;
SBUF=second;//将接收到的数据放入到发送寄存器
while(!TI); //等待发送数据完成
TI=0;
}
}
display(); //显示时间
}
}
//===========================================
void timer0(void) interrupt 1 using 0 //定时器0方式1,50ms中断一次
{
mstcnt+---------+-------%%;
if(mstcnt == 21000000)
{
mstcnt = 0;//清0计数器
TEST = 1;//置位mst