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

📄 nokia_5110.h

📁 NOKIA5110液晶屏的MSP430驱动程序
💻 H
字号:
#ifndef __NOKIA_5110_H__
#define __NOKIA_5110_H__

#include "msp430x24x.h"
// pin 2	 header	5
#define SDIN_H    P5OUT|=BIT4		// header	4
#define SDIN_L    P5OUT&=~BIT4	        //header        5
#define SCLK_H    P5OUT|=BIT5
#define SCLK_L    P5OUT&=~BIT5
#define LCD_DC_H    P5OUT|=BIT3 	//  	 header	3
#define LCD_DC_L    P5OUT&=~BIT3
#define LCD_CE_H    P5OUT|=BIT2	//                header	2
#define LCD_CE_L    P5OUT&=~BIT2	
#define LCD_RST_H     P5OUT|=BIT1// 	 header	1
#define LCD_RST_L     P5OUT&=~BIT1

void NOKIA5110_delay(void)                 //延时函数
  {
   unsigned int i;				   
   for(i=0;i<670;i++);
   }

/*-----------------------------------------------------------------------
NOKIA5110_w_byte  : 使用SPI接口写数据到LCD
输入参数:data    :写入的数据;
          command :写数据/命令选择;
-----------------------------------------------------------------------*/
void NOKIA5110_w_byte(unsigned char dat, unsigned char command)
  {
    unsigned char i;
    LCD_CE_L;
       if (command == 0)
     	LCD_DC_L ;     // 传送命令
    else
     	LCD_DC_H;	    // 传送数据
     								   
		for(i=0;i<8;i++)
		{
			if(dat&0x80)
				SDIN_H;
			else
				SDIN_L;
			SCLK_L;
			dat = dat << 1;
			SCLK_H;
		}
     LCD_CE_H;
  }
/*-----------------------------------------------------------------------
NOKIA5110_clear  : LCD清屏函数
-----------------------------------------------------------------------*/
void NOKIA5110_clear(void)
  {
    unsigned int i;
    NOKIA5110_w_byte(0x0c, 0);			
    NOKIA5110_w_byte(0x80, 0);			
	for (i=0; i<336; i++)
    NOKIA5110_w_byte(0, 1);			
  }

/****************************************************
NOKIA5110_init: LCD 初始化
*****************************************************/
void NOKIA5110_init(void)
  {
            // 产生一个让LCD复位的低电平脉冲
   LCD_RST_L;
   NOKIA5110_delay();
   LCD_RST_H;
   // 关闭LCD			  
   LCD_CE_L;
   NOKIA5110_delay();
	// 使能LCD
   LCD_CE_H;
   NOKIA5110_delay();

    NOKIA5110_w_byte(0x21, 0);	// 使用扩展命令设置LCD模式
    NOKIA5110_w_byte(0xc8, 0);	// 设置偏置电压
    NOKIA5110_w_byte(0x06, 0);	// 温度校正
    NOKIA5110_w_byte(0x13, 0);	// 1:48
    NOKIA5110_w_byte(0x20, 0);	// 使用基本命令
    NOKIA5110_clear();	            // 清屏
    NOKIA5110_w_byte(0x0c, 0);	// 设定显示模式,正常显示
    LCD_CE_L;	                // 关闭LCD
  }


/*-----------------------------------------------------------------------
NOKIA5110_set_XY : 设置LCD坐标函数
输入参数:X:0-83
          Y:0-5
-----------------------------------------------------------------------*/
void NOKIA5110_set_XY(unsigned char X, unsigned char Y)
  {
    NOKIA5110_w_byte(0x40 | Y, 0);        // 列(竖) 
    NOKIA5110_w_byte(0x80 | X, 0);        // 行(横)
  }

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -