您的位置:首页技术文栏单片机C51
内容搜索:
阅读内容
背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  

16进制10进制互换示例程序

[日期:2008-06-27 ] [来源:东哥单片机学习网 www.picavr.com 整理 作者:佚名] [字体: (投递新闻)
unsigned char d[10]; //用于显示的10位显示缓存

//========================================================
 //16进制to10进制输出子程序:显示数据,起始位,结束位,有无小数点
//========================================================
void output(unsigned long dd,unsigned char s,unsigned char e,unsigned char dip) {
 unsigned long div;
 unsigned char tm[8],i,j;
 div=10000000;
 for (i=0;i<8;i++) {
  tm[i]=dd/div;
  dd%=div;
  div/=10;
 }
 for (i=0;i<6;i++) {
  if (tm[i]!=0) break;
  tm[i]=nul;
 }
 tm[5]|=dip;   //小数点控制,请看“串行LED数码管显示驱动程序”
 j=7;
 for (i=s;i<e;i++) {
  d[i]=tm[j];
  j--;
 }
}

//把显示位5-9位的10进制数转换成为16进制数
unsigned int input(void) {
 unsigned int dd,dat;
 dd=10000;dat=0;
 for (i=5;i<10;i++) {
  dat+=dd*temp;
  dd/=10;
 }
 return(dat);
}
阅读:
录入:JETTA

推荐 】 【 打印
本文评论
      全部评论
发表评论


点评: 字数
姓名:
站长推荐