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

📄 slcd12864.h

📁 MAX195的驱动程序,这是最简单和一种接法.16位的AD转换芯片.我的毕业设计时候用的
💻 H
字号:
#ifndef _slcd12864_h
#define _slcd12864_h

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int  


sbit lcd_cs=P1^2; 
sbit lcd_data=P1^1; //串行数据输入端
sbit lcd_clk=P1^0; 

/**************************************************
延时函数
**************************************************/
void delay(uint t)
{
  while(t--);
}
/***********************************
函数:LCD12864的写命令函数
********************************************/
void write_command(uchar command)
{
 uchar i; 	   
 uchar dat; 
 dat=0xf8; 
 lcd_cs=1; 	   
 for(i=0;i<8;i++) 
  { 				  
   lcd_data=(bit)(dat&0x80); 
   lcd_clk=0; //由时序图,上升沿写入12864
   lcd_clk=1; 
   dat=dat<<1; 
  } 

 dat=command;//(3),根据串行传输流程中要求数据和指令传输规则 
 dat&=0xf0; 	   //先传 command_data的高4位
 for(i=0;i<8;i++) 
  { 
  lcd_data=(bit)(dat&0x80); 
  lcd_clk=0; 
  lcd_clk=1; 
  dat=dat<<1; 
  }
 
 dat=command<<4;//(4),传  command_data的低4位
 for(i=0;i<8;i++) 
  { 
   lcd_data=(bit)(dat&0x80); 
   lcd_clk=0; 
   lcd_clk=1; 
   dat=dat<<1; 
  } 
  lcd_cs=0; 	  //(5),CS置为低电平,完成一次指令或数据串行传输
 
}
/****************************************
函数:void write_data(uchar dat)
功能:向LCD写数据
*******************************************/
void write_data(uchar dat)
{
  uchar i; 
  uchar Data; 
  Data=0xfa; //这个地方与   write_command,因为本函数write_data
  lcd_cs=1; 	   //是写数据,位2的RW=0;位1的RS=1;
  for(i=0;i<8;i++) 
   { 
    lcd_data=(bit)(Data&0x80); 
    lcd_clk=0; 
    lcd_clk=1; 
    Data=Data<<1; 
   } 

 Data=dat; 
 Data&=0xf0; 
 for(i=0;i<8;i++) 
 { 
  lcd_data=(bit)(Data&0x80); 
  lcd_clk=0; 
  lcd_clk=1; 
  Data=Data<<1; 
 } 

 Data=dat<<4;
 for(i=0;i<8;i++) 
  { 
   lcd_data=(bit)(Data&0x80); 
   lcd_clk=0; 
   lcd_clk=1; 
   Data=Data<<1; 
  } 
 lcd_cs=0; 
}

/**********************************************
函数:LCD12864的初始化
************************************************/
void lcd_init()
{ 
   write_command(0x30);//选择基本指令集
   delay(10);          
   write_command(0x30);//选择8bit数据流
   delay(5);
   write_command(0x0c);//开显示
   delay(10);
   write_command(0x01);//清除显示,并且设定地址指针为00H
   delay(50);
   write_command(0x06);//指定在资料的读取及写入时,设定游标的移动方向及指定显示的移位
}
#endif

⌨️ 快捷键说明

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