标题:
1602LCD芯片液晶反显程序
[打印本页]
作者:
bdxw0001
时间:
2010-6-24 20:39
标题:
1602LCD芯片液晶反显程序
/*1602LCD演示程序*/ /*
单片机
型号
IP-J54-CX
:
AT89S51
*/
MC68HC705C8S
/*晶振:
11.0592MHZ
*/
/*编译环境:Keil 7.50A*/
/****包含头文件*****/
#include <
NFC20-48S05
;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"};
/********************
函数功能
CD延时子程序
入口参数:ms
出口参数:
********************/
void delay(unsigned char ms)
{
unsigned char i;
while(ms--)
{
for(i = 0; i<250; 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;
}
/**********************
函数功能
CD初始化子程序
入口参数:
出口参数:
***********************/
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
IC采购
delay(10);
lcd_pos(0x0E);//设置显示位置
i = 0;
while(dis1
!= '\0')
{
lcd_wdat(dis1
);//显示字符
i++;
}
lcd_pos(0x4E);// 设置显示位置
i = 0;
while(dis2
!= '\0')
{
lcd_wdat(dis2
);// 显示字符
i++;
}
while(1);
}
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0