基于PROTEUS的单片机测温系统的仿真设计

基于PROTEUS的单片机测温系统的仿真设计
基于PROTEUS的单片机测温系统的仿真设计

本科毕业设计(论文)

题目:基于PROTEUS的单片机测温系统

的仿真设计

学院:机械电子工程学院

专业:测控技术与仪器

学号:

学生姓名:

指导教师:

职称:

二O一二年五月十八日

摘要

随着人们生活水平的不断提高,单片机控制无疑是人们追求目标之一,它给人们带来了很大的方便,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作,科研,生活,提供更好的更方便的设施就需要从多数单片机技术入手,一切向着数字化控制,智能化控制方向发展,温度传感器适用范围广,数量多,居各种传感器之首。

本文从硬件和软件两方面来讲述温度测量过程,在控制过程中应用单片机AT89C52、数字温度传感器DS18B20、共阴极数码管、锁存器74HC573。主要是通过DS18B20数字温度传感器采集温度,以单片机为核心控制部件,并通过存储器进行存储、共阴极数码管显示实时温度的一种数字温度计。软件方面采用C语言来进行程序设计,使指令执行速度快,节省存储空间。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,使硬件在软件的控制下协调运作。

本设计主要做了如下几方面的工作:一是确定系统的总体设计方案,包括其功能设计、组成与工作原理、设计说明;二是进行硬件电路设计,包括硬件电路构成及测量原理、温度传感器的选择、单片机的选择;三是进行了调试和仿真,获得仿真结果。

经实验测试表明,该系统测量精度高、抗干扰能力强,具有一定的参考价值。该系统设计和布线简单、结构紧凑、体积小、重量轻、性价比高、扩展方便,在大型仓库、工厂、智能化建筑等领域的温度检测中有广阔的应用前景。

关键词:温度测量;数字温度传感器DS18B20;AT89C52单片机;共阴极数码管显示。

Abstract

As people living standard rise ceaselessly, SCM control is undoubtedly one of the goals of the people to pursue, it brings convenience is not negative, including digital thermometer is one example, but people on its demand is higher and higher, to work for modern, scientific research, life, providing better more convenient facilities should be, from most of the single chip microcomputer, all to digital control system, intelligent control direction, the temperature sensor application scope. The number of sensors in the list.

This article from two aspects of hardware and software to tell temperature measurement process, in the main process of single chip microcomputer control application AT89C52, digital temperature sensor DS18B20, cathode tube of digital, latches 74 HC573, mainly through digital temperature sensor DS18B20 collection temperature, with the single chip processor as the core to control components, and through the memory storage, liquid crystal display shows real-time temperature of a digital thermometer. Software using C language program to design, make the instruction execution speed, save storage space. In order to facilitate the expansion and the change, the software design using modular structure, make the program design logical relationship more concise and clear, make the hardware in the software under the control of the harmonious operation.

This design is the major of the following aspects of work: one is sure the design of the whole system solutions, including the function design, composition and working principle, design descriptions; 2 it is hardware circuit design, including hardware circuit structure and measuring principle, the temperature sensor of choice, the choice of the single chip microcomputer; 3 it is the testing and simulation, get the simulation results.

The test results show that the system measurement precision, strong anti-interference, concrete the certain reference value. The system design and wiring is simple, compact structure, small volume, light weight, high performance/price ratio, expansion of convenient, in the large warehouse, factory, intelligent building and other areas of temperature in detecting have broad application prospects.

Keywords: temperature measurement; Digital temperature sensor DS18B20; AT89C52 single chip microcomputer; The cathode tube of digital display.

目录

摘要 (Ⅰ)

Abstract (Ⅱ)

第一章概述 (1)

1.1 课题研究的背景 (1)

1.2 课题研究的意义 (1)

1.3 课题设计的目的 (2)

1.4 课题设计的任务及要求 (2)

第二章系统总体设计 (3)

2.1 系统的功能设计 (3)

2.2 系统的组成与工作原理 (3)

2.3 系统设计说明 (4)

第三章系统硬件电路的设计 (5)

3.1 系统硬件电路构成及测量原理 (5)

3.1.1 系统硬件电路构成 (5)

3.1.2 系统工作原理 (6)

3.2 单片机AT89C52 (7)

3.2.1 AT89C52的主要性能参数 (7)

3.2.2 功能特性概述 (7)

3.2.3 引脚功能说明 (7)

3.2.4 时钟振荡器 (9)

3.2.5 AT89C52软件编程模式 (9)

3.2.6 单片机最小系统设计 (10)

3.2.7 关于单片机上拉和阻值选择的问题 (11)

3.3 数字温度传感器DS18B20 (12)

3.3.1 DS18B20技术性能描述 (12)

3.3.2 数字温度传感器DS18B20的简单介绍 (13)

3.3.3 AT89C52单片机与DS18B20的接口 (17)

3.3.4 DS18B20使用中注意事项 (19)

3.4 温度显示方式 (19)

3.4.2 74HC573锁存器 (21)

3.4.3 数码管显示 (24)

3.4.4 数码管跟液晶显示的选择 (27)

第四章系统的软件设计 (29)

4.1 系统的总体设计思路 (29)

4.2 系统的程序设计 (29)

4.2.1 主程序 (29)

4.2.2 读出温度子程序 (30)

4.2.3 温度转化命令子程序 (30)

4.2.4 计算温度子程序 (31)

第五章PROTEUS软件仿真 (32)

5.1 PROTEUS 仿真器与集成开发环境KEIL (32)

5.1.1 PROTEUS 仿真器 (32)

5.1.2 集成开发环境KEIL4 (32)

5.2 绘制温度测量系统仿真电路图 (33)

5.3 实现温度测量系统的仿真 (34)

第六章结束语 (35)

致谢 (36)

参考文献 (37)

附录1:程序清单 (38)

附录2:设计图纸 (43)

第一章概述

1.1 课题研究的背景

随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作,科研,生活,提供更好的更方便的设施就需要从多数单片机技术入手,一切向着数字化控制,智能化控制方向发展,温度传感器适用范围广,数量多,居各种传感器之首。温度传感器的发展大致经历了以下3个阶段1.传统的分立式温度传感器,主要是能够进行非电量和电量之间转换。2.模拟集成温度传感器。3.智能温度传感器。

本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温精确,其输出温度采用数字显示,主要用于对测温比较精确的场所,或者科研实验室使用,该设计控制器使用单片机AT89C52,测温传感器使用DS18B20,用共阴极数码管实现温度显示,并用74HC作为锁存器,能准确达到以上要求。

1.2 课题研究的意义

温度是一个非常重要的物理量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形、结晶以及空气流动等物理和化学过程。温度控制失误可能引起生产安全、产品质量、产品产量等一系列问题,因此对温度检测的意义就越来越大。现代电子工业的飞速发展对自动测试的要求越来越高,采用单片机对温度进行控制,不仅具有控制方便和组态简单的优点,而且可以提高被控温度的技术指标。针对以上情况,在控制成本的前提下,通过本设计设计一款能够实时检测温度,又具有对系统设定不同的温度的温度测量系统功能。

