普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 7374|回复: 0

关于1602显示得问题,在仿真可以显示在单片机上显示不了

 关闭 [复制链接]

1

主题

1

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2018-5-20 17:06:52 | 显示全部楼层 |阅读模式
#include<reg52.h>

#define LCD1602_DB P0

sbit LCD1602_RS = P2^6;
sbit LCD1602_RW = P2^5;
sbit LCD1602_E  = P2^7;

typedef unsigned int uint;
typedef unsigned char uchar;

void Delay10us(uint i)          
{
        while(i--);
}

/* lcd1602写入数据/命令(i=1/i=0) */
void Write_Cmd_Dat(uchar i,uchar dat)   
{
        LCD1602_RS = i;
        LCD1602_RW = 0;       
        LCD1602_E  = 1;
        LCD1602_DB = dat;
        Delay10us(500);                 //不能少!!
        LCD1602_E  = 0;
}


void LCD1602Init()
{
        Write_Cmd_Dat(0,0x38);
        Write_Cmd_Dat(0,0x0c);
        Write_Cmd_Dat(0,0x06);
        Write_Cmd_Dat(0,0x01);
}


/* 设置LCD1602光标位置 */
void LcdSetCursor(uchar x,uchar y)
{
        uchar addr;

        if(y==0)
                addr = 0x00 + x;
        else
                addr = 0x40 + x;

        Write_Cmd_Dat(0,addr |0x80);
}

/* LCD1602显示字符串 */
void DisplayString(uchar *s)
{
        while(*s>0)
        {
                Write_Cmd_Dat(1,*s);
                s++;
        }
}



void main()
{

        char code string_1[] = "sadfsadf";
        char code string_2[] = "   23";
        LCD1602Init();
        LcdSetCursor(0,0);
        DisplayString(string_1);

        LcdSetCursor(0,1);
        DisplayString(string_2);

        while(1);               
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-4-24 16:31 , Processed in 0.084918 second(s), 31 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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