新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于51单片机的1602LCD液晶反显程序

基于51单片机的1602LCD液晶反显程序

作者:时间:2012-11-15来源:网络收藏

/*1602LCD演示程序*/
/*单片机型号:*/
/*晶振:11.0592MHZ*/
/*作者:http://www.51hei.com*/
/*编译环境:Keil 7.50A*/
/****包含头文件*****/
#include reg51.h>
#include intrins.h>
/******************端口定义可根据你的电路自行修改*******/
sbit rs=P3^5;
sbit rw=P2^7;
sbit cs=P3^4;
sbit ep=P3^4;/*****显示数据表*******/
unsigned char code dis1[] = {"xu han jun"};
unsigned char code dis2[] = {"best wishes"};
/********************
函数功能:LCD延时子程序
入口参数:ms
出口参数:
********************/
void delay(unsigned char ms)
{
unsigned char i;
while(ms--)
{
for(i = 0; i250; i++)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}
/********************
函数功能:测试LCD忙碌状态
入口参数:
出口参数:result
**********************/
bit lcd_bz()
{
bit result;
rs = 0;
rw = 1;
ep = 1;
_nop_();
_nop_();
_nop_();
_nop_();
result = (bit)(P0 0x80);
ep = 0;
return result;
}
/*****************
函数功能:写指令数据到LCD子程序
入口参数:cmd
出口参数:
***************/
void lcd_wcmd(unsigned char cmd)
{
while(lcd_bz());//判断LCD是否忙碌
rs = 0;
rw = 0;
ep = 0;
_nop_();
_nop_();
P0 = cmd;
_nop_();
_nop_();
_nop_();
_nop_();
ep = 1;
_nop_();
_nop_();
_nop_();
_nop_();
ep = 0;
}
/*************************
函数功能:设定显示位置子程序
入口参数:pos
出口参数:
*************************/
void lcd_pos(unsigned char pos)
{
lcd_wcmd(pos | 0x80);
}
/***********************
函数功能:写入显示数据到LCD子程序
入口参数:dat
出口参数:
************************/
void lcd_wdat(unsigned char dat)
{
while(lcd_bz());//判断LCD是否忙碌
rs = 1;
rw = 0;
ep = 0;
P0 = dat;
_nop_();
_nop_();
_nop_();
_nop_();
ep = 1;
_nop_();
_nop_();
_nop_();
_nop_();
ep = 0;
}
/**********************
函数功能:LCD初始化子程序
入口参数:
出口参数:
***********************/
void lcd_init()
{
lcd_wcmd(0x38);
delay(1);
lcd_wcmd(0x0c);
delay(1);
lcd_wcmd(0x01);
delay(1);
lcd_wcmd(0x04);
delay(1);
}
/*****************
函数功能:主程序
入口参数:
出口参数:
********************/
void main(void)
{
unsigned char i;
lcd_init();// 初始化LCD
delay(10);
lcd_pos(0x0E);//设置显示位置
i = 0;
while(dis1[i] != '')
{
lcd_wdat(dis1[i]);//显示字符
i++;
}
lcd_pos(0x4E);// 设置显示位置
i = 0;
while(dis2[i] != '')
{
lcd_wdat(dis2[i]);// 显示字符
i++;
}
while(1);
}

万能遥控器相关文章:万能遥控器代码


51单片机相关文章:51单片机教程


晶振相关文章:晶振原理


评论


相关推荐

技术专区

关闭