📄 hd44780.txt
字号:
#include "msp430x22x4.h"
#define OUT3 P3DIR|=0Xff;
#define IN3 P3DIR&=0X00;
#define RS P1DIR|=0x01
#define RSH P1OUT&=0xfe
#define RSL P1OUT|=0x01
#define RW P1DIR|=0x08
#define RWH P1OUT&=0xf7
#define RWL P1OUT|=0x08
#define E P1DIR|=0x04
#define EH P1OUT&=0xfb
#define EL P1OUT|=0x04
#define LCM_CLS 01H
#define CURSOR_HOME 02H
#define CURSOR_SR 14H
#define CURSOR_SL 10H
#define INCDD_CG_SHF_C 06H
#define TURN_ON_DISP 0FH
#define LCD_ON_CSR_OFF 0CH
unsigned char d[10];
unsigned char busy(int);
void w_dat(unsigned char);
void w_com(unsigned int);
void HD44780_init(void);
void disp(unsigned char);
void delay(unsigned int );
unsigned int shuju,j;
void delay(unsigned int t)
{
unsigned int i;
for(i=0;i<=t;i++);
}
void long_delay(unsigned char n)
{
unsigned char m;
for(m=0;m<n;m++)
delay(250);
}
void busy()
{
//RS;
P3OUT=0x00;
RSL;
_NOP();
_NOP();
RWH;
_NOP();
_NOP();
_NOP();
_NOP();
EH;
_NOP();
IN3;
_NOP();
_NOP();
_NOP();
_NOP();
while(P3IN||0x7f) break;
_NOP();
_NOP();
_NOP();
_NOP();
EL;
}
void w_dat(unsigned char dat)
{int zcb ;
zcb=dat;
zcb=~zcb;
busy( );
_NOP();
_NOP();
RSH;
_NOP();
_NOP();
RWL;
_NOP();
_NOP();
OUT3;
P3OUT = zcb;
_NOP();
_NOP();
_NOP();
EH;
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
EL;
_NOP();
_NOP();
}
void w_com(unsigned int com)
{int zcb ;
zcb=com;
zcb=~zcb;
busy( );
_NOP();
_NOP();
RSL;
_NOP();
_NOP();
RWL;
_NOP();
_NOP();
OUT3;
P3OUT = zcb;
_NOP();
_NOP();
_NOP();
EH;
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
EL;
_NOP();
_NOP();
}
void HD44780_init(void)
{
RS;
RW;
E;
OUT3;
P3OUT=0x00;
w_com(0x30);
_NOP();
_NOP();
w_com(0x30);
_NOP();
_NOP();
w_com(0x30);
long_delay(200);
w_com(0x38);
_NOP();
_NOP();
w_com(0x01);
_NOP();
_NOP();
w_com(0x06);
_NOP();
_NOP();
w_com(0x0f);
_NOP();
_NOP();
}
void disp( )//unsigned char data_num)
{
unsigned char j;
w_com(0x06);
_NOP();
_NOP();
_NOP();
w_dat('z');
w_dat('h');
w_dat('a');
w_dat('n');
w_dat('g');
w_dat(' ');
w_dat('c');
w_dat('h');
w_dat('e');
w_dat('n');
w_dat('g');
w_dat(' ');
w_dat('b');
w_dat('i');
w_dat('n');
}
main( )
{
WDTCTL=WDTPW+WDTHOLD;
BCSCTL1 =CALBC1_1MHZ;
DCOCTL =CALBC1_1MHZ;
HD44780_init( );
// d[0]=0x31;
// disp(1);
w_com(0x80);
long_delay(10);
disp( );
w_com(0xc0);
long_delay(10);
disp( );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -