將十進制數轉化爲二進制並在OLED屏幕上顯示

將十進制數轉化爲二進制並在OLED屏幕上顯示

直接上代碼:

//顯示二進制小數
//x,y爲座標  Num爲想要轉換的數(可以是十進制,也可以是十六進制)
//len爲想要轉換的二進制的位數 size爲字體大小
void OLED_ShowBin(u8 x,u8 y,u16 Num,u8 len,u8 size)
{
	u16 i = 1u << len-1;      //左移len-1位
	u8 j;
	
	for ( ; i ; i >>= 1) 
	{
		OLED_ShowChar(x+(size/2)*j,y,(Num&i?1:0)+'0',size); //OLED_ShowChar爲打印字符函數一般庫裏面都有
		j++;
	}
}


主函數:

void main()
{
	SysTick_Init(72);  //系統初始化
	
	OLEDD_Init();    //OLED初始化
	OLED_On();
	OLED_Clear();

	while(1)
	{
		OLED_ShowBin(10,0,0xff,8,16);      //顯示十六進制數
		OLED_ShowBin(10,2,96,8,16);       //顯示十進制數
	} 
}

實驗現象:

在這裏插入圖片描述
希望對有需要的人有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章