lcd.c

来自「12864液晶显示」· C语言 代码 · 共 113 行

C
113
字号
/********************************************************************
/********************************************************************
/*
/*		  ST7565 
/*		  128 X 64
/*
********************************************************************/

#include <FS7805Reg.h>
#include "lcd.h"

void delay_us(unsigned char t)
{ 
  unsigned char i;
  for(; t>0; t--)
  {	
    for (i=0; i<10; i++);
  } 
}

void delay(unsigned int t)
{ 
  for(; t>0; t--)
  {
	unsigned int i;
    for (i=0; i<1000; i++);
  } 
}

void send_data(unsigned char temp)	
{
  unsigned char i;
  for(i=0; i<8; i++)
  {
    LCD_SCL_L();
	if(temp&0x80) LCD_SDA_H();
	else LCD_SDA_L();
	delay_us(10);	//延时 	 
	LCD_SCL_H();
	temp <<= 1;	 
  }
}

void write_command(unsigned char cmd)
{
  LCD_CS_L();		//Chip Select   
  delay_us(10);
  LCD_RS_L();		//Command Regsiter
  delay_us(10);	
  send_data(cmd);	//Transfer Command Data
}

void  write_data(unsigned char dat)
{
  LCD_CS_L();		//Chip Select
  delay_us(10);
  LCD_RS_H();		//Data Regsiter
  delay_us(10);
  send_data(dat);	//Transfer Display Data		
}

void init_lcd(void)
{
  PDCTL = ((1<<P1D_CTL)|(1<<P5D_CTL));
  P1OE |= ((1<<LCD_SDA)|(1<<LCD_SCL)|(1<<LCD_CS)|(1<<LCD_RST));
  P5OE |= (1<<LCD_CS);
  SYSIO_CFG |= (1<<bmEX_INT_EN);
  
  LCD_CS_L();
  delay(10);
  LCD_RST_L();		
  delay(100);
  LCD_RST_H();	
  delay(10);

  write_command(0xe2);
  delay(10);
  write_command(0xa2);
  write_command(0xa0);
  write_command(0xc8);
  write_command(0x24);
  write_command(0x81);
  write_command(0x19);
  write_command(0x2f);
  delay(10);
  write_command(0xaf);
  delay(20);
}

void init_address(unsigned char addr, unsigned char msb, unsigned char lsb)
{	
  write_command(addr);
  write_command(msb);
  write_command(lsb);
}

void display_test(void)
{
  unsigned char addr=0xb0, msb=0x10, lsb=0x00;
  unsigned page, k;
  for(page=0; page<8; page++)
  {
    init_address(addr, msb, lsb);
    for(k=0; k<66; k--)
    {
	  write_data(0xff);
	  write_data(0xff);
    }
	addr++;
  }
}

⌨️ 快捷键说明

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