单片机加个PCF8574模块,实现IIC方式驱动LCD1602

发布者:chaxue1987最新更新时间:2019-10-21 来源: 51hei关键字:单片机  PCF8574模块  IIC方式  驱动LCD1602 手机看文章 扫描二维码
随时随地手机看文章

PCF8574模块使实现IIC驱动LCD1602成为现实。


下图是PCF8574模块与1602的连接电路图


实物接法如下:

想要使用PCF8574模块来实现IIC驱动LCD1602,首先非常必要弄清楚IIC的时序、PCF8574设备地址、四线控制LCD1602方法。

下面是两个重要的h文件。通过修改这两个h文件中的部分代码(接线有所不同)即可移植到你的程序中去。

单片机源程序如下:

void delay1(uchar x)

{

        uchar a,b;

        for(a=x;a>0;a--)

         for(b=200;b>0;b--);

}


void write_com(uchar com)                //写命令函数

{        uchar com1,com2;

        com1=com|0x0f;

        write_add(com1&0xfc);

        delay1(2);

    write_add(com1&0xf8);

        com2=com<<4;

        com2=com2|0x0f;

        write_add(com2&0xfc);

        delay1(2);

    write_add(com2&0xf8);

        

}


void write_date(uchar date)                //写数据函数

{

        uchar date1,date2;

        date1=date|0x0f;

        write_add(date1&0xfd);

        delay1(2);

        write_add(date1&0xf9);

        date2=date<<4;

        date2=date2|0x0f;

        write_add(date2&0xfd);

        delay1(2);

        write_add(date2&0xf9);

                

}


void init_lcd()                                        //初始化函数

{                                                                                                  

        write_com(0x33); //显示模式设置

        delayms(6);

        write_com(0x32); //显示模式设置

        delayms(6);

        write_com(0x28); //4位总线,双行显示,显示5×7的点阵字符

        delayms(6);

        write_com(0x01); //清屏

        delayms(6);

        write_com(0x06); //字符进入模式:屏幕不动,字符后移

        delayms(6);

        write_com(0x0c); //显示开,关光标

        //write_LCD_Command(0x0f); //显示开,开光标,光标闪烁

        delayms(6);

}


//显示字符串:第x行第y列显示什么内容

void ShowString(unsigned char x,unsigned char y,unsigned char *str)

{

        

        if(x == 1)

        {

                write_com(0x80 | y-1); 

        }

        if(x == 2)

        {

                write_com(0xc0 | y-1);

        }

        //输出字符串

        

        while(*str!='')

        {

                write_date(*str);

                str++;

        }


}


关键字:单片机  PCF8574模块  IIC方式  驱动LCD1602 引用地址:单片机加个PCF8574模块,实现IIC方式驱动LCD1602

上一篇:用51单片机控制LCD12864显示屏源程序
下一篇:单片机LCD12864链表实现贪吃蛇源码

推荐阅读最新更新时间:2024-11-13 00:29

