使用PCF8574扩展C8051F的I/O端口

2020-06-29来源: eefocus关键字:PCF8574  扩展C8051F  I  O端口

系统功能

使用PCF8574扩展C8051F的I/O端口。


硬件设计

使用PCF8574扩展C8051F的I/O端口电路原理图


软件设计


下面部分从TXT拷出,拷到网页,代码部分缺省了很多空格,比较凌乱,请谅解!

I2C(SMBus)详细程序请查看C8051F I2C(SMBus)程序。 


//目标系统: 基于C8051F单片机

//应用软件: Silicon IDE / Keil

/*01010101010101010101010101010101010101010101010101010101010101010101

----------------------------------------------------------------------

实验内容:

使用PCF8574的输出端口接上8位LED指示灯查看CPU输出到PCF8574的数据是否正常

----------------------------------------------------------------------

硬件连接:

将PCF8574的P0~P7口和8位LED指示灯相连。

DVK501(PCF8574PrlPort)    F320 EX

                           VCC    ---------   VCC

                           GND   ---------   GND

                           SDA    ---------   P1.0  

                           SCL    ---------   P1.1

----------------------------------------------------------------------

注意事项:

(1)若有加载库程序,请将光盘根目录下的“library”下的“C8051F”文件夹拷到D盘

(2)请详细阅读:光盘根目录下的“说明书首页.htm”里的相应产品说明

----------------------------------------------------------------------

10101010101010101010101010101010101010101010101010101010101010101010*/


#define _DVK501_F320_EX_


#include

#include <../../../../library/C8051F/ws_clock.h>

#include <../../../../library/C8051F/ws_delay.h>

#include <../../../../library/C8051F/ws_iic_port.h>

#include <../../../../library/C8051F/ws_pcf8574.h>


void main(void)

{

uchar wRdat; // Test counter

//uchar *rDdat;


PCA0MD &= ~0x40; // Clear watchdog timer enable

clock_external(); // Set oscillator in external,the clock is 12M

delay_ms(100);

Check_SDA(); 

XBR1 = 0x40; // Enable crossbar and weak pull-ups

SMBus_Init();

Enb_Interrupt(); 

wRdat = 0; // Output data counter


while (1)

{

/*Read_PCF8574(rDdat); // Read data

P2 = rDdat;*/

Write_PCF8574(wRdat); // Write data

wRdat++;

delay_ms (500);

}

}


void Write_PCF8574(uchar Data)

{

SMBus_Write(0x40,Data,0,1);

}


void Read_PCF8574(uchar *Data)

{

SMBus_Read(0x41,Data,1);

}



系统调试

把PCF8574的输出端口的前4个端口接到VCC,后4个端口接到GND,连接P2与8位LED指示灯查看现象。


关键字:PCF8574  扩展C8051F  I  O端口 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic501481.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:使用AT24Cxx扩展C8051F EEPROM
下一篇:C8051F I2C(SMBus)程序

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM8 I2C与PCF8574通讯程序
系统功能使用STM8的I2C与PCF8574通讯,并使用LED作出简单指示!(PCF8574是I2C与并口互转芯片)硬件设计本设计基于内部RC振荡器2M时钟作STM8定时器TIM4的时钟源进行I2C通讯LED控制电路原理图PCF8974原理图软件设计/*********************************************************************目标系统: 基于STM8单片机 应用软件: Cosmic CxSTM8 *********************************************************************/ 
发表于 2020-06-27
STM8 I2C与<font color='red'>PCF8574</font>通讯程序
单片机加个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--)     
发表于 2019-10-21
单片机加个<font color='red'>PCF8574</font>模块,实现IIC方式驱动LCD1602
LPC1788--I2C设置驱动PCF8574 与特别注意事项
=(1<<2)|(1<<3);        while((LPC_I2C0->STAT!=0x50)&&(i--));    }    return LPC_I2C0->DAT;//数据读}/*------------控制PCF8574-----------*/void WritePCF8574(uint8_t addr,uint8_t  pBuffer){    I2C0_Start();    
发表于 2017-11-28
L<font color='red'>PC</font>1788--I2C设置驱动<font color='red'>PCF8574</font> 与特别注意事项
PCF8574调试的沉痛经历
    最近一个超声项目需要用到端口扩展功能,经过一番调研,决定选用PCF8574这款I2C总线的芯片,然后开始看数据手册,组实验板,经过一番忙碌,材料齐全,准备开始调试,之前已经做好了I2C的程序,烧入单片机,运行,状态不对?诧异,很是诧异,然后我就开始了我那冤屈的、痛苦的苦难之旅,为什么这么说,看官您请往下看。     开始我以为是程序中时序匹配的问题,于是开始用示波器查看,经过一番查找,最后确定时序没问题,开始郁闷——。     然后我以为是硬件损坏,然后检查PCF8574,型号是PCF8574T,没错,然后在数
发表于 2015-06-17
使用AT24Cxx扩展C8051F EEPROM
系统功能使用AT24Cxx扩展C8051F EEPROM。硬件设计使用AT24Cxx扩展C8051F EEPROM电路原理图软件设计下面部分从TXT拷出,拷到网页,代码部分缺省了很多空格,比较凌乱,请谅解!I2C(SMBus)详细程序请查看C8051F I2C(SMBus)程序。 //目标系统: 基于C8051F单片机//应用软件: Silicon IDE / Keil/*01010101010101010101010101010101010101010101010101010101010101010101
发表于 2020-06-29
使用AT24Cxx<font color='red'>扩展</font><font color='red'>C8051F</font> EEPROM
C8051F的超大容量Flash存储器扩展方法介绍
伴(A) 01H 256~511 阵列第二半(B) 50H 512~527 剩余阵列(C)   由表1可以看出,00H、01H、50H只是选区指针。选定区的内部寻址是由第一个列地址完成的,A0~A7可以最大寻址256字节。[page] 2 应用举例   在开发便携式心电信号采集监视仪中,K9F2808被用做心电采样数据存储器。MCU采用美国Cygnal公司的SoC增强型单片机C8051F020,内部RAM共有4352字节,I/O支持双向操作等。Flash的命令引脚要接到端口1上去,端口3是命令/地址/数据的复用形式。显然这里的数据是并行的,因此操作速度很快,达到了读页 1.2ns,写页200
发表于 2012-06-15
<font color='red'>C8051F</font>的超大容量Flash存储器<font color='red'>扩展</font>方法介绍
小广播
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved