版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选资料,欢送下载I2C接口的输入与输出驱动的 PCF8574-pcf8574采用I2C接口,有8个准双向口,可以和外部电路连接,来实现输入输 出功能,可以用来对口线进行扩展 有几点需要注意1. 某位作为输入的时候,必须首先置为高电平2. 地址是 0100 A2 A1 A0 R/W3. 最多可以扩展8片4低电流损耗,静态电流10uA,驱动电流比拟大,而且有索存功能,能够驱动LED 发光管5.带有外部中断输出,低电平有效我作了一个电路,其中P7-P4作为输入检测开关状态,P3-P0作为输出来驱动LED 灯 程序如下#in elude reg51.h(VAR|=(1vPlace)#defi ne
2、SETBIT(VAR,Place)(VAR&=(1vvPlaceF255)sbit IC_SCL=P3A6;sbit IC_SDA=P3A7;un sig ned char IC_Re_Time;un sig ned char IC_Err_Flag;void TimerOnit(void)TMOD=OxOO/timerO 工作定时器方式0, 13位技术TH0=0x1e; /5msTL0=0x0c; /5msTR0=1; /启动时钟0ET0=1; /允许时钟0进行中断EA=1; /开放所有中断void Delay(void)un sig ned char i;for(i=0;i=10;i+)J
3、unsigned char VALBIT(unsigned int Val,unsigned char Bit)un sig ned int Buf;Buf=0x0001;if(Bit)Buf=Bit;Val&=Buf;if(Val)return(Oxff);elsereturn(OxOO);/*下面是PCF8574勺操作程序1. 通信方式:I2C2. 通信端口 :IC_SCL(P3.6),IC_SDA(P3.7)3. 通信地址:0x0101000x*/void IC_Start(void) / 启动 IC 通信IC_SDA=1;Delay();IC_SCL=1;Delay();IC_SDA=
4、0;Delay();IC_SCL=0;Delay();void IC_Stop(void) / 停止 IC 通信IC_SDA=O;Delay();IC_SCL=1;Delay();IC_SDA=1;Delay();void IC_Receive_Ack(void) / 接受 ACKIC_SDA=1;IC_SCL=1;Delay();IC_Re_Time=O;while(IC_Re_Time=30)if(IC_SDA=0)IC_Err_Flag=0;break;elseIC_Err_Flag=1;IC_SCL=O;Delay();/void IC_Send_ACK(void) / 发送 ACK/
5、 /if read many datas at a time,this can be used/ IC_SDA=0;/ Delay();/ IC_SCL=1;/ Delay();/ IC_SCL=0;/ Delay();/ IC_SDA=1;/void IC_Send_NAck(void) / 发送 NACKIC_SDA=1;Delay();IC_SCL=1;Delay();IC_SCL=O;Delay();void IC_Write_Byte(unsigned char Data) / 写数据到 8574un sig ned char i;for(i=0;i=7;i+)if(VALBIT(D
6、ata,(7-i) /data out msbIC_SDA=1;elseIC_SDA=0;IC_SCL=1;Delay();IC_SCL=0;Delay();unsigned char IC_Read_Byte(void)/ 从 8574 读取一个数据un sig ned char i;un sig ned char Data;for(i=0;i=7;i+)IC_SCL=1;Delay();IC_SDA=1;Delay();if(IC_SDA)SETBIT(Data,(7-i); /data in msb too elseCLRBIT(Data,(7-i);IC_SCL=0;Delay();r
7、eturn(Data);void IC_Write_Data(unsigned char Data)un sig ned char write_time;un sig ned char write_data;write_data=Data;for(write_time=0;write_time=2;write_time+)IC_Start();IC_Write_Byte(0x40);IC_Receive_Ack();IC_Write_Byte(write_data);IC_Receive_Ack();IC_Stop();if(IC_Err_Flag=O)break;un sig ned cha
8、r IC_Read_Data(void)un sig ned char Return_Data;un sig ned char read_time;for(read_time=0;read_time=2;read_time+)IC_Start();IC_Write_Byte(0x41);IC_Receive_Ack();Return_Data=IC_Read_Byte();IC_Se nd_NAck();IC_Stop();if(IC_Err_Flag=0)return(Return_Data);break;void PCF8574ni t(void)1,输出为0IC_Write_Data(O
9、xfO); /输入状态的必须开始的时候置为void ma in (void)un sig ned char temp3;TimerOni t();PCF8574_I ni t();while(1)temp3=IC_Read_Data();IC_Write_Data(0x0f);Delay();中间可以添加你需要的模块,比方显示或者其他的操作等中断效劳子程序extern void externalO_rt(void)interrupt 0/INT0标准,定时中断extern void eit0_rt(void)interrupt 1/T0TH0=0x1e;TL0=0x0c;IC_Re_Time+;void external1_rt(void)i nterrupt 2 usi ng 1/INT1,标准void eit1_rt(void)i nterrupt 3 us ing 1/T1void sci_rt(void)i nterrupt 4 usi ng 1/UART种工作模式,输入捕捉、自动void eit2_rt(void)i nterrupt 5 usi ng 1/T2 3 重载和波形发生器voi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GA 2179-2024警用服饰移民管理警察丝织胸标
- 邵东县重点中学2025-2026学年初三教学情况调研(一)物理试题含解析
- 2026年大学大一(康复工程)康复辅助器具设计开发阶段测试题及答案
- 思想主题教育会议纪要
- 2025年前台防疫接待礼仪技能题
- 护理管理精讲课程获取
- 护理职业安全与防护技能
- (二模)铜川市2026届高三模拟预测(二)地理试卷(含答案详解)
- 2026二年级数学 苏教版数学乐园综合实践三
- 心理健康教育实施方案
- GB/T 19466.2-2025塑料差示扫描量热(DSC)法第2部分:玻璃化转变温度和台阶高度的测定
- 2025年山东省聊城市辅警招聘考试题题库(含参考答案)
- 2026年江西环境工程职业学院单招职业适应性测试模拟测试卷附答案
- 2026年安全员之C证(专职安全员)考试题库500道附答案(模拟题)
- 孕产期健康管理的精准化干预策略
- 2026年辽宁铁道职业技术学院单招职业技能测试题库含答案详解
- 安全生产会议制度范文
- 2025年二建矿业实务真题及答案解析
- 天津项目负责人安全员b证考试题库及答案解析
- 微生物絮凝剂课件
- 农村集体三资管理培训
评论
0/150
提交评论