GD32 MCU的选项字节是什么?
GD32 MCU的选项字节是什么,有什么功能呢?选项字节被误篡改如何回复? 读者朋友们是否会有以上的疑问,首先我们先为大家介绍选项字节是什么以及选项字节的功能。 以GD32F30X系列MCU为例,其选项字节说明如下表所示,该选项字节共16个字节,用于芯片内部配置。具体说明如下:SPC为读保护控制位,可以设置芯片读保护;SPCN为SPC补字节,不需要配置;USER为用户配置字节,可以配置芯片从BANK0还是BANK1启动,配置低功耗模式唤醒后继续进入低功耗模式还是复位,配置是否使能硬件独立看门狗(硬件看门狗使能后,芯片上电后会自动打开看门狗,如果读者有发现芯片看门狗复位,且软件上没有打开看门狗,就可以排查下看是否该控制位被打开,
[单片机]
GD32 <font color='red'>MCU</font>的选项字节是什么?
基于AVR单片机CAN总线的显示板设计
简介:随着现代社会的发展,科学技术的进步,出现了众多高层建筑和智能建筑。电梯,作为高层建筑内部一种重要的交通工具,其应用规模日益扩大。而作为电梯系统中必不可少的一部分,电梯召唤显示板(简称电梯外呼板)的应用也随之剧增。电梯外呼板应用于每层楼的电梯门外,供乘客及电梯维保人员使用。电梯外呼板将乘客及维保人员的需求信息通过CAN总线传达给电梯主板,电梯主板接收信息并执行相应的操作 ... 随着现代社会的发展,科学技术的进步,出现了众多高层建筑和智能建筑。电梯,作为高层建筑内部一种重要的交通工具,其应用规模日益扩大。而作为电梯系统中必不可少的一部分,电梯召唤显示板(简称电梯外呼板)的应用也随之剧增。电梯外呼板应用于每层楼的电梯门外,供
[单片机]
基于AVR<font color='red'>单片机</font>CAN总线的显示板设计
单片机实现的温度显示系统
//******************************** // 时钟万年历+温度+液晶显示 // LCD1602+DS1302+DS18B20 //作者:曾宪阳 //网址:http://hi.baidu.com/zxymcu //******************************** #include #include zxysrc/ds1302.h #include zxysrc/lcd1602.h #include zxysrc/delay.h #include zxysrc/DS18B20.H void Display(void) { ReadDs1302A
[单片机]
MMC与PIC单片机接口电路和代码设计
1 概述 Sandisc公司推出的大大容量串行Flash存储器产品——MultiMediaCard(MMC),通常叫作多媒体卡。它的体积比SmartMedia还要小, 不怕冲击,可反复读写记录30万次,驱动电压2.7~3.6V,可变时钟频率范围为0~20MHz,目前常见的容量为64MB/128MB。ATP EleCTRionICs公司已经率先推出了1GB的高容量MMC。除了体积小、寿命长、容量大等特性外,还具备存储区纠错能力;低功耗;5ms内没有接收到命令字后,自动转入休眠状态;支持热插拔等优点。MMC可以格式化为FAT文件系统,便于上位机读写。 2 MMC简介 2.1 引脚排列及功能 根据存储容量的不同,MMC有SMDB和SDM
[单片机]
MMC与PIC<font color='red'>单片机</font>接口电路和代码设计
基于AT89S51单片机的PID温度控制系统设计
  温度控制技术不仅在工业生产有着非常重要的作用,而且在日常生活中也起着至关重要的作用。本文对系统进行硬件和软件的设计,在建立温度控制系统数学模型的基础之上,通过对PID控制的分析设计了系统控制器,完成了系统的软、硬件调试工作。算法简单、可靠性高、鲁棒性好,而且PID控制器参数直接影响控制效果。   1. 系统概述   1.1 系统总体结构   该系统利用AT89S51丰富的外设模块搭建硬件平台。系统的硬件电路包括:模拟部分和数字部分,基本电路由核心处理模块、温度采集模块、键盘显示模块及控制执行模块等组成。   1.2 系统工作流程   系统开始工作时,首先由单片机控制软件发出温度读取指令,通过数字温度传感器采集被控对象的当前温度
[电源管理]
基于AT89S51<font color='red'>单片机</font>的PID温度控制系统设计
一个超级实用的单片机调试组件!
DWT跟踪组件 跟踪组件:数据观察点与跟踪(DWT) DWT 中有剩余的计数器,它们典型地用于程序代码的“性能速写”(profiling)。通过编程它们,就可以让它们在计数器溢出时发出事件(以跟踪数据包的形式)。 最典型地,就是使用 CYCCNT寄存器来测量执行某个任务所花的周期数,这也可以用作时间基准相关的目的(操作系统中统计 CPU使用率可以用到它)。 Cortex-M中的DWT 在Cortex-M里面有一个外设叫DWT(Data Watchpoint and Trace),是用于系统调试及跟踪。 它有一个32位的寄存器叫CYCCNT,它是一个向上的计数器,记录的是内核时钟运行的个数,内核时钟跳动一次,该计数器就加1,
[单片机]
MSP430单片机热敏电阻温度测量系统设计
MSP430单片机计数法测温原理 以NE555定时器为核心组成典型的多谐振荡器,把被测热敏电阻Rt 作为定时元件之一接入电路中,NE555定时器输出引脚接MSP430单片机的P1.2脚(Timer_A:捕获、CCIlA输入引脚)。系统电路如图所示。 由上述测量原理可知,误差主要来源为:R1、R2精度,单片机的定时器和电容器的精度以及稳定度。这里选用高精度(士O.001%)、温度系数小于土O.3×10-6/℃的精密金属箔电阻器。因此当选用高精度、高稳定度的电容器,且单片机的工作频率足够高,就可以得到较好的测温精度。 由测量原理知:被测电阻的阻值越大,测量误差越小。笔者已应用该方法设计出一款温度计,测量范围为一10~
[单片机]
MSP430<font color='red'>单片机</font>热敏电阻温度测量系统设计
使用MSP430FW42X系列单片机实现低功耗无磁传感水表的设计
MSP30FW42X无磁传感水表具有功耗低(静态电流小于 4 微安)、测量流量范围宽、精度高、稳定性和一致性好的特点,尤其在小流量下亦保持了很高的测量精度,同时丝毫不受各类水锈、杂质的影响,特别适合在水质较差的供热环境下长期使用而不影响测量精度。 一、单片机主要性能 MSP430FW42X系列单片机是 TI 针对电子式流量与旋转运动检测最新开发的专用 MCU芯片,它将超低功耗 MCU 、旋转扫描接口( Scan IF )和液晶显示 LCD 驱动模块完美地结合为一体,该器件的超低功耗结构和流量检测模块不仅延长了电池的寿命,同时还提高了仪表的精度与性能。 MSP430FW42X 除了完全兼容现有 MSP 430F 41x 产品
[单片机]
使用MSP430FW42X系列<font color='red'>单片机</font>实现低功耗无磁传感水表的设计
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved