长沙网站公司品牌wordpress 盒模型大学

web/2025/10/6 21:23:56/文章来源:
长沙网站公司品牌,wordpress 盒模型大学,合肥 电子商务 网站推广,微信微网站开发价格目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机#xff0c;通过DS18B20检测温度#xff0c;滑动变阻器连接数模转换器模拟电流、电压#xff0c;通过LCD1602显示#xff0c;程序里设置温度阈值为40#xff0c;电流阈值为60通过DS18B20检测温度滑动变阻器连接数模转换器模拟电流、电压通过LCD1602显示程序里设置温度阈值为40电流阈值为60电压阈值为100如果超于阈值则蜂鸣器报警。 二、硬件资源 基于KEIL5编写C代码PROTEUS8.15进行仿真全部资源在页尾提供安装包。 编辑 三、程序编程 #include REGX52.H#includeintrins.h#includestdio.h#include Delay.h#include LCD1602.h#define uchar unsigned char#define uint unsigned  intsbit beep  P2^5;   //蜂鸣器引脚sbit DSP2^4;                 //DS18B20温度传感器sbit DS1P2^3;                 //DS18B20温度传感器sbit CSP1^0;                 //adc0832引脚sbit CLKP1^1; sbit DIOP1^2; sbit CS1P1^3;                 //adc0832引脚sbit CLK1P1^4; sbit DIO1P1^5; sbit CS2     P1^6;        //ADC0832引脚定义sbit CLK2    P1^7; sbit DIO2    P2^6;unsigned char count;typedef unsigned char u8;typedef unsigned int  u16;static uint temp;static float ftemp  0.0f;//温度转变uint temp;static uint temp1;static float ftemp1 0.0f;//温度转变uint temp1;static unsigned char num;static int wdyz40,dymax100,dlmax60;  //wd38static uchar u,U,R ,u1,U1,R1,u2,U2,R2;      //定义变量void tmpchange();uint tmp();void tmpchange1();uint tmp1();void beep\_warning();void Time0\_Init()          //定时器初始化{ TMOD  0x01;           //定时器0工作在方式1    IE    0x82; TH0   0xfe; TL0   0x33;     //11.0592MZ晶振0.5msTR01;                 //定时器开始EA1; }void Time0_Int() interrupt 1 //中断程序{TH0   0xfe;             //重新赋值TL0   0x33;num; if(num200){     tmpchange();        //让18b20开始转换温度temp  tmp();       //读取温度ftemp  temp/10.0f; //转换温度tmpchange1();        //让18b20开始转换温度temp1  tmp1();       //读取温度ftemp1  temp1/10.0f; //转换温度num0;} }uchar get\_AD\_Res()            //ADC0832启动读取函数 有害气体{uchar i, data10, data20;CS0;CLK0;DIO1;\_nop\_();CLK1;\_nop\_();CLK0;DIO1;\_nop\_(); CLK1;\_nop\_();CLK0;DIO0;\_nop\_();CLK1;\_nop\_();CLK0;DIO1;\_nop\_(); for(i0; i8; i){CLK1;\_nop\_();CLK0;\_nop\_();data1(data11)|(uchar)DIO; } for(i0; i8; i){data2data2|(uchar)DIOi;CLK1;\_nop\_();CLK0;\_nop\_();}CS1; return(data1  data2)?data1:0; }uchar get\_AD\_Res1()            //ADC0832启动读取函数 颗粒物{uchar i, data10, data20;CS10;CLK10;DIO11;\_nop\_();CLK11;\_nop\_();CLK10;DIO11;\_nop\_(); CLK11;\_nop\_();CLK10;DIO10;\_nop\_();CLK11;\_nop\_();CLK10;DIO11;\_nop\_(); for(i0; i8; i){CLK11;\_nop\_();CLK10;\_nop\_();data1(data11)|(uchar)DIO1; } for(i0; i8; i){data2data2|(uchar)DIO1i;CLK11;\_nop\_();CLK10;\_nop\_();}CS11; return(data1  data2)?data1:0; }uchar get\_AD\_Res2()            //ADC0832启动读取函数 有害气体{uchar i, data10, data20;CS20;CLK20;DIO21;\_nop\_();CLK21;\_nop\_();CLK20;DIO21;\_nop\_(); CLK21;\_nop\_();CLK20;DIO20;\_nop\_();CLK21;\_nop\_();CLK20;DIO21;\_nop\_(); for(i0; i8; i){CLK21;\_nop\_();CLK20;\_nop\_();data1(data11)|(uchar)DIO2; } for(i0; i8; i){data2data2|(uchar)DIO2i;CLK21;\_nop\_();CLK20;\_nop\_();}CS21; return(data1  data2)?data1:0; }void dsreset(void)            //发出命令{uint i;DS0;               i103;    //将总线拉低480us~960uswhile(i0)i--;DS1;    //然后拉高总线若DS18B20做出反应会将在15us~60us后将总线拉低i4;    //15us~60us等待while(i0)i--;  //while(DS);}bit tmpreadbit(void)          //读取数据{uint i;bit dat;DS0;i;          //i for delayDS1;i;i;datDS;i8;while(i0)i--;   return (dat); }uchar tmpread(void)           //读取数据{uchar i,j,dat;dat0;  for(i1;i8;i){jtmpreadbit();dat(j7)|(dat1);   //读出的数据最低位在最前面这样刚好一个字节在DAT里}  return(dat); }void tmpwritebyte(uchar dat)  //传输数据给DS18B20{uint i;uchar j;bit testb;  for(j1;j8;j){testbdat0x01;datdat1;    if(testb)     //write 1{DS0;i;i;DS1;i8;while(i0)i--;}    else{DS0;       //write 0i8;while(i0)i--;DS1;i;i;}} }void tmpchange(void)          //DS18B20开始工作{  dsreset();  Delay(1);  tmpwritebyte(0xcc);  tmpwritebyte(0x44);   }    uint tmp()                    //获得温度{  float tt;uchar a,b;  dsreset();  Delay(1);  tmpwritebyte(0xcc);  tmpwritebyte(0xbe);atmpread();//低八位btmpread();//高八位tempb;temp8;             //two byte  compose a int variabletemptemp|a;tttemp*0.0625; //算出来的是测到的温度数值可到小数点后两位temptt*100.5; //为了显示温度后的小数点后一位并作出四舍五入因为取值运算不能取小数点后的数return temp; }void dsreset1(void)            //发出命令{uint i;DS10;               i103;    //将总线拉低480us~960uswhile(i0)i--;DS11;    //然后拉高总线若DS18B20做出反应会将在15us~60us后将总线拉低i4;    //15us~60us等待while(i0)i--;  //while(DS);}bit tmpreadbit1(void)          //读取数据{uint i;bit dat;DS10;i;          //i for delayDS11;i;i;datDS1;i8;while(i0)i--;   return (dat); }uchar tmpread1(void)           //读取数据{uchar i,j,dat;dat0;  for(i1;i8;i){jtmpreadbit1();dat(j7)|(dat1);   //读出的数据最低位在最前面这样刚好一个字节在DAT里}  return(dat); }void tmpwritebyte1(uchar dat)  //传输数据给DS18B20{uint i;uchar j;bit testb;  for(j1;j8;j){testbdat0x01;datdat1;    if(testb)     //write 1{DS10;i;i;DS11;i8;while(i0)i--;}    else{DS10;       //write 0i8;while(i0)i--;DS11;i;i;}} }void tmpchange1(void)          //DS18B20开始工作{  dsreset1();  Delay(1);  tmpwritebyte1(0xcc);  tmpwritebyte1(0x44);   }    uint tmp1()                    //获得温度{  float tt1;uchar a,b;  dsreset1();  Delay(1);  tmpwritebyte1(0xcc);  tmpwritebyte1(0xbe);atmpread1();//低八位btmpread1();//高八位temp1b;temp18;             //two byte  compose a int variabletemp1temp1|a;tt1temp1*0.0625; //算出来的是测到的温度数值可到小数点后两位temp1tt1*100.5; //为了显示温度后的小数点后一位并作出四舍五入因为取值运算不能取小数点后的数return temp1; }void beep_warning() //温度传感器蜂鸣器警报并且电机转动{ if(ftempwdyz){beep1;  //蜂鸣器报警} if(Rdymax){beep1;  //蜂鸣器报警} if(R1dlmax){beep1;  //蜂鸣器报警} if(R240){beep1;  //蜂鸣器报警} if(R1dlmax){beep1;  //蜂鸣器报警} if(ftemp1  80){beep1;} if(ftempwdyz  Rdymax  R1dlmax  R240  ftemp180){beep0; //蜂鸣器报警} }void main()   //主函数{ beep0;     //蜂鸣器关掉LCD_Init();         //显示屏初始化Time0\_Init(); LCD\_ShowString(1,1,wendu:); LCD\_ShowString(1,9,scp:); LCD\_ShowString(2,1,dy:); LCD_ShowString(2,7,dl:); while(1){uget\_AD\_Res();U(250*u)/128;     //此处将数字信号转化为模拟信号要根据上拉电阻阻值来确定R200*U/250;     //电压u1get\_AD\_Res1();U1(250*u1)/128;     //此处将数字信号转化为模拟信号要根据上拉电阻阻值来确定R1200*U1/250;    //电流u2get\_AD\_Res2();U2(250*u2)/128;     //此处将数字信号转化为模拟信号要根据上拉电阻阻值来确定R2200*U2/250;    //气压LCD_ShowNum(1,7,ftemp,2); //第一行显示温度LCD_ShowNum(1,13,ftemp1,2); //第一行显示温度LCD\_ShowNum(2,4,R,3); LCD\_ShowNum(2,10,R1,3); LCD\_ShowNum(2,14,R2,3);   beep\_warning(); //温度、电压、电流超出报警} }四、实现现象 具体动态效果看B站演示视频 基于51单片机的温度电流电压检测系统压力、电压、温度、电流、LCD1602 全部资料源程序、仿真文件、安装包、演示视频 链接https://pan.baidu.com/s/1AUrubgakYaqnGDA-KKIVqA?pwdw4w9  提取码w4w9

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88115.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么生成网站地图做智能网站

