zoukankan      html  css  js  c++  java
  • 1602液晶显示


    液晶有1,2端为电源。15、16为背光源。为防止直接加5V电压烧坏背光灯,在15脚串接一个10欧的电阻用于限流。

    液晶3端为液晶对照度调节端。通过一个10k欧电位器接地来调节液晶显示的对照度。

    液晶的4端为液晶控制器写数据/读数据选择端,接P3.5口

    液晶5端为读/写选择端。由于我们不从液晶读取不论什么数据,仅仅向其写入命令和数据,因此此端始终选择为写状态。即始终接地。

    液晶 6端为使能信号,是操作时必需的信号,接单片机的P3.4口。


    写 操作时序

    (1)通过RS确定是写数据还是写命令。写命令包含使液晶的光标显示/不显示、光标闪烁/不闪烁、需/不须要移屏、在液晶的什么位置显示,等等

    (2)读/写控制端的设置为写模式。即低电平

    (3)将数据或命令送达数据线上

    (4)给E一个高脉冲将数据送入液晶控制器,完毕写操作


    一下是我写的一个程序

    #include<reg52.h>
    #define uchar unsigned char
    #define uint unsigned int
    uchar code table[]="GOOD GOOD STUDY!";
    uchar code table1[]="DAY DAY UP ^_^!";
    sbit lcden=P3^4;
    sbit rs=P3^5;
    sbit dula=P2^6;
    sbit wela=P2^7;
    uchar num;
    void delay(unsigned char i)
    {
    unsigned char j,k;
    for(j=i;j>0;j--)
    for(k=90;k>0;k--);
    }
    void write_com(uchar com)
    {
    rs=0;//选择写指令
    P0=com; //将要写的命令送到数据总线上
    delay(5);
    lcden=1;  //使能端给一高脉冲。由于初始化函数中已将lcd置为0
    delay(5);
    lcden=0;  //完毕高脉冲
    }
    void write_data(uchar date)
    {
    rs=1; //写数据
    P0=date;
    delay(5);
    lcden=1;
    delay(5);
    lcden=0;
    }


    void init()
    {
    dula=0;
    wela=0;
    lcden=0;
    write_com(0x38);
    write_com(0x0c);
    write_com(0x06);
    write_com(0x01);
    }


    void main()
    {
    init();
    write_com(0x80);
    for(num=0;num<16;num++)
    {
    write_data(table[num]);
    delay(5);
    }
    write_com(0x80+0x40);
    for(num=0;num<15;num++)
    {
    write_data(table1[num]);
    delay(5);
    }
    while(1);
    }

    通过 这个能够写一些简单的时序了

    看懂 时序图


  • 相关阅读:
    JavaScript学习笔记(七) 跨域问题
    JavaScript学习笔记(六) 异步问题
    JavaScript学习笔记(五) jQuery
    查看Wii的系统版本信息
    运行你的应用
    创建一个Android工程
    构建你的第一个App
    Android Studio开发环境部署
    酷派D530刷机指引
    酷派D530刷机指引之民间ROM
  • 原文地址:https://www.cnblogs.com/yangykaifa/p/7096319.html
Copyright © 2011-2022 走看看