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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

我看到網(wǎng)上用P0=0xff表示P0為與LCD D0~D7相連的I/O口,我想請教一下如果我LCD1602...

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:678869 發(fā)表于 2020-1-5 15:35 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我看到網(wǎng)上用P0=0xff表示P0為與LCD D0~D7相連的I/O口,我想請教一下如果我LCD1602的輸入輸出端口分別連接了P0^0,P2^7等多個端口的話,我要怎么定義它呢?謝謝啦!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:155507 發(fā)表于 2020-1-5 16:35 | 只看該作者
LCD1602還有一種使用高4位數(shù)據(jù)線的接法,可以減少單片機的負擔(dān)。

另外,RW的控制也并非是必用的,如果僅僅是用于讀取LCD1602“忙”的狀態(tài),就可以用稍事等待來代替。這樣一來,RW就可以直接接地,使LCD1602永遠處于寫入的狀態(tài)。

那么,LCD1602和單片機之間就僅僅需要6條線了,這就是LCD1602最簡潔的連接方法。

  1. #include <reg51.h>

  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. #define LCD1602_DATAPINS P1
  5. sbit lcdrs = P2^1;   //LCD寄存器選擇
  6. sbit lcdrw = P2^2;   //LCD讀寫控制
  7. sbit lcden = P2^3;   //LCD使能控制

  8. void delay(uint m) //延時函數(shù)
  9. {while(--m);}
  10. //使用的是4位數(shù)據(jù)傳輸
  11. void write(uchar com, uchar lcddata) //LCD1602寫入8位命令/數(shù)據(jù)子函數(shù)
  12. {

  13.         lcdrs=com;   //寫入命令   0 選擇發(fā)送命令    1 選擇發(fā)送數(shù)據(jù)
  14.        
  15.         //LCD1602_DATAPINS=(lcddata);            //由于4位的接線是接到P1口的高四位,所以傳送高四位不用改
  16.         LCD1602_DATAPINS=(lcddata&0xf0)>>4; //由于4位的接線是接到P1口的低四位,接到LCD高四位
  17.         //delay(200);
  18.         lcden=1;     //寫入時序
  19.         delay(30);   //保持時間
  20.         lcden=0;     //使能清零

  21.         //LCD1602_DATAPINS=(lcddata & 0x0f)<< 4;   //發(fā)送低四位
  22.         LCD1602_DATAPINS=(lcddata&0x0f);           //發(fā)送高四位
  23.         //delay(200);
  24.         lcden=1;     //寫入時序
  25.         delay(30);   //保持時間
  26.         lcden=0;     //使能清零
  27.         //delay(20);
  28. }

  29. void init()   //LCD初始化子函數(shù)
  30. {
  31.         lcdrw=0;   //選擇寫入
  32.         lcden=0;   //使能
  33.         delay(5);

  34.         write(0,0x32);   //將8位總線轉(zhuǎn)為4位總線
  35.         write(0,0x28);   //在四位線下的初始化
  36.         write(0,0x0c);   //開顯示 不顯示光標
  37.         write(0,0x06);   // 讀入后AC(指針)加1,向右寫
  38.         write(0,0x01);   //清屏
  39.         write(0,0x80);   //設(shè)置數(shù)據(jù)指針起點
  40.         delay(255);

  41. }

  42. void main()
  43. {
  44.        
  45.         init(); //LCD初始化

  46.         while(1)
  47.         {
  48.                 write(1,'a');write(1,'b');delay(65255);delay(65255);
  49.         }
  50. }


復(fù)制代碼

回復(fù)

使用道具 舉報

板凳
ID:235200 發(fā)表于 2020-1-5 16:42 | 只看該作者
LCD1602有數(shù)據(jù)線和控制線,P0=0xff只是數(shù)據(jù)輸入,還有RS  RW  E控制線需要用另外的IO口,如P2口任意的IO口線均可使用
回復(fù)

使用道具 舉報

地板
ID:417295 發(fā)表于 2020-1-5 17:01 | 只看該作者
你這樣說比較籠統(tǒng),首先要曬出你的硬件原理圖,一般顯示屏廠家都有示例程序,可以參考下。
回復(fù)

使用道具 舉報

5#
ID:195446 發(fā)表于 2020-1-5 17:22 | 只看該作者
P0=0xff只是p0口座位輸入口的預(yù)備動作。P0口作為數(shù)據(jù)總線可以連接多個設(shè)備,如果要使用低位地址那就要用373了,然后區(qū)分每個設(shè)備就用P2,P0可以取0xff。
回復(fù)

使用道具 舉報

6#
ID:398709 發(fā)表于 2020-1-5 20:45 | 只看該作者
如果一定要用8根線的話可以依次讀取然后進行移位拼接,不過最好還是使用整PIN或者使用4PIN方案
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩aⅴ在线观看 | 欧美一区二区在线免费观看 | 91国内精品久久 | 一区二区三区视频播放 | 久久精品久久精品久久精品 | 亚洲精品日韩视频 | 国产精品久久精品 | 欧美国产激情二区三区 | 亚洲免费人成在线视频观看 | 99久久免费精品 | 香蕉91| 久久国产欧美日韩精品 | 亚洲精品视频在线 | www精品美女久久久tv | a免费观看| 亚洲精品电影在线观看 | 久久精品免费观看 | 欧美一级片 | 国产精品久久精品 | 久久久久国产一区二区 | 福利精品 | 久久亚洲综合 | 欧美黑人一区 | 亚洲精品久久久久久久久久久久久 | 欧美一级网站 | 影音先锋成人资源 | 在线精品国产 | 四虎影音| 一本岛道一二三不卡区 | 在线视频亚洲 | 在线视频一区二区 | 精品中文字幕一区二区三区 | 久久久久免费 | 欧美久久一级 | 日韩精品在线看 | 一区二区三区视频在线观看 | 欧美xxxx黑人又粗又长 | 欧美成人h版在线观看 | 欧美一二区 | 欧美高清视频 | 中文日韩在线 |