找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3788|回复: 24
收起左侧

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

  [复制链接]
ID:890186 发表于 2021-3-10 12:21 来自手机 | 显示全部楼层 |阅读模式
在查资料的时候找到了一下代码和电路图,代码没有定义P0这个全局变量,也没有写过p0指向哪个脚位,那这个p0指的是p0^0~p0^7的所有脚位吗?(在写指令函数和写数据函数里)




/*------------------------
功能:LCD1602显示两行数据
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"}; // 每行的字符数据
uchar code table1[] = {"0123456789abcdef"};
sbit lcdrs = P1^2; // LCD数据/命令选择端
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); // 将数据指针定位到第一行的首地址
        for(num = 0; num < 16; num++)
        {
                writeData(table0[num]);
                delay(5);
        }
       
        writeCommand(0x80 + 0x40); // 将数据指针定位到第二行的首地址
        for(num = 0; num < 16; num++)
        {
                writeData(table1[num]);
                delay(5);
        }
        while(1);
}

/*初始化LCD1602的设置*/
void init()
{
        lcden = 0; // 拉低使能端,准备产生使能高脉冲信号
        writeCommand(0x38); // 显示模式设置(16x2, 5x7点阵,8位数据接口)
        writeCommand(0x0c); // 开显示,不显示光标
        writeCommand(0x06); // 写一个字符后地址指针自动加1
        writeCommand(0x01); // 显示清零,数据指针清零
}

/*写指令函数*/
void writeCommand(uchar command)
{
        lcdrs = 0; // 命令选择
        lcdrw = 0;
        P0 = command;    //――――――――――――
        delay(5);
       
        lcden = 1; // 产生一个正脉冲使能信号
        delay(5);
        lcden = 0;
}

/*写数据函数*/
void writeData(uchar dat)
{
        lcdrs = 1; // 数据选择
        lcdrw = 0;
        P0 = dat;    //――――――――――――
        delay(5);
       
        lcden = 1;
        delay(5);
        lcden = 0;
}

/*延时函数*/
void delay(uchar xms)
{
        uint i, j;
        for(i = xms; i > 0; i--)
                for(j = 110; j > 0; j--);
}
2.jpg
回复

使用道具 举报

ID:584814 发表于 2021-3-10 16:17 | 显示全部楼层
单片机的P0端口,如果不是现成的试验板,记得加上拉电阻。
回复

使用道具 举报

ID:824490 发表于 2021-3-10 16:39 | 显示全部楼层
本帖最后由 名字不是重点 于 2021-3-10 16:55 编辑

P0,高铁动车站的一个检票口,P0^0-P0^7就 这个检票口一排8个的闸机,看你要从哪个闸机通过就设一下:
sbit  YOU=P0^0
如要没有指明是哪个闸机,就说明,这个检票口实行封禁,只能通过一队特权人物,比如一队8人的退伍老兵:
P0=dat ;//一下子8个闸机前都站着一个退伍老兵。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:890511 发表于 2021-3-10 19:59 | 显示全部楼层
P0
是一个端口
回复

使用道具 举报

ID:890636 发表于 2021-3-11 09:31 | 显示全部楼层
单片机端口P0
回复

使用道具 举报

ID:390416 发表于 2021-3-11 10:40 | 显示全部楼层
LCD12864中文资料包 容易看明白 http://www.51hei.com/bbs/dpj-200462-1.html

LCD1602显示℃ 这种自定义符号 http://www.51hei.com/bbs/dpj-200685-1.html
回复

使用道具 举报

ID:307020 发表于 2021-3-11 12:10 | 显示全部楼层
P0是指完整的8位端口,即所有脚位,程序中的P0=“ ”即P0并行输出8位数据
回复

使用道具 举报

ID:462827 发表于 2021-3-11 16:39 | 显示全部楼层
从点灯开始
回复

使用道具 举报

ID:280000 发表于 2021-3-20 00:10 | 显示全部楼层
代表数据端口
回复

使用道具 举报

ID:894154 发表于 2021-3-20 12:41 | 显示全部楼层
P0方向设置为输出
P0=0x00;即P0所有端口输出低电平
P0=0xFF;  即P0所有端口输出高电平
回复

使用道具 举报

ID:889094 发表于 2021-3-20 12:49 | 显示全部楼层
P0不是没有定义,定义在你的第一个include 文件里,《reg51.h》里面定义了单片机的基本寄存器,这些东西单片机都认识是什么,我们学习的话就得记住是什么就好了
回复

使用道具 举报

ID:744327 发表于 2021-3-20 13:11 | 显示全部楼层
P0是单片机上的端口,用来传数据的
回复

使用道具 举报

ID:884998 发表于 2021-3-21 08:52 | 显示全部楼层
man1234567 发表于 2021-3-10 16:17
单片机的P0端口,如果不是现成的试验板,记得加上拉电阻。

不加上拉电阻也能正常显示啊
回复

使用道具 举报

ID:517951 发表于 2021-3-21 09:07 | 显示全部楼层
P0接上拉电阻10K带负载的能力要大一些, 上图P0不带上拉电阻1602也能软件仿真点亮,在实际电路中就不一定有显示了。软件仿真和实际电路还是有区别的,
回复

使用道具 举报

ID:896842 发表于 2021-3-26 15:30 | 显示全部楼层
po端口的位置
回复

使用道具 举报

ID:207421 发表于 2021-3-27 00:33 | 显示全部楼层
P0 就是 单片机的 P00,  P01,  P02,  P03,  P04,  P05,  P06,  P07 口。
也就是LCD1602的 D0,   D1,   D2,   D3,    D4,   D5,    D6,   D7  数据口 ,与单片机P0端口一一对应。
那么给P0口数据,就是给LCD1602 数据口数据。
回复

使用道具 举报

ID:738987 发表于 2021-3-28 00:08 | 显示全部楼层
这个是单片机的一组IO口,一般情况下是路基开路输出,stc89c52系列单片机内部有微上拉电流,可以不加上拉,其他51系列需要上拉,负责无法输出高电平。
回复

使用道具 举报

ID:718123 发表于 2021-3-28 18:39 | 显示全部楼层
单片机的端口
回复

使用道具 举报

ID:878742 发表于 2021-3-28 19:28 | 显示全部楼层
就是P0端口,P0口要加上拉电阻
回复

使用道具 举报

ID:895574 发表于 2021-3-29 14:45 | 显示全部楼层
8位单片机端口,如果p0=0xff,p0.7为高位,p0.7到p0.0端口都为1,即高电平
回复

使用道具 举报

ID:889832 发表于 2021-3-29 14:59 | 显示全部楼层
单片机的IO口
回复

使用道具 举报

ID:897826 发表于 2021-3-29 15:05 | 显示全部楼层
666666
回复

使用道具 举报

ID:723547 发表于 2021-3-29 16:28 | 显示全部楼层
这个p0指的是p0^0~p0^7的所有脚位
回复

使用道具 举报

ID:898152 发表于 2021-3-29 17:13 | 显示全部楼层
这是一个自定义函数,就是把P0定义成LCD1602—DB,就是代替了P0
回复

使用道具 举报

ID:898152 发表于 2021-3-29 17:14 | 显示全部楼层
就是把P0定义成LCD1602—DB,就是代替了P0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表