欢迎来到天天文库
浏览记录
ID:45034499
大小:204.50 KB
页数:8页
时间:2019-11-08
《C语言中十进制的显示处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言中十进制数据的显示处理单片机对是十进制数据的显示是用将译码后形成的二进制码去控制数码管显示。对于多位的十进制数据,要将其按照“个,十,百,千,万”的十进制权位正确地显示出来。这通常要运用语言中的除法运算与取余运算来完成1)千位数码的分解C语言中的除法运算,其结果是保留商的整数部分,余数部分弃掉。C语言中的取余运算,其结果是保留商的余数部分,整数部分丢掉。所以在C语言中,完整的除法运算的结果(商与余数)要用两种运算来表达,与我们之前在数学中的除法运算有所不同。一、以5678为例进行分解要将十进制数据“5678”
2、的千位数字“5”分解出来,在C语言中只要运用除法运算将“5678”除以“1000”,所得结果就是“5”,余数“678”被弃掉了。其算式表达式为:5678/1000=52)百位数码的分解在分解千位的运算时产生的余数“678”含有百位数字“6”,可以用与分解千位数字类似的处理方法,首先要得到余数“678”,所以处理方法是先用除千取余运算得到余数“678”,再用除百运算得到百位数字“6”。其算式表达式为:5678%1000/100=63)十位数码的分解在除百运算时产生的余数“78”中含有十位数字“7”,也可以用与分解千位
3、数字类似的处理方法分解出十位数字,前提是先通过除百运算取余得到余数“78”,再用除十运算得到十位数字“7”。其表达式为:5678%100/10=74)个位数码的分解只要将十进制数据直接除十取余即可。其表达式为:5678%10=8二、程序解释voiddisplay(unsignedintk)显示K:入口参数{P2=0xf7;//P2=11110111,P2.3引脚输出低电平,第四个数码管点亮P0=Tab[k/1000];显示千位delay();P2=0xfb;//P2=11111011,P2.2输出低电平第三个数码管
4、点亮P0=Tab[(k%1000)/100];显示百位delay();P2=0xfd;//P2=11111101,P2.1输出低电平第二个数码管点亮P0=Tab[(k%100)/10];显示十位delay();P2=0xfe;//P2=11111110,P2.0输出低电平第一个数码管点亮P0=Tab[k%10];显示个位delay();P2=0xff;所以数码管关闭}主函数voidmain(void){unsignedchari;x=9999;while(1){if(x==0)//if条件判断语句x=9999;//
5、如果x=0,则x重新赋值为9999for(i=0;i<5;i++)display(x);//调用4位数码管显示函数x--;//x自减}}
此文档下载收益归作者所有