下面这段代码在,smg1=0,然后又smg1=1是什么意思?如果把smg1=0删去会怎么样?if(fuhao<5) {//第一个数 P0=smgduan[a%10];smg1=0;delay(100);smg1=1;//第一个数 switch(fuhao)//符号 { case 1:P0=0x01;break;//加 case 2:P0=0x40;break;//减 case 3:P0=0x08;break;//乘 case 4:P0=0x80;break;//除 default:P0=0; } smg2=0;delay(100);smg2=1;//符号 P0=smgduan[b%10];smg3=0;delay(100);smg3=1;//第二个数 } else//计算结果 { P0=0x09;smg1=0;delay(100);smg1=1;//等于 //结果 P0=smgduan[c%100/10];smg2=0;delay(100);smg2=1;//十位 P0=smgduan[c%10];smg3=0;delay(100);smg3=1;//个位 }
时间: 2023-10-18 22:04:20 浏览: 76
这段代码是一个计算器的程序。其中,smg1、smg2、smg3 是三个数码管的控制信号,用于控制三个数码管的显示。当 smg1=0 时,控制数码管 smg1 的引脚输出低电平,从而使得 smg1 显示对应的数字;当 smg1=1 时,控制数码管 smg1 的引脚输出高电平,从而关闭 smg1 的显示。在代码中,smg1=0 和 smg1=1 的作用是控制显示第一个数和等于号的数码管 smg1。
如果把 smg1=0 删去,程序在显示第一个数时就不会控制 smg1 的引脚输出低电平,从而无法显示第一个数。因此,删去 smg1=0 会导致程序无法正常显示第一个数。
相关问题
下面这段代码在,smg1=0,然后又smg1=1是什么意思?如果把smg1=0删去会怎么样?如果把smg1=1删去又会怎么样?if(fuhao<5) {//第一个数 P0=smgduan[a%10];smg1=0;delay(100);smg1=1;//第一个数 switch(fuhao)//符号 { case 1:P0=0x01;break;//加 case 2:P0=0x40;break;//减 case 3:P0=0x08;break;//乘 case 4:P0=0x80;break;//除 default:P0=0; } smg2=0;delay(100);smg2=1;//符号 P0=smgduan[b%10];smg3=0;delay(100);smg3=1;//第二个数 } else//计算结果 { P0=0x09;smg1=0;delay(100);smg1=1;//等于 //结果 P0=smgduan[c%100/10];smg2=0;delay(100);smg2=1;//十位 P0=smgduan[c%10];smg3=0;delay(100);smg3=1;//个位 }
这段代码是一个计算器的程序。其中,smg1、smg2、smg3 是三个数码管的控制信号,用于控制三个数码管的显示。当 smg1=0 时,控制数码管 smg1 的引脚输出低电平,从而使得 smg1 显示对应的数字;当 smg1=1 时,控制数码管 smg1 的引脚输出高电平,从而关闭 smg1 的显示。在代码中,smg1=0 和 smg1=1 的作用是控制显示第一个数和等于号的数码管 smg1。
如果把 smg1=0 删去,程序在显示第一个数时就不会控制 smg1 的引脚输出低电平,从而无法显示第一个数。因此,删去 smg1=0 会导致程序无法正常显示第一个数。
如果把 smg1=1 删去,程序在显示第一个数或等于号后不会控制 smg1 的引脚输出高电平,从而会一直显示 smg1 对应的数字。因此,删去 smg1=1 会导致程序无法正常切换数码管的显示。
下面这段代码在,smg1=0,然后又smg1=1是什么意思?if(fuhao<5) {//第一个数 P0=smgduan[a%10];smg1=0;delay(100);smg1=1;//第一个数 switch(fuhao)//符号 { case 1:P0=0x01;break;//加 case 2:P0=0x40;break;//减 case 3:P0=0x08;break;//乘 case 4:P0=0x80;break;//除 default:P0=0; } smg2=0;delay(100);smg2=1;//符号 P0=smgduan[b%10];smg3=0;delay(100);smg3=1;//第二个数 } else//计算结果 { P0=0x09;smg1=0;delay(100);smg1=1;//等于 //结果 P0=smgduan[c%100/10];smg2=0;delay(100);smg2=1;//十位 P0=smgduan[c%10];smg3=0;delay(100);smg3=1;//个位 }
这段代码是一个计算器的程序。当输入的符号数量小于5时,先显示输入的第一个数,然后根据输入的符号显示对应的符号,再显示输入的第二个数。在显示数字和符号时,分别使用三个数码管 smg1、smg2、smg3,通过 smgduan 数组来指定显示的数字。在显示完第二个数后,程序会进入计算结果的分支,此时先显示等于号,然后根据计算结果显示相应的数值。smg1=0 和 smg1=1 的作用是控制显示第一个数和等于号的数码管 smg1。当 smg1=0 时,控制 smg1 的引脚输出低电平,从而使得显示第一个数;当 smg1=1 时,控制 smg1 的引脚输出高电平,从而关闭 smg1 的显示。
阅读全文