大模型价格战,这匹国产黑马又破纪录了!最低的GLM-4 Flash版本,百万token价格已经低至0.1元,可以说是击穿地心。MaaS 2.0大升级,让企业训练私有模型的成本无限降低。 刚刚,智谱AI开放日上,新一代…

关于电商网站建设与管理的书籍seo编辑培训

期盼已久的MIX11终于开幕了,虽然没有去现场,但是心情还是蛮激动的。 MIX11第一天Keynote实况大概1个多小时,其中介绍了下一代微软浏览器,新工具更新以及新产品发布等,下面总结一下MIX11第一天的主要话题。 1. Internet…

聊城网站建设公司电话帝国网站后台管理系统

前言 在上一章节中我们用W5500-EVB-PICO通过dhcp获取ip地址(网关,子网掩码,dns服务器)等信息,给我们的开发板配置网络信息,成功的接入网络中,那么本章将教大家如何让我们的开发板进行DNS域名解析…

网站按天扣费优化推广如何避免网站被降权

文章目录 函数定义函数案例函数xx 函数定义 函数是将一部分代码进行封装,便于重用、维护,使得代码更加的整洁。 定义函数格式 类型 函数名(形参类型 形参名称,…){ 函数体; return 类型值;} 函…

济源建网站怎么网站代备案

