登录  | 立即注册

游客您好!登录后享受更多精彩

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[寒假笔记] 通过独立按键实现LCD1602的换屏

[复制链接]
发表于 2023-1-30 19:58:49 | 显示全部楼层 |阅读模式
学习笔记
学习科目: 51
学习安排: 51
开始时间: 2023-01-20
结束时间: 2023-01-20
LCD1602的常用指令
1、清屏指令  写入0x01 全部清屏;写入0x02只数据指针亲清屏
2模式设置
0X38 设置16X2显示 5X7点阵 8为数据接口
操作时序
1、读状态 RS=L,RW=H,E=H
2、读数据  RS=H,RW=L,E=H
3、写指令:RS=L RW=L,D0~D7指令代码 E=高脉冲
4、写数据:RS=H,RW=L,D0~D7=数据 E=高脉冲
#include <reg52.h>
#include "LCD1602.h"
#include "Delay.h"
#include "Key.h"
int cnt=5, KeyNum;
void main()
{   
        while(1)
        {   KeyNum=Key();
                if(KeyNum==1)
    {                LCD_Init();
               LCD_ShowString(2,1,"hello");
                }
                if(KeyNum==2)
                {
                LCD_Init();
                LCD_ShowString(2,1,"hpu");
                }
         
        }
}
/*独立按键模块*/
#include <REGX52.H>
#include "Delay.h"
unsigned char Key()
{
        unsigned char KeyNumber=0;
       
        if(P3_1==0){Delay(20);while(P3_1==0);Delay(20);KeyNumber=1;}
        if(P3_0==0){Delay(20);while(P3_0==0);Delay(20);KeyNumber=2;}
        if(P3_2==0){Delay(20);while(P3_2==0);Delay(20);KeyNumber=3;}
        if(P3_3==0){Delay(20);while(P3_3==0);Delay(20);KeyNumber=4;}
       
        return KeyNumber;
}


好懒~~不想说~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表