本文给出了一个简单的单片机系统,该系统是单片机AT89C52采集温度信号并显示的实例,主要叙述了其硬件和软件设计的原理。温度传感器选用目前常用的数字温度传感器DS18B20,采用74HC573锁存并用共阴极数码管显示,用示波器导出图像曲线,最后使用proteus仿真。

1.3 课题设计的目的

1.加强对单片机和C51语言的认识,充分掌握和理解各部分设计的工作原理、设计过程,选择适合的芯片器件,模块化编程等多项知识;

2.用单片机模拟实现具体应用,使个人设计能够真正实现;

3.把理论知识和实践相结合,在实践中锻炼;

4.提高利用已学知识分析和解决问题的能力。

1.4 课题设计的任务及要求

本次毕业设计的任务是针对实际要求,灵活应用所学知识,结合教材以及参考资料,用AT89C52单片机模拟实现温度实时测量及显示等功能,以达到巩固单片机基础知识、掌握单片机系统开发过程和提高动手实践能力的目的。

毕业设计的设计要求:

1.使用数字温度传感器DS18B20实现温度数据的采集、传输;

2.使用双个共阴极数码管实现所采集温度的显示;

3.使用74HC作为锁存器存储数据;

4.使用示波器进行温度变化曲线展示;

5.设计正确的原理图和编写正确的程序代码;

6.实现proteus仿真。

第二章 系统总体设计

2.1 系统的功能设计

系统要完成的设计功能如下:

1.实现对外界环境温度参数的实时采集,测量空间的温度:根据测量空间或设备的实

际需要,由温度传感器对关键温度敏感点进行测量,由单片机对其数据进行循环检测、显

示、存储,实现温度的测量。

2.实现对所采集的温度进行仿真显示。

3.在PROTEUS 软件下仿真:在PROTEUS 环境下实现硬件和软件的调试,并进行仿真。

4.软件编程应具有功能强大、便于操作和执行速度快等特点。要求达到的技术指标:

测温范围:-55℃~125℃

测温精度:正负0.5℃

2.2 系统的组成与工作原理

以单片机为控制核心,采用温度测量技术,以温度传感器作为测量元件,构成温度测

量系统。该系统可分为温度测量电路以及显示电路,见图2.1。选用的主要器件有:单片

机AT89C52,温度传感器DS18B20,共阴极数码管,示波器等。

图2.1 硬件结构图 本系统以单片机AT89C52为核心,数据采集、显示都要通过单片机。数据采集通过单

总线的温度传感器DS18B20完成;由共阴极数码管实时显示接收的数值;当温度变化时在

示波器中显示变化曲线。

2.3 系统设计说明

本设计是一个数字温度测量及控制系统,能测量环境中的温度,并能在超限的情况下

数据采集 AT89C52 单片机

数据处理显示

报警,保证环境保持在限定的温度中。

该系统的总体设计思路如下:温度传感器DS18B20把所测得的温度发送AT89C52单片机上,经过单片机处理,将把温度首先锁存在锁存器中,段锁存用来给出显示的数字,位锁存用来给出哪几格数码管显示,然后再在在显示电路上显示,本系统显示器为2个共阴极数码管显示模块,检测范围-55℃~125℃。

系统的核心器件是单片机,它是整个系统的心脏,由它来接受信号并控制协调各功能模块的正常工作,考虑到系统的功能和经济性因素,采用的是当今流行的性价比比较高的AT89C52。所以温度控制系统采用AT89C52八位机作为微处理单元进行控制,温度传感器把采集的信号再加上单片机里的数据处理获得测温的数据显示。

根据系统的设计要求,选择DS18B20作为本系统的温度传感器,选择单片机AT89C52为测量控制系统的核心来完成数据采集、处理、显示等功能。选用智能数字温度传感器DS18B20,与传统的热敏电阻等测温元件相比,它省去了采样/保持电路、运放、数/模转换电路以及进行长距离传输时的串/并转换电路,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式,简化了电路,缩短了系统的工作时间,降低了系统的硬件成本。

第三章系统硬件电路的设计

3.1 系统硬件电路构成及测量原理

由于系统要对环境温度进行测量,因此采用单片机对单总线系统进行现场监控是非常经济实惠的方案,其硬件连接非常简单,可用单片机并口P1、P2、P3中的任一端口与单总线来实现双向数据传输。

3.1.1 系统硬件电路构成

本系统以单片机为核心,组成一个集温度的采集、显示、存储为一身的闭环系统,其原理框图如图3.1所示。温度传感器采集温度信号,温度传感器有模拟输出和数字输出传感器两种形式,这里选用具有数字输出的DS18B20;单片机是系统的核心,选用AT89C52;系统采用共阴极数码管显示温度值;使用锁存器74HC来存储数据,示波器来显示曲线。

整个电路图的结构是比较简单的:直接使用AT89C52单片机、温度传感器DS18B20、共阴极数码管、锁存器74HC、示波器和一排上拉电阻构成。

由于AT89系列单片机与MCS-51系列单片机兼容。所以,本系统中的单片机选用

AT89C52。整个电路图的关键是AT89C52的P0口接上一组排阻。AT89C52单片机的几个端口,P0作为地址数据总线时,T1和T2是一起工作的,构成推挽结构。高电平时,T1打开,T2截止;低电平时,T1截止,T2打开。这种情况下不用外接上拉电阻。当T1打开,T2截止,输出高电平的时候,因为内部电源直接通过T1输出到P0口线上,因此驱动能力(电流)可以很大,可以驱动8个TTL负载。

温度传感器的作用是采集环境温度。由于智能温度传感器DS18B20既能对温度进行测量,又能把温度的二进制值转换成十进制值,所以本设计选用智能温度传感器DS18B20。传感器和数字转换电路都被集成在一起,每个DS18B20都具有唯一的64位序列号,并且DS18B20只有一个数据输入/输出口,因此,多个DS18B20可以并联到2或3根线上,CPU 只需一根端口线就能与诸多DS18B20进行通信,而它们只需简单的通信协议就能加以识别,这样就节省了大量的引线和逻辑电路。由于该温度计采用数字输出形式,故不需要A/D转换器。单片机主要是对温度传感器DS18B20进行编程,读取温度传感器的温度值,并把温度值通过显示器显示出来。

图3.1 温度测量系统硬件电路原理图

3.1.2 系统工作原理

采用单总线技术设计的温度测量系统,整个系统以AT89C52单片机为主机,其它设备

为从设备。本系统通过单总线可以挂接很多个智能温度传感器DS18B20,用于不同地方的

温度测量。

该温度测量系统的工作原理就是进行单片机编程,是智能温度传感器DS18B20正常工

作,去测量外界环境的实际温度,使用存储器存储数据,并由数字显示电路显示当时的温

度值。

3.2 单片机AT89C52

3.2.1 AT89C52的主要性能参数

1.兼容MCS51指令系统;

2.8K 字节可重复擦写Flash ROM ;

3.1000次擦写周期;

4.时钟频率:0Hz-24MHz ;

5.三级加密程序存储器;

6.256*8字节内部RAM ;

