设计内容:用单片机、温度传感器等器件实现温度采集设计安排:1.硬件设计。介绍单片机、温度传感器、显示电路等相关原理与知识;2.软件设计。3.用PROTEUS软件对硬件系统进行仿真;4.两人一组做实物。温度采集系统的仿真效果图电路元器件名称数量备注时钟振荡电路晶振12MHz130pF电容2控制器STC89C52RC单片机1单片机底座1显示电路0.56寸4位共阳红色数码管5461BS1A09-102J排阻1k1采集电路DS18B20温度传感器1供电电路USB接口1万用板PCB板10cm*10cm1复位电路10uF电容18.2kΩ电阻1温度采集系统的元器件清单相关知识点的介绍:一.温度传感器DS18B201-wireBus(单总线)数字温度传感器芯片DS18B20是美国Datlas半导体公司(现已并入MAXIM公司)于20世纪90年代新推出的一种串行总线技术。该技术只需要一根信号线(将计算机的地址线、数据线、控制线合为一根信号线)便可完成串行通信。单根信号线,既传输时钟,又传输数据,而且数据传输是双向的,在信号线上可挂上许多测控对象,电源也由这根信号线供给,所以在单片机的低速(约100kbps以下的速率)测控系统中,使用单根总线技术可以简化线路结构,减少硬件开销。NC:空引脚,悬空不用。VDD:可选电源脚,电源电压范围3~5.5V,当器件工作在寄生电源时,此引脚必须接地。DQ(4脚):数据输入/输出脚。漏极开路,常态下高电平。GND:电源地1.三种封装:(1)采用3引脚TO-92的封装形式(2)采用6引脚TSOC封装形式(3)采用8引脚SOIC封装形式DQVDDC2.DS18B20内部结构图:DS18B20主要有4个数据部分:64位ROM温度传感器高速缓存器配置寄存器8541CRCXXX(1).64位ROM。64位ROM是由厂家用激光刻录一个64位二进制ROM代码,是该芯片的序列号,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(10H)是产品分类标号;接着的48位序列号是一个大于281×10的十进制数编码;最后8位是前面56位的循环冗余校验码()。光刻ROM的作用是使每一个DS18B20的ROM代码都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。1264位ROM的结构(2).温度传感器。温度传感器是DS18B20的核心部分,该功能部件可完成对温度的测量。通过软件编程可将-55~+125ºC范围内的温度值按9位、10位、12位的转换精度进行量化,以上的转换精度都包括一个符号位,因此对应的温度量化值分别为0.5ºC、0.125ºC、0.0625ºC,即最高转换精度为0.0625ºC。以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。DS18B20温度值格式表(高5位为符号位,低12位为二进制数值位)(DS18B20出厂时被设置为12位)转换后得到的12位二进制数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位。如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1(即求补)再乘于0.0625即可得到实际温度。例如:+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。DS18B20温度数据表(3).高速缓存器DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度TH、低温度触发器TL和配置寄存器中的信息。高速暂存器RAM是一个连续8字节的存储器,前两个字节是测得的温度信息,第1个字节的内容是温度的低8位,第2个字节是温度的高8位。第3个和第4个字节是高温触发器TH、低温触发器TL的易失性复制,第5个字节是配置寄存器的易失性复制,以上字节的内容在每一次上电复位时被刷新。第6、7、8个字节用于暂时保留为1。R1R0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750ms温度值分辨率设置表(4).配置寄存器配置寄存器结构TMR1R011111低五位一直都是1,TM是测试模式位(出厂时该位被设置为0,用户不必改动),用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率。3.DS18B20的测温原理低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。系统对DS18B20的操作协议为:初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据4.DS18B20的ROM命令:1.ReadROM(读ROM)的命令代码为33H2.MatchROM(匹配ROM)的命令代码为55H3.SkipROM(跳过ROM)命令代码为CCH4.SearchROM(搜速ROM)命令代码为F0H5.AlarmROM(报警搜速ROM)命令代码为ECH6.WriteScratchpad(写暂存器)命令代码为4EH7.ReadScratchpad(读暂存器)命令代码为BEH8.CopyScratchpad(复制暂存器)命令代码为48H9.ConvertT(温度转换)命令代码为44H10.ReadE(复制回暂存器)命令代码为B8H11.ReadPowerSupply(读电源使用模式)命令代码为B4H2二.MCS-51单片机单片机SCM(SingleChipMicrocomputer),即Microcontroller,是把微型计算机主要部分都集成在一个芯片上的单芯片微型计算机。主要包括了微处理器(CPU)、存储器(ROM,RAM)、输入/输出口(I/O口)和定时器/计数器、中断系统等功能部件。单片机自70年代出现以来,已经有了很大的发展,被广泛应用于机械、测量控制、工业自动化、智能接口和智能仪表等许多领域。1.MCS-51单片机的引脚图:2.MCS-51单片机的内部结构图:(2)时钟电路引脚XTAL1和XTAL2XTAL1(18脚)和XTAL2(19脚):接外部晶体和微调晶体。在89C51中,它们分别是震荡电路反向放大器的输入端和输出端,震荡电路的频率就是晶体固有频率。(1)电源引脚Vcc和VssVcc(40脚):电源端,+5伏Vss(20脚):接地端(3).控制引脚信号RST,ALE,PSEN和EARST/VpD(9脚):RST是复位信号输入端,高电平有效。此引脚的第二功能是VpD,即备用电源的输入端。ALE/PROG(ADDRESSLATCHENABLE/PROGRAMMING(30脚):地址锁存允许信号端。上电后,此端不断向外输出正脉冲信号,此频率为振荡频率fosc的1/6。CPU访问片外存储器时,ALE输出信号作为所存低八位地址的控制信号。PSEN(PROGRAMSTOREENABLE,29脚):程序存储允许输出信号端。在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。此引脚接EPROM的OE端。PSEN端有效时,即允许读出EPROM/ROM中的指令代码。EA/Vpp(ENABLEADDRESS/VOLTAGEPULSEOFRAMMING,31脚):外部程序存储器地址输入端/固化编程电压输入端。当输入信号EA引脚接高电平时,CPU只访问片内EPROM/ROM并执行内部程序存储器中的指令,但是当PC超过0FFFH时,将自动转去执行片外程序存储器中的内容。当输入信号EA引脚接低电平时,CPU只访问外部EPROM/ROM并执行外部程序存储器中的指令,而不管是否具有片内程序存储器。此引脚的第二功能Vpp是对片内EPROM固化编程时,作为施加较高编程电压的输入端。(4).输入/输出端口P0,P1,P2和P3P0口(P0.0-P0.7,39-32脚):一个8为准双向I/O端口。当P0口作为输入口使用时,应首先向锁存器(地址80H)写入全1,此时P0口的全部引脚悬空,可作为高阻抗输入。在CPU访问片外存储器时,P0口分时提供低8位地址和8位数据的复位总线。P0口的地址/数据分时使用分两种情况:一种是用作输出地址/数据总线,另一种是由P0口输入数据。而且P0口作I/O输出时,输出级属开漏电路,必须接上拉电阻,才有高电平输出。P1口、P2口(P1.0-P1.7,1-8脚;P2.0-p2.7,21-28脚):都是上拉电阻的8位准双向I/O端口。每一位可以驱动4个LS型TTL负载。在访问片外EPROM/ROM时,P2口可以输出高8位地址。P3口(P3.0-P3.7,10-17脚):P3口是一个带内部上拉电阻的8位准双向I/O端口。P3每一位都能驱动4个LS型TTL负载。P3口的引脚还具有第二功能。P3口线的第二功能入下表所示口线替代的第二功能P3.0RXD(串行口输入)P3.1TXD(串行口输出)P3.2INT0(外部中断0输入)P3.3INT1(外部中断1输入)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6WR(片外数据存储器“写选通控制”输出)P3.7RD(片外数据存储器“读选通控制”输出)3.单片机的晶振电路:4.单片机的复位电路:三、显示电路hagdbcef数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。1.数码管的分类+Uabcdefg共阴极,需1驱动abcdefg共阳极,需0驱动2.等效电路:3.字形代码与十六进制数的对应关系字符dpgfedcba段码(共阴)(不带小数点的数字编码)段码(共阴)(带小数点的数字编码)0001111113FHBFH10000011006H86H2010110115BHDBH3010011114FHCFH40110011066HE6H5011011016DHEDH6011111017DHFDH70000011107H87H8011111117FHFFH9011011116FHEFH字符dpgfedcba段码(共阳)(不带小数点的数字编码段码(共阳)(带小数点的数字编码)011000000C0H40H111111001F9H79H210100100A4H24H310110000B0H30H41001100199H19H51001001092H12H61000001082H02H711111000F8H78H81000000080H00H91001000090H10H数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