![]() |
發(fā)布時間: 2022-7-11 00:42
正文摘要:LCD12864無字庫 論壇有很多相關(guān)的例程 本小白利用空余時間,按照自己的重新寫了一個小白都能看懂的驅(qū)動 大佬勿噴,僅供學(xué)習(xí)交流 下列是部分驅(qū)動程序靚照,請查閱 仿真原理圖如下(proteus仿真工程文件可到本 ... |
/***************************************************************************** 函數(shù)功能:獲取數(shù)值長度 入口參數(shù):num 說 明:獲取數(shù)值數(shù)據(jù)的長度 版 本: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; //返回長度的值 } /***************************************************************************** 函數(shù)功能:變量顯示函數(shù) 入口參數(shù):X,Y,num,len 說 明:在第X行的第Y個位置顯示len個num數(shù)值 版 本:V1.2 修改時間:2022年7月10日 新 增:自動計算變量長度 最大計數(shù)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 ; //若數(shù)據(jù)更大 按照規(guī)律寫即可 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); } |
謝謝樓主 我先收藏 慢慢來學(xué)習(xí) |
謝謝樓主 我先收藏 慢慢來學(xué)習(xí)![]() |
shenqiwei 發(fā)表于 2023-3-21 03:16 我求求你下載附件后再來評論吧 ![]() |
模塊化編程,少了很多代碼!是故意還是忘記了?![]() 大家都懂的. |
aktuan007 發(fā)表于 2022-7-12 22:22 你下載附件 |
陳潤源home 發(fā)表于 2022-7-11 13:35 謝謝 請教一下為啥我的編譯有錯誤啊 |
本帖最后由 陳潤源home 于 2022-7-11 14:16 編輯 發(fā)現(xiàn)一個Bug /************************************* 函數(shù)功能:變量顯示函數(shù) 入口參數(shù):X,Y,num *************************************/ 這個函數(shù)最大只能顯示32767 我暫時沒找到是什么問題 望各路大佬指導(dǎo)一下 先謝謝各位大佬了 ![]() |
aktuan007 發(fā)表于 2022-7-11 12:52 因為 部分頭文件在 12864.h 中引用 |
為什么沒有reg。h頭文件 |
Powered by 單片機教程網(wǎng)