7.32个可编程I/O 口线;

8.3个16位可编程定时/计数器中断;

9.6个中断源;

10.可编程串行UART 通道; 排阻电路

晶振电路

温度传感器 单 片 机 示波器 显示电路

锁存电路

11.低功耗空闲和掉电模式。

3.2.2 功能特性概述

AT89C52提供以下标准功能:8K字节Flash闪速存储器,256字节内部RAM,32个I/O 口线,三个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

3.2.3 引脚功能说明

AT89C52的引脚排列如图3.2所示。下面简要介绍本次设计需要用到的引脚的功能:

图3.2 引脚排列图

1.VCC:电源电压。

2.GND:地。

3.P0口:P0口是一组8位漏极开关型双向I/O口,也即地址/数据总线复用口。作为输出口时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。

4.P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同的是,P1.0和P1.1还可分别作为定时/

计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。

5.P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

6.EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需要注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。

7.XTAL1:振荡器反相放大器的内部时钟发生器的输入端。

8.XTAL2:振荡器反相放大器的输出端。

3.2.4 时钟振荡器

AT89C52中有一个用于构成内部振荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路如图3.3所示。

外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路,对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低,振荡器工作的稳定性,起振的难易程度及温度稳定性,使用石英晶体,推荐电容使用30pF 10pF,如使用陶瓷谐振器择选择40pF 10pF。

由于外部时钟信号时通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。

图3.3 内/外部振荡电路

3.2.5 AT89C52软件编程模式

AT89C52有两种可用软件编程的省电模式,它们是空闲模式和掉电工作模式。其外部引脚状态如表3.1所示。这两种方式是控制专用寄存器PCON(即电源控制寄存器)中的PD(PCON.1)和IDL(PCON.0)位来实现的。PD是掉电模式,当PD=1时,激活掉电工作模式,单片机进入掉电工作状态。IDL是空闲等待方式,当IDL=1,激活空闲工作模式,单片机进入睡眠状态。如需同时进入两种工作模式,即PD和IDL同时为1,则先激活掉电模式。

表3.1 空闲和掉电模式外部引脚状态

模式程序存储器ALE PSEN P0 P1 P2 P3

空闲模式内部 1 1 数据数据数据数据

空闲模式外部 1 1 浮空数据地址数据

空闲节电模式:

在空闲工作模式状态,CPU保持睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,片内RAM和所有特殊功能寄存器的内容保持不变。空闲模式可由任何允许的中断请求终止。

终止空闲工作模式的方法是任何一条被允许中断的事件被激活,IDL(PCON.0)被硬件清除,既刻终止空闲工作模式。程序会首先响应中断,进入中断服务程序,执行完中断

服务程序并紧随RETI(中断返回)指令后,下一条要执行的指令就是单片机进入空闲模式那条指令后面的一条指令。

3.2.6 单片机最小系统设计

目前的单片机开发系统只能够仿真单片机,却没有给用户提供一个通用的最小系统。由设计的要求做很小集成度的最小系统应用在一些小的控制单元。其应用特点是:

1.全部I/O口线均可供用户使用;

2.内部存储器容量有限(只有8KB地址空间);

3.应用系统开发具有特殊性.

图3.4最小系统图

单片机最小系统如图3.4所示,其中有4个双向的8位并行I/O端口,分别记作P0、P1、P2、P3,都可用于数据的输入和输出,P3口具有第二功能为系统提供一些控制信号。时钟电路用于产生C51单片机工作所必须的时钟控制信号,内部电路在时钟

信号的控制在下,严格地按照时序指令工作。C51内部有一个用于构成振荡器的高增益反向放大器,该高增益反向放大器的输入端为芯片的引脚XTAL1,输出端为XTAL2。

这两个引脚跨接石英晶体振荡器和微调电容,就构成了一个稳定的自激振荡器。电路中的微调电容通常选择为30pF左右,该电容的大小会影响到振荡器频率的高低、振荡器的稳定性和起振的快速性。晶体的振荡频率为12MHz。

把EA脚接高电平,单片机访问片内程序存储器,但在PC值超过0FFFH(8Kbyte 地址范围)时,将自动转向执行外部程序存储器内的程序。

3.2.7 关于单片机上拉和阻值选择的问题

52单片机P0口的作为I/O的问题,主要是看52单片机P1口的电路就很容易理解了,主要是一个锁存器和推拉结构,在此作些说明。

当用作输出,所有口线的状态都与SFR锁存位的设置有密切的联系。

P0作为一般端口时,T1就永远的截止,T2根据输出数据0导通和1截止,导通时拉地,当然是输出低电平;截止时,P0口就没有输出了(注意:这种情况就是所谓的高阻浮空状态),如果加上外部上拉电阻,输出就变成了高电1。

其他端口P1、P2、P3,在内部直接将P0口中的T1换成了上拉电阻,所以不用外接,但内部上拉电阻太大,电流太小,有时因为电流不够,也会再并一个上拉电阻。

在某个时刻,P0口上输出的是作为总线的地址数据信号还是作为普通I/O口的电平信号,是依靠多路开关MUX来切换的.而MUX的切换,又是根据单片机指令来区分的.当指令为外部存储器I/O口读/写时,比如 MOVX A,@DPTR ,MUX是切换到地址/数据总线上;而当普通MOV传送指令操作P0口时,MUX是切换到内部总线上的。

P0口为低除外。当P0口的一个位写入0时,这个位被拉低。但是对P0口的其中一个位写入1时,这个位呈现高阻,也就是未能连机,不能使用。要想获得1输出,你必须在P0口外加上拉电阻。一般驱动LED的上拉电阻为470Ω,外接逻辑电路的上拉电阻为4.7K。一些口线被作为简单的高电平输入也与SFR锁存位有关。因为P1、P2、P3有内部上拉电阻,可以随意被拉高,拉低。而P0口作为高电平输入时,会呈现高阻态。

P0口和P2口的输入缓冲被用来作存取外部存贮用,P0口用作外部存储器的低位字节的位址,并与数据读写多工。输出第一位元址,当位置线是16位时,P2口用作高8位的位址线,因此当对外面存储时,P0口、P2口没法当作I/O口线。

P1口具有内部上拉电阻,当端口用作输入时,必须通过指令将端口的位锁存器置1,以关闭输出驱动场效应管,这时P1口的引脚由内部上拉电阻拉为高电平,所以向P1写入1,

工作正常。

P0则不同,它没有内部上拉电阻,在驱动场效应管的上方有一个提升场效应管,它只是在对外存储器进行读写操作,用作地址/数据时才起作用,当向位锁存器写入1,使驱动场效应管截止,则引脚浮空,所以写入1而未获得。

P0口上拉电阻的阻值:

驱动LED,用1K左右的就行了。如果希望亮度大一些,电阻可减小,最小不要小于200欧姆,否则电流太大;如果希望亮度小一些,电阻可增大,增加到多少呢,主要看亮度情况,以亮度合适为准,一般来说超过3K以上时,亮度就很弱了,但是对于超高亮度的LED,有时候电阻为10K时觉得亮度还能够用。通常就用1k的,[1、5、6、11、13]。

