具體這個程序怎樣更改呢?比喻這個程序最后顯示 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("您好!");
} |