无忧商务网,免费信息发布推广平台,您可以 [登陆后台] 或 [免费注册] 无忧商务网 | 企业黄页 | 产品库存 | 供求信息 | 最新报价 | 企业资讯 | 展会信息
黄页信息| 库存信息| 技术服务| 供应信息| 求购信息| 二手信息| 加工信息| 供求库| 报价库| 展会库| 代理信息| 保健| 生活黄页| 食谱| 网络黄页| 水族休闲| 人力HR| 招聘
首页>>生活网>>生活保健>>3C小百科-消费性电子-其他
在51上用P1口模拟I2C

下面是用普通C51实现的I2C基本电平模拟函数和通用函数。 <BR><BR>       /*  电平模拟函数和基本读写函数 <BR>       void IIC_Start(void); <BR>       void IIC_Stop(void); <BR>       void SEND_0(void); <BR>       void SEND_1(void); <BR>       bit Check_Acknowledge(void); <BR>       void Write_Byte(uchar b)reentrant; <BR>       bit Write_N_Bytes(uchar *buffer,uchar n)reentrant; <BR>       bit Read_N_Bytes(uchar SlaveAdr,uchar n,uchar *buffer); <BR>       uchar Read_Byte(void)reentrant; <BR>   */ <BR><BR>       #include<STRING.H> <BR>       #include<REG52.H> <BR>       #include<INTRINS.H> <BR>       #include"aiic_51.h" <BR><BR>       sbit SCL=P1^6; <BR>       sbit SDA=P1^7; <BR><BR>       void DELAY(uint t) <BR>       { <BR>           while(t!=0) <BR>               t--; <BR>       } <BR><BR>       void IIC_Start(void) <BR>       { <BR>           //启动I2C总线的函数,当SCL为高电平时使SDA产生一个负跳变 <BR>           SDA=1; <BR>           SCL=1; <BR>           DELAY(DELAY_TIME); <BR>           SDA=0; <BR>           DELAY(DELAY_TIME); <BR>           SCL=0; <BR>           DELAY(DELAY_TIME); <BR>       } <BR><BR>       void IIC_Stop(void) <BR>       { <BR>           //终止I2C总线,当SCL为高电平时使SDA产生一个正跳变 <BR>           SDA=0; <BR>           SCL=1; <BR>           DELAY(DELAY_TIME); 
相关资讯
类别浏览
安徽 北京 福建 甘肃 广东 广西 贵州 海南 河北 河南 黑龙江 湖北 湖南 吉林 江苏 宁夏 青海 山东 山西 陕西 上海 四川 天津 新疆 西藏 云南 浙江 重庆 辽宁 江西 内蒙古
无忧商务网 版权所有 Copyright © 2020.6 www.cn5135.com All Rights Reserved. 湘ICP备12008603号
本站所有产品都是会员自行发布,所有信息都有对方的企业名片和联系方式,如果您需要咨询产品具体参数和细节,请直接联系和咨询厂商,谢谢。
行业子站: 机械 库存 建材 物流 礼品 能源 农业 汽摩 食品 通讯 五金 玩具 矿产 印刷 休闲 服务 服装 化工 环保 电子 纺织 电工 电脑 电器 办公 安全 包装 仪器 家居