3.3 数字温度传感器DS18B20

3.3.1 DS18B20技术性能描述

1.独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;

2. 测温范围-55℃~+125℃,固有测温分辨率0.5℃;

3.支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定,实现多点测温;

4.工作电源: 3~5V/DC ;

5.在使用中不需要任何外围元件;

6.测量结果以9~12位数字量方式串行传送。

3.3.2 数字温度传感器DS18B20的简单介绍

1.DS18B20的外形和内部结构

DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

DS18B20采用常见的小功率三极管相同的TO-92封装方式,其封装与引脚图如图3.5所示。引脚1为地线;引脚2为数据线,应与主CPU的I/O相接;引脚3接外部电源,如采用寄生电源方式,该引脚悬空。

图3.5 DS18B20封装与引脚图

2. DS18B20工作原理

DS18B20的内部结构如图3.6所示。

图3.6 DS18B20内部结构图

DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数

器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3.7中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。

图3.7 DS18B20测温原理框图

3. DS18B20的供电方式

DS18B20的电源可以外部提供从芯片的VDD输入,也可以由数据线本身提供而无需再接外部电源(从数据线“窃电”),称为寄生电源方式。

(1)DS18B20寄生电源强上拉供电方式

改进的寄生电源供电方式如下图3.8所示,为了使DS18B20在动态转换周期中获得足够的电流供应,当进行温度转换或拷贝到 E2存储器操作时,用MOSFET把I/O线直接拉到VCC就可提供足够的电流。在强上拉方式下可以解决电流供应不走的问题,因此也适合于多点测温应用,缺点就是要多占用一根I/O口线进行强上拉切换。

图3.8 寄生电源工作方式

(2)DS18B20的外部电源供电方式

外部电源供电方式如图3.9所示。在外部电源供电方式下,DS18B20工作电源由VDD 引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。注意:在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85℃。

图3.9 外部电源工作方式

4.DS18B20的具体说明

DS18B20内部具有地址分配如表3.2所示的9字节RAM。其实字节0和字节1存放DS18B20的温度测量值;字节4存放配置字节,用于设定温度测量的分辨率等参数;字节8是DS18B20自己生成的循环冗余校验码(CRC),在主CPU读取DS18B20数据时,用于校验读取数据的正确性。

表3.2 DS18B20内部RAM分配

字节0(Byte0)温度值低字节 TL 字节5(Byte5)保留

字节1(Byte1)温度值高字节 TH 字节6(Byte6)保留

字节2(Byte2)TL或用户Byte1 字节7(Byte7)保留

字节3(Byte3)TH或用户Byte2 字节8(Byte8)CRC校验字节

字节4(Byte4)配置字节 CONFIG

主CPU经DQ向DS18B20发送温度测量(变换)等命令,DS18B20将测量的温度值存放在DS18B20的RAM 字节0和字节1中。除温度变换命令外,还有几个命令,见表3.3。

Proteus仿真单片机实例

引言 单片机体积小,重量轻,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。以单片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。在嵌入式系统的中,开发板成本高,特别是对于大量的初学者而言,还可能由于设计的错误导致开发板损坏。利用Proteus我们可以很好地解决这个问题,由此我们可以快速地建立一个仿真系统。 2.Proteus介绍 Proteus是英国Labcenter Electro-nics公司开发的一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统ISIS(Intelligent Schematic Input System)和虚拟系统模型VSM(Virtual Model System);另一部分是高级布线及编辑软件ARES(Adv-Ancd Routing And Editing Software)也就是PCB. 2.1 Proteus VSM的仿真 Proteus可以仿真模拟电路及数字电路,也可以仿真模拟数字混合电路。 Proteus可提供30多种元件库,超过8000种模拟、数字元器件。可以按照设计的要求选择不同生产厂家的元器件。此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。 除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数/定时/频率计,SPI调试器等虚拟终端。支持图形化的分析功能等。 Proteus特别适合对嵌入式系统进行软硬件协同设计与仿真,其最大的特点是可以仿真8051,PIA,A VR,ARM等多种系列的处理器。Protues包含强大的调试工具,具有对寄存器和存储器、断点和单步模式IAR C-SPY,Keil、MPLAB等开发工具的源程序进行调试的功能;能够观察代码在仿真硬件上的实时运行效果;对显示,按钮,键盘等外设的交互可视化进行仿真。 2.2 Proteus PCB Proteus 的PCB设计除了有自动布线仿真功能外,还集成了PCB设计,支持多达16个布线层,可以任意角度放置元件和焊接连线;集成了高智能的布线算法,可以方便地进行PCB设计。 3. 基于Protesus的简单数据采集系统。 3.1 软件的编写 本例题采用可调电阻调节电压值作为模拟信号的输入量,通过A/D转换芯片AD0808把模拟信号转换为数字量传送到单片机的P1口,并在P0口把转换的结果显示出来。 软件的编写可以在Keil C51 环境下进行,芯片的型号选择AT89C51,编写data.c文件,利用Keil C51进行编译,编译成功后生成data.hex文件。 3.2 绘制电路图 运行Proteus的ISIS,进入仿真软件的主界面,如图1所示。主界面分为菜单栏,工具栏,模型显示窗口,模型选择区,元件列表区等。

基于51单片机的乒乓游戏机设计附Proteus仿真_毕业设计

基于51单片机的乒乓游戏机设计附Proteus仿真 基于51单片机的乒乓游戏机设计附Proteus仿真 目录 1 绪论 (1) 1.1 本设计的研究背景和研究目的 (1) 1.2 国内外研究现状 (1) 1.3 本设计的任务和设计方法 (2) 1.3.1 设计任务 (2) 1.3.2 设计方法 (2) 2 乒乓游戏机设计方案 (3) 2.1 基于单片机的乒乓游戏机设计 (3) 2.1.1 硬件设计 (3) 2.1.2 软件设计 (4) 2.2 基于FPGA的乒乓游戏机设计 (4) 2.3 方案比较与选择 (5) 3硬件电路的设计 (6) 3.1 硬件核心电路选择 (6) 3.1.1 单片机STC89C51简介 (6) 3.1.2 单片机端口分配 (7) 3.2 电源电路的设计 (8) 3.3 时钟电路的设计 (9) 3.4 复位电路的设计 (10) 3.5 按键电路的设计 (10) 3.6 模拟球台电路的设计 (12) 3.6.1 译码器简介 (12) 3.6.2发光二极管简介 (14) 3.6.3 模拟球拍电路的设计 (15) 3.7 显示电路的设计 (15) 3.7.1 LCD1602简介 (15) 3.7.2 显示电路的设计 (16)

