久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機(jī)LCD1602仿真為什么字符只能顯示一兩秒?

[復(fù)制鏈接]
回帖獎(jiǎng)勵(lì) 1 黑幣 回復(fù)本帖可獲得 1 黑幣獎(jiǎng)勵(lì)! 每人限 1 次
ID:702127 發(fā)表于 2022-6-8 18:50 | 顯示全部樓層 |閱讀模式
程序在開發(fā)板上嘗試過,沒有任何問題,但是到了仿真里面就是只能顯示一兩秒,求教!附上完整代碼和仿真。
代碼:
#include "reg52.h"  

#define LCD_DB  P1              //宏定義P1口  
sbit RW = P3^5;  
sbit RS = P3^6;  
sbit E  =   P3^4;                       //位定義LCD1602的RW、RS和E端口  

void delay(unsigned int i);  
void LCD_WriteCom(unsigned char com);  
void LCD_WriteData(unsigned char dat);  
void LCD_Init(void);  
void LCD_WriteString(unsigned int x,unsigned int y,unsigned char *p);  

void delay(unsigned int i)  //延時(shí)程序  
{  
    while(i--);  
}  

void LCD_WriteCom(unsigned char com)    //寫入命令  
{  
    LCD_DB = com;                   //待傳送代碼放入P0口  

    delay(100);                     //延時(shí),等待數(shù)據(jù)穩(wěn)定  
    RS = 0;                             //選擇發(fā)送命令  
    RW = 0;                             //選擇寫入  
    E = 1;                              //寫入時(shí)序  
    delay(100);                     //下降沿保持時(shí)間  
    E = 0;  
}  

void LCD_WriteData(unsigned char dat)       //寫入數(shù)據(jù)  
{  
    LCD_DB = dat;                   //待傳送代碼放入P0口  

    delay(100);                     //延時(shí),等待數(shù)據(jù)穩(wěn)定  
    RS = 1;                             //選擇輸入數(shù)據(jù)  
    RW = 0;                             //選擇寫入  
    E = 1;                              //寫入時(shí)序  
    delay(100);                     //下降沿保持時(shí)間  
    E = 0;  
}  

void LCD_Init(void)         //LCD初始化子程序  
{  

    LCD_WriteCom(0x38);     //功能設(shè)定,設(shè)置雙行顯示,8位數(shù)據(jù)總線DB0~DB7,5X7點(diǎn)陣/字符  
    LCD_WriteCom(0x0c);     //顯示開關(guān)設(shè)定,開顯示,不顯示光標(biāo)  
    LCD_WriteCom(0x06);     //進(jìn)入模式設(shè)定,寫一個(gè)數(shù)據(jù)后光標(biāo)向右移動(dòng),顯示屏不移動(dòng)  
    LCD_WriteCom(0x01);     //清屏,清空DDRAM的內(nèi)容  
}  

/*顯示字符串函數(shù),x為行數(shù):1~2,y為列數(shù):1~16,*p是要顯示的字符串指針*/  
void LCD_WriteString(unsigned int x,unsigned int y,unsigned char *p)  
{  
     x--;  
    y--;  
    while(*p != '0')                         //如果沒顯示到字符串結(jié)尾時(shí),就進(jìn)入循環(huán)  
    {  
        if(x==0)                                 //在第一行顯示  
        {  
            y|=0x80;  
            LCD_WriteCom(y);  //將需要顯示的列數(shù)位置與0x80相與,得到在該行下的具體位置  
            LCD_WriteData(*p); //顯示p中的字符  
            y++;                        //顯示完一個(gè)字符后,列數(shù)+1  
            p++;                       //指針地址+1,顯示下一個(gè)字符  
        }  
        if(x==1)                                //在第二行顯示  
        {  
            y|=0xc0;  
            LCD_WriteCom(y); //將需要顯示的列數(shù)位置與0xc0相與,得到在該行下的具體位置  
            LCD_WriteData(*p); //顯示p中的字符  
            y++;                        //顯示完一個(gè)字符后,列數(shù)+1  
            p++;                       //指針地址+1,顯示下一個(gè)字符  
        }  
    }         
}  

void main(void)  
{  
    LCD_Init();  
    while(1)  
    {  
        LCD_WriteString(1,1,"LCD1602");  //在第一行第五列開始顯示字符串
    }  
}


1602例程.rar

48.85 KB, 下載次數(shù): 35

1602仿真

回復(fù)

使用道具 舉報(bào)

ID:342822 發(fā)表于 2022-6-8 23:21 | 顯示全部樓層
沒問題
回復(fù)

使用道具 舉報(bào)

ID:390416 發(fā)表于 2022-6-9 08:14 | 顯示全部樓層
http://www.zg4o1577.cn/bbs/dpj-205768-1.html
LCD1602液晶最新資料 說明了具體的時(shí)間要求

LCD1602液晶最新資料 說明了具體的時(shí)間要求
http://www.zg4o1577.cn/bbs/dpj-214747-1.html
回復(fù)

使用道具 舉報(bào)

ID:372579 發(fā)表于 2022-6-9 08:27 | 顯示全部樓層
要把仿真圖也上傳上來看看,還有你對比下是不是電路圖畫錯(cuò)了
回復(fù)

使用道具 舉報(bào)

ID:1033099 發(fā)表于 2022-6-9 08:36 | 顯示全部樓層
delay太長了
回復(fù)

使用道具 舉報(bào)

