新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 51单片机的1602驱动程序

51单片机的1602驱动程序

作者: 时间:2016-12-01 来源:网络 收藏
//////////////////////////////////////////////////////头文件/////////////////////////////////////////////////////

/*******************************************************************************
* 标题: 1602显示驱动程序 *
* 文件: 1602lcd.h 1602lcd.c *
* 日期: 2010-3-11 *
* 版本: 1.12(试验通过版)可用51hei单片机开发板*
* 邮箱:acsdf139@163.com qq:526083029*
* 网站: 无 *
********************************************************************************
* 描述: *
* 用法:首先在主程序内添加头文件#include"1602lcd.c"*
* 再在mian()中初始化液晶即可 *
* *
********************************************************************************
*【版权】自己参照网上,朋友,以及书本资料上写的,所以没有版权 *
*【声明】此程序,可用于学习,参考及实际设计中,欢迎转载复制以及建议批评 *
*【技术支持】qq:526083029 小张 *
********************************************************************************/

本文引用地址:https://www.eepw.com.cn/article/201612/324086.htm

#ifndef _LCD1602_H_
#define _LCD1602_H_

#define delaynop();{_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}
#define uchar unsigned char
#define SETXY1
#define XYPRS 1
#define XYPRC 1
#define LEFTRIGHT 0

/************************************/
//函数声明
extern bit lcdbusy(void);
extern void lcdwcmd(uchar cmd);//写命令函数1
extern void lcdwdat(uchar dat);//写数据1
extern void lcdpos(uchar x,bit y);//行设置1
extern void lcdinit(void);//初始化1
extern void lcdprc(uchar ch);//写字符1
extern void lcdprs(uchar *string);//写字符串1
extern void lcdsetxy(uchar X,uchar Y);//显示坐标设置
extern void lcdxyprs(uchar X,uchar Y,char *String);//指定坐标显示字符串
extern void lcdxyprc(uchar X,uchar Y,char ch);
extern void lcdsetxs(bit D,bit C,bit B);
extern void lcdsetim(bit I_D,bit S);
extern void lcdclear();//清屏函数
extern void lcdenter();//显示回车
extern void lcdcri(unsigned char n);
extern void lcdcle(unsigned char n);
extern void lcdright(unsigned char n);
extern void lcdright(unsigned char n);
#endif
//////////////////////////////////////////////////////c程序/////////////////////////////////////////////////////

#include
#include "1602lcd.h"
#include

//管角定义

sbit RSlcd=P2^0;//数据命令选择
sbit RWlcd=P2^1;//数据读写
sbit EPlcd=P2^2;//使能

/************************************
函数名:lcdbusy
函数功能:1602忙闲信号
参数:无
返回:bit类型值 1为忙,0为闲
备注:
************************************/
bit lcdbusy(void)
{  bit result;
  RSlcd = 0;
  RWlcd = 1;
  EPlcd = 1;
  delaynop();
  result = (bit)(P0 & 0x80);
  EPlcd = 0;
  return result;
}


上一页 1 2 3 下一页

评论


技术专区

关闭