3.8 乒乓游戏机总电路的设计 (17) 4 乒乓游戏机的软件设计及编程 (18) 4.1 主程序的设计及功能实现 (19) 4.2 按键组的设计及功能实现 (20) 4.2.1 球拍模拟子程序 (20) 4.2.2 暂停/开始子程序 (20) 4.3 发球程序的设计及功能实现 (21) 4.4 线路程序的设计及功能实现 (21) 4.4.1 线路选择子程序 (21) 4.4.2 LED点阵子程序 (22) 4.5 回球程序的设计及功能实现 (22) 4.6 LCD显示程序设计及功能实现 (23) 4.7 设计源程序 (24) 5 系统调试及分析 (24) 5.1 仿真调试及分析 (24) 5.1.1 Proteus软件简介 (24) 5.1.2 Keil uVision4软件简介 (25) 5.1.3 仿真调试 (25) 5.1.4 仿真调试的结果分析 (28) 5.2 实物调试及分析 (28) 5.2.1 制作实物的过程 (28) 5.2.2 进行实物调试 (28) 5.2.3 实物调试的结果分析 (31) 6 结论与展望 (32) 谢辞(Acknowledge) (33) 参考文献 (34) 附录1:程序 (36) 附录2:元件清单 (51)

基于单片机的温度测量系统设计

基于STC单片机的温度测量系统的研究 摘要:本文针对现有温度测量方法线性度、灵敏度、抗振动性能较差的不足,提出了一种基于STC单片机,采用Pt1000温度传感器,通过间接测量铂热电阻阻值来实现温度测量的方案。重点介绍了,铂热电阻测量温度的原理,基于STC实现铂热电阻阻值测量,牛顿迭代法计算温度,给出了部分硬件、软件的设计方法。实验验证,该系统测量精度高,线性好,具有较强的实时性和可靠性,具有一定的工程价值。 关键词:STC单片机、Pt1000温度传感器、温度测量、铂热电阻阻值、牛顿迭代法。 Study of Temperature Measurement System based on STC single chip computer Zhang Yapeng,Wang Xiangting,Xu Enchun,Wei Maolin Abstract:A method to achieve temperature Measurement by the Indirect Measurement the resistance of platinum thermistor is proposed. It is realized by the single chip computer STC with Pt1000temperature sensor.The shortcomings of available methods whose Linearity, Sensitivity, and vibration resistance are worse are overcame by the proposed method. This paper emphasizes on the following aspects:the principle of temperature measurement by using platinum thermistor , the measurement of platinum thermistor’s resistance based on STC single chip computer, the calculating temperature by Newton Iteration Method. Parts of hardware and software are given. The experimental results demonstrate that the precision and linearity of the method is superior. It is also superior in real-time character and reliability and has a certain value in engineering application. Keywords: STC single chip computer,Pt1000temperature sensor,platinum thermistor’s resistance,Newton Iteration Method 0 引言 精密化学、生物医药、精细化工、精密仪器等领域对温度控制精度的要求极高,而温度控制的核心正是温度测量。 目前在国内,应用最广泛的测温方法有热电偶测温、集成式温度传感器、热敏电阻测温、铂热电阻测温四种方法。 (1) 热电偶的温度测量范围较广,结构简单,但是它的电动势小,灵敏度较差,误差较大,实际使用时必须加冷端补偿,使用不方便。 (2) 集成式温度传感器是新一代的温度传感器,具有体积小、重量轻、线性度好、性能稳定等优点,适于远距离测量和传输。但由于价格相对较为昂贵,在国内测温领域的应用还不是很广泛。 (3) 热敏电阻具有灵敏度高、功耗低、价格低廉等优点,但其阻值与温度变化成非线性关系,在测量精度较高的场合必须进行非线性处理,给计算带来不便,此外元件的稳定性以及互换性较差,从而使它的应用范围较小。 (4)铂热电阻具有输出电势大、线性度好、灵敏度高、抗振性能好等优点。虽然它 的价格相对于热敏电阻要高一些,但它的综合性能指标确是最好的。而且它在0~200°C范

(整理)较为全面的基于PROTEUS仿真51单片机动态数码管课程设计(WORD版)

单片机课程设计 题目动态数码管显示 学院机电工程学院 专业班级电子信息工程12-1班 姓名 组员 指导教师张、王老师 2015 年 5 月30 日

课程设计量化评分标准

目录 一、概述 (1) 1. 单片机简介 (1) 2. Proteus简介 (2) 3. 设计任务与要求 (3) 二、硬件设计 (3) 1. 单片机最小系统设计 (1) 2. 数码管显示部分 (4) 3. 数码管驱动部分 (5) 三、软件设计 (6) 1. 仿真原理图 (6) 2. 仿真参数设置 (6) 3. 仿真结果 (7) 4. 程序流程图 (8) 5. 程序代码.................................................... .9 四、心得体会............................................... (11) 五、参考文献 (12)

精品文档 一、概述 1. 单片机简介 如图1.1和图1.2分别为PDI P封装的AT89C52引脚图和实物图 图1.1 引脚图图1.2 实物图 AT89C52是一个低电压,高性能CMOS8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。 AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。 AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。本课程设计中使用的是PDIP封装的AT89C52单片机。 2.Proteus简介 如图1.3为Proteus7.0的工作界面图

基于单片机的温度测量系统

基于51单片机的温度测量系统 来源:微计算机信息作者:赵娜赵刚于珍珠郭守清 摘要: 单片机在检测和控制系统中得到广泛的应用, 温度则是系统常需要测量、控制和保持的一个量。本文从硬件和软件两方面介绍了AT89C2051单片机温度控制系统的设计,对硬件原理图和程序框图作了简洁的描述。 关键词: 单片机AT89C2051;温度传感器DS18B20;温度;测量 引言 单片机在电子产品中的应用已经越来越广泛,并且在很多电子产品中也将其用到温度检测和温度控制。为此在本文中作者设计了基于atmel公司的AT89C2051的温度测量系统。这是一种低成本的利用单片机多余I/O口实现的温度检测电路, 该电路非常简单, 易于实现, 并且适用于几乎所有类型的单片机。 一.系统硬件设计 系统的硬件结构如图1所示。 数据采集 数据采集电路如图2所示, 由温度传感器DS18B20采集被控对象的实时温度, 提供给AT89C2051的口作为数据输入。在本次设计中我们所控的对象为所处室温。当然作为改进我们可以把传感器与电路板分离,由数据线相连进行通讯,便于测量多种对象。 DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达℃,被测温度用符号扩展的16位数字量方式串行输出,支持3V~的电压范围,使系统设计更灵活、方便;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20使电压、特性有更多的选择,让我们可以构建适合自己的经济的测温系统。如图2所示DS18B20的2脚DQ为数字信号输入/输出端;1脚GND为电源地;3脚VDD为外接供电电源输入端。 AT89C2051(以下简称2051)是一枚8051兼容的单片机微控器,与Intel的MCS-51完全兼容,内藏2K的可程序化Flash存储体,内部有128B字节的数据存储器空间,可直接推动LED,与8051完全相同,有15个可程序化的I/O点,分别是P1端口与P3端口(少了)。 接口电路 图2 单片机2051与温度传感器DS18B20的连接图 接口电路由ATMEL公司的2051单片机、ULN2003达林顿芯片、4511BCD译码器、串行EEPROM24C16(保存系统参数)、MAX232、数码管及外围电路构成, 单片机以并行通信方式从~口输出控制信号,通过4511BCD译码器译码,用2个共阴极LED静态显示温度的十位、

