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

📄 8.23.c

📁 液晶t6963 24064驱动程序
💻 C
字号:
#include<reg51.h>
#include<absacc.h>
#include"ZK.h"
#include<string.h>
#define uchar unsigned char 
#define uint unsigned int 
#define C_ADD XBYTE[0x0100]//指令通道地址
#define D_ADD XBYTE[0x0000]//数据通道地址
#define CR 30//显示区宽度,32字节
//sbit RD=P3^7;
//sbit WR=P3^6;
void delay(int i){
  while(i--);
  }

/*-----------------------------------------------------------------------------------------
**函数名:ReadStateWord()
**功能:读取状态字
**参数:void
**返回:uchar 液晶状态字
------------------------------------------------------------------------------------------*/
uchar ReadStateWord(){
    uchar a=0;
    a=C_ADD;
	return a;
}
/*----------------------------------------------------------------------------------------
**函数名:Test_S1_S0()
**功能:判断状态位S1,S0(读写指令与读写数据状态)
**参数:void
**返回:bit  0:忙,1:准备好
------------------------------------------------------------------------------------------*/
bit Test_S1_S0(void){
   if((ReadStateWord()&0x03)==0x03)
      return 1;
   else 
      return 0;
}
/*----------------------------------------------------------------------------------------
**函数名:Test_S2()
**功能:判断状态位S2(数据自动读状态)
**参数:void
**返回:bit  0:忙,1:准备好
------------------------------------------------------------------------------------------*/
bit Test_S2(void){
   if((ReadStateWord()&0x04)==0x04)
      return 1;
   else 
      return 0;
}
/*----------------------------------------------------------------------------------------
**函数名:Test_S3()
**功能:判断状态位S3(数据自动写状态)
**参数:void
**返回:bit  0:忙,1:准备好
------------------------------------------------------------------------------------------*/
bit Test_S3(void){
   if((ReadStateWord()&0x08)==0x08)
      return 1;
   else 
      return 0;
}
/*----------------------------------------------------------------------------------------
**函数名:Test_S6()
**功能:判断状态位S6(屏读/拷屏状态)
**参数:void
**返回:bit  0:正确,1:出错
------------------------------------------------------------------------------------------*/
bit Test_S6(void){
   if((ReadStateWord()&0x40)==0x40)
      return 1;
   else 
      return 0;
}
/*----------------------------------------------------------------------------------------
**函数名:WriteCommand_0()
**功能:写入无参数指令
**参数:comm 写入的指令数据
**返回:void 
------------------------------------------------------------------------------------------*/
void  WriteCommand_0(uchar comm){
     while(Test_S1_S0()==0);
	 C_ADD=comm;//????????????????  
}
/*----------------------------------------------------------------------------------------
**函数名:WriteData()
**功能:写入数据
**参数:dat写入的指令数据
**返回:void 
------------------------------------------------------------------------------------------*/
void WriteData(uchar dat){
     while(Test_S1_S0()==0);
	  D_ADD=dat;//????????????????  
}
/*----------------------------------------------------------------------------------------
**函数名:AutoWriteData()
**功能:写入数据
**参数:dat写入的指令数据
**返回:void 
------------------------------------------------------------------------------------------*/
void AutoWriteData(uchar dat){
     while(Test_S3()==0);
	  D_ADD=dat;//????????????????  
}

/*----------------------------------------------------------------------------------------
**函数名:WriteCommand_1()
**功能:写入单字节参数指令
**参数:uchar data1 参数 uchar comm 指令数据 
**返回:void 
------------------------------------------------------------------------------------------*/
void WriteCommand_1(uchar data1,uchar comm){
   while(Test_S1_S0()==0);
   D_ADD=data1;
   while(Test_S1_S0()==0);
   C_ADD=comm;//???????????
}
/*----------------------------------------------------------------------------------------
**函数名:WriteCommand_2()
**功能:写入双字节参数指令
**参数:uchar data1 参数1;uchar data2 参数2;uchar comm 指令数据
**返回

⌨️ 快捷键说明

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