书签 分享 收藏 举报 版权申诉 / 29
上传文档赚钱

类型基于单片机的数字温度计设计课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3042475
  • 上传时间:2022-06-25
  • 格式:PPT
  • 页数:29
  • 大小:515KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《基于单片机的数字温度计设计课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    基于 单片机 数字 温度计 设计 课件
    资源描述:

    1、基于单片机的数字温度计设计信息学院 郭茹侠 刁含楼总体设计硬件设计软件设计调试总结 设计方案总体设计总体设计l 功能l 系统框图 功能:数字式温度计测温范围在55125,误差在0.5以内。温度测量间隔时间选择12s, 通过键盘扩展(行列式或独立式按键),有温度上下限值及温度报警功能。在数字式温度计的制作中主要以51单片机来控制,用温度传感器检测外界的温度,软件的显示子程序用四位一体数码管显示出来,精确到1位小数点,在超出测温范围时,进行报警功能。在焊接电路时要预留电源线,外接单片机AT89S51调试设计要求 测温DS18B20单片机主控器显示显示驱动按键报警复位电路数字式温度计系统框图数字式温

    2、度计硬件说明 本电路由单片机,测温电路,复位电路,报警电路,显示驱动与显示电路等组成了数字式温度计。具体连线如原理图所示来进行连接。布线为数字式温度计PCB电路所示。 主控制器单片机AT89S51具有低电压和小体积等特点,两个端口刚好满足系统的设计需要很适合便携手持式产品的设计使用。其中时钟振荡电路使用了石英晶体振荡器,接18、19脚,配置了相应的晶振、电容,提供单片机脉冲信号,使单片机能正常的工作。 31脚的EA引脚则接到正电源端,使用片内程序存储器。单片机电路单片机电路测温电路测温电路 测温电路则主要采用了型号为DS18B20测温传感器(DS18B20温度传感器是智能温度传感器,它能直接读

    3、出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式)。复位电路复位电路 复位电路是采用了按键手动复位电路,外接电容电阻与点动开关,这种方式是采用了外部复位电路的电容充放电来实现的,该电路通过电容充电在RST引脚上加了一个高电平,而高电平的持续时间就是取决于这外接的电容与电阻的参数了,按键的功能就是实现人为的复位操作。报警电路报警电路 报警电路由单片机的P10口与外接的蜂鸣器,放光二极管等组成,用于电路在超限的情况下发出声光报警,也可通过取反来实现电路的闪烁报警。显示驱动与显示电路显示驱动与显示电路 显示驱动与显示电路采用了共阳四位LED数码管,用三极管做驱动。数字式温度计

    4、原理图数字式温度计原理图 数字式温度计数字式温度计PCB电路电路 2112122121212121123456123123123123123212121212121212121212121212121212121121212212122232425262728293031323334353637383940201918171615141312111098765432112345612111098712312软件设计软件设计 软件设计分为主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序等。 主程序流程图主程序流程图 初始化调用显示子程序1S到?读出温度值温度计处理显

    5、示数据刷新发温度转换开始命令初次上电?NY 主程序的主要功能是负责温度的实时显示、读出并处理 DS18B20 的测量温度值温度测量每1s进行一次。 读出温度子程序读出温度子程序 读出温度子程序的主要功能是读出 RAM 中的 9 字节。在读出时须进行 CRC 校验,校验有错时不进行温度数据的改写。 发DS18B20复位命令发跳过ROM命令移入温度暂存器读取操作,CRC校验发读取温度命令结束9字节完?CRC校验正确?NNYY温度转换命令子程序流程图温度转换命令子程序流程图 温度转换命令子程序主要是发温度转换开始命令。当采用 12 位分辨率时,转换时间约为 750 ms 。在本程序设计中,采用 1s

    6、显示程序延时法等待转换的完成。发DS18B20复位命令发跳过ROM命令发温度转换命令结束计算温度子程序流程计算温度子程序流程 计算温度子程序将 RAM 中读取值进行 BCD 码的转换运算,并进行温度值正负的判定。结束开始温度零下?温度值取补码置“-”标志置“+”标志计算整数位温度BCD值计算小数温度BCD值NY显示数据刷新子程序流程图显示数据刷新子程序流程图 显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高数据显示位为0时,将符号显示位移入下一位。温度数据移入寄存器十位数?结束百位数?十位数显示符号百位数不显示百位数显示数据(不显示符号)NYNY调试调试 先万用表检查硬件连

    7、接是否正常,正负极电源是否短路,硬件没问题后。再在程序中测试软件,没问题后再把硬件和软件连接起来一起调试,先测试显示部分,没问题后再全部调试,直至没问题为止进度安排进度安排起迄日期起迄日期 工工 作作 内内 容容14.5.17-14.5.23熟悉课题,查找资料,制作PPT14.5.24-14.5.30熟悉原理,确定总体方案,购买材料14.6.1-14.6.13系统硬件设计14.6.14-14.6.20软件设计14.6.21-调制硬件电路与软件,整理,撰写论文附录附录/*程序功能:利用单线制DS18B20温度传感器 LED数码管显示当前的温度值*/#include /DS18B20温度传感器程序

    8、 code unsigned char seg7code=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92, 0 x82,0 xf8,0 x80,0 x90,0 xff; /不带小数点的共阳数码管段码code unsigned char seg7codeB=0 x40,0 x79,0 x24,0 x30,0 x19,0 x12, 0 x02,0 x78,0 x00,0 x10,0 xff; /带小数点的共阳数码管段码sbit P2_0 = P20;sbit P2_1 = P21;sbit P2_2 = P22;sbit P2_3 = P23;sbit DQ=P36; /数

    9、据传输线接单片机的相应的引脚 unsigned char tempL=0; /设全局变量unsigned char tempH=0; unsigned int sdata;/测量到的温度的整数部分unsigned char xiaoshu1;/小数第一位unsigned char xiaoshu2;/小数第二位unsigned char xiaoshu;/两位小数bit fg=1; /温度正负标志/*延时子程序 */这个延时程序的具体延时时间是time=i*8+10,适用于小于2ms的延时void delay(unsigned char i) for(i;i0;i-);/*/ 延时子程序/*v

    10、oid delay1ms() unsigned char i; for(i=124;i0;i-); /延时124*8+10=1002us/*初始化程序 */Init_DS18B20(void) unsigned char x=0; DQ=1; /DQ先置高 delay(8); /稍延时 DQ=0; /发送复位脉冲 delay(80); /延时(480us) DQ=1; /拉高数据线 delay(5); /等待(1560us) x=DQ; /用X的值来判断初始化有没有成功,18B20存在的话X=0,否则X=1 delay(20); /*读一个字节*/ReadOneChar(void) /主机数据

    11、线先从高拉至低电平1us以上,再使数据线升为高电平,从而产生读信号unsigned char i=0; /每个读周期最短的持续时间为60us,各个读周期之间必须有1us以上的高电平恢复期unsigned char dat=0; for (i=8;i0;i-) /一个字节有8位 DQ=1; delay(1); DQ=0; dat=1; DQ=1; if(DQ) dat|=0 x80; delay(4); return(dat);/* *写一个字节*/WriteOneChar(unsigned char dat) unsigned char i=0; /数据线从高电平拉至低电平,产生写起始信号。1

    12、5us之内将所需写的位送到数据线上, for(i=8;i0;i-) /在1560us之间对数据线进行采样,如果是高电平就写1,低写0发生。 DQ=0; /在开始另一个写周期前必须有1us以上的高电平恢复期。 DQ=dat&0 x01; delay(5); DQ=1; dat=1; delay(4); /读温度值(低位放tempL;高位放tempH;)ReadTemperature(void) Init_DS18B20(); /初始化 WriteOneChar(0 xcc); /跳过读序列号的操作 WriteOneChar(0 x44); /启动温度转换 delay(125); /转换需要一点时

    13、间,延时 Init_DS18B20(); /初始化 WriteOneChar(0 xcc); /跳过读序列号的操作 WriteOneChar(0 xbe); /读温度寄存器(头两个值分别为温度的低位和高位) tempL=ReadOneChar(); /读出温度的低位LSB tempH=ReadOneChar(); /读出温度的高位MSB if(tempH0 x7f) /最高位为1时温度是负 tempL=tempL; /补码转换,取反加一 tempH=tempH+1; fg=0; /读取温度为负时fg=0 sdata = tempL/16+tempH*16; /整数部分xiaoshu1 = (t

    14、empL&0 x0f)*10/16; /小数第一位xiaoshu2 = (tempL&0 x0f)*100/16%10;/小数第二位xiaoshu=xiaoshu1*10+xiaoshu2; /小数两位/*显示函数*void Led(unsigned int date) if(fg=1) P2_0 = 1;P2_1 = 0;P2_2 = 0;P2_3 = 0; /P1.0=0,选通第一位 P0=seg7codedate/10; /十位数,查表,输出 delay1ms(); P0=0 xff; /消隐 P2_0 = 0;P2_1 = 1;P2_2 = 0;P2_3 = 0; /P1.1=0,选通

    15、第二位,个位数 P0=seg7codeBdate%10; delay1ms(); P0=0 xff; /消隐 P2_0 = 0;P2_1 = 0;P2_2 = 1;P2_3 = 0; /P1.3=0,选通第三位,小数点第一位 P0=seg7codexiaoshu1; delay1ms(); P0=0 xff; /消隐 P2_0 = 0;P2_1 = 0;P2_2 = 0;P2_3 = 1; /P1.3=0,选通第四位,小数点第二位 P0=seg7codexiaoshu2; delay1ms(); P0=0 xff; /消隐 if(fg=0) /温度为负时显示的数据 P2_0 = 1;P2_1

    16、= 0;P2_2 = 0;P2_3 = 0; /P1.0=0,选通第一位 P0=seg7code11; /显示负号 delay1ms(); P0=0 xff; /消隐 P2_0 = 0;P2_1 = 1;P2_2 = 0;P2_3 = 0; /P1.1=0,选通第二位,十位数 P0=seg7codedate/10; delay1ms(); P0=0 xff; /消隐 P2_0 = 0;P2_1 = 0;P2_2 = 1;P2_3 = 0; /P1.3=0,选通第三位,个位数 P0=seg7codeBdate%10; delay1ms(); P2_0 = 0;P2_1 = 0;P2_2 = 0;

    17、P2_3 = 1; /P1.3=0,选通第四位,小数点第一位 P0=seg7codexiaoshu1; delay1ms(); P0=0 xff; /消隐 /* /主程序 main() while(1) ReadTemperature(); Led(sdata); 序号序号名称名称标号标号封装封装型号型号数量数量1电容C1CAPPR2-5x6.8Cap Pol112电容C2、C3RAD-0.3Cap23发光二极管DS1DS3LED-1LED234电阻R1R18AXIAL-0.4Res2185Header, 2PinP2MHDR1X2MHDR1X216Header, 6PinP3MHDR1X2MHDR1X217三极管Q1Q5BCY-W3PNP58蜂鸣器LS1PIN2BELL19点动开关S1S4SPST-2SW-PB410单片机U1PDIP40AT89S51111晶振Y1BCY-W2/D3.1XTAL112四位LED显示器U2LEDSM410561K113温度传感器U3BCY-W3/E4D S18B201元件清单

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:基于单片机的数字温度计设计课件.ppt
    链接地址:https://www.163wenku.com/p-3042475.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库