51单片机-LCD12864液晶屏
lcd12864液晶屏,有点复杂,只有基本的显示。
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned charsbit LCD12864_READ = P0^7;
sbit LCD12864_RS = P3^5;
sbit LCD12864_RW = P3^6;
sbit LCD12864_EN = P3^4;
sbit LCD12864_RD = P3^7;//
void Delay_Ms(uchar z)
{uchar x,y;for(x=z;x>0;x--)for(y=120;y>0;y--);
}
/*******************LCD12864LCD检查忙*********************/
void LCD12864_busy()
{ LCD12864_RS = 0;LCD12864_RW = 1;LCD12864_EN = 1;Delay_Ms(1);P0 = 0xff;while(1){LCD12864_EN = 1;if(LCD12864_READ == 0) break;}LCD12864_EN = 0;
}
/*******LCD12864WriteCommand要写入的命令********************/
void LCD12864_Write_Cmd(unsigned char Cmd)
{ LCD12864_busy();LCD12864_RS = 0;LCD12864_RW = 0;LCD12864_EN = 0;Delay_Ms(1);P0 = Cmd;Delay_Ms(1);LCD12864_EN = 1;Delay_Ms(1);LCD12864_EN = 0;
}/**************LCD12864WriteByte要写入的字节*************/
void LCD12864_Write_Date(unsigned char date)
{LCD12864_busy();LCD12864_RS = 1; LCD12864_RW = 0;LCD12864_EN = 0;P0 = date;Delay_Ms(1);LCD12864_EN = 1;Delay_Ms(1);LCD12864_EN = 0;
}
// *******************
void LCD12864_init()
{LCD12864_RD = 1; //并口方式 LCD12864_Write_Cmd(0x34); //扩充指令操作LCD12864_Write_Cmd(0x30); //基本指令操作LCD12864_Write_Cmd(0x0C); //显示开,关光标LCD12864_Write_Cmd(0x01); //清除LCD的显示内容
}
//
void gotoxy(uchar x,uchar y)
{if(x==1) {LCD12864_Write_Cmd(0x80+y-1);}else if(x==2) {LCD12864_Write_Cmd(0x90+y-1);}else if(x==3) {LCD12864_Write_Cmd(0x88+y-1);}else if(x==4) {LCD12864_Write_Cmd(0x98+y-1);}
}
//
void LCD_write_zifu(uchar *p)
{while(*p!=0){LCD12864_Write_Date(*p);p++;}
}
/*****主程序*****************************/
void main()
{LCD12864_init();gotoxy(1,1);LCD_write_zifu("LCD 液晶,带字库");gotoxy(2,1);LCD_write_zifu("LCD 液晶,带字库");gotoxy(3,1);LCD_write_zifu("LCD 液晶,带字库");gotoxy(4,1);LCD_write_zifu("LCD 液晶,带字库");while(1);
}
个人见解,感谢阅读。
51单片机-LCD12864液晶屏相关推荐
- 电子时钟万年历+51单片机+1602液晶屏+DS1302+DS18B20+按键
电子时钟万年历+51单片机+1602液晶屏+DS1302+DS18B20+按键 这次课程设计要完成的是制作一个基于51单片机的电子时钟的万年历(protues仿真),需要用到1602液晶屏+DS130 ...
- 51单片机LCD1602液晶屏显示字符,字符串,(有)无符号整数,十六进制数,二进制数等
1.前言 LCD1602液晶显示器是广泛使用的一种字符型液晶显示模块.液晶显示模块具有体积小.功耗低.显示内容丰富.超薄轻巧等优点,在嵌入式应用系统中得到越来越广泛的应用,这讲中向大家介绍的LCD16 ...
- c语言52单片机液晶屏显示,[手把手教你学51单片机C语言教程]22 LCD12864液晶屏显示.pdf...
您所在位置:网站首页 > 海量文档  > 计算机 > C/C++资料 [手把手教你学51单片机C语言教程]22 LCD ...
- 51单片机 | LCD12864 液晶显示实验
文章目录 一.LCD12864 介绍 1.带字库 LCD12864 2.不带字库 LCD12864 二.硬件设计 三.软件设计 1.LCD12864 显示函数 2.主函数 四.实验现象 上一章我们 ...
- Arduino UNO通过SPI串行方式驱动LCD12864液晶屏
LCD12864液晶屏简介 LCD12864带中文字库图形点阵式液晶显示器,可配合各种单片机可完成中文汉字.英文字符和图形显示,可构成全中文人机交互图形界面,模块具有功耗低.显示内容丰富等特点而应用广 ...
- 带中文字库的240128的c语言程序,51单片机-240128液晶程序与调试
原标题:51单片机-240128液晶程序与调试 今天终于把金鹏OCMJ8X15D-2液晶(240128点阵带字库无触屏液晶)调好了. 这块液晶能显示8行15个汉字,还有放大字形,从16*16点放大到3 ...
- 51单片机+LCD12864的万年历Proteus仿真
51单片机+LCD12864的万年历Proteus仿真 Proteus仿真效果 按键说明:递增按键的范围是根据设置的属性变化而变化,如果是年就是0-99,超出范围归0,如果是月份就是0-12超出范围归 ...
- 物联网开发笔记(84)- 使用Micropython开发ESP32开发板之控制LCD12864液晶屏和AHT10温度传感器
一.目的 这一节我们学习如何使用我们的ESP32开发板来学习LCD12864液晶屏和AHT10温度传感器的操作. 二.环境 ESP32 + Thonny + LCD12864液晶屏 + AHT10温 ...
- 51单片机+LCD12864驱动显示汉字模板+Proteus仿真
51单片机+LCD12864驱动显示汉字模板+Proteus仿真 Proteus仿真效果 汉字显示方法 汉字通过取模软件取模. 取模软件:pctolcd2002 取模方式: 工程文件架构 主程序代码 ...
最新文章
- 时间立即同步命令_Redis复制:主从同步
- [Usaco2010 Mar]gather 奶牛大集会
- 深入浅出网络编程与Swoole内核
- C#利用反射实现动态加载程序集简单案例
- mysql 错误编码_【分享】MySQl操作系统提示错误编码
- 推荐一门免费提升开发效率的课程,非广告。
- JavaScript学习(八十一)—将多维数组转化为一维数组
- IPD+CMMI企业产品开发系统性解决方案
- PDF手型工具 有一个小箭头
- 花匠(NOIP2013)(神奇纯模拟)
- android84 广播接受者
- vue-router自动判断左右翻页转场动画
- idea java EclipseFormatter代码格式化模板
- android e.printStackTrace()异常处理
- 将一个自然数拆分为N个自然数
- r语言 柱状图加星号_如何用R画分组柱状图并且添加标准差和显著性标记(星号)?...
- [web]开复老师在线谈中国青年的成长 - by http://bbs.kaifulee.com/
- wamp环境手工搭建详细教程(windows+apache+mysql+php+phpmyad...
- 【备忘】IE开发人员工具修复
- Cisco 3750 三层交换机配置