zoukankan      html  css  js  c++  java
  • 1602实现移屏功能

    这个题目主要是设置显示开/光及光标设置

    这个地方与上一个题目没有多大的差别。

    #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+0x10);    //将数据写在液晶第一行非显示区域地址处。这种目的是在接下来要使用移屏命令将液晶屏向左移动
    for(num=0;num<16;num++)
    {
    write_data(table[num]);
    delay(5);
    }
    write_com(0x80+0x40+0x10);
    for(num=0;num<15;num++)
    {
    write_data(table1[num]);
    delay(5);
    }
    for(num=0;num<16;num++)
    {
    write_com(0x18); //整屏左移
    delay(1000);
    }
    while(1);
    }


    还是看寄存器配置


  • 相关阅读:
    SSD
    NMS---非极大值抑制
    检测评价函数 IOU
    Ground Truth
    耿建超英语语法---状语从句
    联合索引创建时候的排序规则
    order by limit的原理
    mysql事务四种隔离级别
    为什么 Redis 快照使用子进程
    MYSQL查询~ 存在一个表而不在另一个表中的数据
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/7240078.html
Copyright © 2011-2022 走看看