STC12C5A60S2_LCD1602驱动

2023-05-16

文章目录

  • LCD1602.H
  • LCD1602.c
  • main.c

LCD1602.H

  代码如下:

#ifndef __LCD1602_H_
#define __LCD1602_H_
#include <reg52.h>

typedef unsigned char uint8;

sbit RS   = P1 ^ 0;
sbit RW   = P1 ^ 1;
sbit EN   = P2 ^ 5;
sbit STA7 = P0 ^ 7;

void Init_LCD1602 ( void );
void w_string ( uint8 addr_start, uint8 *p );
#endif

LCD1602.c

  代码如下:

#include "LCD1602.h"

static void delay1ms ( uint8 i ) {
    while ( i-- ) {
        unsigned char a, b, c;

        for ( c = 1; c > 0; c-- )
            for ( b = 4; b > 0; b-- )
                for ( a = 109; a > 0; a-- );
    }
}

static void wait ( void ) { /* 读写检查,确保STA7为0 */
    P0 = 0xFF;

    do {
        RS = 0;
        RW = 1;
        EN = 1;
    } while ( STA7 == 1 );
}

static void w_dat ( uint8 dat ) { /* 写数据 */
    wait();
    RS = 1;
    RW = 0;
    P0 = dat;
    EN = 0;
    EN = 1;
    EN = 0;
}

static void w_cmd ( uint8 cmd ) { /* 写命令 */
    wait();
    P0 = cmd;
    RS = 0;
    RW = 0;
    EN = 0;
    EN = 1;
    EN = 0;
}

void w_string ( uint8 addr_start, uint8 *p ) { /* 发送字符串到LCD */
    w_cmd ( addr_start );

    while ( *p != '\0' ) {
        w_dat ( *p++ );
    }
}

void Init_LCD1602 ( void ) {
    delay1ms ( 15 );
    w_cmd ( 0x38 ); /* “16*2”显示,“5*7”点阵,8位数据接口 */
    delay1ms ( 5 );
    w_cmd ( 0x38 );
    delay1ms ( 5 );
    w_cmd ( 0x38 );
    w_cmd ( 0x38 );
    w_cmd ( 0x08 );
    w_cmd ( 0x01 ); /* 显示清屏 */
    w_cmd ( 0x06 ); /* 文字不动,光标自动右移 */
    w_cmd ( 0x0C ); /* 开显示、不显示光标、光标不闪烁 */
}

main.c

  代码如下:

#include <reg52.h>
#include "LCD1602.h"
#include <intrins.h>

unsigned char code word1[] = {"Hello,111"};
unsigned char code word2[] = {"World,111"};

