找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

LCD1602液晶顯示中p0代表什么?

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:890186 發(fā)表于 2021-3-10 12:21 來(lái)自手機(jī) | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
在查資料的時(shí)候找到了一下代碼和電路圖,代碼沒(méi)有定義P0這個(gè)全局變量,也沒(méi)有寫(xiě)過(guò)p0指向哪個(gè)腳位,那這個(gè)p0指的是p0^0~p0^7的所有腳位嗎?(在寫(xiě)指令函數(shù)和寫(xiě)數(shù)據(jù)函數(shù)里)




/*------------------------
功能:LCD1602顯示兩行數(shù)據(jù)
Author: Zhang Kaizhou
Date: 2019-6-3 12:42:22
------------------------*/
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
       
uchar code table0[] = {"0123456789ABCDEF"}; // 每行的字符數(shù)據(jù)
uchar code table1[] = {"0123456789abcdef"};
sbit lcdrs = P1^2; // LCD數(shù)據(jù)/命令選擇端
sbit lcdrw = P1^3; // LCD讀寫(xiě)選擇端
sbit lcden = P1^4; // LCD使能端,高脈沖有效
uchar num;

void init();
void writeCommand(uchar command);
void delay(uchar xms);
void writeData(uchar dat);

void main()
{
        init();
        writeCommand(0x80); // 將數(shù)據(jù)指針定位到第一行的首地址
        for(num = 0; num < 16; num++)
        {
                writeData(table0[num]);
                delay(5);
        }
       
        writeCommand(0x80 + 0x40); // 將數(shù)據(jù)指針定位到第二行的首地址
        for(num = 0; num < 16; num++)
        {
                writeData(table1[num]);
                delay(5);
        }
        while(1);
}

/*初始化LCD1602的設(shè)置*/
void init()
{
        lcden = 0; // 拉低使能端,準(zhǔn)備產(chǎn)生使能高脈沖信號(hào)
        writeCommand(0x38); // 顯示模式設(shè)置(16x2, 5x7點(diǎn)陣,8位數(shù)據(jù)接口)
        writeCommand(0x0c); // 開(kāi)顯示,不顯示光標(biāo)
        writeCommand(0x06); // 寫(xiě)一個(gè)字符后地址指針自動(dòng)加1
        writeCommand(0x01); // 顯示清零,數(shù)據(jù)指針清零
}

/*寫(xiě)指令函數(shù)*/
void writeCommand(uchar command)
{
        lcdrs = 0; // 命令選擇
        lcdrw = 0;
        P0 = command;    //――――――――――――
        delay(5);
       
        lcden = 1; // 產(chǎn)生一個(gè)正脈沖使能信號(hào)
        delay(5);
        lcden = 0;
}

/*寫(xiě)數(shù)據(jù)函數(shù)*/
void writeData(uchar dat)
{
        lcdrs = 1; // 數(shù)據(jù)選擇
        lcdrw = 0;
        P0 = dat;    //――――――――――――
        delay(5);
       
        lcden = 1;
        delay(5);
        lcden = 0;
}

/*延時(shí)函數(shù)*/
void delay(uchar xms)
{
        uint i, j;
        for(i = xms; i > 0; i--)
                for(j = 110; j > 0; j--);
}

2.jpg (168.67 KB, 下載次數(shù): 68)

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

使用道具 舉報(bào)

沙發(fā)
ID:584814 發(fā)表于 2021-3-10 16:17 | 只看該作者
單片機(jī)的P0端口,如果不是現(xiàn)成的試驗(yàn)板,記得加上拉電阻。
回復(fù)

使用道具 舉報(bào)

板凳
ID:824490 發(fā)表于 2021-3-10 16:39 | 只看該作者
本帖最后由 名字不是重點(diǎn) 于 2021-3-10 16:55 編輯

P0,高鐵動(dòng)車(chē)站的一個(gè)檢票口,P0^0-P0^7就 這個(gè)檢票口一排8個(gè)的閘機(jī),看你要從哪個(gè)閘機(jī)通過(guò)就設(shè)一下:
sbit  YOU=P0^0
如要沒(méi)有指明是哪個(gè)閘機(jī),就說(shuō)明,這個(gè)檢票口實(shí)行封禁,只能通過(guò)一隊(duì)特權(quán)人物,比如一隊(duì)8人的退伍老兵:
P0=dat ;//一下子8個(gè)閘機(jī)前都站著一個(gè)退伍老兵。

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

地板
ID:890511 發(fā)表于 2021-3-10 19:59 | 只看該作者
P0
是一個(gè)端口
回復(fù)

使用道具 舉報(bào)

5#
ID:890636 發(fā)表于 2021-3-11 09:31 | 只看該作者
單片機(jī)端口P0
回復(fù)

使用道具 舉報(bào)

6#
ID:390416 發(fā)表于 2021-3-11 10:40 | 只看該作者
LCD12864中文資料包 容易看明白 http://www.torrancerestoration.com/bbs/dpj-200462-1.html

LCD1602顯示℃ 這種自定義符號(hào) http://www.torrancerestoration.com/bbs/dpj-200685-1.html
回復(fù)

