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

📄 ks0108.txt

📁 12864系列KS0108(S6B0108)函数库
💻 TXT
字号:
C51编程:12864系列KS0108(S6B0108)函数库 [arin] 2005-3-23 22:07:07
12864系列KS0108(S6B0108)函数库:
仅供大家参考,请不要用于商业目的。
本资料来源于"液晶论坛",网址:http://bbs.lcd-module.com.cn
//================================================================
// 3X.H
// AM12864-30X,31X,32X 系列KS0108函数库
// 适用液晶型号系列 AM12864-30,31,32
// 控制芯片:  KS0107,KS0108
// C51编译器  Keil 7.08
//================================================================
// 作者:ARIN
// 部门:安的利公司开发部
// Copyright 2004-2006 ANDORIN OptoElec Tech INC.
// All rights reserved.
//================================================================

#ifndef __3X_H__
#define __3X_H__

//================================================================
//  液晶接口定义
//================================================================

#define Lcd_Bus  P0

#define _CSA  P1^4
#define _CSB  P1^5
#define _RS  P3^0
#define _E  P3^7
#define _RW  P3^6
#define _Lcd_Rst P3^1

sbit CSA = _CSA;
sbit CSB = _CSB;
sbit RS  = _RS;
sbit E  = _E;
sbit RW  = _RW;
sbit Lcd_Rst = _Lcd_Rst;


//================================================================
//  KS0108指令代码定义
//================================================================
#define  Set_Disp_On 0x3F
#define  Set_Disp_Off 0x3E
#define  Set_Column  0x40
#define  Set_Page  0xB8
#define  Set_Start_Line 0xC0


//================================================================
//  延时子程序
//================================================================
Delay(int t)
{
 while(--t);
}


//================================================================
//  长延时子程序
//================================================================
void Long_Delay(int t)
{
int n=0xff;
 while(--t){
  while(--n);
  n=0xff;
 }
}


//================================================================
//  KS0108寄存器写入函数
//================================================================
Write_0108_Reg(unsigned char Reg_Code)
{
 RS=0;
 RW=0;
 Lcd_Bus=Reg_Code;
 E=1;
 E=0;
}

//================================================================
//  KS0108显示数据写入函数
//================================================================
Write_0108_Data(unsigned char Disp_Data)
{
 RS=1;
 RW=0;
 Lcd_Bus=Disp_Data;
 E=1;
 E=0;
}

//================================================================
//  读取KS0108显示数据函数
//================================================================
unsigned char Read_0108_Data()
{
unsigned char Disp_Data;

 RS=1;
 RW=1;
 Lcd_Bus=0xff;
 E=1;
 Disp_Data=Lcd_Bus;
 E=0;
 return Disp_Data;
}

//================================================================
//  设置地址,X方向以点为单位,Y方向以page为单位
//================================================================
Set_XY(unsigned char X_Column, unsigned char Y_Page)
{
Write_0108_Reg(Set_Page+Y_Page);
Write_0108_Reg(Set_Column+X_Column);
}


//================================================================
//  KS0108寄存器初始化函数
//================================================================
Init_0108()
{ 
Lcd_Rst=0;
Delay(100);
Lcd_Rst=1;
Delay(100);
CSA=1;
CSB=1;
Delay(100);
Write_0108_Reg(Set_Disp_Off);
Write_0108_Reg(Set_Start_Line);
Write_0108_Reg(Set_Page);
Write_0108_Reg(Set_Column);
Write_0108_Reg(Set_Disp_On);
}


//================================================================
//  清除KS0108显示存储器
//================================================================
Clr_Screen()
{ 
unsigned char j,k;

CSA=1;
CSB=1;
 for(k=0;k<8;k++){
  Write_0108_Reg(Set_Page+k);
  Write_0108_Reg(Set_Column);
  for(j=0;j<64;j++) Write_0108_Data(0x00);
 }
}

#endif


⌨️ 快捷键说明

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