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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)lcd1602只顯示第一排黑色方塊

[復(fù)制鏈接]
回帖獎勵 20 黑幣 回復(fù)本帖可獲得 20 黑幣獎勵! 每人限 1 次
跳轉(zhuǎn)到指定樓層
樓主
麻煩大佬幫忙看一下是什么問題

#include "LCD1602.h"
#ifdef P25_DRIV_RW
//讀操作,RS=1讀數(shù)據(jù);RS=0讀指令
unsigned char Read_LCD1602(bit RS)  
{      
unsigned char temp;
LCD1602_RS = RS;//數(shù)據(jù)寄存器
LCD1602_RW = 1;//讀操作
LCD1602_EN = 1;//上升沿,LCD準(zhǔn)備數(shù)據(jù)
_nop_();
_nop_();
_nop_();
_nop_();
temp =  LCD1602_DATA;//讀取DB7~0
LCD1602_EN = 0;//下降沿,LCD鎖存數(shù)據(jù)
return temp;
}
//讀忙操作,高電平表示忙
bit LCD_Busy(void)
{
   unsigned char temp;
   temp = Read_LCD1602(COMMAND);//讀指令
   return (bit)(temp & 0x80);//返回BF(bit7)位
}
//寫操作,RS=1寫數(shù)據(jù);RS=0寫指令
void Write_LCD1602(unsigned char dat,bit RS)
{      
while(LCD_Busy());
  LCD1602_EN = 0; //使能清零
LCD1602_RS = 1; //選擇輸入數(shù)據(jù)
LCD1602_RW = 0; //選擇寫入
LCD1602_DATA = dat; //寫入數(shù)據(jù)
Delay_ms(1);
LCD1602_EN= 1;   //寫入時(shí)序
Delay_ms(5);   //保持時(shí)間
LCD1602_EN= 0;

}

#else
void Write_LCD1602(unsigned char dat,bit RS)
{
  LCD1602_EN = 0;   //使能清零
LCD1602_RS = 1;   //選擇寫入數(shù)據(jù)

LCD1602_DATA= dat; //由于4位的接線是接到P0口的高四位,所以傳送高四位不用改
  Delay_ms(1);
LCD1602_EN= 1;   //寫入時(shí)序
  Delay_ms(5);;
LCD1602_EN = 0;
LCD1602_DATA = dat << 4; //寫入低四位
  Delay_ms(1);
LCD1602_EN = 1;   //寫入時(shí)序
  Delay_ms(5);
LCD1602_EN=0;
}
#endif
void LCD_WrCmd(unsigned char dat)
{
Write_LCD1602(dat,COMMAND);
}
void LCD_WrDat(unsigned char dat)
{
Write_LCD1602(dat,DATA);
}
void St_LCD1602_Pos(unsigned char pos)
{      
LCD_WrCmd(pos | 0x80);
}
void LCD1602_Init(void)  
{      
unsigned char empty = ' ';
LCD1602_EN = 0;
LCD_WrCmd(0x38);   
LCD_WrCmd(0x0c);  
LCD_WrCmd(0x06);  
LCD_WrCmd(0x01);
  LCD_WrCmd(0x80);
Wr_LCD1602_Num(0x00,0);
Wr_LCD1602_Str(0x00,"t");
Wr_LCD1602_Byt(0x00,'t');
St_LCD1602_Cur(0);
St_LCD1602_Clr();
}

void Wr_LCD1602_Str(unsigned char pos,unsigned char *Pwdata)
{
St_LCD1602_Pos(pos);
while(*Pwdata != '\0')
  LCD_WrDat(*Pwdata++);
}
void Wr_LCD1602_Byt(unsigned char pos,unsigned char _data)
{
St_LCD1602_Pos(pos);
LCD_WrDat(_data);
}
void Wr_LCD1602_Num(unsigned char pos,unsigned char _data)
{
St_LCD1602_Pos(pos);
if((0<=_data)&&(_data<=9))
  LCD_WrDat((_data+'0'));
else
  LCD_WrDat('E');
}
void St_LCD1602_Clr(void)
{
    LCD_WrCmd(0x01);//清顯示
}
void St_LCD1602_Cur(bit OpnClose)
{
if(OpnClose)
  LCD_WrCmd(0x0f);
else
  LCD_WrCmd(0x0c);
}

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

使用道具 舉報(bào)

沙發(fā)
ID:452950 發(fā)表于 2020-5-1 09:51 | 只看該作者
先考慮線有沒有接錯(cuò),對比度調(diào)好沒有
回復(fù)

使用道具 舉報(bào)

板凳
ID:97554 發(fā)表于 2020-5-1 10:58 | 只看該作者
RS   RW   EN三根線有沒有對應(yīng)程序,D0 -  D7線序有沒有接反。
回復(fù)

