云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > LCD1602和LCD12864程序-并行与串行

LCD1602和LCD12864程序-并行与串行

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 0:47:49

{

unsigned char temp1;//状态信息(判断是否忙) LCD12864_RS=0; // 记得在包含该头文件前,定义引脚 LCD12864_RW=1; // 记得在包含该头文件前,定义引脚 LCD12864_E=1; //记得在包含该头文件前,定义引脚 do

{temp1 = LCD12864_SJ;//记得在包含该头文件前,定义引脚 LCD12864_SJ=0xFF; }

while(temp1&0x80);

LCD12864_E=0; //记得在包含该头文件前,定义引脚 YS_us(1); // }

/********************写命令**********************/ //写命令子程序 //

/************************************************/ void LCD12864_XZL(unsigned char ml)/*写命令*/ {

LCD12864_PM();

LCD12864_RS=0; //记得在包含该头文件前,定义引脚 LCD12864_RW=0; //记得在包含该头文件前,定义引脚 LCD12864_E=1; //记得在包含该头文件前,定义引脚 LCD12864_SJ=ml;//记得在包含该头文件前,定义引脚 YS_us(0);//稍作延时给LCD反应的时间

LCD12864_E=0; //记得在包含该头文件前,定义引脚

if(ml==0x01|ml==0x02) YS_ms(3);//清屏和地址归位大概需3ms时间处理 YS_us(50);//其他指令大概需50us }

/********************写数据**********************/ //写数据子程序 //

/************************************************/ void LCD12864_XSJ(unsigned char sj) {

LCD12864_PM();

LCD12864_RS=1; //记得在包含该头文件前,定义引脚 LCD12864_RW=0; //记得在包含该头文件前,定义引脚 LCD12864_E=1; //记得在包含该头文件前,定义引脚 LCD12864_SJ=sj;//记得在包含该头文件前,定义引脚 YS_us(0);//稍作延时给LCD反应的时间

LCD12864_E=0; //记得在包含该头文件前,定义引脚 }

/********************初始化**********************/ //复位、通讯方式选择

/************************************************/ void LCD12864_CSH(void) {

P26=1; //通讯方式为并口PSB=1,在设计电路时就把PSB端焊好,节省I/O //LCD12864_XZL(0x34); //34H--扩充指令操作

LCD12864_XZL(0x30); //功能设置,一次送8位数据,基本指令集 LCD12864_XZL(0x0C); //0000,1100 整体显示,游标off,游标位置off LCD12864_XZL(0x01); //0000,0001 清DDRAM LCD12864_XZL(0x02); //0000,0010 DDRAM地址归位

LCD12864_XZL(0x80); //1000,0000 设定DDRAM 7位地址000,0000到地址计数器AC

LCD12864_XZL(0x06); } #endif

LCD12864基础函数—串行

#ifndef __LCD12864_JCK_CX_C__ #define __LCD12864_JCK_CX_C__

/************************************************ ** **

** 六哥LCD12864基础函数库 ** ** 串行 **

**************************************************/

//使用请注意定义引脚

#include\

/*******************串行通信********************* 分别发送三个字节,11111AB0,DDDD0000,SSSS000, A:即表示并行的RW,1为读,0为写 B:即表示并行的RS,1为数据,0为指令 D:即表示并行的高四位数据 S:即表示并行的低四位数据 注:串行要把PSB端为低电平

*************************************************/ void LCD12864_CXTX(unsigned char fs,sj) {

unsigned char i;

LCD12864_E=0;//时钟SCLK LCD12864_RS=1;///CS片选

do ////LCD判忙============= {

for(i=0;i<8;i++) {

YS_us(1);//MCU与LCD速率匹配

if(i<6) LCD12864_RW=1;//读LCD数据,前6位为1;后两位为0 else LCD12864_RW=0;//命令格式11111100B,0xfc YS_us(1);//MCU与LCD速率匹配 LCD12864_E=1;//时钟SCLK YS_us(1);//MCU与LCD速率匹配

搜索更多关于: LCD1602和LCD12864程序-并行与串行 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

{ unsigned char temp1;//状态信息(判断是否忙) LCD12864_RS=0; // 记得在包含该头文件前,定义引脚 LCD12864_RW=1; // 记得在包含该头文件前,定义引脚 LCD12864_E=1; //记得在包含该头文件前,定义引脚 do {temp1 = LCD12864_SJ;//记得在包含该头文件前,定义引脚 LCD12864_SJ=0xFF; } while(temp1&0x80); LCD12864_E=0; //记得在包含该头文件前,定义引脚 YS_us(1); // } /********************写命令**********************/ //写命令子

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com