第八章 水温加热控制系统.pptVIP

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
水温加热控制系统; 本系统采用以单片机(Atmega16)为核心的定时控 制,实现水温从室温到100℃之间任意设定温度的 恒温控制,并能把实时温度和设定温度,实时时间 和设定时间显示出来。 ; ; 1.恒温控制系统的基本控制原理与系统构成 2.了解学习DS18B20的使用方法及其工作原 理,编程调试DS18B20。 3.键盘的基本应用知识; 根据项目基本要求,设计任务主要完成对壶内 的水温进行控制,在加热的过程当中对有关的数据进 行处理显示。所以我们采用了DS18B20温度传感器和BC7281,采用DS18B20温度传感器是因为测 量精度高,能把测到的数据直接传送给单片机而不需 要传送装置,BC7281可以实现键盘控制.;显示温度 ;;【Atmega16单片机】; 可控硅; 可控硅和其他半导体器件一样,有体积小、效率高、稳定性 好、工作可靠等优点。它的出现,使半导体技术从弱电领域 进入了强电领域,成为工业、农业。交通运输、军事科研以 至商业、民用电器等方面争相采用的元件。 ;【DS18B20温度传感器 】;(2)DS18B20的内部结构; 这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。 3.DS18B20温度传感器的存储器 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL的结构寄存器。 ; .配置寄存器;完成温度转换及复位;;void init_1820(void) { ddrt|=D0; //设置端口输出 port|=D0; //输出一个脉冲 port=~D0; delay_nus(600); //延时480us以上 port|=D0; //输出一个脉冲 ddrt=~D0; delay_nus(60); //15~60us while(pinD0); //等待应答 ddrt|=D0; //设置输出 port|=D0; //输出高电平 delay_nus(200); //60~240us };void write_1820(unsigned char x) { unsigned char m; for(m=0;m8;m++) { port=~D0; //写数据,从低位开始 if(x(1m)) //判断数据极性 port|=D0; else port=~D0; delay_nus(60); //延时15~60us port|=D0; } port|=D0; //结束写数据,置高总线 } ;unsigned char read_1820(void) { unsigned char temp=0,k,n; for(n=0;n8;n++) { port=~D0; //输出一个起始脉冲 port|=D0; ddrt=~D0; //设端口为输入 k=(pinD0); //读数据,从低位开始 if(k) //判断数据极性 temp|=(1n); else temp=~(1n); delay_nus(80); //延时60~120us ddrt|=D0; //设端口为输出 } return (temp); //返回读出的数据 };unsigned int Read_1820_temprter(void) { unsigned int count; unsigned char temh,teml; init_1820(); //复位18b20 write_1820(0xcc); //发出转换命令 write_1820(0x44); delay_nus(400); init_1820(); delay_nus

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档