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

实验名称:12864LCD实验一

实验目的:在12864第一行显示"今天的日期是",第二行

显示"2015年",第三行显示"1月30日",第四行

显示"星期五"

实验备注:

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

#include<reg52.h>

#define uchar unsigned char

#define uint unsigned int

sbit DUAN = P2^6;

sbit WEI = P2^7;

sbit LCDEN = P3^4;

sbit LCDRS = P3^5;

sbit LCDRW = P3^6;

sbit LCDPSB = P3^7;

uchar code line_0[]=

"今天的日期是";

uchar code line_1[]=

"2015年";

uchar code line_2[]=

"01月30日";

uchar code line_3[]=

"星期五";

void delay_1ms(uchar);

void lcd_init();

void lcd_pos(uchar, uchar);

void lcd_com(uchar);

void lcd_dat(uchar);

void main()

{

uchar i;

lcd_init();

lcd_pos(0,0);

for(i = 0; line_0[i] != '\0'; i++)

{

lcd_dat(line_0[i]);

}

lcd_pos(1,0);

for(i = 0; line_1[i] != '\0'; i++)

{

lcd_dat(line_1[i]);

}

lcd_pos(2,0);

for(i = 0; line_2[i] != '\0'; i++)

{

lcd_dat(line_2[i]);

}

lcd_pos(3,0);

for(i = 0; line_3[i] != '\0'; i++)

{

lcd_dat(line_3[i]);

}

while(1);

}

void delay_1ms(uchar x)

{

uchar i, j;

for(i = 0; i < x; i++)

for(j = 0; j < 110; j++);

}

void lcd_init()

{

DUAN = 0;

WEI = 0;

LCDPSB = 1;

LCDRW = 0;

LCDEN = 0;

lcd_com(0x30);

lcd_com(0x0e);

lcd_com(0x02);

lcd_com(0x01);

}

void lcd_pos(uchar i, uchar j)

{

uchar temp;

switch(i)

{

case 0:

temp = 0x80 + j;

break;

case 1:

temp = 0x90 + j;

break;

case 2:

temp = 0x88 + j;

break;

case 3:

temp = 0x98 + j;

}

lcd_com(temp);

}

void lcd_com(uchar x)

{

LCDEN = 0;

LCDRS = 0;

P0 = x;

delay_1ms(5);

LCDEN = 1;

delay_1ms(5);

LCDEN = 0;

}

void lcd_dat(uchar x)

{

LCDEN = 0;

LCDRS = 1;

P0 = x;

delay_1ms(5);

LCDEN = 1;

delay_1ms(5);

LCDEN = 0;

}

转载于:https://blog.51cto.com/elvinsys/1611125

12864液晶显示实验相关推荐

  1. 单片机C语言拉高1位,第二讲 单片机C语言之12864液晶显示

    前面一讲我们焊接了C51的最小系统.这讲里我们将继续焊接上液晶显示相关电路,并分别实现用12864显示一个汉字,字符串,数字,浮点数以及可调节的电子时钟. 概念 点阵式液晶显示模块(LCD)广泛应用于 ...

  2. 51单片机 | LCD12864 液晶显示实验

    文章目录 一.LCD12864 介绍 1.带字库 LCD12864 2.不带字库 LCD12864 二.硬件设计 三.软件设计 1.LCD12864 显示函数 2.主函数 四.实验现象   上一章我们 ...

  3. 第二讲 单片机C语言之12864液晶显示

    前面一讲我们焊接了C51的最小系统.这讲里我们将继续焊接上液晶显示相关电路,并分别实现用12864显示一个汉字,字符串,数字,浮点数以及可调节的电子时钟. 概念 点阵式液晶显示模块(LCD)广泛应用于 ...

  4. 51单片机学习:LCD12864液晶显示实验(带字库)

    实验名称:LCD12864液晶显示实验(带字库) 接线说明:     实验现象:下载程序后,LCD12864上显示汉字字符信息 注意事项:                               ...

  5. 1602实现计算机实验报告,LCD1602液晶显示实验报告

    LCD1602液晶显示实验报告 一.实验目的 (1)了解LCD1602的基本原理,掌握其基本的工作流程. (2)学习用Verilog HDL语言编写LCD1602的控制指令程序,能够在液晶屏 上显示出 ...

  6. C语言LCD1602液晶实验报告,LCD1602液晶显示实验报告.doc

    LCD1602液晶显示实验报告 LCD1602液晶显示实验报告 实验目的 (1)了解LCD1602的基本原理,掌握其基本的工作流程. 学习用Verilog HDL语言编写LCD1602的控制指令程序, ...

  7. 51单片机学习:LCD1602液晶显示实验

    实验名称:LCD1602液晶显示实验 接线说明:     实验现象:下载程序后,LCD1602上显示字符信息 注意事项:                                         ...

  8. 数字钟显示时间日期温度C语言程序,Ds3231+12864液晶显示AT89C51带温度功能的时钟程序...

    Ds3231+12864液晶显示AT89C51带温度功能的时钟程序. #include #include #include #define uchar unsigned char #define ui ...

  9. 如何用12864液晶显示图片和绘制任意函数图象(打点)

    一. 显示图片 显示图片的要点在于:1.取模 2.利用扩展指令设置液晶3.清楚液晶地址的概念 1.1取模 取模软件用的是"字模221"下图是他的参数设置 这里对参数设置先解释一下, ...

最新文章

  1. sublime Text3快捷键使用大全
  2. Spring boot的第一个demo
  3. react使用引入svg的icon;svg图形制作
  4. 【theano-windows】学习笔记二——theano中的函数和共享参数
  5. 算法 笔试的时候 如何输入元素?
  6. EntityFramework进阶——Entity Splitting和Table Splitting
  7. Java学习之路-RMI学习
  8. 文件存储demo,直接存储内容到本地中。
  9. Kotlin 势必取代 Java?
  10. 实验楼Python项目
  11. asp.net搜索关键词高亮显示函数
  12. 用java实现九九乘法表的打印
  13. 开源的视频编解码器介绍
  14. HTML---基础篇
  15. matlab百分号是什么意思,matlab 两个百分号
  16. 股票涨或跌为什么?看懂本质,才能顺势而为!
  17. 微软Windows11,官方更新助手(下载地址)
  18. python中的slice用法
  19. 【Python机器学习】聚类算法任务,评价指标SC、DBI、ZQ等系数详解和实战演示(附源码 图文解释)
  20. VCC、VDD、VSS、GND区别

热门文章

  1. labview将产生数据存入数组 并保存成Excel
  2. python的循环控制语句有_关于Python中的for循环控制语句
  3. 计算同比 环比_PowerBI学习教程(三)时间累积同比环比计算
  4. java comp env 区别_加和不加java:comp/env/前缀有什么区别?
  5. 华为交换机ACL配置
  6. NIO详解(九):Channel详解
  7. win7html文件,教你win7浏览器打不开本地html文件格式的解决方法
  8. vue根据索引删除数组中的一个对象_Vue实现动态添加或者删除对象和对象数组的操作方法...
  9. 我的爱好html子页模板,我的爱好
  10. poj3264 线段树