51单片机+proteus仿真PWM

#include unsigned char flag; unsigned int x; unsigned int y; #define time 800 void main() { EA=1; //开总中断 ET0=1; //定时器T0中断允许 TMOD=0x02; //使用定时器T0的模式2 TH0=0; //定时器T0的高8位赋初值 TL0=0; //定时器T0的高8位赋初值 TR0=1; //启动定时器T0 x=time; y=0; while(1)//无限循环等待中断 ; } /************************************************************** 函数功能:定时器T0的中断服务程序 **************************************************************/ void Time0(void) interrupt 1 using 0 //“interrupt”声明函数为中断服务函数 //其后的1为定时器T0的中断编号;0表示使用第0组工作寄存器{ if(flag==0) { TH0=256-y; //定时器T0的高8位重新赋初值 TL0=256-y; //定时器T0的高8位重新赋初

P1=1; if((--x)==0) { flag=1; x=time; if((--y)==0) { y=100; } } } if(flag==1) { TH0=y; //定时器T0的高8位重新赋初值 TL0=y; //定时器T0的高8位重新赋初 P1=0; if((--x)==0) { flag=0; x=time; if((--y)==0) { y=100; } } } }

基于AT89C51单片机的测温系统

引言 本文主要介绍了一个基于AT89C51单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,特别是数字温度传感器DS18B20的数据采集过程,并介绍了利用C语言编程对DS18B20的访问,该系统可以方便的实现实现温度采集和显示,使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点。DS18B20与AT89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量。 数字温度计与传统的温度计相比,具有读数方便、测温范围广、测温精确、功能多样话等优点。其主要用于对测温要求准确度比较高的场所,或科研实验室使用,该设计使用STC89C52单片机作控制器,数字温度传感器DS18B20测量温度,单片机接受传感器输出,经处理用LED数码管实现温度值显示。

一、设计要求 通过基于MCS-51系列单片机AT89C51和DS18B20温度传感器检测温度,熟悉芯片的使用,温度传感器的功能,数码显示管的使用,C语言的设计;并且把我们这一年所学的数字和模拟电子技术、检测技术、单片机应用等知识,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的选定等这一完整的实验过程,培养了学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,为毕业设计和以后工作打下一个良好的基础。 以MCS-51系列单片机为核心器件,组成一个数字温度计,采用数字温度传感器DS18B20为检测器件,进行单点温度检测,检测精度为?摄氏度。温度显示采用3位LED数码管显示,两位整数,一位小数。具有键盘输入上下限功能,超过上下限温度时,进行声音报警。 二、基本原理 原理简述:数字温度传感器DS1820把温度信息转换为数字格式;通过“1-线协议”,单片机获取指定传感器的数字温度信息,并显示到显示设备上。通过键盘,单片机可根据程序指令实现更灵活的功能,如单点检测、轮转检测、越限检测等。基于DS1820数字温度传感器的温度检测及显示的系统原理图如图 图基于DS1820的温度检测系统框图 三:主要器件介绍(时序图及各命令序列,温度如何计算等) 系统总体设计框图 由于DS18B20数字温度传感器具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠,所以在该设计中采用DS18B20数字温度传感器测量温度。 测温电路设计总体设计框图如图所示,控制器采用单片机AT89S52,温度 传感器采用DS18B20,显示采用4位LED数码管,报警采用蜂鸣器、LED灯实 现,键盘用来设定报警上下限温度。

Proteus软件的单片机仿真(ATM)

摘要 基于Proteus软件的单片机自动取款机(ATM)仿真系统设计,硬件电路需要单片机开发板和12864液晶显示器,能够实现自动取款的全部功能。通过在在计算机上用C语言编程来将生成文件下载到单片机控制其它外围器件工作。但是在EDA新技术的引入使得系统的开发成本降低而且灵活性增强,在Proteus软件中都可以找到上述硬件元件,通过电路图连接完全可以实现仿真功能。在Keil软件环境下通过C语言编程,编译调试后生成单片机下载的HEX(十六进制)文件,硬件电路图是在Proteus 软件中进行建模。通过Proteus和Keil结合建立的虚拟系统实现联合仿真,单片机实时控制12864LCD实现汉字的显示,扫描键盘从而达到用户与ATM的信息交换,使得ATM系统设计变为现实。 ATM系统,是一个有数据库组成的应用系统。用户的初始信息通过E2PROM存放,这样免去了掉电丢失数据的弊端。系统功能有用户在ATM上提取现金、查询账户余额、修改密码、账户冻结、密码保护、自动存款及转账功能。可以仿真实现最基本的银行服务。 关键词:ATM;51单片机;Proteus;Keil;12864LCD;E2PROM;虚拟仿真

Abstract Automatic Teller Machine system is based on Proteus 51-microcontroller.Hardware circuit includes microcontroller developer board and 12864LCD display. All features of ATM can be well worked on it. Programming on PC then download created file to 51-microcontroller to control outer circuit. However, with the introduction of EDA, new technology, which lower the cost of system exploration and enhance flexibility. Programing with C language, compiling and debugging under the environment of Keil software,creating a HEX file which will be downloaded by microcontroller later. Hardware schematic diagrams are established with Proteus software. According to the combination of Proteus and Keil , making a virtual system , successfully achieve united simulation. Microcontroller controls 12864LCD to display Chinese words, scans keyboard to exchange information between customer and ATM, which makes virtual ATM system becoming reality. ATM system includes databases, which are used for the storage of customers’ initial information, leading to emerge from the disadvantage of data lost when power cuts. The functions of ATM are as follows: withdraw cash, search client and remaining modify password, client freezed, password protection, automatic deposit and transfer client. This system simulates to realize the bank’s fundamental services. Keywords:ATM;51microcontroller;Proteus;Keil;12864LCD;E2PROM;virtual simulation

单片机PROTEUS仿真100实例

《单片机C语言程序设计实训100例—基于8051+Proteus仿真》案例 第01 篇基础程序设计 01 闪烁的LED /* 名称:闪烁的LED 说明:LED按设定的时间间隔闪烁 */ #include #define uchar unsigned char #define uint unsigned int sbit LED=P1^0; //延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { while(1) { LED=~LED; DelayMS(150); } } 02 从左到右的流水灯 /* 名称:从左到右的流水灯 说明:接在P0口的8个LED 从左到右循环依次点亮,产生走 马灯效果 */ #include #include #define uchar unsigned char #define uint unsigned int

//延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { P0=0xfe; while(1) { P0=_crol_(P0,1); //P0的值向左循环移动 DelayMS(150); } } 03 8只LED左右来回点亮 /* 名称:8只LED左右来回点亮 说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果*/ #include #include #define uchar unsigned char #define uint unsigned int //延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { uchar i; P2=0x01; while(1) {

51单片机行列式键盘的应用proteus仿真+源程序

51单片机行列式键盘的应用proteus仿真本人喜好单片机设计,精通单片机编程和硬件电路设计,在空余之际编一些小程序与大家分享,有哪位路过,请多多指教,希望大家在一起能互相学习,互相进步。这里的程序已经测试通过。发表出来,一来可以帮助同样爱好单片机的朋友们,二来,希望能结交一些同道中人,共同学习。 源程序: #include #include void delayms(unsigned char ms); unsigned char data dis_digit; unsigned char code dis_code[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0xff}; unsigned char data dis_index; void main() { P2=0xff; P1=0x00; dis_index=0; dis_digit=0x01; while(1) { P2=dis_code[dis_index]; P1=dis_digit; delayms(1); P1=0x00; dis_digit=_crol_(dis_digit,1); dis_index++; dis_index &=0x07; } } void delayms(unsigned char ms) { unsigned char i; while (ms--) {

for(i=0;i<120;i++); } } 仿真图:

如果您想做项目开发,或者是做课题,或者您只是有一个想法,亲联系我们,我们会尽最大努力帮您完成,您的需要就是我们奋斗的方向! 本人有给学生做课程设计的经验,欢迎亲们来本店咨询哦 淘宝店铺地址:https://www.360docs.net/doc/8411291719.html, ; https://www.360docs.net/doc/8411291719.html, QQ:1203026348;496617571 邮箱:1203026348@https://www.360docs.net/doc/8411291719.html, ;496617571@https://www.360docs.net/doc/8411291719.html, 电话:小陈:152******** 小张:158******** 阿里旺旺:tb3569_1968 ;zwjyln 我们拥有40G!!超大容量!!!是单片机入门者的首选经典资料!!! 您在单片机方面有任何问题,请及时和我们联系,我们会竭诚为您服务!! 承接单片机项目开发,同时包括软件开发和硬件开发。我们是一组拥有扎实的单片机基础知识的大学生,我们可以给您提供从项目开始到项目的完成整个过程的技术支持,其中包括原理图的设计、电路图的proteus软件仿真、程序的编写以及相关软件的使用等

基于单片机测温系统意义

摘要 目前,在自动控制领域用温度作为一种控制量对系统进行自动控制已经越来越普遍。针对这种实际情况本文设计了一种简单实用的温度报警系统。本设计采用了单片机AT89S52和温度传感器DS18B20组成了温度自动测控系统,可根据实际需要任意设定温度值,并进行自动控制。在此设计中利用了AT89S52单片机作为主控制器件,DS18B20作为测温传感器通过LCD数码管串口传送数据,实现温度显示。通过DS18B20直接读取被测温度值,进行数据转换,能够设置温度上下限来设置报警温度。并且在到达报警温度后,系统会自动报警。 关键词:自动控制温度单片机报警

Abstract Now it is very common to use temperature as a control volume to achieve automatic control. This paper designed a simple and practical auto temperature alarm system to meet the actual condition. This design uses a microcontroller AT89S52 and temperature sensor DS18B20 automatic temperature control system formed can be arbitrarily set the temperature according to the actual value and for automatic control. In this design using the AT89S52 microcontroller as the main control device, DS18B20 as an LCD digital temperature sensor tube through the serial transmission of data, to achieve temperature display. DS18B20 measured by direct reading temperature values, data conversion, to set the temperature to set the alarm on the lower temperature. And the temperature reaching the alarm, the system will automatically alarm. Keywords: achieve automatic control temperature AT89S52 alarm

单片机温度传感器proteus仿真

仿真程序仿真: LED_0 EQU 30H LED_1 EQU 31H LED_2 EQU 32H ADC EQU 35H TCNTA EQU 36H TCNTB EQU 37H H_TEMP EQU 38H L_TEMP EQU 39H FLAG BIT 00H H_ALM BIT P3.0 L_ALM BIT P3.1 SOUND BIT P3.7 CLOCK BIT P2.4 ST BIT P2.5 EOC BIT P2.6 OE BIT P2.7 ORG 00H SJMP START ORG 0BH LJMP INT_T0 ORG 1BH LJMP INT_T1 START:MOV LED_0,#00H

MOV LED_1,#00H MOV LED_2,#00H MOV DPTR,#TABLE MOV H_TEMP,#153 MOV L_TEMP,#77 MOV TMOD,#12H MOV TH0,#245 MOV TL0,#0 MOV TH1,#(65536-1000)/256 MOV TL1,#(65536-1000)/256 MOV IE,#8AH CLR C SETB TR0 WAIT:SETB H_ALM SETB L_ALM CLR ST SETB ST CLR ST JNB EOC,$ SETB OE MOV ADC,P1 CLR OE MOV A,ADC SUBB A,L_TEMP JC LALM MOV A,H_TEMP MOV R0,ADC SUBB A,R0 JC HALM CLR TR1 LJMP PROC1 LALM:CLR L_ALM SETB TR1 CLR FLAG LJMP PROC1 HALM:CLR H_ALM SETB TR1 SETB FLAG LJMP PROC1 PROC1:MOV A,ADC MOV B,#100 DIV AB MOV LED_2,A MOV A,B

基于51单片机的计算器(附Proteus仿真图且程序有详细注释)

#include #define uint unsigned int #define uchar unsigned char #define lint unsigned long int uchar SMG[10]={0x3f,0x06,0x5b,0x4f, //数码管取模 0x66,0x6d,0x7d,0x07, 0x7f,0x6f }; uchar DA TA1[8]={0,0,0,0,0,0,0,0}; //第一个数 uchar DA TA2[8]={0,0,0,0,0,0,0,0}; //第二个数 uchar RESUIT[8]={0,0,0,0,0,0,0,0}; //结果 uchar px1=0,px2=0,px3=0,flag=0,flag1=0,flag2=0,flag3=0,f1=0,f2=0,f3=0,f4=0; //各全局变量uchar temp,key; lint x1=0,x2=0,y=0; //输入的数及其结果 void Init(); //系统初始化 void keyscan(); //键盘检测 void delay(uint); //延时 void DataOper(); //数据运算 void DataHandle(); //数据接收 void DisplayHandle(); //显示处理 void display(uchar,uchar); //数码管显示函数 void main() { P2=0x00; while(1) { keyscan(); DataHandle(); DisplayHandle(); } } void Init() //初始化,所有数据归零 { uchar i; px1=0;px2=0;px3=0; flag=0;flag1=0;flag2=0;flag3=0; f1=0;f2=0;f3=0;f4=0; x1=0;x2=0;y=0; for(i=0;i<8;i++) {DA TA1[i]=0;DATA2[i]=0;RESUIT[i]=0;} } void delay(msx) //msx为延时毫秒数 { uint i,j;

基于Proteus和Keil的单片机课程设计

