《基于单片机的数字温度计设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的数字温度计设计.doc(36页珍藏版)》请在三一办公上搜索。
1、四川师范大学成都学院现代通信原理课程设计 基于单片机的数字温度计测控仪学生姓名陈 兵学 号2010101066所 在 系通信工程系专业名称通信工程班 级2010级通信1班指导教师孙 活四川师范大学成都学院二一二年十一月数字温度计测控仪的设计学生:陈 兵 指导教师:孙活内容摘要:随着单片机技术的迅速发展,单片机的应用正在不断地推广,由于它具有体积小,功能全,功耗低,价格便宜,性价比高,工作可靠方便等诸多优点而独具特色,所以在与微控制有关的系统中应用非常广泛。在日常生活及工业生产过程中,温度是生产过程和科学实验中普遍而且重要的物理量。温度测量是生活中和工程领域中经常要解决的问题。传统的测温元件有热
2、电阻和热电偶。然而其测出的一般都是电压,进而转换成对应的温度,在这过程中需要较多的外部硬件支持,硬件电路和软件调试也相对复杂,而且制作成本也非常高。而数字温度计的设计是采用STC89C52单片机为主控制芯片和美国DALLAS半导体公司推出的智能温度传感器DS18B20为检测元件组成的温度控制系统。因为DS18B20可以直接读出温被测温度值,而且采用“一线总线”,减少了外部的硬件电路,具有易使用和高精度的特点。根据功能要求系统设计了相关的硬件电路和应用程序。硬件电路主要包括STC89C52单片机最小系统,测温电路、数码管显示电路等。程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度
3、子程序,数码管显示程序等。关键词:温度 单片机 DS18B20 数字温度计 Digital thermometer measurement and control instrument designAbstract: With the rapid development of single-chip microcomputer technology, the application of single chip microcomputer, is continuously promotion, because it has small volume, the function is compl
4、ete, low power consumption, low price and high performance/price ratio, reliable work is convenient wait for a lot of advantage and unique, so in and micro control the related system application is very wide. In our daily life and industrial production process, the temperature is the process of the
5、production and scientific experiment widespread and important physical quantity. Temperature measurement is life and in the field of engineering often want to solve the problem. The traditional temperature measurement element have thermal resistance and the thermocouple. Yet its factors are generall
6、y voltage, and then converted to the corresponding temperature, in this process needs more external hardware support, hardware circuit and software debugging is relatively complex, and the production cost is also very high. And the design of the digital thermometer is used mainly STC89C52 single-chi
7、p microcomputer control chip and the United States DALLAS semiconductor company launch of the intelligent temperature sensor DS18B20 for detecting element composition of the temperature control system. Because DS18B20 can directly read temperature measured temperature value, but also adopted a line
8、bus, reduce the external hardware circuit, has the characteristics of high precision and easy to use. According to the functional requirement system design the related hardware circuit and applications. The hardware circuit STC89C52 including single chip minimize system, temperature measurement circ
9、uit, digital tube display circuit, etc. Program mainly includes the main program, read temperature subroutine, temperature conversion command subroutine, calculation of temperature subroutine, digital tube display program.Keywords: temperature MCU DS18B20 Digital thermometer目 录前言1概述1设计目的1设计原理1设计难点21
10、系统的总体设计方案21.1 总体方案设计21.2总体设计框图22开发工具ALTIUM DESIGNER与KEIL32.1 Keil软件32.1.1 Keil软件简介32.1.2 Keil软件功能32.2 Altium Designer42.2.1 Altium Designer简介42.1.2 Altium Designer功能模块42.3 本节小结63 硬件电路设计63.1单片机控制模块63.1.1单片机简介63.1.2 单片机最小系统电路123.2 MAX7219控制的显示电路123.2.1 MAX7219简介123.2.2 MAX7219引脚功能133.2.3 MAX7219驱动数码管电
11、路图143.3 温度监测模块143.3.1 DS18B20简介143.3.2 DS18B20引脚说明153.3.3 DS18B20电路图153.4 温度显示电路163.5电源模块164 软件设计164.1 主程序174.2 读出温度子程序174.3 温度转换命令子程序184.4计算温度子程序1945 温度数据刷新子程序195 系统的功能206设计总结20附录1:系统电路图22附录2:系统PCB图23附录3:系统源程序24参考文献:30数字温度计测控仪的设计前言随着时代的进步,数字化无疑是人们追求的目标之一,它给人们带来了很多方便,其中数字温度计就是一个很好的例子,一切朝着数字化,智能化控制方向
12、发展。数字温度计与传统的指针式温度计相比,具有精度高,使用方便,测量范围广,直观的显示温度等特点,其主要用于科研实验室以及对测温比较准确的场所。 温度计是常用的测量仪器,常用于工业过程中温度的测量。在工业生产中,人们不仅要了解当前的温度,还希望能了解工作过程中温度的变化情况。随着工业的发展,对温度测量仪的要求是越来越高的,但数字温度计具有抗干扰能力强,功耗小,可靠性高,简单的结构等特点,因此其更加适合于工业中对温度在线测量的要求。本文采用单片机STC89C52为主控制芯片设计了温度实时测量及控制系统。单片机STC89C52 能够根据温度传感器DS18B20 所采集的温度在数码管上实时显示,通过
13、控制从而把温度控制在设定的范围之内。概述设计目的随着人们生活水平的提高,单片机的应用也越来越广,单片机的控制也是人们追求目标之一,它给人们带来很多方便,数字温度计就是一个很好的例子。本设计介绍了数字温度计与传统的指针式温度计相比,具有很多特点,并且应用也非常广泛。在生活中人们可以随处看到数字温度计的踪影。目前,数字温度计在温控系统中也得到广泛的应用。设计原理本设计是基于单片机AT89S52设计的数字温度计,用来测量环境温度,以及检测环境温度的变化情况。它的测量范围在-55125。整个系统分为四部分:温度传感器,单片机控制器,LED数码显示器以及扫描驱动。整个设计的核心是AT89S52,通过数字
14、温度传感器DS18B20来实现温度的测量,并进行A/D转换,因此其输出为数字形式,这就为单片机处理提供了方便,但也同时对编程提高了要求。单片机把测量到的温度进行相应的计算,使其能在数码管上输出对应的温度。LED数码管采用四位一体共阳极的数码管。设计难点此设计重要部分在与编程,程序要实现对温度的采集,转换,BCD值的计算,温度的显示,以及温度的刷新,其外围电路较简单,所以运用的器件相对较少,实现起来也相对容易。1系统的总体设计方案1.1 总体方案设计因为本设计是测量温度,因此可以利用热敏电偶之类的元件的感温效应来 测量温度,并将温度的引起的电压变化采集出来,并将其进行A/D转换,就可以利用单片机
15、对数据进行处理,并经过电路在数码管上显示出来。但是此感温电路比较麻烦,所以我们直接采用温度传感器DS18B20,其可以很容易的读取被测温度值,进行转换就可以实现设计要求,所以给我们的设计带来了很多的方便。实现温度的测量,我们要考虑的主要是以下三个方面的内容:u 温度随时都在变化,要做到对温度的时时监控。u 温度的精度很重要,要做到高精度。u 测量温度时系统的稳定性要好才行。于是本设计就是以这三个部分为核心内容展开。1.2总体设计框图数字温度计的总体设计方框图如图所示,温度传感器采用的是DS18B20,控制器采用的是单片机AT89C52,用四位共阳极LED数码管以串口传送数据的方式来实现温度的显
16、示。温度传感器AT89C52主控制器四位LED数码显示器扫描驱动图1.2-1 总体设计框图2开发工具Altium Designer与Keil2.1 Keil软件2.1.1 Keil软件简介Keil C51软件开发系统是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。C语言与汇编相比,在功能上、可读性、结构性、可维护性上有很大的优势,因而易学易用。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件
17、时更能体现高级语言的优势。Keil C51软件是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为Vision(通常称为V2)。Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,由以下几部分组成:Vision IDE集成开发环境C51编译器、A51汇编器、LIB51库管理器、BL51连接/定位器、OH51目标文件生成器以及 Monitor-51、RTX51实时操作系统。2.1.2 Keil软件功能Keil进行软件仿真开发的主要步骤为:编写源程序并保存建立工程并添加源文件设置工程编译、连接,
18、产生目标文件程序调试。Keil使用“工程”(Project)的概念,对工程进行编译、连接等操作。工程的建立、设置、编译及连接产生目标文件的方法非常方便,易于掌握。首先选择菜单Project-New Project,建立新工程并保存;工程保存后会弹出一个设备选择对话框,选择CPU后点确定返回主界面。然后建立源程序文件,然后打开“Target1”,选择Source Group1,右击鼠标弹出快捷菜单,选择“Add File to Group Source Group1”,出现一个对话框,要求寻找并加入源文件。加入源程序文件后点close返回主界面,就会看到所加入的文件,双击文件名,即可打开该源程序
19、文件。紧接着对工程进行设置,选择工程管理窗口的Target1,再选择Project-Option for TargetTarget1(或点右键弹出快捷菜单再选择该选项),打开工程属性设置对话框,共有8个选项卡,主要设置工作包括在Target选项卡中设置晶振频率、在Debug选项卡中设置实验仿真板等,如要写片,还必须在Output选项卡中选中“Creat Hex Fi”;其它选项卡内容一般可取默认值。工程设置后按F7键(或点击编译工具栏上相应图标)进行编译/汇编、连接以及产生目标文件。成功编译、连接后,选择菜单Debug-Start/Stop Debug Session(或按Ctrl+F5键)进
20、入程序调试状态,Keil提供对程序的模拟调试功能,内建一个功能强大的仿真CPU以模拟执行程序。Keil能以单步执行(按F11或选择Debug-Step)、过程单步执行(按F10或选择Debug-Step Over)、全速执行等多种运行方式进行程序调试。如果发现程序有错,可采用在线汇编功能对程序进行在线修改(Debug-Inline Assambly),不必执行先退出调试环境、修改源程序、对工程重新进行编译/汇编和连接、然后再次进入调试状态的步骤。对于一些必须满足一定条件(如按键被按下等)才能被执行的、难以用单步执行方式进行调试的程序行,可采用断点设置的方法处理(Debug-Insert/Rem
21、ove Breakpoint或Debug-Breakpoints等)。在模拟调试程序后,还须通过编程器将.hex目标文件烧写入单片机中才能观察开发板的运行状况。2.2 Altium Designer2.2.1 Altium Designer简介1987-1988年由美国ACCEL Technologies Inc 公司推出了第一个应用于电子线路设计的软件包TANGO,这个软件包开创了电子设计自动化(EDA)的先河。随着电子行业的发展,TANGO日益不满足行业的需要。为了满足时代的需要,Protel Technology公司推出了Protel For DOS作为TANGO的升级版,从此Prote
22、l 的名字在行业类日益响亮。20世纪80年代末期,Protel 推出了Protel For Windows 1.0、Protel For Windows 1.5等版本。20世纪90年代中期Protel 推出了Protel 3.x版本。1998年Protel 推出了Protel 98,这个版本获得了业界的一致好评。1999年Protel 有推出了Protel 99版本。2005年Protel 软件的原厂商Altium推出了Protel 系列的最高端版本 Altium Designer。 Altium Designer是业界首例将流程、集成化PCB设计、可编程器件设计和基于处理器设计的嵌入式软件开
23、发功能整合在一起的产品。2.1.2 Altium Designer功能模块库管理:基于单一数据库的一体化的库管理支持所有元件模式,并和三维模型,数据页以及元件供应商相链接。版本控制和外部项目管理系统的单点控制。仿真 - 混合信号:SPICE 3F5/XSPICE 混合信号电路仿真(同时兼容于 PSpice) 。信号完整性 - 原理图级别:布线前的信号完整性分析,并包含全功能的,使用缺省PCB参数的分析引擎 。PCB - 板卡定义&规则:在机械层上放置/编辑对象,用于高速设计的设计规则,用户自定义的层堆栈,自原理图转换设计,放置元件,实时制造规则检查。 PCB - 三维可视化技术:三维可视化技术
24、提供了电路板逼真并且实时渲染的视图,包括 MCAD-ECAD 支持技术:支持 STEP 模型的直接连接、实时的间隙 。设计环境:检查、检查二维和三维模式下的配置情况,直角投影,和二维和三维PCB模型的纹理映射。 PCB 版图:图片剪贴板支持,在电器层上放置/编辑对象,创建封装,从库放置,导入向导。PCB - 交互式布线:交互式布线(推挤、套锁和自动完成模式),差分对,交互式/自动放置,动态管脚/部件互换,拖拽操作中的障碍规避。拓扑自动布线技术:拓扑自动布线技术,具有全面的层、对象和设计规则支持,自动布线 PCB 文件。信号完整性 - 版图级:布局后信号完整性分析、支持 PCB 布线分析的完整分
25、析引擎。 PCB - 制造文件输出:多项输出发布功能允许将多个输出文件整合进一个单一的格式类型文件,以更好地管理数据;项目历史和支持文件检查受控,并支持PDF发布,打印或者Web格式;生成 Gerber、NC Drill、ODB+ 文件和 STEP。 DXP平台:软件集成平台,为所有编辑器和浏览器提供GUI支持,用于设计文档预览的设计洞察功能,设计编译器,文件管理,版本控制接口和脚本引擎。原理图 - 浏览器:打开、查看及打印原理图文档和器件库。PCB - 浏览器:打开、查看及打印PCB文档,增加了查看和三维PCB文档导航的功能 CAM 文件 - 浏览器:打开并导入CAM和机械文件。 原理图 -
26、 Soft Design 编辑:所有原理图文档和库文件编辑功能(不包括PCB项目和免费文件), 网表生成。 仿真 - VHDL:VHDL仿真引擎,集成调试器和波形观察器。支持第三方ModelSim和Active-HDL功能. NanoBoard 支持:支持一系列自动配置的、可互换的目标 FPGA子板(来自所有芯片商)以及插入式外设板,提升整个系统架构的灵活性。为 FPGA设 计提供电源监控器 。 FPGA 设计:C 语言定制 FPGA 逻辑开发、OpenBus、原理图、VHDL 和 Verilog 设计综合,定制Wishbone 接口元件. FPGA 处理器内核:支持一系列用于FPGA的32-
27、bit软处理器包括:TSK3000A, Xilinx MicroBlaze , Altera Nios II , Actel CoreMP7 。同时支持PowerPC (PPC405A) 分离处理器, Xilinx Virtex II Pro, 和一些老的版本例如, 8-bit 微处理器 (TSK51, TSK52, TSK80 and TSK165)。 处理器内核嵌入式工具:全系列软件开发工具支持32bit处理器的C编译器/组装器/源代码调试器/仿真器即插即用的软件平台搭建器支持硬件更容易。 FPGA可编程仪器:可用于远程接入的预综合FPGA即用仪器,包括定制仪器,终端模拟器,数字I/O,交
28、点转化,逻辑分析仪,频率发生器,计数器和应用控制面板。 JTAG软器件支持:实时连接到软器件,如虚拟仪器和运行在 FPGA内的处理器。 JTAG硬件器件支持:对任意 JTAG 器件进行交互式引脚状态监控。 IP核心设计的复用:支持对第三方FPGA的IP核心和开发以及对IP库的复用。 导入/导出:支持对OrCAD,Allegro,PADS,DxDesigner,Cadstar,P-CAD, CircuitMaker,Protel以及更多的软件生成的设计和库数据的导入和导出。 原理图-编辑:所有原理图文档和库文件编辑功能,网表生成。2.3 本节小结本节主要简单介绍了设计此系统需要用到Altium
29、Designer和编译软件Keil,了解这两种软件发展,功能和初步用法,了解Altium Designer的功能模块,以及keil的调试功能等,为以后设计打好基础。相信通过后面的学习会有更深体会。3 硬件电路设计3.1单片机控制模块3.1.1单片机简介单片机是是微型计算机的一种,它是将计算机的CPU,I/O接口,内存集成在一块硅片上的微型计算机,又称微控制器。它是典型的嵌入式微控制器,不仅是完成一个逻辑功能的芯片,而是把计算机系统集成到一块小小的芯片上。它是由存储器,控制器,输入输出设备,运算器构成。单片机是一种集成电路芯片,它采用了超大规模的集成电路技术把中央处理器CPU,只读存储器ROM,
30、随机存储器RAM,多种I/O口,中断系统和定时器/计数器,系统时钟,系统总线,脉宽调制电路,模拟电路转换器,A/D转换器等功能,集成在一块小的硅片上,构成一个小而完整的微型计算机系统,在工业和生活中应用非常广泛。单片机有很多中型号的产品,例如普通型(51系列)有8031,8051,89C51,89S51等,增强型(52系列)有8032,8052,89C52,89S52等。它们的结构,引脚和封装基本相同,主要差别在存储器的配置上。本设计采用的是89C52作为主控制器。下面将介绍89C52。单片机89C52的引脚如图3.1.1-1。图3.1.1-1 89C52单片机的引脚Vss:接地端。Vcc:电
31、源端,接+5V。XTAL1:接外部晶体的引脚,CHMOS单片机采用外部时钟信号时由次引脚输入 。XTAL1:接外部晶体的引脚,HMOS单片机采用外部时钟信号时由次引脚输入 。RST/Vpd:复位信号输入。VCC掉电后,该引脚可接备用电源,低功耗条件下保持内部RAM中的数据不丢失。ALE/:地址锁存允许。当单片机访问外部存储器时,该管脚的输出信号ALE用于锁存P0的低8位地址。ALE输出的频率为时钟振荡频率的1/6。对单片机8751内EPROM编程时,编程脉冲由该管脚接入。:程序存储器允许,输出读外部程序存储器的选通信号,指令操作期间,的频率为晶体振荡频率的1/6,若次过程中有访问外部存储器的操
32、作, 就会有一个机器周期中的信号将不会出现。/Vpp:当=0,单片机只访问外部程序存储器。当=1,单片机访问内部程序存储器,若地址超过内部存储器的范围时,单片机将自动访问外部程序存器。P0口:P0口可作为输出/输入端口,但在应用中常作为数据总线/地址口用,其低8位地址与数据线分时使用P0端口。低8位地址由ALE信号的下降沿锁存到外部地址锁存器中。而高8位则由P2口输出。P1口:P1口的每一个端口都可以作为可编程的输入输出口线。P2口:P2口可以作为输入输出端口使用。外接I/O口与存储器时,又作为系统的地址总线扩展,输出高8位地址,与P0口一起组成16位地址总线。P3口:P3口为双功能口。其第一
33、功能与P1口功能相同,但是作为第二功能使用时,其每一位功能如下表。表3.2.1-1 P3口的第二功能端口引脚第二功能P3.0RXD(串行输入线)P3.1TXD(串行输出线)P3.2(外部中断0输入线)P3.3(外部中断1输入线)P3.4T0(定时器0外部计数脉冲输入)P3.5T1(定时器1外部计数脉冲输入)P3.6WR(外部数据存储器写选通信信号输入)P3.7RD(外部数据存储器写选通信信号输出)STC89S52单片机的中断系统,作为计算机重要组成部分的中断系统,其主要目的是实现计算机的资源共享,主要的功能是实现CPU与外部设备的速度配合、实时控制、鼓掌技术自动发现处理和人机联系。STC89S
34、52单片机的中断系统分为:6个中断源,2个中断优先级。可由程序实现二级中断嵌套。整个中断系统的结构如表3.1.1-2:表3.2.1-2 89C52单片机中断源中断源符号名称中断引起的原因中断服务程序入口地址外部中断0P3.2引脚的低电平或下降沿信号0003H外部中断1P3.3引脚的低电平或下降沿信号0013HT0定时器0中断定时/计数器0计数回0或者溢出000BHT1定时器1中断定时/计数器1计数回0或者溢出001BHT2定时器2中断定时器2中断(TF2或T2EX)信号002BHTI/RI串行口中断串行通信接口完成发送或者接受数据0023H 89C52的一个中断源对应IE寄存器的一位,如果允许
35、该中断源则该位置“1”,禁止该中断则相应位置“0”。其还有一个总的中断控制位,其格式如下表所示。表3.2.1-3 中断控制寄存器EAET2ESET1EX1ET0EX0中断总控允/禁不用T2允/禁串行口允/禁T1允/禁允/禁T0允/禁允/禁中断请求标志及外部中断方式寄存器TCON格式如下表。表3.2.1-4 中断请求标志TF1TR1TF0TR0IE1IT1IE0IT0T1请求有/无T1工作有/无TO请求有/无T0工作有/无INT0请求有/无INT方式下降沿INT0请求有/无INT0请求下降沿说明:TF1,TF0,IE0,IE1分别为中断源T1,T0,INT0,INT1的中断请求标志,若有中断请求
36、,该中断标志置1;无中断请求,则置0。IT0,IT1分别为中断INT1,INT1中断的触发方式选择,若为下降沿则IT相应位置1;若选为低电平则置0。TR1,TR0为定时器T1,T0工作启动和停止的控制位,与中断无关。89C52中断优先级分别由IP寄存器管理,一个中断源对应一位。如果对相应位置1,该中断源优先级最高;若对相应位置0,则优先级最低。表3.1.1-5 中断优先级管理寄存器格式PT2PSPT1PX1PT0PX0无用位无用位T2高/低串行口高/低T1高/低INT高/低1T0高/低INT0高/低若几个中断源在IP寄存器相应位同为1或0时,则由系统内部查询确定优先级,优先响应先查询的中断请求
37、。CPU查询的顺序是:INT0 T0 INT1 T1 TI/RI T289C52单片机是通过对中断允许寄存器IE的相对应位的设置来实现中断的开放和禁止的。其控制由总控制和对中断源的控制两级控制组成。总控制用于决定整个中断系统的开关与否,当整个中断系统关闭时,CPU不响应任何中断请求。对于每个中断源的分别控制,是在总控制开放的前提下,决定特定的中断源开放还是禁止。定时/计数器中的核心为可预置初值的16位计数器。当定时/计数器启动工作后,定时/计数器从预置的初值开始计数,直至定时/计数值计满到该工作方式下的最大值时归0并产生溢出,此时TFX为高电平并可以申请中断。定时脉冲信号来自稳定的系统时钟的分
38、频信号,则称为定时方式,计数脉冲信号来是外部脉冲信号,则称为计数方式。16位定时/计数器分别由两个8位专用寄存器组成。它们都分别映射在定时器内部的特殊功能寄存器中,两个8位特殊功能寄存器TMOD和TCON,用于定时器的管理与控制。TMOD是定时器工作方式寄存器,用于定时器工作方式和功能的设置;如下表3.1.1-6所示:表3.1.1-6 TMOD特殊功能寄存器TMODGATEC/TM1M0GATEC/TM1M089H门控开关计数/定时定时方式门控开关计数/定时定时方式T1定时/计数器T1定时/计数器方式选择位M1、M0确定四中工作方式,如下表3.1.1-7:表3.1.1-7 定时/计数方式M1
39、M0方式功能描述0 0013位0 1116位1 028位自动重载计数1 13两个8位方式TCON的作用是控制定时器的启动、停止以及标志定时器的溢出和中断情况,定时控制字TCON的格式如表3.1.1-8:表3.1.1-8 TCON特殊功能寄存器TCONTF1TR1TF0TR0IE1IT1TE0IT088HT1请求有/无T1工作启/停T0请求有/无T0工作启/停INT1请求有/无INT1方式下沿/低电平INT0请求有/无INT0方式下沿/低电平3.1.2 单片机最小系统电路时钟振荡电路在加电后延迟大约10ms振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的
40、频率决定。电路中两个电容C1、C2的作用使电路快速振,提高电路的运行速度。通过高电平时单片机复位,在时钟电路开始工作后,当高电平的时间超过大约5ms的时候,即可实现复位。此复位电路同时具备了上电自动复位和按键人工复位的功能,上电复位发生在开机加电时,由系统自动完成,按键人工复位通过一个按键来实现在程序运行时,若遇到死机或死循环等情况时,通过手动复位就可以实现重新启动的操作。按键人工复位需要认为在复位输入端RST上加入高电平。STC89S52单片机及其最小系统电路图如图3.1.2-1图所示:图3.1.2-1 TC89S52单片机及其最小系统电路图3.2 MAX7219控制的显示电路3.2.1 M
41、AX7219简介MAX7219是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED 。其上包括一个片上的B型BCD编码器、多路扫描回路,段字驱动器,而且还有一个8*8的静态RAM用来存 储每一个数据。只有一个外部寄存器用来设置各个LED 的段电流。MAX7219同样允许用户对每一个数据选择编码或者不编码。整个设备包含一个150A 的低功耗关闭模式,模拟和数字亮度控制,一个扫描限制寄存器允许用户显示1-8位数据,还有一个让所有LED发光的检测模式。3.2.2 MAX7219引脚功能MAX7219采用标准的24脚接
42、口,如3.2.2-1图所示: 图3.2.2-1 MAX7219引脚图各引脚接口说明如表3.2.2-1所示:表3.2.2-1 MAX7219引脚说明图管脚名称功能1DIN串行数据输入端口。在时钟上升沿时数据被载入内部 的16位寄存器。3,5-8,10,11DIG0DIG7八个数据驱动线路置显示器共阴极为低电平。关闭时7219此管脚输出高电平。4,9GND地线(4脚和9脚必须同时接地)12LOAD载入数据。连续数据的后16位在LOAD端的上升沿时被锁定13CLK时钟序列输入端。最大速率为 10MHz.在时钟的上升沿,数据移入内部移位寄存器。下降沿时,数据从DOUT端输出14-17,20-23SEG
43、 ASEG G, DP7 段和小数点驱动,为显示器提供电流。当一个段驱动关闭时,7219的此端呈低电平。18SET通过一个电阻连接到V 来提高段电流。19V+正极电压输入,+5V24DOUT串行数据输出端口,从 DIN 输入的数据在 16.5 个时钟周期后在此端有效。当使用多个 MAX7219时用此端方便扩展。3.2.3 MAX7219驱动数码管电路图MAX7219的第一脚接单片机的P10端口,第十二脚接单片机的P11口,第十三脚接单片机的P11口,电路图如图3.2.3-1所示:图3.2.2-1 MAX7219驱动数码管电路图3.3 温度监测模块3.3.1 DS18B20简介Dallas半导体
44、公司的数字化温度传感器是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而经济的特点,使用户可以轻松的组建传感器网络,为测量系统的构建引入了全新的概念。现在,新一代的1DS18B20体积更小、更灵活、更经济。3.3.2 DS18B20引脚说明DS18B20引脚如图3.3.2-1所示:图3.3.2-1 DS18B20引脚图DS18B20引脚功能如表3.3.2-1所示:表3.3.2-1 DS18B20引脚说明图管脚名称功能1GND电源地2DQ数据I/O口3VCC电源正级3.3.3 DS18B20电路图DS18B20的第二引脚与单片机的P14相连,电路图如图3.3.3-1所示:图3.3.3
45、-1 DS18B20电路图3.4 温度显示电路图3.4.1-1 温度显示电路3.5电源模块 电源模块电路如图3.5-1所示:图4.4-1 电源电路图4 软件设计系统的程序主要包括主程序,温度转换命令子程序,计算温度子程序,读出温度子程序,显示温度刷新子程序等。4.1 主程序主程序的功能主要是负责温度的实时显示,读出并处理DS18B20的测量温度值。每一秒进行一次温度测量,其流程图如图4.1.1-1所示。图4.1.1-1 DS18B20温度计主程序流程4.2 读出温度子程序读出温度子程序的主要作用是读出DS18B20RAM中的9个字节,在读出时需要进行CRC校验,校验有错事不对温度进行改写,其程序流程如图4.2.1-1所示。发DS18B20复位命令发跳过ROM命令发读取温度命令读取操作,CRC