/***************************************************************************** 函数功能:获取数值长度 入口参数:num 说 明:获取数值数据的长度 版 本:V1.0 修改时间:2023年3月20日 新 增:无 *****************************************************************************/ unsigned char Get_Num_Len(unsigned long num) { unsigned int len = 0; //初始长度为0 for(; num > 0; ++len) //判断num是否大于0,否则长度+1 num /= 10; //使用除法进行运算,直到num小于1 return len; //返回长度的值 } /***************************************************************************** 函数功能:变量显示函数 入口参数:X,Y,num,len 说 明:在第X行的第Y个位置显示len个num数值 版 本:V1.2 修改时间:2022年7月10日 新 增:自动计算变量长度 最大计数99999 *****************************************************************************/ void LCD12864_Num(unsigned char X,unsigned char Y,unsigned long num) { unsigned char i; unsigned char Len; unsigned char Dis[5]; Len=Get_Num_Len(num); if(Len>4)Dis[Len-5]=num/10000 ; //若数据更大 按照规律写即可 if(Len>3)Dis[Len-4]=num%10000/1000; if(Len>2)Dis[Len-3]=num%1000/100 ; if(Len>1)Dis[Len-2]=num%100/10 ; if(Len>0)Dis[Len-1]=num%10 ; for(i=0;i<Len;i++) LCD12864_Write_Number(X,Y+(i*6),Dis[i],Num); } |
谢谢楼主 我先收藏 慢慢来学习 |
谢谢楼主 我先收藏 慢慢来学习![]() |
shenqiwei 发表于 2023-3-21 03:16 我求求你下载附件后再来评论吧 ![]() |
模块化编程,少了很多代码!是故意还是忘记了?![]() 大家都懂的. |
aktuan007 发表于 2022-7-12 22:22 你下载附件 |
陈润源home 发表于 2022-7-11 13:35 谢谢 请教一下为啥我的编译有错误啊 |
本帖最后由 陈润源home 于 2022-7-11 14:16 编辑 发现一个Bug /************************************* 函数功能:变量显示函数 入口参数:X,Y,num *************************************/ 这个函数最大只能显示32767 我暂时没找到是什么问题 望各路大佬指导一下 先谢谢各位大佬了 ![]() |
aktuan007 发表于 2022-7-11 12:52 因为 部分头文件在 12864.h 中引用 |
为什么没有reg。h头文件 |