当前位置: 首页 > news >正文

珠海有什么网站单位网站查询工资链接怎么做

珠海有什么网站,单位网站查询工资链接怎么做,小米商城的网站建站,php网站开发机试题目文章目录 引言电路图引脚讲解初始化时序写时序读时序温度变换温度读取完整代码 引言 DS18B20是一款单总线接口的数字温度传感器#xff0c;仅需一个IO口即可实现数据通信。这里只对如何简单操作开发板的DS1802进行讲解#xff0c;关于DS18B20温度传感器的详细操作原理#… 文章目录 引言电路图引脚讲解初始化时序写时序读时序温度变换温度读取完整代码 引言 DS18B20是一款单总线接口的数字温度传感器仅需一个IO口即可实现数据通信。这里只对如何简单操作开发板的DS1802进行讲解关于DS18B20温度传感器的详细操作原理可参考此博客DS18B20数字温度传感器操作解析。 电路图 下图显示了DS18B20的电路连接。数据总线通过J14排针引出并连接到所选的IO口。数据总线上需要一个上拉电阻以确保稳定的通信。 引脚讲解 DS18B20传感器通常采用TO-92封装或PDIP封装具有以下三个主要引脚 VDD - 电源正极为传感器提供工作电压。GND - 电源负极接地。DQ - 数据引脚用于与微控制器或计算机进行数据通信。 引脚详解 VDD: 连接到传感器的工作电压通常为3.3V或5V。确保不要超过传感器的最大工作电压以避免损坏。GND: 连接到电路的地线确保传感器的稳定工作。DQ: 是一个开漏输出引脚需要通过上拉电阻连接到VDD。这个引脚负责与主控制器进行通信支持1-Wire通信协议。 初始化时序 初始化过程从主机发送复位脉冲开始。主机将总线拉低至少480微秒us通常是500us以确保所有从设备都能检测到复位信号。复位脉冲后总线需保持高电平15-60微秒等待从设备响应。 从设备通过发送存在脉冲来响应表示它们已经检测到复位信号并将总线拉低60-240微秒。表明它已检测到复位信号。之后将电平拉高。 sbit DS18B20_DQ P3^7;unsigned char DS18B20_Init() {unsigned char i;unsigned char ackBit;DS18B20_DQ 1;DS18B20_DQ 0;i 247;while (--i); //延时500usDS18B20_DQ 1;i 32;while (--i);ackBit DS18B20_DQ;i 247;while (--i); //延时500usreturn ackBit; }写时序 写时序包括主机发送数据位“0”或“1”到从设备。每个位的写入时序稍有不同。每次写入一个数据位都需要初始化一个写周期。主机将总线拉低至少1微秒通常是1-15微秒然后释放总线这是初始化写周期。 写0时序 主机将总线拉低至少60微秒通常是60-120微秒然后释放总线。 写1时序 主机将总线拉低至少1微秒通常是1-15微秒然后在剩余时间内保持高电平释放总线。 写入一个字节8位需要重复上述写0和写1时序八次。写入顺序为低位在前LSB first。 开始写入字节初始化第一个写周期。写入每个位根据数据位的值执行写0或写1时序。结束写入字节完成8个位的写入后字节写入结束。 假设我们要写入字节0x5A01011010。 写入0位主机将总线拉低至少60微秒释放总线。写入1位主机将总线拉低至少1微秒释放总线。写入0位重复写0时序。写入1位重复写1时序。写入1位重复写1时序。写入0位重复写0时序。写入1位重复写1时序。写入0位重复写0时序。 //发送一位 void ds18b20_write_bit(unsigned char bits) { unsigned char i;DS18B20_DQ 0;i 4;while (--i); //延时10usDS18B20_DQ bits;i 24;while (--i); //延时50usDS18B20_DQ 1; }//发送字节 void ds18b20_write_byte(unsigned char byte) {unsigned char i;for(i 0;i8;i){ds18b20_write_bit(byte 0x01i);//先发送低位} }读时序 每次读取一个数据位都需要初始化一个读周期。初始化读周期期间需要主机将总线拉低至少1微秒通常是1-15微秒然后释放总线。之后读取数据位主机在读周期内读取从设备发送的数据位。需要主机将总线拉低至少1微秒通常是1-15微秒。然后释放总线主机释放总线并在15微秒内读取总线状态。读取数据位期间如果总线保持低电平读取到的数据位为0如果总线拉高读取到的数据位为1。要读取一个字节8位需要重复上述读取数据位的过程八次按低位在前LSB first的顺序读取。 假设我们要读取一个字节的数据具体步骤如下 初始化读周期主机将总线拉低至少1微秒然后释放总线。读取每个位在读周期内主机读取从设备发送的每个位数据。完成字节读取重复上述步骤八次读取一个完整的字节。 //接收一位 unsigned char ds18b20_read_bit() { unsigned char i;unsigned char bits;DS18B20_DQ 0;i 2;while (--i); //延时5usDS18B20_DQ 1;i 2;while (--i); //延时5usbits DS18B20_DQ;i 24;while (--i); //延时50usreturn bits; }unsigned char ds18b20_read_byte() {unsigned char i;unsigned char byte 0x00;for(i 0;i8;i){if(ds18b20_read_bit()){byte | 0x01i; }}return byte; }温度变换 DS18B20温度传感器的温度转换功能允许用户读取精确的温度数据。为了实现温度转换必须遵循特定的时序和命令流程。 温度转换流程包括以下几个主要步骤 发送初始化命令主机需要发送初始化命令来复位总线并检测从设备的存在。跳过ROM命令向总线上的所有设备广播命令。所有设备都会响应接下来的命令。发送启动温度转换命令0x44用于启动温度转换Convert T //转换温度 void ds18b20_ConvertT() {DS18B20_Init();ds18b20_write_byte(0xCC);ds18b20_write_byte(0x44); }温度读取 读取DS18B20温度传感器的数据是一个包括命令发送和数据处理的过程。 温度读取过程包括以下几个主要步骤 发送初始化命令主机需要发送初始化命令来复位总线并检测从设备的存在。跳过ROM命令向总线上的所有设备广播命令。所有设备都会响应接下来的命令。发送读暂存器命令用于从DS18B20传感器的暂存器中读取温度数据、报警阈值和配置寄存器信息。 先读取低位后读取高位温度数据是16位带符号的二进制数最低位代表 2 − 4 2^{-4} 2−4摄氏度即0.0625摄氏度 //读取温度 float ds18b20_ReadT() {unsigned char byteL;unsigned char byteH;int temp;float T;DS18B20_Init();ds18b20_write_byte(0xCC);ds18b20_write_byte(0xBE);byteL ds18b20_read_byte();//低字节byteH ds18b20_read_byte();//高字节temp (byteH 8) | byteL;T temp / 16.0;return T; }完整代码 LCD1602液晶显示屏实时获取温度变化 #include REGX52.H #include LCD1602.H #include stdio.h sbit DS18B20_DQ P3^7;unsigned char DS18B20_Init() {unsigned char i;unsigned char ackBit;DS18B20_DQ 1;DS18B20_DQ 0;i 247;while (--i); //延时500usDS18B20_DQ 1;i 32;while (--i);ackBit DS18B20_DQ;i 247;while (--i); //延时500usreturn ackBit; }//发送一位 void ds18b20_write_bit(unsigned char bits) { unsigned char i;DS18B20_DQ 0;i 4;while (--i); //延时10usDS18B20_DQ bits;i 24;while (--i); //延时50usDS18B20_DQ 1; }//接收一位 unsigned char ds18b20_read_bit() { unsigned char i;unsigned char bits;DS18B20_DQ 0;i 2;while (--i); //延时5usDS18B20_DQ 1;i 2;while (--i); //延时5usbits DS18B20_DQ;i 24;while (--i); //延时50usreturn bits; }//发送字节 void ds18b20_write_byte(unsigned char byte) {unsigned char i;for(i 0;i8;i){ds18b20_write_bit(byte 0x01i);//先发送低位} }unsigned char ds18b20_read_byte() {unsigned char i;unsigned char byte 0x00;for(i 0;i8;i){if(ds18b20_read_bit()){byte | 0x01i; }}return byte; }//转换温度 void ds18b20_ConvertT() {DS18B20_Init();ds18b20_write_byte(0xCC);ds18b20_write_byte(0x44); }//读取温度 float ds18b20_ReadT() {unsigned char byteL;unsigned char byteH;int temp;float T;DS18B20_Init();ds18b20_write_byte(0xCC);ds18b20_write_byte(0xBE);byteL ds18b20_read_byte();//低字节byteH ds18b20_read_byte();//高字节temp (byteH 8) | byteL;T temp / 16.0;return T; }unsigned char ack 1;float g_T;void main() {char temp_buff[50];LCD_Init();LCD_ShowString(1,1,helloworld);ack DS18B20_Init();LCD_ShowNum(2,1,ack,3);while(1){ds18b20_ConvertT();g_T ds18b20_ReadT();if(g_T0){//负数LCD_ShowChar(2,1,-);g_T -g_T;}else{LCD_ShowChar(2,1,);}// 使用 sprintf 将浮点数转换为字符串sprintf(temp_buff, %.3f, g_T);LCD_ShowString(2,2,temp_buff);} }
http://www.w-s-a.com/news/743390/

