具体这个程序怎样更改呢?比喻这个程序最后显示 lcm_w_word("您好!"); 把您好 显示取反
#ifndef __LCD12864_H__
#define __LCD12864_H__
#include "zk.h"
#include <delay.h>
#define uchar unsigned char
#define uint unsigned int
/*-----------------------------定义12864液晶屏数据线---------------------------------*/
sbit LCM_RS = P5^0; //模式位,为0输入指令,为1输入数据
sbit LCM_RW = P5^1; //读写位,为0读,为1写
sbit LCM_EN = P5^2; //使能位,高脉冲
sbit LCD12864_PSB_PORT = P5^4;
#define Lcd_Bus P4 //LCM12864数据总线,P0.0--P0.7对应连接DB0--DB7
/*------------------------------------------------------------------------------------*/
/*12864液晶显示屏并口驱动程序--------------------------------------------------------*/
//检查忙位
void chk_busy()
{
LCM_RS=0; LCM_RW=1; LCM_EN=1;
Lcd_Bus=0xff;
while(Lcd_Bus&0x80);
LCM_EN=0;
}
/*写指令到LCD------------------------------------------------------------------------*/
void write_com(uchar cmdcode)
{
chk_busy();
LCM_RS=0; LCM_RW=0; LCM_EN=1;
Lcd_Bus=cmdcode;
DelayUs2x(5);
LCM_EN=0;
DelayUs2x(5);
}
/*写数据到LCD------------------------------------------------------------------------*/
void write_data(uchar Dispdata)
{
chk_busy();
LCM_RS=1; LCM_RW=0; LCM_EN=1;
Lcd_Bus=Dispdata;
DelayUs2x(5);
LCM_EN=0;
DelayUs2x(5);
}
/*向LCM发送一个字符串,长度64字符之内-------------------------------------------------*/
void lcm_w_word(uchar *s)
{
while(*s>0) { write_data(*s); s++; } //应用:lcm_w_word("您好!");
} |