1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7029|回復(fù): 12
收起左側(cè)

單片機(jī)驅(qū)動(dòng)lcd1602顯示亂碼

[復(fù)制鏈接]
ID:553020 發(fā)表于 2020-9-23 16:24 | 顯示全部樓層 |閱讀模式
10黑幣
仿真lcd1602秒的十位是正常的,一到做實(shí)物,lcd1602顯示的秒十位就是亂碼。
在線求解

4%MEL84IY(C_DJNGFQGO(5X.png
仿真顯示正常

IMG_20200923_161832.jpg
實(shí)物的秒的十位顯示錯(cuò)誤,成了;或者超過了6的各種奇怪亂碼

最佳答案

查看完整內(nèi)容

你要搞清楚時(shí)序圖 //**************************************************** //寫指令 //**************************************************** void LCD1602_write_com(unsigned char com) { LCD1602_RS = 0; //LCD1602_delay_ms(1); LCD1602_EN = 0; //
回復(fù)

使用道具 舉報(bào)

ID:155507 發(fā)表于 2020-9-23 16:24 | 顯示全部樓層

你要搞清楚時(shí)序圖
LCD1602-timingDiagram.jpg




//****************************************************
//寫指令
//****************************************************
void LCD1602_write_com(unsigned char com)
{
        LCD1602_RS = 0;
        //LCD1602_delay_ms(1);
        LCD1602_EN = 0;  //<------
        LCD1602_PORT = com;
        LCD1602_EN = 1;  //<------
        LCD1602_delay_ms(1);
        LCD1602_EN = 0;
}

//****************************************************
//寫數(shù)據(jù)
//****************************************************
void LCD1602_write_data(unsigned char dat)
{
        LCD1602_RS = 1;
        //LCD1602_delay_ms(1);
        LCD1602_EN = 0;    //<------     
        LCD1602_PORT = dat;
        LCD1602_EN = 1;
        LCD1602_delay_ms(1);
        LCD1602_EN = 0;
}


回復(fù)

使用道具 舉報(bào)

ID:553020 發(fā)表于 2020-9-23 16:26 | 顯示全部樓層
除了仿真使用的是89c52,實(shí)物使用的是89c54RD芯片以外,其余連接均和仿真一樣
回復(fù)

使用道具 舉報(bào)

ID:337139 發(fā)表于 2020-9-23 17:12 | 顯示全部樓層
本帖最后由 長風(fēng)007 于 2020-9-23 17:16 編輯

查一下你的顯示位,還有顯示的時(shí)間間隔。實(shí)物是有時(shí)序要求的!

可以參考一下這個(gè)圖

可以參考一下這個(gè)圖
回復(fù)

使用道具 舉報(bào)

ID:553020 發(fā)表于 2020-9-23 22:10 | 顯示全部樓層
長風(fēng)007 發(fā)表于 2020-9-23 17:12
查一下你的顯示位,還有顯示的時(shí)間間隔。實(shí)物是有時(shí)序要求的!

這是lcd1602的程序,時(shí)序有問題嗎?

#include "LCD1602.h"

//****************************************************
//MS延時(shí)函數(shù)(12M晶振下測試)
//****************************************************
void LCD1602_delay_ms(unsigned int n)
{
        unsigned int  i,j;
        for(i=0;i<n;i++)
                for(j=0;j<123;j++);
}

//****************************************************
//寫指令
//****************************************************
void LCD1602_write_com(unsigned char com)
{
        LCD1602_RS = 0;
        LCD1602_delay_ms(1);
        LCD1602_EN = 1;
        LCD1602_PORT = com;
        LCD1602_delay_ms(1);
        LCD1602_EN = 0;
}

//****************************************************
//寫數(shù)據(jù)
//****************************************************
void LCD1602_write_data(unsigned char dat)
{
        LCD1602_RS = 1;
        LCD1602_delay_ms(1);       
        LCD1602_PORT = dat;
        LCD1602_EN = 1;
        LCD1602_delay_ms(1);
        LCD1602_EN = 0;
}

//****************************************************
//連續(xù)寫字符
//****************************************************
void LCD1602_write_word(unsigned char *s)
{
        while(*s>0)
        {
                LCD1602_write_data(*s);
                s++;
        }
}

void Init_LCD1602()
{
        LCD1602_EN = 0;                                                //設(shè)置為寫狀態(tài)
        LCD1602_write_com(0x38);                        //顯示模式設(shè)定
        LCD1602_write_com(0x0c);                        //開關(guān)顯示、光標(biāo)有無設(shè)置、光標(biāo)閃爍設(shè)置
        LCD1602_write_com(0x06);                        //寫一個(gè)字符后指針加一
        LCD1602_write_com(0x01);                        //清屏指令
}


回復(fù)

使用道具 舉報(bào)

ID:96682 發(fā)表于 2020-9-24 05:15 來自觸屏版 | 顯示全部樓層
除了使用不同參數(shù)的芯片外,無需修改延時(shí)數(shù)值
回復(fù)

使用道具 舉報(bào)

ID:822755 發(fā)表于 2020-9-24 12:05 | 顯示全部樓層
檢查寫的字符串有沒有結(jié)束符“\x00",  
回復(fù)

使用道具 舉報(bào)

ID:315554 發(fā)表于 2020-9-24 12:40 | 顯示全部樓層
有DS1302等芯片嗎?IO線接對沒,芯片確定正常?我以前遇過時(shí)鐘芯片不正常有類似情況,99:00
回復(fù)

使用道具 舉報(bào)

ID:117977 發(fā)表于 2020-9-24 13:16 | 顯示全部樓層
理論上你是在讀DS1302的時(shí)鐘,但是沒看到你這部分代碼
回復(fù)

使用道具 舉報(bào)

ID:117977 發(fā)表于 2020-9-24 13:18 | 顯示全部樓層
兩個(gè)思路  讀取1302的時(shí)序適當(dāng)加點(diǎn)延時(shí),1302壞 換一片 讀取的數(shù)據(jù)可以通過發(fā)串口來測試
回復(fù)

使用道具 舉報(bào)

ID:16255 發(fā)表于 2020-9-24 23:49 | 顯示全部樓層
我估計(jì)你是用到時(shí)鐘芯片了。DS1302、1307等。
可能是讀取芯片數(shù)據(jù)沒有正確讀取出來,
檢查一下程序是否正確?適當(dāng)加一點(diǎn)延時(shí)可能會(huì)有幫助。
數(shù)據(jù)線是否正確連接?數(shù)據(jù)線上加上拉電阻了嗎?
回復(fù)

使用道具 舉報(bào)

ID:620337 發(fā)表于 2020-9-26 09:01 | 顯示全部樓層
原因:程序語句里是否含有中文字符,或者不可見字符,第二,通信異常,延遲不足也會(huì)產(chǎn)生,但是我更覺得是字符問題
回復(fù)

使用道具 舉報(bào)

ID:822755 發(fā)表于 2020-9-26 10:15 | 顯示全部樓層
可能是讀出的時(shí)鐘數(shù)據(jù)沒有屏蔽掉無關(guān)的位。
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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