相关文章:

  • 寻找网站建设_网站外包自助打印微信小程序免费制作平台
  • 台式机网站建设vk社交网站做婚介
  • 创建网站得花多少钱网站建设的技术路线
  • 图书馆网站建设汇报免费编程软件哪个好用
  • 手机搭建网站工具网站搜索引擎优化的基本内容
  • 网站快速排名二手交易网站开发技术路线
  • 官方网站开发公司施工企业会计王玉红课后答案
  • 网站建设能用手机制作吗网站建设所需物资
  • 阜阳做网站的公司阳江招聘网最新消息
  • 织梦可以做哪些类型型网站wordpress 融资
  • 建设银行手机银行官方网站下载安装腾讯企点账户中心
  • 品牌设计网站有哪些商务网站建设平台
  • 新增网站备案时间什么是软件外包产业
  • 张家界做网站买了网站模版怎么做
  • 六安品牌网站建设怎么样知名商城网站建设报价
  • 怎么上传自己做的网站杭州网站建设公司平台
  • 网站开发程序是什么知名的电子商务网站
  • 做pc端网站好么平台推广是什么意思
  • 农业信息网站建设意义淘宝官网首页网址
  • 重庆网站设计公司价格贵阳网站建设app开发
  • dw做网站怎么换图片编写网页所用的语言是
  • 外贸网站收录工具个人网站的备案
  • 正规的网站建设工作室海外高延迟服务器做网站
  • 网站设计确认函合肥做网站维护的公司
  • 小说网站推荐网站开发语言怎么查
  • 网页制作基础教程慕课版电子版那种登录才能查看的网站怎么做优化
  • 制作网站用的域名网站域名注册信息查询
  • 公司域名查询官方网站女教师遭网课入侵直播录屏曝
  • 网站开发社交网络功能的作用腾讯公司网站
  • 网站建设需要微信账号和密码网站建设工作汇报