一、前言 用例三要素之一就是对预期结果的断言。 何为断言?简单来说就是实际结果和期望结果去对比,符合预期就测试pass,不符合预期那就测试 failed。断言内容就是你要的预期结果。断言包含对接口响应内容做断言、也包含对落DB的数据做断言。…

滑动网站网站伪静态文件

一、什么是文件? 硬盘(磁盘)上的文件是文件。 在程序设计中,我们从文件功能的角度来分类的话,可以分为程序文件和数据文件。 1.1程序文件 程序文件包含源程序文件(后缀为.c),目标文…

深圳公司网站建设大约多少钱网站底部备案号悬挂

目录 1.概念 2.发展现状 3.主要问题 1.概念 网络安全是指保护计算机网络和其中的数据免受未经授权访问、损坏、窃取或破坏的过程和技术。网络安全涉及预防和检测潜在的威胁和漏洞,并采取措施保护网络的机密性、完整性和可用性。 网络安全的概念包括以下几个方面&am…

华为公司网站建设分析评价十大最耐看装修风格

linux命令之ulimit 1.ulimit介绍 linux命令ulimit是用来控制执行程序的资源 2.ulimit用法 ulimit [参数] ulimit参数 参数说明-n单个程序可以打开的最大文件描述符-u单个程序可以使用的最大进程数-d显示程序数据节区的最大值-m显示程序使用memory的最大上限-a显示当前资源设…

