|
用過(guò)計(jì)算機(jī)C語(yǔ)言的師兄都應(yīng)該用過(guò)Itoa這個(gè)函數(shù),可以很方便的把整數(shù)轉(zhuǎn)化為字符串。在單片機(jī)開(kāi)發(fā)中,也很需要這個(gè)函數(shù),但是單片機(jī)開(kāi)發(fā)用的C語(yǔ)言并沒(méi)有提供Itoa函數(shù),當(dāng)需要顯示整數(shù)時(shí)很不方便,本人編了一個(gè)簡(jiǎn)易的Itoa函數(shù),可以很方便將整數(shù)按指定進(jìn)制轉(zhuǎn)換為字符串,方便整數(shù)顯示。供師兄們參考。
- #include<reg52.h>
- //========================================
- unsigned char *Itoa(unsigned int ni,int dd)//ni 要轉(zhuǎn)換的整數(shù);dd進(jìn)制;
- {char i=0,j=0,temp[16],outstr[16];
- unsigned int n,num=ni;
- while(num>=dd)
- {n=num%dd;
- if(n>9)temp[i]=n+0x37;else temp[i]=n+0x30;
- num=num/dd;
- i++;
- }
- n=num;if(n>9)temp[i]=n+0x37;else temp[i]=n+0x30;
- j=0;
- for(;i>=0;i--){outstr[j]=temp[i];j++;}
- outstr[j]=0;
- return outstr;
- }
- //============================================
- void Uart_init()
- {TMOD=0x22;
- SCON=0x50;
- TH1=0xfd;
- TL1=0xfd;
- EA=1;
- ES=1;
- TR1=1;
- }
- //---------------------------------------------------------------
- void Sentstr(unsigned char *cp)
- {char i=0;
- while(*cp)
- {SBUF=*cp;
- cp++;
- while(!TI);
- TI=0;
- }
- }
- //----------------------------------------------------------------
- void UartPro()interrupt 4{;}
- //=============================================
- main()
- {Uart_init();
- Sentstr("\r253B=");Sentstr(Itoa(253,2));
- Sentstr("\r253O=");Sentstr(Itoa(253,8));
- Sentstr("\r253D=");Sentstr(Itoa(253,10));
- Sentstr("\r253H=");Sentstr(Itoa(253,16));
- while(1);
- }
復(fù)制代碼 程序運(yùn)行仿真截圖如下:
itoa.JPG (83.63 KB, 下載次數(shù): 63)
下載附件
2019-12-26 22:21 上傳
全部資料51hei下載地址:
Itoa.zip
(64.82 KB, 下載次數(shù): 26)
2019-12-26 22:16 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|