⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hd44780.txt

📁 是MSP430与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 + -