將十進制數轉化爲二進制並在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); //顯示十進制數
}
}
實驗現象:
希望對有需要的人有所幫助。