网站建设网页设计做网站wordpress外观插件

临云镜全景相机是阿里巴巴定制全景设备,实现空间三维信息的快速采集,与阿里云三维空间重建平台搭配,帮助品牌商与平台以较低的成本完成空间的快速采集,并支持对室内/室外空间的三维全景展示及空间漫游,同时支持VR浏览、…

凡科网站教程视频拍摄制作合同

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 一:函数基础1.1函数的定义和调用1.2函数的定义格式1.3函数的调用格式1.4第一个函数 二:函数的文档注释三:函数的参数3.1参数的定义和…

网站建设费用大概多少钱佛山新网站建设服务

前言 很荣幸参与到由“极术社区和全志在线联合组织”举办的XR806开发板试用活动。本人热衷于各种的开发板的开发,同时更愿意将其实现到具体项目中。秉承以上原则,发现大家的重心都放在开发中的环境构建过程,缺少了不少实际应用场景的运用&am…

手表哪个网站正品好网站页面

问题:如题 原因: 默认编译时不导入kotlin-reflect.jar包导致,所以在该包中的默认不能使用 解决 需额外在dependencies中添加 kotlin-reflect的编译, compile “org.jetbrains.kotlin:kotlin-reflect:$kotlin-version”

网站开发字体金融网站怎么做的

SQLite支持的常见数据类型如下所示。–INTEGER 有符号的整数类型–REAL 浮点类型–TEXT 字符串类型,采用UTF-8和UTF-16字符编码–BLOB 二进制大对象类型,能够存放任何二进制数据(C语言中)使用步骤:1.新建项目时,先导入系统框架(C语言). (libsqlite3&…

贵港网站建设培训网站挂标 怎么做

SPI介绍 SPI:串行外设设备接口(Serial Peripheral Interface),是一种高速的,全双工,同步通信总线。 IIC总线与SPI总线对比 全双工:同一时刻既能接收数据,也能发送数据。 CS&…

郑州网站建设江宁做网站

在线Linux命令查询工具 emacs 功能强大的全屏文本编辑器 补充说明 emacs命令是由GNU组织的创始人Richard Stallman开发的一个功能强大的全屏文本编辑器,它支持多种编程语言,具有很多优良的特性。有众多的系统管理员和软件开发者使用emacs。 语法 e…

杨浦做网站公司小米网站设计

在深入研究什么是Akka之前,让我们退后一步来了解并发编程的概念在应用程序开发世界中是如何演变的。 应用程序已经从大型的整体程序演变为面向对象的模型。 随着Java EE和Spring框架的出现,应用程序设计演变为更多的基于流程或任务的设计模型。 EJB或Poj…

制作网站建设的公司cpanel 安装wordpress

一:题目 二:上码 class Solution { public:/**思路&#xff1a;1.破解这道题的关键是 我们得破解这个无限循环2.根据这个题目给出的定义2 我们可以知道 无限循环的条件是我们 在计算的过程中出现了自己的数*/bool isHappy(int n) {unordered_set<int>s;s.insert(n);…

贵阳开发网站怎么制作一个免费的网站模板

报错问题解释&#xff1a; MySQL 8.0 在Windows系统中通常不需要 my.ini 文件&#xff0c;因为安装程序会在 %PROGRAMDATA%\MySQL\MySQL Server 8.0\ &#xff08;通常是 C:\ProgramData\MySQL\MySQL Server 8.0\&#xff09;创建默认的配置文件。如果你的系统中找不到 my.ini…

东莞沙田门户网站建设惠州做网络推广的

目录表优化数据类型的选择避免列的值为NULLVARCHAR和CHAR日期和时间类型选择标识符&#xff08;主键&#xff09;的类型错误的表结构一张表中有太多列太多的关联适当建立冗余数据混用范式和反范式建立缓存表和汇总表参考表优化 此文章用于记录《高性能MySQL》一书的知识点。 …

建网站哪家好案例厦门网站推广公司哪家好

ONLYOFFICE 桌面编辑器 8.1 现已发布&#xff1a;功能完善的 PDF 编辑器、幻灯片版式、改进从右至左显示、新的本地化选项等 【工具推荐】ONLYOFFICE 桌面编辑器 8.1&#xff1a;引入全新功能&#xff0c;提升文档处理体验 一、什么是ONLYOFFICE&#xff1f; ONLYOFFICE 是…