int main ( void ) {
    Init_LCD1602();
    w_string ( 0x80, word1 );
    w_string ( 0xC0, word2 );

    while ( 1 );
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STC12C5A60S2_LCD1602驱动 的相关文章

  • LCD1602液晶显示模块学习笔记

    LCD1602液晶显示模块 一 初识LCD6021 1 实物图1 2 引脚图1 3 引脚功能说明 二 显示位置三 显示内容四 指令集五 工作时序5 1 写操作时序5 2 读操作时序 六 编程思路6 1 写数据6 2 写指令6 3 初始化6
  • STC12C5A60S2最小系统

    STC12C5A60S2最小系统 xff0c 跟51一个样的 初学者自己焊接最小系统的时候不要忘了共VCC和共地 xff0c 就是电路中所有VCC连接一起 xff0c 接地也是 xff0c 这是新手比较容易忽视的问题
  • 你可以写个LCD1602的驱动代码,从当初的起点开始。

    你可以写个LCD1602的驱动代码 xff0c 从当初的起点开始 你现在才明白正确弄单片机的方式
  • LCD1602液晶显示屏的入门级应用(一)

    嵌入式小白 xff0c 今天用到1602 xff0c 被CGRAM DDRAM CGROM搞得乱七八糟 xff0c 特此记录一下 xff0c 供大家参考 首先 xff0c 1602液晶显示屏除了电源 地以外 xff0c 有3个控制引脚 RS
  • STC12C5A60S2_LCD1602驱动

    文章目录 LCD1602 HLCD1602 cmain c LCD1602 H 代码如下 xff1a span class token macro property span class token directive hash span
  • 详解LCD1602液晶显示屏的使用

    1 简介 作为各类单片机实物设计的常用显示屏 xff0c LCD1602是一种专门用于显示字母 数字 符号等点阵式LCD xff0c 其1602是指LCD显示的内容为16X2 xff0c 即可以显示两行 xff0c 每行16个字符 xff0
  • LCD1602和12864显示器-第1季第17部分-朱有鹏-专题视频课程

    LCD1602和12864显示器 第1季第17部分 3539人已学习 课程介绍 本课程是 朱有鹏老师单片机完全学习系列课程 第1季第17个课程 xff0c 主要讲解LCD1602和LCD12864这两种单片机常用LCD显示器的显示原理 以及
  • LCD1602和12864显示器

    1 LCD显示器相关背景 1 1 LCD简介 1 显示器 xff0c 常见显示器 2 LCD Liquid Crystal Display xff0c 液晶显示器 xff0c 原理介绍 3 LCD应用领域 4 LED OLED 1 2 电子
  • LCD1602按下复位后乱码的问题

    1602按下后会有乱码的问题 xff0c 其实根本上是硬件引起的 某些最小系统板的复位电路没做好 xff0c 按下复位键后 xff0c 就会产生乱码 但是出现这种现象 xff0c 是可以用软件后期修正的 由于LCD复位后默认是8线输入 xf
  • LCD1602模块如何显示自定义字符

    相信大家现在知道了如何通过查字库表的方法来显示表中的任意一个字符 假如现在我想显示某个温度值 xff0c 需要标志出温度符号 C xff0c 现在你去字库表里面查找 xff0c 发现根本找不到这个符号 xff0c 那怎么办 xff1f 下面
  • STM32F407的LCD1602液晶显示程序

    LCD1602 H ifndef LCD1602 H define LCD1602 H include sys h include stm32f4xx h unsigned char message 20 unsigned char mes
  • Arduino--LCD1602(IIC)

    xff08 1 xff09 简介 前篇文章介绍了LCD1602的四位数据线控制方法 xff1a https blog csdn net u011816009 article details 106573622 但是该方法还是需要较多的IO口
  • 树莓派上使用python实现LCD1602显示当前ip

    树莓派一般运行Linux操作系统后通过远程控制来运行 xff0c 但是往往由于网络原因导致树莓派分配的ip地址被改变 xff0c 致使需要重新连接屏幕后才能查看树莓派的当前ip 最近手头有个LCD1602 xff0c 所以尝试将通过驱动LC
  • STM32驱动lcd1602,并口8位 6800时序

    STM32驱动lcd1602 xff0c 并口8位 6800时序 一 LCD1602 xff08 3 3V硬件版本 xff09 简介 1 1 引脚 引脚 xff0c lcd1602采用标准接口 xff0c 6800时序8位并行数据传输 第
  • LCD1602温度显示程序设计流程

    博主福利 xff1a 100G 43 电子设计学习资源包 xff01 http mp weixin qq com mp homepage biz 61 MzU3OTczMzk5Mg 61 61 amp hid 61 7 amp sn 61
  • Lcd1602——斌哥51

    最新修改时间2022 7 22 LCD1602 16代表显示16个字符 xff0c 2代表总共显示两行 芯片的工作电压是4 5 5 5v 工作电流2 0ma xff08 5V xff09 模块最佳工作电压5 0v 字符尺寸 xff1a 2
  • 电子闹钟设计

    摘要 本设计是以89c51单片机作为控制核心的闹铃系统 本文大致可以分三个章节 第一章讲用单片机制作电子闹钟带来的优势 还有电子闹钟在未来的电子产品中的趋势以及本次设计所要实现的课题目标 第二章讲一些设计思路和硬件组成 第三讲程序代码 最后
  • 51单片机——串口通信

    51单片机 串口通信 串口通信 串口通信的原理 串口的配置 定时器的配置 c源代码 netty源代码 结果 本篇博客的最终效果是实现51单片机用串口发送Hello World netty监听串口读到Hello World后回发给51单片机
  • 2021年电赛模块化程序总结

    文章目录 1 ADC0804 2 LCD1602 3 AD9854 1 ADC0804 集成A D转换器品种繁多 选用时应综合考虑各种因素选取集成芯片 一般逐次比较型A D转换器用的比较多 ADC0804就是这类单片集成A D转换器 ADC
  • stm32cubeide驱动LCD1602显示屏

    STM32驱动LCD1602 硬件连接关系 STM32CUBEIDE设置 代码 项目设置 最后运行 硬件连接关系 LCD1602 STM32 VCC VCC GND GND VO VCC 滑动变阻 RS PB1 RW PB2 BOOT1 E

随机推荐