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

📄 12864.c

📁 12864串行接口的驱动程序。。。希望对大家有用
💻 C
字号:
//*
//串行数据传送共分三个字节完成:
//第一字节:串口控制—格式 11111ABC
//          A为数据传送方向控制:H表示数据从LCD到MCU,L表示数据从MCU到LCD
//          B为数据类型选择:H表示数据是显示数据,L表示数据是控制指令
//          C固定为0
//第二字节:(并行)8位数据的高4位—格式 DDDD000
//第三字节:(并行)8位数据的低4位—格式 0000DDD
#include "SPCE061A.h"
//12864串行接口,cs12864--iob13,sid12864--iob14, sclk12864--iob15
#define setbcs12864    *P_IOB_Buffer=*P_IOB_Buffer|0x2000
#define clrcs12864     *P_IOB_Buffer=*P_IOB_Buffer&0xdfff
#define setbsid12864   *P_IOB_Buffer=*P_IOB_Buffer|0x4000
#define clrsid12864    *P_IOB_Buffer=*P_IOB_Buffer&0xbfff
#define setbsclk12864  *P_IOB_Buffer=*P_IOB_Buffer|0x8000
#define clrsclk12864   *P_IOB_Buffer=*P_IOB_Buffer&0x7fff
#define uchar unsigned char
#define uint  unsigned int

extern void delay(unsigned int i);

/**********************************************************
;子程序名:bit_send
;功    能:串行写入8位数据给中文液晶
;说    明:
;调    用:
;入口参数:uchar
;出口参数:无
;影响资源: 
;设    计:hong               日    期:2006-11-2
;修    改:hong              日    期:2006-11-2 
;**********************************************************/
void bit_send(uchar dat)
{ 
 uchar i;
 for(i=0;i<8;i++)
  {
  
   if((dat<<i)&0x80)
     setbsid12864;
   else
   clrsid12864;
   delay(1000);
   setbsclk12864;
   delay(3000);
   clrsclk12864;
  }
}
/**********************************************************
;子程序名:SEND_I
;功    能:发送指令给中文英文液晶
;说    明:
;调    用:BIT_SEND
;入口参数:uchar
;出口参数:无
;影响资源: 
;设    计:hong               日    期:2006-11-2
;修    改:hong               日    期:2006-11-2  
;**********************************************************/
void send_i(uchar cmd)
{
 clrcs12864;
 delay(60000);
 setbcs12864;
 delay(1000);
 bit_send(0xf8);
 bit_send(cmd&0xf0);
 bit_send((cmd&0x0f)<<4);
 //clrcs12864;
}
/**********************************************************
;子程序名:SEND_D
;功    能:发送数据给12864液晶
;说    明:
;调    用:BIT_SEND
;入口参数:uchar
;出口参数:无
;影响资源: 
;设    计:hong               日    期:2006-11-2
;修    改:hong               日    期:2006-11-2 
;**********************************************************/
void send_d(uchar dat)
{
 clrcs12864;
 delay(60000); 
 setbcs12864;
 delay(1000);
 bit_send(0xfa);
 bit_send(dat&0xf0);
 bit_send((dat&0x0f)<<4);
 //clrcs12864;
}
/**********************************************************
;子程序名:font
;功    能:显示一行字或字符程序
;说    明:X:从第几个字开始显示(1~8);

⌨️ 快捷键说明

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