标题:
1602显示驱动程序函数封装,有需要的拿去
[打印本页]
作者:
Li1783
时间:
2018-2-2 13:08
标题:
1602显示驱动程序函数封装,有需要的拿去
已经封装好的程序,使用起来非常方便
0.png
(44.5 KB, 下载次数: 51)
下载附件
2018-2-2 16:38 上传
单片机源程序如下:
/********************************************************************
* 文件名 : 液晶1602显示.c
* 描述 : 该程序实现了对液晶1602的控制。
***********************************************************************/
#include <reg52.h>
#include <intrins.h>
#include "lcd1602.h"
#define RS_CLR RS=0
#define RS_SET RS=1
#define RW_CLR RW=0
#define RW_SET RW=1
#define EN_CLR EN=0
#define EN_SET EN=1
//LCD 控制线接口
sbit RS=P2^5;
sbit RW=P2^4;
sbit EN=P2^3;
/******************************************************************/
/* 延时几微秒 */
/******************************************************************/
void delay_us(unsigned int us)
{
_nop_();
while(--us);
}
/******************************************************************/
/* 延时几毫秒 */
/******************************************************************/
void delay_ms(unsigned long ms)
{
unsigned char i, j;
do
{
_nop_();
_nop_();
_nop_();
i = 11;
j = 190;
do
{
while (--j);
}
while (--i);
}
while(--ms);
}
/******************************************************************/
/* 写一字节指令 */
/******************************************************************/
void LCD_write_com(unsigned char com)
{
RW =0;
RS_CLR;
EN_SET;
P0 = com;
delay_us(5);
EN_CLR;
}
/******************************************************************/
/* 写一字节数据 */
/******************************************************************/
void LCD_write_data(unsigned char dat)
{
RW =0;
RS_SET;
EN_SET;
P0 = dat;
delay_us(5);
EN_CLR;
}
/******************************************************************/
/* 清屏 */
/******************************************************************/
void LCD_clear(void)
{
LCD_write_com(0x01);
delay_ms(5);
}
/******************************************************************/
/* 在指定位置写字符 */
/******************************************************************/
void LCD_write_char(unsigned char x,unsigned char y,unsigned char dat)
{
if (y == 0)
{
LCD_write_com(0x80 + x);
}
else
{
LCD_write_com(0xC0 + x);
}
LCD_write_data( dat);
}
/******************************************************************/
/* 在指定位置写字符串 */
/******************************************************************/
void LCD_write_string(unsigned char x,unsigned char y,unsigned char *s)
{
if (y == 0)
{
LCD_write_com(0x80 + x); //表示第一行
}
else
{
LCD_write_com(0xC0 + x); //表示第二行
}
while (*s) //判断是否字符串的结尾
{
LCD_write_data( *s); //显示当前字符
s ++; //字符串地址加1
}
}
/******************************************************************/
/* lcd初始化 */
/******************************************************************/
void LCD_init(void)
{
LCD_write_com(0x38);
delay_ms(5);
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
1602.zip
(1.37 KB, 下载次数: 33)
2018-2-2 13:07 上传
点击文件名下载附件
程序
下载积分: 黑币 -5
作者:
chaoself
时间:
2018-2-12 15:48
谢谢分享
作者:
oohoh
时间:
2018-2-12 17:05
谢谢提供资料,收藏了
作者:
zmc419
时间:
2018-2-13 21:05
谢谢分享,收下了
作者:
luoyinbazi
时间:
2018-2-15 15:30
非常感谢,真是好东西
作者:
linziol
时间:
2018-2-15 17:55
谢谢分享,学习了!
作者:
黑卡卡
时间:
2018-2-15 23:17
不错,谢谢楼主
作者:
黑卡卡
时间:
2018-2-15 23:18
谢谢分享,收下了
作者:
ycying88
时间:
2018-2-17 16:58
谢谢分享,研究研究!
作者:
lei97
时间:
2018-6-26 08:30
啊,我需要
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1