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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4629|回復: 9
打印 上一主題 下一主題
收起左側(cè)

單片機LCD1602顯示代碼p0代表什么?

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:890186 發(fā)表于 2021-3-10 12:58 來自手機 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
    最近在網(wǎng)上查資料的時候找到了個LCD1602顯示代碼,但是我好像看不懂里面p0=dat;代表什么,在前面沒有定義p0這個全局變量,也沒有指明p0指向那個腳位,我想的是這個是不是指p0^0~p0^7的所有腳位,代碼如下(看不懂的那個在寫命令和寫數(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讀寫選擇端
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的設置*/
void init()
{
        lcden = 0; // 拉低使能端,準備產(chǎn)生使能高脈沖信號
        writeCommand(0x38); // 顯示模式設置(16x2, 5x7點陣,8位數(shù)據(jù)接口)
        writeCommand(0x0c); // 開顯示,不顯示光標
        writeCommand(0x06); // 寫一個字符后地址指針自動加1
        writeCommand(0x01); // 顯示清零,數(shù)據(jù)指針清零
}

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

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

/*延時函數(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ù): 99)

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

使用道具 舉報

沙發(fā)
ID:584814 發(fā)表于 2021-3-10 19:46 | 只看該作者
同一個問題你打算循環(huán)幾次
回復

使用道具 舉報

板凳
ID:283908 發(fā)表于 2021-3-10 20:08 | 只看該作者
貌似一個很菜的問題,其實是一個糾結(jié)單片機初學者對單片機數(shù)據(jù)傳輸方式的問題。

單片機數(shù)據(jù)傳輸有串行傳輸,并行傳輸,I2C總線傳輸,CAN總線等傳輸方式。


就上圖LCD1602液晶與單片機的連接方式是并行連接。

也就是單片機P0口的8位I/O口直接與LCD1602的8個數(shù)據(jù)位連接.

回復

使用道具 舉報

地板
ID:517951 發(fā)表于 2021-3-10 20:25 | 只看該作者
前面沒有定義p0這個全局變量,也沒有指明p0指向那個腳位 : 這些都包含在reg52.h這個頭文件里了
回復

使用道具 舉報

5#
ID:890186 發(fā)表于 2021-3-10 22:09 | 只看該作者
man1234567 發(fā)表于 2021-3-10 19:46
同一個問題你打算循環(huán)幾次

這個,我第一次發(fā),不懂,以為沒發(fā)成功然后又發(fā)了一次,后來才知道要換電腦吧才能看到
回復

使用道具 舉報

6#
ID:858964 發(fā)表于 2021-3-10 22:54 | 只看該作者
是的:
P0 即 p0^0~p0^7
P1 即 p1^0~p1^7
P2 即 p2^0~p2^7
回復

使用道具 舉報

7#
ID:568565 發(fā)表于 2021-3-10 23:52 來自手機 | 只看該作者
P0就是單片機整個P0口,你給它賦值它會以八位二進制方式傳給1602
回復

使用道具 舉報

8#
ID:390416 發(fā)表于 2021-3-11 10:41 | 只看該作者
LCD1602顯示℃ 這種自定義符號 http://www.zg4o1577.cn/bbs/dpj-200685-1.html
回復

使用道具 舉報

9#
ID:889832 發(fā)表于 2021-3-11 15:52 | 只看該作者
數(shù)據(jù)輸入端,
回復

使用道具 舉報

10#
ID:95809 發(fā)表于 2021-3-11 16:59 來自手機 | 只看該作者
p0代表數(shù)據(jù)從P0口傳輸,既P0.0——P0.7,如果你需要用P2口傳輸,就改成P2就可以了。
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产高清视频在线观看 | 日韩欧美中文在线 | 亚洲91| 中文字幕一区二区三区精彩视频 | h视频在线播放 | 一区二区三区久久久 | 三级视频在线观看 | 91观看| 999久久精品 | 亚洲一二三区不卡 | 亚洲一二三区精品 | 亚洲国产精品一区二区三区 | 久久综合入口 | 男女黄网站 | 91亚洲国产成人久久精品网站 | 亚洲精品毛片av | 国产激情在线 | 午夜精品久久久久久 | 99精品欧美一区二区蜜桃免费 | 国产最新视频在线 | 国产精品五月天 | 韩日在线观看视频 | 毛片毛片毛片毛片 | 亚洲精品不卡 | 亚洲欧美少妇 | 色在线看| 国产激情视频 | 久久ww| 亚洲一区二区三区久久 | 99精品欧美一区二区三区 | 99久9| 亚洲网站在线观看 | 国产精品久久免费观看 | 99re免费| 欧产日产国产精品99 | 欧美精品福利 | 日韩在线观看 | 欧美成人一区二区三区片免费 | 久久综合狠狠综合久久综合88 | 九九成人 | 日韩欧美中文字幕在线视频 |