ID:161164 發(fā)表于 2022-6-9 09:14 | 顯示全部樓層
如果只顯示固定文字
運(yùn)行一次就可以了
  1. void main(void)  
  2. {  
  3.     LCD_Init();  
  4.     LCD_WriteString(1,1,"LCD1602");  //在第一行第五列開始顯示字符串
  5.     while(1)  
  6.     {  
  7.     }  
  8. }
復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

ID:1012735 發(fā)表于 2022-6-9 12:46 | 顯示全部樓層
while(*p != '0')      這句錯(cuò)了!
回復(fù)

使用道具 舉報(bào)

ID:1033526 發(fā)表于 2022-6-9 15:47 | 顯示全部樓層
看下是不是定時(shí)里面沒做循環(huán)
回復(fù)

使用道具 舉報(bào)

ID:702127 發(fā)表于 2022-6-11 14:36 | 顯示全部樓層

您用Proteus仿真可以正常顯示
回復(fù)

使用道具 舉報(bào)

ID:702127 發(fā)表于 2022-6-11 14:42 | 顯示全部樓層
lkc8210 發(fā)表于 2022-6-9 09:14
如果只顯示固定文字
運(yùn)行一次就可以了

我也嘗試過這樣寫,這樣寫的話就是固定顯示了,不能刷新,這樣是沒問題的。一旦循環(huán)顯示,就只能顯示一兩秒,然后就消失了。
回復(fù)

使用道具 舉報(bào)

ID:702127 發(fā)表于 2022-6-11 14:43 | 顯示全部樓層
820845001 發(fā)表于 2022-6-9 15:47
看下是不是定時(shí)里面沒做循環(huán)

做了,我在硬件上嘗試,是沒問題的。
回復(fù)

使用道具 舉報(bào)

ID:702127 發(fā)表于 2022-6-11 14:44 | 顯示全部樓層
hy47566398 發(fā)表于 2022-6-9 12:46
while(*p != '0')      這句錯(cuò)了!

應(yīng)該換成\0嗎
回復(fù)

使用道具 舉報(bào)

ID:161164 發(fā)表于 2022-6-11 15:59 來自手機(jī) | 顯示全部樓層
ii11nnocent 發(fā)表于 2022-6-11 14:42
我也嘗試過這樣寫,這樣寫的話就是固定顯示了,不能刷新,這樣是沒問題的。一旦循環(huán)顯示,就只能顯示一兩 ...

如果要更新顯示內(nèi)容
就只在有內(nèi)容改變時(shí)更新一次
或加一些延時(shí)
不要高速刷新
回復(fù)

使用道具 舉報(bào)

ID:342822 發(fā)表于 2022-6-11 16:08 | 顯示全部樓層
本帖最后由 taotie 于 2022-6-11 17:40 編輯
ii11nnocent 發(fā)表于 2022-6-11 14:36
您用Proteus仿真可以正常顯示

30.gif

02兩個(gè)字缺失
回復(fù)

使用道具 舉報(bào)

ID:702127 發(fā)表于 2022-6-11 21:26 | 顯示全部樓層
ii11nnocent 發(fā)表于 2022-6-11 14:43
做了,我在硬件上嘗試,是沒問題的。

我也是,實(shí)際搭建的硬件沒問題,一到proteus就顯示一兩次,我覺得可能是模擬環(huán)境和實(shí)際硬件有一些差距,找了好多原因,結(jié)果還是解決不了,是在不行就用別人能顯示的1602例子吧,有可能是延時(shí)的問題,謝謝各位。
回復(fù)

使用道具 舉報(bào)

ID:342822 發(fā)表于 2022-6-12 09:13 | 顯示全部樓層
屏幕截圖(130).png
只需將while(*p != '0') 改為while(*p != '\0') 就OK
回復(fù)

使用道具 舉報(bào)

ID:342822 發(fā)表于 2022-6-12 17:55 | 顯示全部樓層
或者改為while(*p != 0)
回復(fù)

使用道具 舉報(bào)

ID:1034505 發(fā)表于 2022-6-14 23:37 來自手機(jī) | 顯示全部樓層
可能延時(shí)太短
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本三级线观看 视频 | 麻豆精品久久久 | 欧美日韩午夜精品 | 午夜精品一区二区三区在线观看 | 澳门永久av免费网站 | yiren22 亚洲综合| 中文字幕亚洲一区二区三区 | 中文字幕日韩欧美一区二区三区 | 久久国内| 最新av在线播放 | 国产日韩欧美综合 | 国产精品一区二区免费看 | 久久伊人一区 | 国户精品久久久久久久久久久不卡 | 在线国产一区 | 亚洲精品一区中文字幕乱码 | 国产91在线精品 | 亚洲免费在线播放 | 天天插天天狠天天透 | 亚洲国产高清在线观看 | 日韩精品一区二区三区在线播放 | 国产永久免费 | 精品中文字幕一区二区 | 99久久婷婷国产综合精品电影 | 国产精品久久一区 | 国产ts人妖一区二区三区 | 岛国在线免费观看 | jvid精品资源在线观看 | 久久久精品视频免费看 | 亚洲精品久久 | 欧美精品1区 | 国产精品99久 | 91伊人 | 国产精品日日摸夜夜添夜夜av | 成人片免费看 | 看特级黄色片 | 日韩aⅴ在线观看 | 国产探花在线观看视频 | 久久中文免费视频 | 国产中文字幕在线 | 黄色精品 |