第5期(总第70期) 2008年10月济南职业学院学报 Journal of Jinan Vocational College Oct .2008 No .5(Serial No .70) ·· 112单片机应用技术是电类专业的一门重要课程,也是理论和实践结合性很强的一门课程,所以课程设计环节尤为重要。课程设计环节的任务和目的是让每个学生亲自参与到其中的设计细节,提高单片机开发的能力。考虑到目前实验器材少,设计过程中容易造成器件和仪器仪表的损坏,以及离开实验室学生得不到充分的锻炼,从而借助于Proteus和Keil进行课程设计。实践证明,这样可以很好地解决上述问题,节省设计成本,提高设计速度。 1 Proteus和Keil简介1.1 Proteus简介 Proteus是一个完整的嵌入式系统软、硬件设计仿真平台,它包括原理图输入系统ISIS、带扩展的Prospice混合模型仿真器、动态器件库、高级图形分析模块和处理器虚拟系统仿真模型VSM。ISIS是Proteus系统的中心,具有超强的控制原理图设计环境。Proteus VSM最重要的特点是,它能把微处理器软件作用在处理器上,并和该处理器的任何模拟和数字器件协同仿真。仿真执行目标码就像在真正的单片机系统上运行,VSM CPU 模型能完整仿真I/O口、中断、定时器、通用外设口和其他与CPU有关的外设,甚至能仿 真多个处理器。 1.2 Keil简介 Keil是一个功能强大的开发平台,它包括项目管理器、CX51编译器、AX51宏汇编器、BL51/Lx51连接定位器、RTX51实时操作系统、Simulator软件模拟器以及Monitor51硬件目标调试器。它是一种集成化的文件管理编译环境,主要的功能特点为:编译C源程序、汇编源程序或混合语言源程序,链接和定位目标文件和库,创建HEX文件、调试目标程序等,是目前最好的51单片机开发工具之一。Keil支持软件模拟仿真(Simulator )和用户目标板调试(Monitor51)两种工作模式,前者不需要任何单片机硬件即可完成用户程序仿真调试,后者利用硬件目标板中的监控程序可以直接调试目标硬件系统。 2 应用举例 下面结合课程设计中四项八拍步进电机正反转电路的单片机实现,具体说明如何基于Proteus和Keil进行单片机仿真。电路的功能是,通过点击正反转按钮,让步进电机自如进行正反转的切换。 2.1 硬件的实现 打开Proteus ISIS编辑环境,通过对象选择按 基于Proteus和Keil的单片机课程设计 宫亚梅 (常州信息职业技术学院 机电工程系,江苏 常州 213164) 摘 要:本文介绍了Proteus和Keil的功能特点,结合步进电机正反转实例,详细给出了两种软件在单片机课 程设计中的具体应用。 关键词:Proteus;Keil;单片机;设计 中图分类号:TP391 文献标识码:A 文章编号:1673-4270(2008)05-0112-02 收稿日期:2008-09-08 作者简介:宫亚梅(1979—),女,江苏姜堰人,常州信息职业技术学院机电工程系助教。

基于单片机的温度检测与控制系统的设计(论文)开题报告

河南中医学院 本科生毕业设计(论文)开题报告 题目:基于单片机温度检测与控制系统设计 院系:信息技术学院 专业:计算机科学与技术 班级:2010级计科班 学号:2010180042 学生姓名:郭文珠 指导教师:谢志豪 2013年11月13日 一、立题依据(包括研究的目的与意义及国内外现状): 研究的目的与意义 这次毕业设计选题的目的主要是让我们将所学的知识应用与生活当中,掌握系统总体设计的流程,方案的论证,选择,实施与完善。通过对温度控制系统的设计、制作、控制、测试的全过程,提高对单片机的认识和实际操作的能力,初步培养在完成工程项目中所应具备的基本素质和要求,培养自己的研发能力,提高自己的查阅资料,语言表达和理论联系实际的能力。 温度控制无论在日常生活还是工业生产中都有分厂重要的作用,随着社会经济的高速发展,更多方面对温度控制的可靠性和稳定性有了更高的要求,而单片机进行温度的调节就具备很高的可靠性[1]。 国内外现状 国外对温度控制技术研究较早,始于20世纪70年代。先是采用模拟式的组合仪表,采集现场信息并行指进示、记录和控制。80年代末出现了分布式控制系统[2]。目前正开发和研制计算机数据采集控制系统的多因子综合控制系统。现在世界各国的温度测控技术发展很快,一些国家在实现自动化的基础上正向着完全自动化、无人化的方向发展[3]。我国对于温度测控技术的研究较晚,始于20世纪80年代。我国工程技术人员在吸收发达国家温度测控技术的基础上,才掌握了温度室内微机控制技术,该技术仅限于对温度的单项环境因子的控制。我国温度测控设施计算机应用,在总体上正从消化吸收、简单应用阶段向实用化、综合性应用阶段过渡和发展[4]。在技术上,以单片机控制的单参数单回路系统居多,尚无真正意义上的多参数综合控制系统,与发达国家相比,存在较大差距。我国温度测量控制现状还远远没有达到工厂化的程度,生产实际中仍然有许多问题困扰着我们,存在着装备配套能力差,产业化程度低,环境控制水平落后,软硬件资源不能共享可靠性差等缺点[5]。在今后的温控系统的研究中会趋于智能化,集成化,系统的各项性能指标更准确,更加稳定可靠。 二、研究主要内容(包括计划解决的具体问题或实现的基本功能,研究中的重难点分析、实用性及创新性分析,预期达到的成果等。不得低于800字): 计划实现的基本功能 温度控制系统主要是完成温度信号采集、处理、显示等功能[6]。设 计叙述了基于单片机的温度检测与控制系统的设计,包括硬件的设计以 及软件的设计,该系统在硬件设计上主要是通过温度传感器对温度进行 采集,把温度转成变化的电压,然后由放大器将信号放大,通过转化器

基于Proteus的单片机串口通信仿真

— Proteus 班级:电信13-2 姓名:段学亮 邓成智 崔俊杰 邓石磊 陈亮 高金玉 成绩: 电子与信息工程学院 信息与通信工程系

1.设计要求 1.1甲单片机向乙单片机机发送控制命令字符,甲单片机同时接收乙单片机机发送的数字,并显示在数码管上。 1.2乙机程序接收甲机发送字符并完成相应动作乙机接收到甲机发送的信号后,根据相应信号控制LED完成不同闪烁动作。 2. 仿真电路图 串口通信仿真电路图如图一 图1:串口通信仿真电路图 3.串口通信C51程序 /* 名称:甲机串口程序 说明:甲机向乙机发送控制命令字符,甲机同时接收乙机发送的数字,并显示在数码管上。 */

#include #define uchar unsigned char #define uint unsigned int sbit LED1=P1^0; sbit LED2=P1^3; sbit K1=P1^7; uchar Operation_No=0; //操作代码 //数码管代码 uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //延时 void DelayMS(uint ms) { uchar i; while(ms--) for(i=0;i<120;i++); } //向串口发送字符 void Putc_to_SerialPort(uchar c) { SBUF=c; while(TI==0); TI=0; } //主程序 void main() { LED1=LED2=1; P0=0x00; SCON=0x50; //串口模式1,允许接收 TMOD=0x20; //T1工作模式2 PCON=0x00; //波特率不倍增 TH1=0xfd; TL1=0xfd; TI=RI=0; TR1=1; IE=0x90; //允许串口中断 while(1) { DelayMS(100); if(K1==0) //按下K1时选择操作代码0,1,2,3 { while(K1==0); Operation_No=(Operation_No+1)%4; switch(Operation_No) //根据操作代码发送A/B/C或停止发送

相关文档
最新文档