将十进制数转化为二进制并在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);       //显示十进制数
	} 
}

实验现象:

在这里插入图片描述
希望对有需要的人有所帮助。

发布了5 篇原创文章 · 获赞 3 · 访问量 324

猜你喜欢

转载自blog.csdn.net/weixin_43368814/article/details/103230045