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

📄 lcd_5110.h

📁 MSP430 32329674038 qq com
💻 H
字号:
#ifndef __NOKIA_5110_H__
#define __NOKIA_5110_H__
#define SET_SCLK      P2OUT|=BIT4;		
#define CLR_SCLK      P2OUT&=~BIT4;
#define SET_SDIN      P2OUT|=BIT3;		
#define CLR_SDIN      P2OUT&=~BIT3;
#define SET_LCD_DC    P2OUT|=BIT2;	
#define CLR_LCD_DC    P2OUT&=~BIT2;		
#define SET_LCD_CE    P2OUT|=BIT1;
#define CLR_LCD_CE    P2OUT&=~BIT1;		
#define SET_LCD_RST   P2OUT|=BIT0;		
#define CLR_LCD_RST   P2OUT&=~BIT0;	
#define LCD_IN_USE 20
#define RADIX_POINT 0x08
/******************************************************
   数据定义                                        
*****************************************************/
unsigned char lcd_Buf[LCD_IN_USE][24];             // 自定义显示缓冲区,用于                                              // 外部设定要显示的数据 
unsigned char xindian_Buf[84]={0};                    // 定义测量心电结果暂存缓存,以便显示调用
unsigned char tu_Buf[3024]={0};

void zhuanhuan(unsigned  int xindianresult)       //心电转换函数
{ 
  int a,i;
  a=(int)((xindianresult*48)/25000);
  for(i=0;i<83;i++)
     {
      xindian_Buf[83-i]=xindian_Buf[82-i];
     }
   xindian_Buf[0]=a;
}












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

/*-----------------------------------------------------------------------
NOKIA5110_w_byte  : 使用SPI接口写数据到LCD
输入参数:data    :写入的数据;
          command :写数据/命令选择;
-----------------------------------------------------------------------*/
void NOKIA5110_w_byte(unsigned char dat, unsigned char command)
  {
    unsigned char i;
    CLR_LCD_CE;
    
    if (command == 0)     	CLR_LCD_DC;     // 传送命令
    if (command == 1)       	SET_LCD_DC;	    // 传送数据
     
    for(i=0;i<8;i++)
	{	if(dat&0x80)
			SET_SDIN ;
		if(!(dat&0x80)) 
			CLR_SDIN;
		CLR_SCLK;
		dat = dat << 1;
		SET_SCLK ;
	}
     SET_LCD_CE;
  }
/*-----------------------------------------------------------------------
NOKIA5110_clear  : LCD清屏函数
-----------------------------------------------------------------------*/
void NOKIA5110_clear(void)
  {
    unsigned int i;
    NOKIA5110_w_byte(0x0c, 0);			
    NOKIA5110_w_byte(0x80, 0);			
	for (i=0; i<504; i++)
    NOKIA5110_w_byte(0, 1);			
  }

/****************************************************
NOKIA5110_init: LCD 初始化
*****************************************************/
void NOKIA5110_init(void)
  {
            // 产生一个让LCD复位的低电平脉冲
   CLR_LCD_RST;
   NOKIA5110_delay();
   SET_LCD_RST;
   // 关闭LCD			  
   CLR_LCD_CE;
   NOKIA5110_delay();
	// 使能LCD
   SET_LCD_CE;
   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);	// 设定显示模式,正常显示
    CLR_LCD_CE;	                // 关闭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 + -