?? lcd.c
字號:
#include "lcd.h"
#define WRITE(){\
_NOP();\
P4OUT&=~BIT4;\
P5OUT&=~BIT1;\
_NOP();\
_NOP();\
P4OUT|=BIT4;\
P5OUT|=BIT1;\
_NOP();\
}
void Lcd_InitCommand(unsigned char command_code){
unsigned int i;
P4OUT|=BIT4+BIT3+BIT6;
P5OUT|=BIT1;
_NOP();
_NOP();
P4OUT&=~BIT6;// /CS=0
WRITE();//D=1
P4OUT&=~BIT3;//D=0
WRITE();
WRITE();//D=0
_NOP();
i=8;
for(i=8;i>0;i--){
if((command_code&0x80)!=0){
P4OUT|=BIT3;//D=1(100)
WRITE();
}
else{
P4OUT&=~BIT3;//D=0
WRITE();
}
command_code=command_code<<1;
}
P4OUT&=~BIT3;//D=0
WRITE();
}
/*寫數據地址*/
void write_ram_addr_data(unsigned char address,unsigned char data){
unsigned int i;
P4OUT|=BIT6;// /CS=1
_NOP();
P4OUT&=~BIT6;// /CS=0
_NOP();
P4OUT|=BIT4;// /WR=1
P5OUT|=BIT1;
_NOP();
P4OUT|=BIT3;//D=1(1010)
WRITE();
P4OUT&=~BIT3;//D=0
WRITE();
P4OUT|=BIT3;//D=1
WRITE();
P4OUT&=~BIT3;//D=0
WRITE();
for(i=5;i>0;i--){
if((address&0x80)!=0){
P4OUT|=BIT3;//D=1(100)
WRITE();
}
else{
P4OUT&=~BIT3;//D=0
WRITE();
}
address=address<<1;
}
for(i=4;i>0;i--){
if((data&0x01)!=0){
P4OUT|=BIT3;//D=1(100)
WRITE();
}
else{
P4OUT&=~BIT3;//D=0
WRITE();
}
data=data>>1;
}
}
/*顯示閥位程序*/
void display_valve(void){
int i,aaaa;
for(i=1;i<4;i++){
aaaa=LCD[i];
if(aaaa<80){
write_ram_addr_data(16*i,distab[LCD[i]*2]);
write_ram_addr_data(16*i+8,distab[LCD[i]*2+1]);
}
else{
LCD[i]-=80;
write_ram_addr_data(16*i,distab[LCD[i]*2]+8);
write_ram_addr_data(16*i+8,distab[LCD[i]*2+1]);
}
}
}
/*顯示組態模式程序*/
void display_mode(void){
unsigned int i=0,aaaa;
aaaa=LCD[i];
if(aaaa<80){
write_ram_addr_data(16*i,distab[LCD[i]*2]);
write_ram_addr_data(16*i+8,distab[LCD[i]*2+1]);
}
else{
LCD[i]-=80;
write_ram_addr_data(16*i,distab[LCD[i]*2]+8);
write_ram_addr_data(16*i+8,distab[LCD[i]*2+1]);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -