#include#defineucharunsignedchar#defineuintunsignedintsbitscl=p3^1;sbitsda=p3^2;voiddelay{ucharjwhilefor}voidwrite_add//r=1;读或写{uchariucharadd_rwifadd_rw=0x91//readelseadd_rw=0x90;//写SCL=1;//startsda=1;SDA=0;SCL=0;for//ADDRESS{ifSDA=1;elsesda=0;SCL=1;SCL=0;add_rw=add_rw,stc89c52单片机有,但是你说的那个传感器比较悲剧。
1、单片机中的SPI,I2C,单总线,总线什么意思,什么用,什么区别,嘿嘿你问了好多问题。让我来帮你回答。首先,我来回答你什么是总线:总线是一种常见的计算机连接线,通过它所有的外围设备都可以连接到计算机上。它是一个信息传递的通道,很多外围元器件都可以挂在上面。总线有很多种,如芯片级总线如SPI、I2C,单总线用于近距离连接CPU和其他外围芯片。它们大多采用串行方式传输数据,即逐位传输数据可以节省传输线的数量。SPI需要三条线:时钟线、数据接收线和数据发送线。I2C需要两根跳线,一根时钟线和一根数据线。单总线使用一条数据线进行通信,如DS18B20数字温度传感器RS-232也用于计算机或单片机之间的数据通信,RS-485CAN等工业现场总线用于远距离通信,距离可达1000米。
2、单片机用AT89S52,使用的 温度 传感器是18B20,可以测量并存储当前 温度,使...这是我在51写的,希望对你有帮助。//调用一次读取温度,将温度的所有值保存在数组中,可以随意操作这个数组。//可以实现多点采样。一个18b20占用一个I/O端口。//同时进行数据写入,直到发出温度转换指令,节省了大量时间,即轮询只需要等待一次原转换时间,//读取与原独立相同。
就是网上那个关于温度测量的程序是我自己修改的。在调试一个有问题有悲剧的单片机时,遇到了这样的题目,求大神程序指导。18B20,我记得应该是1线总线,也就是单线总线。你应该少了一个EEPROM,对吧?I2C总线应该是数据传输到内存的协议吧?这种程序应该可以在网上找到。请搜索一下。我可以告诉你。如果你使用模拟软件,你可以看到结果是什么。18B20这个方案真的很成熟。我做过,但是程序早就没了。别人写的程序肯定没问题。你应该仔细阅读每行代码的含义。不用太担心。这是你的一个小项目。你要知道这个项目不是两三个星期就能完成的。
3、用stc89c52单片机c语言编的 i2c总线 温度 传感器ds1621的程序非常急...stc89c52单片机有,但是你说的那个传感器比较悲剧。我从未听说过它,Ds1621和1820基本相同,除了一个芯片选择和状态控制。程序基本和20一样,#include#defineucharunsignedchar#defineuintunsignedintsbitscl=p3^1;sbitsda=p3^2;voiddelay { ucharjwhilefor} void write _ add//r = 1;读或写{ uchariucharadd _ rwifadd _ rw = 0x91//read elseadd _ rw = 0x 90;//写SCL = 1;//starts da = 1;SDA = 0;SCL = 0;for//ADDRESS { ifSDA = 1;else sda = 0;SCL = 1;SCL = 0;add_rw=add_r。