登录|立即注册|使用QQ帐号登录
论坛 > 24小时必答区
发帖|
看1017|回0|收藏
楼主 ID:439927 只看他
2019-1-21 19:19
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit  lcden=P0^5;
sbit  lcdrs=P0^7;
sbit  lcdrw=P0^6;

void read_busy()//判断忙不忙
{
        uchar busy;
        P2=0xff;
        lcdrs = 0 ;
        lcdrw = 1;
        lcden = 1;
        do
        {
                lcden = 1;
                busy = P2;
                lcden = 0;
        }
        while(busy & 0x80);
}

void delay(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}
void write_com (uchar com)//写一个字节的指令
{
        read_busy();//判断忙不忙
        lcdrs = 0;
        lcdrw = 1;
        P2 = com;
        delay(5);
        lcden=1;
        delay(5);
        lcden=0;               
}
void write_data(uchar date)        //写数据显示
{
        read_busy();
        lcdrs =1;
        lcdrw =0;
        P2 = date;
        delay(5);
        lcden=1;
        delay(5);
        lcden=0;               
}
void init()
{
        lcden=0;
        write_com(0x38); //设置16*2
        write_com(0x0c); //开显示
        write_com(0x06); //地址加一
        write_com(0x80); //显示地址
        write_com(0x01); //请屏幕
        write_data(0x48);
}
void main()
{
        init();
        while(1);        
}


51黑电子论坛

Powered by Discuz! X3.1

首页|标准版|触屏版|电脑版