找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1316|回復(fù): 0
收起左側(cè)

stc89c52的lcd1602文件

[復(fù)制鏈接]
ID:471403 發(fā)表于 2019-1-21 20:14 | 顯示全部樓層 |閱讀模式
#include <reg51.h>
sbit LCD1602_E=P2^7;
sbit LCD1602_RW=P2^5;
sbit LCD1602_RS=P2^6;
#ifndef _LCD_H_
#define _LCD_H_
#define LCD1602_4PINS

#include <reg51.h>
#ifndef uchar
#define uchar unsigned char
        #endif
#ifndef uint
#define uint unsigned int
        #endif
#define LCD1602_DATAPINS P0

void L_D(uint c);//延時函數(shù)
void LWC(uchar com);//為讀入一個字符de命令
void LWD(uchar dat);//為寫入一個字符de數(shù)據(jù)
void LI();//初始化,在掃描錄入之前
#endif

#ifndef   LCD1602_4PINS
void LWC(uchar com){
        LCD1602_E=0;
        LCD1602_RS=0;
        LCD1602_RW=0;
        LCD1602_DATAPINS=com;
        L_D(1);
        LCD1602_E=1;
        L_D(5);
        LCD1602_E=0;
}
#else
void LWC(uchar com){
        LCD1602_E=0;
        LCD1602_RS=0;
        LCD1602_RW=0;
        LCD1602_DATAPINS=com;
        L_D(1);
        LCD1602_E=1;
        L_D(5);
        LCD1602_E=0;
        L_D(1);
        LCD1602_DATAPINS=com << 4;
        L_D(1);
        LCD1602_E=1;
        L_D(5);
        LCD1602_E=0;
}
#endif
#ifndef LCD1602_4PINS
void LWD(uchar dat){
        LCD1602_E=0;
        LCD1602_RS=1;
        LCD1602_RW=0;
        LCD1602_DATAPINS=dat;
        L_D(1);
        LCD1602_E=1;
        L_D(5);
        LCD1602_E=0;
}
#else
void LWD(uchar dat){
        LCD1602_E=0;
        LCD1602_RS=1;
        LCD1602_RW=0;
        LCD1602_DATAPINS= dat;
        L_D(1);
        LCD1602_E=1;
        L_D(5);
        LCD1602_E=0;
        LCD1602_DATAPINS=dat << 4;
        L_D(1);
        LCD1602_E=1;
        L_D(5);
        LCD1602_E=0;}
#endif
#ifndef  LCD1602_4PINS
        void LI(){
                LWC(0x38);
                LWC(0x0c);
                LWC(0x06);
                LWC(0x01);
                LWC(0x80);
        }
        #else
        void LI(){
                LWC(0x32);
                LWC(0x28);
                LWC(0x0c);
                LWC(0x06);
                LWC(0x01);
                LWC(0x80);
        }
        #endif
       
               
               
       
//延時函數(shù)
void L_D(uint c){
        uchar a,b;
        for(;c>0;c--){
                for (b=199;b>0;b--){
                        for (a=1;a>0;a--);
                }
        }
}

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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