找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1343|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)+LCD1602在想顯示65535時會顯示65135?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:860840 發(fā)表于 2022-5-6 20:04 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我的LCD1602在想顯示65535時會顯示65135,
                                65435時會顯示65035
不知道為啥,下面是程序
/**
* @brief  顯示無符號數(shù)字
* @param  x 顯示的行數(shù) 范圍為1~2;
* @param  y 顯示的列數(shù) 范圍為1~40;但初始只顯示前16列。
* @param  num 顯示的數(shù)字 范圍 0~65535
* @param  length 顯示的數(shù)字長度  0~40 但初始只顯示前16
* @retval 無
*/
void lcd1602_show_num(unsigned char x,y, unsigned int num, unsigned char length)
{
        unsigned char i=length;
        show_location(x,y);
        while(i)
        {
                lcd1602_w_data((num/(int)(pow(10,i-1)))%10+0x30);
                i--;
        }
}


/**
* @brief  寫數(shù)據(jù)函數(shù)
* @param  dat 要寫的數(shù)據(jù)
* @retval 無
*/
void lcd1602_w_data(unsigned char dat)
{
//        while(!check_busy());
        RS=1;
        RW=0;
        P0=dat;
        EN=1;
        _nop_ ();
        EN=0;        
        Delay(1);
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:94031 發(fā)表于 2022-5-7 10:45 | 只看該作者
程序有問題,給的信息不全不好判斷。
回復(fù)

使用道具 舉報

板凳
ID:883242 發(fā)表于 2022-5-7 10:48 | 只看該作者
pow是浮點(diǎn)類型!你必須忍受誤差。
回復(fù)

使用道具 舉報

地板
ID:1012735 發(fā)表于 2022-5-8 16:40 | 只看該作者
把函數(shù)參數(shù) “unsigned int num" 改成 unsigned long num
回復(fù)

使用道具 舉報

5#
ID:1026496 發(fā)表于 2022-5-15 22:20 | 只看該作者
void lcd1602_show_num(unsigned char x,y, unsigned int num, unsigned char length) 中y 缺少類型
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表