标题:
关于51单片机数的乘除法问题
[打印本页]
作者:
沧浪
时间:
2018-11-29 11:35
标题:
关于51单片机数的乘除法问题
如下,这是我写的一段C51代码,tep_L与tep_H是unsigned char 变量,他们的值可以显示出来,现在的问题是假设使得tep_H=49,Dis_linenum=1,AsciiSetWhite.Line_num1=2的话,按我设想的话经过此函数后tep_H的值应该是59,但实际却是48(实际是每按下一次个位减1,到0之后变为十位4,后又再变回5,个位又从0开始递减),请问下个位这是问什么,或者我如果想让他等于49,应该怎么办?
单片机数的乘除法源码:
void Key_Handler11()
{
u8 a=5;
if(Dis_linenum==1)
{
switch(AsciiSetWhite.Line_num1)
{
case 1:tep_H=(char)(tep_H/10)*10+a;
case 2:tep_H=(char)(tep_H/100)+a*10+(char)(tep_H%10);
case 3:tep_H=tep_H%100+(char)(a*100);
default:break;
}
}
else if(Dis_linenum==0)
{
switch(AsciiSetWhite.Line_num2)
{
case 1:tep_L=(tep_L/10)*10+a;
case 2:tep_L=tep_L/100+a*10+tep_L%10;
case 3:tep_L=tep_L%100+a*100;
default:break;
}
}
}
复制代码
作者:
沧浪
时间:
2018-12-1 10:46
愚蠢,没加break
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1