使用道具 舉報(bào)

地板
ID:709389 發(fā)表于 2020-5-1 11:26 | 只看該作者
調(diào)節(jié)電位器,對比度要調(diào)好
回復(fù)

使用道具 舉報(bào)

5#
ID:531275 發(fā)表于 2020-5-1 14:47 | 只看該作者
xxpp2011 發(fā)表于 2020-5-1 09:51
先考慮線有沒有接錯(cuò),對比度調(diào)好沒有

這些都沒問題,燒例程可以顯示
回復(fù)

使用道具 舉報(bào)

6#
ID:531275 發(fā)表于 2020-5-1 14:49 | 只看該作者
楊雪飛 發(fā)表于 2020-5-1 10:58
RS   RW   EN三根線有沒有對應(yīng)程序,D0 -  D7線序有沒有接反。

#define LCD1602_DATA P0
sbit LCD1602_EN = P2^7;
sbit LCD1602_RS        = P2^6;
#ifdef P25_DRIV_RW
sbit LCD1602_RW = P2^5;
#endif
回復(fù)

使用道具 舉報(bào)

7#
ID:97554 發(fā)表于 2020-5-1 15:29 | 只看該作者
dislsqq 發(fā)表于 2020-5-1 14:49
#define LCD1602_DATA P0
sbit LCD1602_EN = P2^7;
sbit LCD1602_RS        = P2^6;

燒例程可以的話你就把這個(gè)程序?qū)φ绽痰某跏蓟懨睢憯?shù)據(jù)函數(shù),看看哪里時(shí)序不對吧。開發(fā)板這玩意難伺候,所以我就覺得初學(xué)者用開發(fā)板學(xué)是個(gè)坑。比如我們驅(qū)動1602,我用P0口不解上拉電阻都可以直接驅(qū)動1602正常顯示。但是在開發(fā)板上就不行。我有塊普中開發(fā)板,用的1602就跟一般的不一樣,之前因?yàn)檫@個(gè)繞了不少彎路。

對于1602的顯示按以下幾塊分解了學(xué)就好了。

void main()   主函數(shù)
{
lcd init();   先初始化液晶
while()      循環(huán)

{
delay();
wrt_com();    寫命令函數(shù),定義位置
delay();
wrt_dat()   ;  寫數(shù)據(jù)函數(shù),顯示內(nèi)容。
}

}


lcd_init()    初始化子程序
{
內(nèi)容
}

wrt_com()    寫命令子程序
{
內(nèi)容
}

wrt_dat()   寫數(shù)據(jù)子程序
{
內(nèi)容
}


delay()    延時(shí)子程序
{
內(nèi)容
}

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報(bào)

8#
ID:531275 發(fā)表于 2020-5-2 10:21 來自觸屏版 | 只看該作者
楊雪飛 發(fā)表于 2020-5-1 15:29
燒例程可以的話你就把這個(gè)程序?qū)φ绽痰某跏蓟懨睢憯?shù)據(jù)函數(shù),看看哪里時(shí)序不對吧。開發(fā)板這玩意 ...

好的,謝謝
回復(fù)

使用道具 舉報(bào)

9#
ID:691449 發(fā)表于 2020-5-2 13:01 | 只看該作者
濫情 發(fā)表于 2020-5-1 11:26
調(diào)節(jié)電位器,對比度要調(diào)好

只有一行黑色不是對比度的問題,應(yīng)該和初始化有關(guān)系
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 大陆一级毛片免费视频观看 | 欧美激情一区二区三级高清视频 | 国产精品久久二区 | 国产欧美一区二区三区日本久久久 | 97精品视频在线 | 一区二区三 | 国产精品毛片一区二区三区 | 日韩精品一区二区三区四区 | 国产精品免费视频一区 | 国产精品视频综合 | 香蕉久久网 | 欧洲一级黄| 91色综合 | 日韩黄色免费 | 国产欧美精品一区二区 | 爱高潮www亚洲精品 中文字幕免费视频 | 国产一二区视频 | 热久久免费视频 | 一区二区三区精品 | 久久精品一区 | 日韩欧美大片在线观看 | 亚洲精品在线看 | 国产a爽一区二区久久久 | 久久国产精品久久久久久 | 久久精品一区 | 国内精品视频一区二区三区 | 久久亚洲国产精品 | 自拍偷拍第一页 | 久久99这里只有精品 | 亚洲天堂免费 | 亚洲一区二区三区免费在线观看 | 中日字幕大片在线播放 | 一级h片 | 亚洲视频在线播放 | 亚洲成人av一区二区 | 亚洲综合日韩精品欧美综合区 | 亚洲精品乱码久久久久久按摩观 | 一久久久 | 国产精品久久久久久久久久软件 | 亚洲大片在线观看 | 久久久久久久电影 |