新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)的1602驅(qū)動(dòng)程序

51單片機(jī)的1602驅(qū)動(dòng)程序

作者: 時(shí)間:2016-12-01 來(lái)源:網(wǎng)絡(luò) 收藏
//////////////////////////////////////////////////////頭文件/////////////////////////////////////////////////////

/*******************************************************************************
* 標(biāo)題: 1602顯示驅(qū)動(dòng)程序 *
* 文件: 1602lcd.h 1602lcd.c *
* 日期: 2010-3-11 *
* 版本: 1.12(試驗(yàn)通過(guò)版)可用51hei單片機(jī)開發(fā)板*
* 郵箱:acsdf139@163.com qq:526083029*
* 網(wǎng)站: 無(wú) *
********************************************************************************
* 描述: *
* 用法:首先在主程序內(nèi)添加頭文件#include"1602lcd.c"*
* 再在mian()中初始化液晶即可 *
* *
********************************************************************************
*【版權(quán)】自己參照網(wǎng)上,朋友,以及書本資料上寫的,所以沒有版權(quán) *
*【聲明】此程序,可用于學(xué)習(xí),參考及實(shí)際設(shè)計(jì)中,歡迎轉(zhuǎn)載復(fù)制以及建議批評(píng) *
*【技術(shù)支持】qq:526083029 小張 *
********************************************************************************/

本文引用地址:http://m.butianyuan.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

/************************************/
//函數(shù)聲明
extern bit lcdbusy(void);
extern void lcdwcmd(uchar cmd);//寫命令函數(shù)1
extern void lcdwdat(uchar dat);//寫數(shù)據(jù)1
extern void lcdpos(uchar x,bit y);//行設(shè)置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);//顯示坐標(biāo)設(shè)置
extern void lcdxyprs(uchar X,uchar Y,char *String);//指定坐標(biāo)顯示字符串
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();//清屏函數(shù)
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;//數(shù)據(jù)命令選擇
sbit RWlcd=P2^1;//數(shù)據(jù)讀寫
sbit EPlcd=P2^2;//使能

/************************************
函數(shù)名:lcdbusy
函數(shù)功能:1602忙閑信號(hào)
參數(shù):無(wú)
返回:bit類型值 1為忙,0為閑
備注:
************************************/
bit lcdbusy(void)
{  bit result;
  RSlcd = 0;
  RWlcd = 1;
  EPlcd = 1;
  delaynop();
  result = (bit)(P0 & 0x80);
  EPlcd = 0;
  return result;
}


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


技術(shù)專區(qū)

關(guān)閉