使用道具 舉報(bào)

7#
ID:307020 發(fā)表于 2021-3-11 12:10 | 只看該作者
P0是指完整的8位端口,即所有腳位,程序中的P0=“ ”即P0并行輸出8位數(shù)據(jù)
回復(fù)

使用道具 舉報(bào)

8#
ID:462827 發(fā)表于 2021-3-11 16:39 | 只看該作者
從點(diǎn)燈開(kāi)始
回復(fù)

使用道具 舉報(bào)

9#
ID:280000 發(fā)表于 2021-3-20 00:10 | 只看該作者
代表數(shù)據(jù)端口
回復(fù)

使用道具 舉報(bào)

10#
ID:894154 發(fā)表于 2021-3-20 12:41 | 只看該作者
P0方向設(shè)置為輸出
P0=0x00;即P0所有端口輸出低電平
P0=0xFF;  即P0所有端口輸出高電平
回復(fù)

使用道具 舉報(bào)

11#
ID:889094 發(fā)表于 2021-3-20 12:49 | 只看該作者
P0不是沒(méi)有定義,定義在你的第一個(gè)include 文件里,《reg51.h》里面定義了單片機(jī)的基本寄存器,這些東西單片機(jī)都認(rèn)識(shí)是什么,我們學(xué)習(xí)的話(huà)就得記住是什么就好了
回復(fù)

使用道具 舉報(bào)

12#
ID:744327 發(fā)表于 2021-3-20 13:11 | 只看該作者
P0是單片機(jī)上的端口,用來(lái)傳數(shù)據(jù)的
回復(fù)

使用道具 舉報(bào)

13#
ID:884998 發(fā)表于 2021-3-21 08:52 | 只看該作者
man1234567 發(fā)表于 2021-3-10 16:17
單片機(jī)的P0端口,如果不是現(xiàn)成的試驗(yàn)板,記得加上拉電阻。

不加上拉電阻也能正常顯示啊
回復(fù)

使用道具 舉報(bào)

14#
ID:517951 發(fā)表于 2021-3-21 09:07 | 只看該作者
P0接上拉電阻10K帶負(fù)載的能力要大一些, 上圖P0不帶上拉電阻1602也能軟件仿真點(diǎn)亮,在實(shí)際電路中就不一定有顯示了。軟件仿真和實(shí)際電路還是有區(qū)別的,
回復(fù)

使用道具 舉報(bào)

15#
ID:896842 發(fā)表于 2021-3-26 15:30 | 只看該作者
po端口的位置
回復(fù)

使用道具 舉報(bào)

16#
ID:207421 發(fā)表于 2021-3-27 00:33 | 只看該作者
P0 就是 單片機(jī)的 P00,  P01,  P02,  P03,  P04,  P05,  P06,  P07 口。
也就是LCD1602的 D0,   D1,   D2,   D3,    D4,   D5,    D6,   D7  數(shù)據(jù)口 ,與單片機(jī)P0端口一一對(duì)應(yīng)。
那么給P0口數(shù)據(jù),就是給LCD1602 數(shù)據(jù)口數(shù)據(jù)。
回復(fù)

使用道具 舉報(bào)

17#
ID:738987 發(fā)表于 2021-3-28 00:08 | 只看該作者
這個(gè)是單片機(jī)的一組IO口,一般情況下是路基開(kāi)路輸出,stc89c52系列單片機(jī)內(nèi)部有微上拉電流,可以不加上拉,其他51系列需要上拉,負(fù)責(zé)無(wú)法輸出高電平。
回復(fù)

使用道具 舉報(bào)

18#
ID:718123 發(fā)表于 2021-3-28 18:39 | 只看該作者
單片機(jī)的端口
回復(fù)

使用道具 舉報(bào)

19#
ID:878742 發(fā)表于 2021-3-28 19:28 | 只看該作者
就是P0端口,P0口要加上拉電阻
回復(fù)

使用道具 舉報(bào)

20#
ID:895574 發(fā)表于 2021-3-29 14:45 | 只看該作者
8位單片機(jī)端口,如果p0=0xff,p0.7為高位,p0.7到p0.0端口都為1,即高電平
回復(fù)

使用道具 舉報(bào)

21#
ID:889832 發(fā)表于 2021-3-29 14:59 | 只看該作者
單片機(jī)的IO口
回復(fù)

使用道具 舉報(bào)

22#
ID:897826 發(fā)表于 2021-3-29 15:05 | 只看該作者
666666
回復(fù)

使用道具 舉報(bào)

23#
ID:723547 發(fā)表于 2021-3-29 16:28 | 只看該作者
這個(gè)p0指的是p0^0~p0^7的所有腳位
回復(fù)

使用道具 舉報(bào)

24#
ID:898152 發(fā)表于 2021-3-29 17:13 | 只看該作者
這是一個(gè)自定義函數(shù),就是把P0定義成LCD1602—DB,就是代替了P0
回復(fù)

使用道具 舉報(bào)

25#
ID:898152 發(fā)表于 2021-3-29 17:14 | 只看該作者
就是把P0定義成LCD1602—DB,就是代替了P0
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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