当前位置:文档之家› C51单片机数字温度计汇编程序及说明书

C51单片机数字温度计汇编程序及说明书

C51单片机数字温度计汇编程序及说明书
C51单片机数字温度计汇编程序及说明书

1绪论

1.1选题背景

随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。温度测量在物理实验、医疗卫生、食品生产等领域,尤其在热学试验(如:物体的比热容、汽化热、热功当量、压强温度系数等教学实验)中,有特别重要的意义。现在所使用的温度计通常都是精度为1℃和0.1℃的水银、煤油或酒精温度计。这些温度计的刻度间隔通常都很密,不容易准确分辨,读数困难,而且他们的热容量还比较大,达到热平衡所需的时间较长,因此很难读准,并且使用非常不方便。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确等优点,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用。因此本课题就尝试通过编程与芯片的结合来解决传统数字温度计的弊端,设计出新型数字温度计。

1.2课题现状分析及研究意义

温度传感器的发展现状:温度传感器使用范围广,数量多,居各种传感器之首,其发展大致经历了以下3个阶段:

①传统的分立式温度传感器(含敏感元件)——热电偶传感器,主要是能够进行非电量和电量之间转换。

②模拟集成温度传感器/控制器。集成传感器是采用硅半导体集成工艺制成的,因此亦称硅传感器或单片集成温度传感器。

③智能温度传感器。它是微电子技术、计算机技术和自动测试技术(ATE_)的结晶。智能温度传感器内部包含温度传感器、A/D传感器、信号处理器、存储器(或寄存器)和接口电路。

本课题的研究可以应用领域生产、生活等很多领域。对于家用电器从洗衣机、微波炉到音响等等到处都可以用到温度控制器来方便大家的日常生活。开发此产品后也可方便应用安装在小至家庭大到工厂车间,小至一

个芯片大到一个机械设备。例如在家庭客厅卧室等必要地方显示室温,可防止家里食物是否变质及早采取措施。工业生产控制中用数字温度计可清晰显示温度来防止元气件失效或损坏等不必要的非人为损失,对做好车间机器维修与保养起很重要的作用。

1.3论文的组织结构

第一部分:绪论。介绍了论文的选题背景、现状分析和研究意义。

第二部分:基于单片机的数字温度计设计系统的研究概述。对系统的调查研究、项目的概述、项目实施计划等。

第三部分:基于单片机的数字温度计设计系统分析与设计。本系统功能需求分析,系统要求,系统整体设计,目标系统要求,开发环境。

第四部分:基于单片机的数字温度计设计系统的功能实现。各功能模块的具体设计与实现方法、主要部分包含部的代码。

第五部分:基于单片机的数字温度计设计系统测试与维护。主要检验有何不足之处。

第六部分:基于单片机的数字温度计设计系统评价。只要是该系统的优缺点及改进方向。

第七部分:总结和体会。对整个设计总结、分析不足及改进思想。

2 基于单片机的数字温度计设计系统的研究概述

随着科学科学技术不断发展的今天,温度这个至关重要的技术参数对于我们人类更好的了解与研究自然,更好的为我们人类服务扮演不可替代的作用。科学的严谨性要求我们的研究人员必须用很便捷的方法去获得很精确的数据,再者,科学领域已经深入到地球以外的其它各个地方,所以在设计一个高要求的温度计必要要考虑到环境(电磁干扰、机械振动)对温度仪器的影响。

2.1基于单片机开发系统的发展历史

单片机作为微型计算机的一个重要分支,应用面很广,发展很快。自单片机诞生至今,已发展为上百种系列的近千个机种。

单片机发展简史:如果将8位单片机的推出作为起点,那么单片机的发展历史大致可分为以下几个阶段

(1)第一阶段(1976-1978):单片机的控索阶段。以Intel公司的MCS – 48为代表。MCS – 48的推出是在工控领域的控索,参与这一控索的公司还有Motorola 、Zilog等,都取得了满意的效果。这就是SCM的诞生年代,“单机片”一词即由此而来。

(2)第二阶段(1978-1982)单片机的完善阶段。Intel公司在MCS –48 基础上推出了完善的、典型的单片机系列MCS –51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。

①完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有很多机通信功能的串行通信接口。

②CPU外围功能单元的集中管理模式。

③体现工控特性的位地址空间及位操作方式。

④指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。

(3)第三阶段(1982-1990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS –96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。随着MCS – 51系

列的广应用,许多电气厂商竞相使用80C51为内核,将许多测控系统中使用的电路技术、接口技术、多通道A/D转换部件、可靠性技术等应用到单片机中,增强了外围电路路功能,强化了智能控制的特征。

(4)第四阶段(1990—今):微控制器的全面发展阶段。随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。

单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。微计算机(单片机)在这种情况下诞生了,纵观现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及生活中广泛使用的各种智能IC 卡、电子宠物等,这些都离不开单片机。以前只能使用复杂的模拟电路,做出来的产品体积大、成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。在单片机产生后,就将控制这些东西变为智能化了,只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。

2.2基于单片机的数字温度计系统的作用

在温度测控仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比,用单片机进行实时系统温度处理和控制,保证系统工作在最佳状态,有利于提高系统的工作效率和产品的质量。目前国内外各种家具已经使用数字温度计控制电路,例如,洗衣机、电冰箱、空调机、微波炉、电饭煲、收音机、音像、电风扇及许多高级电子玩具都配上了。数字温度计还应用于办公自动化领域、商业营销领域、安全防卫、汽车及通信系统、计算机外部设备、模糊控制等领域。随着单片机的普及,数字温度测量系统有以前的人工读数逐渐转变成为自动实时显示系统,这样不但节省了人力资源,而且提高了测量的精确性。

3.基于单片机的数字温度计设计系统分析与设计

3.1系统功能需求分析

数字温度计DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的!性能价格比也非常出色!DS18B20省略了存储用户定义报警温度、分辨率参的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。

3.2系统总体设计

本系统在设计时应考虑到有温度采集、数据转换、数字显示等。

图3-1系统程序的设计流程图

根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低

脉冲,主CPU收到此信号表示复位成功。

图3-2硬件原理图

3.3系统要求

本系统采用数字式温度计传感器为检测器件,进行单点温度检测(或温度采集),要求温度显示采用4位LED数码管显示,处理好延时,温度转换等。具有超过上、下限温度时,进行声音(蜂鸣器)报警。

3.3.1目标系统要求

(1) 时间经济性。优化逻辑设计与物理设计,使系统运行效率高,反映速度快。

(2) 可靠性。任意时刻的系统故障都会带来不可估量的损失,要求系统具有高度的可靠性。

(3) 可理解性。用户容易理解和使用该系统。

(4) 可维护性和适应性。系统应易于修改、易于扩充、易于维护。

(5) 可用性。目标系统功能齐全,能够完全满足需求。

3.3.2开发工具

开发工具与语言:KEIL C语言 Protel 99SE

(一)、KEIL C语言

单片机开发中除必要的硬件外,同样离不开软件,汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。,如属性(Properties)窗口、彩色编码语法和对多文档界面(MDI)的真正支持。

C语言是目前世界上流行、使用最广泛的高级程序设计语言。 C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。C语言的特点:(1) 简洁紧凑、灵活方便

C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。

C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。

(2) 运算符丰富

C的运算符包含的范围很广泛,共有种34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。

(3) 数据结构丰富

C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能, 支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。

(4) C是结构式语言

结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。(5) C语法限制不太严格、程序设计自由度大

一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误。而C语言允许程序编写者有较大的自由度。

(6) C语言允许直接访问物理地址,可以直接对硬件进行操作

因此既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件。

(7) C语言程序生成代码质量高,程序执行效率高

一般只比汇编程序生成的目标代码效率低10へ20%。

(8) C语言适用范围大,可移植性好

C语言有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于多种机型。

(二)、Protel 99SE

Protel 99SE是一款用于设计电路的软件,它主要能实现的功能有以下几条:

功能一:出相对比较工整漂亮的原理图。

功能二:成可以用于工厂生产的PCB制板文件。

功能三:成元件清单,生成数控钻床用的钻孔定位文件,生成阻焊层文件,生成印刷字符层文件,等等等等。你想要的它几乎全有。另外,它内部还整合了硬件仿真的功能!

虽然版本众多,但是精髓都是一个,那就是从原理图到仿真到自动布线产生PCB印制板文件一条龙搞定极大地提高工作效率。低版本的适合硬件配置不是很高的机器比如PROTEL1.0 可以在486上运行,PROTEL3.0在586上可以顺畅运行,依此类推。需要注意的是:越是高的版本功能越强大,PCB布线的软件引擎越是高效,同时提供的功能也越是完备,提供的零件库和零件封装越是丰富。高版本的仿真部分居然提供了高频测试功能,不过当然是软件仿真的,但是也足以看出它的完善程度!

3.3.3硬件介绍

(一)DS18B20温度传感器芯片简要说明:

图3-3 DS18B20引脚图

VCC:电源,输入电压为3~5.5V。

DQ:数据输入输出线。

GND:电源地。

DS18B20是单总线接口的数字温度传感器,MSC-51通过串口将数据和指令写入或读出。该芯片的温度测量范围是﹣55℃~﹢125℃,转换完的数据通过两字节输出,对应关系如表3.1所示:

表3.1温度与两字节数据对应关系

1、DS18B20的主要特性

1.1、适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电

1.2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条

口线即可实现微处理器与DS18B20的双向通讯

1.3、DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温

1.4、DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内

1.5、温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃

1.6、可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、

0.25℃、0.125℃和0.0625℃,可实现高精度测温

1.7、在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快

1.8、测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力

1.9、负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 2、DS18B20的外形和内部结构

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

DS18B20引脚定义:

(1)DQ为数字信号输入/输出端;

(2)GND为电源地;

(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。

3、DS18B20工作原理

DS18B20的读写时序得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由为750ms。

DS18B20测温原理中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低

温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。

附图为DS18B20芯片的读写时续图

图3-4芯片时序图

DS18B20有4个主要的数据部件:

(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56

位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个

DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。

表2:DS18B20温度值格式表

这是12位转化后得到的12位数据,存储在芯片的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,

-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。

(3)DS18B20温度传感器的存储器

DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。

(4)配置寄存器

该字节各位的意义如下:配置寄存器结构 TM R1 R0 1 1 1 1 1 低五位一直都是"1",TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位)表3:温度分辨率设置表

R1 R0 分辨率温度最大转换时间

0 0 9位

93.75ms

0 1 10位

187.5ms

1 0 11位

375ms

1 1 12位

750ms

(5)高速暂存存储器

高速暂存存储器由9个字节组成,其分配如表5所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表1所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。表 2是对应的一部分温度值。第九个字节是冗余检验字节。

表4 DS18B20暂存寄存器分布

寄存器内容字节地址

温度值低位(LS Byte) 0

温度值高位(MS Byte) 1

高温限值(TH) 2

低温限值(TL) 3

配置寄存器 4

保留 5

保留 6

保留 7

CRC校验值 8

(6)DS18B20的操作顺序

1)复位:在输入输出线上,先保持一段时间的低电平,再恢复高电平就可以完成复位操作。复位结束后,在输入输出线上保持一段时间的低电平,表明复位结束。

2)写入ROM功能指令:在复位操作之后,DS18B20首先接受的数据是ROM功能指令。所以,任何不属于ROM功能指令的数据均不能写入温度传

感器,即而不能进行任何操作。ROM功能指令用于多个温度传感器使用同一个数据总线和MCS—51通讯的情况。在只使用一个温度传感器的情况下,可以写入0CCH(略过ROM功能指令)以略过该步骤。

3)写入存储指令:存储指令包括写暂存存储器(4EH),读暂存存储器(BEH),温度转换开始(44H)等指令。这些指令只是对单个温度传感器有效,否则将引起通信错误。

指令约定代码功能:

读ROM 33H 读DS1820温度传感器ROM中的编码(即64位地址)符合 ROM 55H 发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读写作准备;搜索 ROM 0FOH 用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。跳过 ROM 0CCH ;忽略 64 位ROM 地址,直接向 DS1820 发温度变换命令。适用于单片工作;警搜索命令 0ECH,执行后只有温度超过设定值上限或下限的片子才做出响应。温度变换 44H 启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。

读暂存器

0BEH 读内部RAM中9字节的内容

写暂存器

4EH 发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。

复制暂存器

48H 将RAM中第3 、4字节的内容复制到EEPROM中。重调 EEPROM 0B8H 将EEPROM中内容恢复到RAM中的第3 、4字节。

读供电方式 0B4H

读DS1820的供电模式。寄生供电时DS1820发送“ 0 ”,外接电源供电 DS1820发送“ 1 ”。

(二)AT89S52芯片介绍

与MCS-51单片机产品兼容

8K字节在系统可编程Flash存储器

1000次擦写周期

全静态操作:0Hz~33Hz

三级加密程序存储器 R

32个可编程I/O口线

三个16位定时器/计数器

八个中断源

全双工UART串行通道

位微控制器

低功耗空闲和掉电模式

掉电后中断可唤醒

8K 字节在系统可编程

看门狗定时器

双数据指针

Flash

掉电标识符

功能特性描述

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程Flash,使得 AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能:

8k字节Flash,256字节RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个6向量 2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

VCC : 电源

GND: 地

P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。

在 flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。

P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p1 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。

在flash编程和校验时,P1口接收低8位地址字节。

引脚号第二功能

P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出

P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)

P1.5 MOSI(在系统编程用)

P1.6 MISO(在系统编程用)

P1.7 SCK(在系统编程用)

P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送 1。在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。

在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p2 输出

缓冲器能驱动 4 个

TTL 逻辑电平。对 P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

AT89S52 引脚号第二功能

P3.0 RXD(串行输入)

P3.1 TXD(串行输出)

P3.2 INT0(外部中断 0)

P3.3 INT0(外部中断 0)

P3.4 T0(定时器0外部输入)

P3.5 T1(定时器1外部输入)

P3.6 WR(外部数据存储器写选通)

P3.7 RD(外部数据存储器写选通)

RST: 复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出 96 个晶振周期的高电平。特殊寄存器 AUXR(地址 8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。

ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低 8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。

在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。

如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行 MOVX 或MOVC指令时有效。否则,ALE将被微弱拉高。这个 ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。

PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。

当 AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。

EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。

为了执行内部程序指令,EA应该接VCC。

在flash编程期间,EA也接收12伏VPP电压。

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

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

存储器结构

MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。

程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。

对于 89S52,如果 EA 接 VCC,程序读写先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:2000H~FFFFH。

数据存储器:AT89S52 有 256 字节片内数据存储器。高 128 字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。

当一条指令访问高于 7FH 的地址时,寻址方式决定 CPU 访问高 128 字节 RAM 还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)。

例如,下面的直接寻址指令访问0A0H(P2口)存储单元

MOV 0A0H , #data

使用间接寻址方式访问高 128 字节 RAM。例如,下面的间接寻址方式中,R0 内容为0A0H,访问的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。

MOV @R0 , #data

堆栈操作也是简介寻址方式。因此,高128字节数据RAM也可用于堆栈空间。

看门狗定时器

WDT是一种需要软件控制的复位方式。WDT 由13位计数器和特殊功能寄存器中的看门狗定时器复位存储器(WDTRST)构成。WDT 在默认情况下无法工作;为了激活WDT,户用必须往 WDTRST 寄存器(地址:0A6H)中依次写

数字温度计的设计

数字温度计的设计 【摘要】 本文将介绍一种基于单片机控制的数字温度计,就是用单片机实现温度测量,传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。本次采用DS18B20数字温度传感器来实现基于AT89S52单片机的数字温度计的设计用LCD数码管以串口传送数据,实现温度显示,能准确达到以上要求,可以用于温度等非电信号的测量,主要用于对测温比较准确的场所,或科研实验室使用,能独立工作的单片机温度检测、温度控制系统已经广泛应用很多领域。 【关键词】关键词1温度计;关键词2单片机;关键词3数字控制;关键词4DS1620 目录 第一章绪论 (2) 1.1 前言 (3) 1.2 数字温度计设计方案 (3) 1.3 总体设计框图 (3) 第二章硬件电路设计............................ 错误!未定义书签。 2.1 主要芯片介绍 (5) 2.1.1 AT89C51的介绍 (5) 2.1.2 AT89C51各引脚功能介绍 (5) 2.2 温度传感器 (7) 2.2.1 DS1620介绍 (7) 第三章软件设计................................ 错误!未定义书签。

3.1 主程序流程图 (11) 3.4 计算温度子程序流程图 (13) 3.5 显示数据刷新子程序流程图 (13) 第四章 Proteus仿真调试......................... 错误!未定义书签。 4.1 Proteus软件介绍 (15) 4.2 Proteus界面介绍 (16) 4.2.1 原理图编辑窗口 (18) 4.2.2 预览窗口 (23) 4.2.3 模型选择工具栏 (31) 4.2.4 元件列表 (35) 4.2.5 方向工具栏 (37) 4.2.6 仿真工具栏 (38) 4.3 本次设计仿真过程 (39) 4.3.1 创建原理图 (40) 设计总结 (50) 结论 (57) 参考文献 (59) 致谢 (62) 附录 (72)

基于AT89C5单片机的数字温度计设计

基于AT89C5单片机的数字温度计设计

CHANGZHOU INSTITUTE OF TECHNOLOGY 科研实践 题目:基于单片机的数字温度计的设计

目录 目录 (2) 1.绪论 (3) 1.1课题研究背景及意义 (3) 1.2课题研究的内容 (3) 2.数字温度计的系统概论 (5) 2.1系统的功能 (5) 2.2温度计的分析 (5) 3.设计方案和要求 (6) 3.1设计任务和要求 (6) 3.2元器件的选取 (6) 3.3系统最终设计方案 (7) 4.硬件设计 (8) 4.1总体设计结构图 (8) 4.2硬件电路概述 (8) 4.2.1最小系统 (8) 4.2.2输入电路设计 (11) 4.2.3输出电路设计 (12) 5.硬件仿真 (15)

6.实物制作 (18) 6.1电路板焊接 (18) 6.2电路板调试 (19) 7.小结 (20) 附录 (21) 1.参考文献 (21) 2.原理图 (22) 3.元器件清单 (23) 4.软件程序 (24) 5.实物图 (30) 1.绪论 1.1课题研究背景及意义 单片机技术作为计算机技术的一个分支,广泛地应用于工业控制,智能仪器仪表,机电一体化产品,家用电器等各个领域。“单片机原理与应用”在工科院校各专业中已作为一门重要的技术基础课而普遍开设。学生在课程设计,毕业设计,科研项目中会广泛应用到单片机知识,而且,进入社会后也会广泛接触到单片机的工程项目。鉴于此,提高“单片机原理及应用”课的教学效果,让学生参与课程设计

实习甚为重要。单片机应用技术涉及的内容十分广泛,如何使学生在有限的时间内掌握单片机应用的基本原理及方法,是一个很有价值的教学项目。为此,我们进行了“单片机的学习与应用”方面的课程设计,锻炼学生的动脑动手以及协作能力。 单片机课程设计是针对模拟电子技术,数字逻辑电路,电路,单片机的原理及应用课程的要求,对我们进行综合性实践训练的实践学习环节,它包括选择课设任务、软件设计,硬件设计,调试和编写课设报告等实践内容。通过此次课程设计实现以下三个目标:第一,让学生初步掌握单片机课程的试验、设计方法,即学生根据设计要求和性能约束,查阅文献资料,收集、分析类似的相关题目,并通过元器件的组装调试等实践环节,使最终硬件电路达到题目要求的性能指标;第二,课程设计为后续的毕业设计打好基础,毕业设计是系统的工程设计实践,而课程设计的着眼点是让学生开始从理论学习的轨道上逐渐引向实际运用,从已学过的定性分析、定量计算的方法,逐步掌握工程设计的步骤和方法,了解科学实验的程序和实施方法。第三,培养学生勤于思考乐于动手的习惯,同时通过设计并制作单片机类产品,使学生能够自己不断地学习接受新知识(如在本课设题目中存在智能测温器件DS18B20,就是课堂环节中不曾提及的“新器件”),通过多人的合作解决现实中存在的问题,从而不断地增强学生在该方面的自信心及兴趣,也提高了学生的动手能力,对学生以后步入社会参加工作打下一定良好的实践基础。 1.2课题研究的内容 本文主要介绍了一个基于AT89C51单片机的测温系统,详细描述了利用数 字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机喜爱的硬 件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也进 行一一介绍,该系统可以方便的是实现温度采集和显示,并可以根据需要任意 设定上下限报警温度,它使用起来方便,具有精度高、量程宽、灵敏度高、体 积小、功耗低等优点,适合我们日常生活和工农业生产中的温度测量,也可以 当做温度处理模块嵌入其他系统中,作为其他主系统的辅助扩展。DS18B20和AT89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合 与恶劣环境下进行现场温度测量,有广泛的应用前景。 本设计首先是确定目标,气候是各个功能模块的设计,再在Proteus软件上 进行仿真,修改,仿真。 本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范 围内时,可以报警。

基于51单片机的DS18B20数字温度计的实训报告

电子信息职业技术学院 暨国家示性软件职业技术学院 单片机实训 题目:用MCS-51单片机和 18B20实现数字温度计 姓名: 系别:网络系 专业:计算机控制技术 班级:计控 指导教师: * 伟 时间安排:2013年1月7日至 2013年1月11日

摘要 随着国民经济的发展,人们需要对各中加热炉、热处理炉、反应炉和锅炉中温度进行监测和控制。采用单片机来对他们控制不仅具有控制方便,简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。 在日常生活及工业生产过程中,经常要用到温度的检测及控制,温度是生产过程和科学实验中普遍而且重要的物理参数之一。在生产过程中,为了高效地进行生产,必须对它的主要参数,如温度、压力、流量等进行有效的控制。温度控制在生产过程中占有相当大的比例。温度测量是温度控制的基础,技术已经比较成熟。传统的测温元件有热电偶和二电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,这些方法相对比较复杂,需要比较多的外部硬件支持。我们用一种相对比较简单的方式来测量。 我们采用美国DALLAS半导体公司继DS18B20之后推出的一种改进型智能温度传感器DS18B20作为检测元件,温度围为-55~125 oC,最高分辨率可达0.0625 oC。DS18B20可以直接读出北侧温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。 本文介绍一种基于AT89C51单片机的一种温度测量及报警电路,该电路采用DS18B20作为温度监测元件,测量围0℃-~+100℃,使用LED模块显示,能设置温度报警上下限。正文着重给出了软硬件系统的各部分电路,介绍了集成温度传感器DS18B20的原理,AT89C51单片机功能和应用。该电路设计新颖、功能强大、结构简单。 关键词:单片机,数字控制,温度计, DS18B20,AT89S51

简单51单片机数字时钟设计

题目:简单51单片机数字时钟设计 院系: 物理与电气工程学院 专业:自动化专业 班级:10级自动化 姓名:苏吉振 学号:2 老师:李艾华

引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。 单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 数字钟是采用数字电路实现对时,分,秒数字显示的计时装置,广泛用于个 人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。

基于单片机的数字温度计设计开题报告

****大学综合性设计实验 开题报告 ?实验题目:数字温度计的设计 ?学生专业10电气工程与自动化 ?同组人:———————— ?指导老师: 2013年4月

1.国内外现状及研究意义 随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。 测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段: ①传统的分立式温度传感器 ②模拟集成温度传感器 ③智能集成温度传感器。 目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)。社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展,本文将介绍智能集成温度传感器DS18B20的结构特征及控制方法,并对以此传感器,AT89S51单片机为控制器构成的数字温度测量装置的工作原理及程序设计作了详细的介绍。与传统的温度计相比,其具有读数方便,测温范围广,测温准确,输出温度采用数字显示,主要用于对测温要求比较准确的场所,或科研实验室使用。该设计控制器使用ATMEL公司的AT89S51单片机,测温传感器使用DALLAS公司DS18B20,用液晶来实现温度显示。 2.方案设计及内容 (一)、方案一 采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成,热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。数据采集部分则使用带有A/D 通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。热电偶的优点是工作温度范围非常宽,且体积小,

基于51单片机及DS18B20温度传感器的数字温度计程序(详细注释)

基于51单片机及DS18B20温度传感器的数字温度计程序(详细注释)

电路实物图如下图所示: C 语言程序如下所示: /******************************************************************** zicreate ----------------------------- Copyright (C) https://www.doczj.com/doc/7b13776715.html, -------------------------- * 程序名; 基于DS18B20的测温系统 * 功 能: 实时测量温度,超过上下限报警,报警温度可手动调整。K1是用来 * 进入上下限调节模式的,当按一下K1进入上限调节模式,再按一下进入下限 * 调节模式。在正常模式下,按一下K2进入查看上限温度模式,显示1s 左右自动 * 退出;按一下K3进入查看下限温度模式,显示1s 左右自动退出;按一下K4消除 * 按键音,再按一下启动按键音。在调节上下限温度模式下,K2是实现加1功能, * K1是实现减1功能,K3是用来设定上下限温度正负的。 * 编程者:Jason * 编程时间:2009/10/2 *********************************************************************/ #include //将AT89X52.h 头文件包含到主程序 #include //将intrins.h 头文件包含到主程序(调用其中的_nop_()空操作函数延时) #define uint unsigned int //变量类型宏定义,用uint 表示无符号整形(16位) #define uchar unsigned char //变量类型宏定义,用uchar 表示无符号字符型(8位) uchar max=0x00,min=0x00; //max 是上限报警温度,min 是下限报警温度 bit s=0; //s 是调整上下限温度时温度闪烁的标志位,s=0不显示200ms ,s=1显示1s 左右 bit s1=0; //s1标志位用于上下限查看时的显示 void display1(uint z); //声明display1()函数 #include"ds18b20.h" //将ds18b20.h 头文件包含到主程序 #include"keyscan.h" //将keyscan.h 头文件包含到主程序 #include"display.h" //将display.h 头文件包含到主程序

数字钟单片机显示时间按

小小电子闹钟生活学习良伴 ———一款电路极简的单片机电子钟设计详解 电路特点 这里介绍的电子钟,电路可称得上极简,它仅使用单片的20引脚单片机完成电子钟的全部功能,而笔者见到的其它设计方案均采用二片以上的多片IC实现。 电路见图1。 一片20引脚的单片机AT89C2051为电子钟主体,其显示数据从P1口分时输出,P3.0~3.3 则输出对应的位选通信号。由于LED数码管点亮时耗电较大,故使用了四只PNP型晶体管VT1~VT4进行放大。本来笔者还有一种更简的设计方案(见图2),可省去VT1~VT4及R1~R4八个元件,但这种设计由于单片机输出口的灌入电流有限(约20mA),数码管亮度较暗而不向读者介绍,除非你采用了高亮度的发光数码管。 P3.4、P3.5、3.7外接了三个轻触式按键,这里我们分别命名为:模式设定键set(P3.4)、时调整键hour(P3.5)、分调整键min(P3.7)。C1、R13组成上电复位电路。VT5及蜂鸣器Bz为闹时讯响电路。三端稳压器7805输出的5V电压供整个系统工作。此电子钟可与任何 9~20V/100mA的交直流电源适配器配合工作,适应性强。 电子钟功能 1.走时:通过模式设定键set选择为走时,U1、U2显示小时,U3、U4显示分。U2的小数点为秒点,每秒闪烁一次。 2.走时调整:通过模式设定键set选择为走时调整,按下hour键对U1、U2的走时“时”显示进行调整(每0.2秒递加1)。按下min键对U3、U4的走时“分”显示进行调整(每0.2秒递加1)。 3.闹时调整:通过模式设定键set选择为闹时调整,按下hour键对U1、U2的闹时“时”显示进行调整(每0.2秒递加1)。按下min键对U3、U4的闹时“分”显示进行调整(每0.2秒递加1)。 4.闹时启/停设定:通过模式设定键set选择为闹时启/停设定,按下min键U3的小数点点亮,闹时功能启动;按下hour键U3的小数点熄灭,闹时功能关停。 由于电路设计得极其简单,因此丰富的功能只能由软件完成,这里软件设计成为了关键。下面介绍软件设计要点。 图3为主程序状态流程。 图3 运行时建立的主要状态标志如下: flag—掉电标志。掉电后,flag内为一随机数;重新设定时间后flag内写入标志数55H。set—工作模式设定标志。 hour—走时“时”单元。 min—走时“分”单元。 sec—走时“秒”单元。 deda—走时5mS计数单元 t_hour—闹时“时”单元。 t_min—闹时“分”单元。 d_05s—0.5秒位标志。每秒钟的前0.5秒置1,后0.5秒置0,以使秒点闪烁。 o_f—闹时启/停位标志。闹时启动置1,闹时关停置0。 另外将定时器T0设定为5mS的定时中断。这里晶振频率为12MHz,因此5mS的初值为 -5000,但实际上程序还要作其它运算,使得时间偏长,经调整为-4800后试验刚好。计时单元deda每次中断均加1。走时函数判断deda>=200时即令秒单元sec加1。同理秒单元sec

基于单片机的数字温度计的设计

基于单片机的数字温度计的设计 摘要:本文介绍了一种AT89S52单片机的数字温度计设计。该数字温度计的主控系统采用AT89S52单片机,温度采集选用PT100型温度传感器,显示系统选用数码管,实现对温度的测量和显示。该数字温度计具有稳定性高、精度准确、结构简单等优点。 关键词:AT89S51单片机温度传感器PT100数码显示 温度传感器应用于诸多领域,不管是信息化还是工业化,我们都能够看到温度传感器的身影。 铂电阻温度传感器因其测量准确度高、测量范围大、稳定性好等,被广泛用于中温(-200℃~650℃)范围的温度测量中。 pt100是铂热电阻,它的阻值会随着温度的变化而改变,在0℃时阻值为100欧姆,在100℃时它的阻值约为138.5欧姆。 本设计采用PT100温度传感器,将把温度的变化转变成电压信号的变化并将其放大,然后通过A/D转换,将数据传递给单片机,再由单片机将信号进行处理,通过数码管显示出当前温度。电路原理如图: 本系统选择PT100温度传感器,选择AT89S52单片机,AT89S52接受PT100的信号,经过处理,当数码管接收到经过AT89S52单片机处理过的信号后,显示出接收到的温度。 而且温度传感器,输出信号是数字信号,而不是传统意义上的模拟信号,这样便于单片机处理及控制。省去了传统的模拟温度传感器需要的A/D转换电路,省去了很多不必要的电路,从而电路得到了简化,也提高了系统的工作效率,降低了系统的硬件成本。 PT100是一种广泛应用的测温元件。在-50~+600 ℃范围内具有其它温度传感器无可比拟的优势,包括高精度、稳定性好、抗干扰能力强等。 本设计PT电阻采用三线制接法,可将PT100的两侧相等的导线长度分别加在两侧的桥臂上,使得导线电阻得以消除。 LM324运放电路工作过程:通过集成运放将基准电压4.096V转换为恒流源,电流流过PT100时在其上产生压降,再通过运放将该微弱压降信号放大,即输出期望的电压信号,将信号直接连AD转换芯片。 单片机的选择。AT89S52单片机是一种可靠性高、功率比较低的、性能很高的8bit4Kb 可编辑Flash的微控制器,拥有在系统上能够进行编辑的4Kb存储器。在AT89S52单片机的芯片上,具有8bitCPU和能够在系统进行编辑的Falsh,使得AT89S52在很多的领域被广泛地应用。 AD转换电路采用TLC2543美国德州仪器公司生产的12位开关电容型逐次逼近模数转换器,它具有三个控制输入端,采用简单的3线SPI串行接口可方便地与微机进行连接,是12位数据采集系统的最佳选择器件之一。数码管动态显示接口是单片机中最为常见的显示方式之一。 当单片机输出字形码时,单片机对位选通COM端电路的控制,显示相应的数码。通过分时轮流控制各个数码管的COM端,就会使各个数码管轮流受控显示。而在此过程中,每

单片机课程设计 数字温度计课程设计

单片机原理及系统课程设计 专业:电气工程及其自动化 班级:电气1101 姓名: 学号: 指导教师: 兰州交通大学自动化与电气工程学院 2014 年 1 月 17 日

1设计题目 基于单片机的数字温度计设计。 2设计方案 2.1设计目的 单片机是单片微型计算机的简称,其具有体积小、可靠性高、功能强、灵活方便等优点,故可以广泛应用于各种领域。其中数字温度计就是一个典型的例子。 本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确等特点,其输出温度采用数字显示,主要用于对测温要求较高的场所,该设计主要使用的元件有单片机AT89C52,测温传感器使用DS18B20和LCD1602液晶显示器。 2.2性能指标 (1) 基本范围-50℃-110℃; (2) 精度为0.5℃; (3) 液晶LCD显示; (4) 可以设定温度的上下限以及报警功能。 3数字温度计系统的硬件设计 3.1数字温度计硬件框图 数字温度计系统硬件框图如图1所示。 图1 系统的硬件框图

3.2AT89C52单片机 AT89C52单片机引脚配置图,如图2所示。 图2 AT89C52引脚配置图 3.3外围电路 AT89C52的时序就是CPU在执行指令时所需控制信号的时间顺序。选择了内部时钟方式,即利用芯片内部的振荡器,然后在引脚XTAL1和XTAL两端跨接晶体或陶瓷谐振器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路。外接晶振时,C1和C2值通常选择为30PF左右。C1和C2对频率有微调作用。晶体的频率范围可在1.2~12MHZ之间选择。 AT89C52的复位电路是按键电平复位电路,相当于按复位键后复位端通过电阻与Vcc电源接通。复位是单片机的初始化操作。单片机在启动运行时,都需要先复位,其作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。 显示电路采用LCD1602液晶显示器显示。 故障状态指示电路采用发光二级管以及蜂鸣器对运行方式进行指示,可清楚看到系统的故障状态。 测温传感器DS18B20可以直接读出被测温度值,采用三线制和单片机相连,少了外部的硬件电路,具有低成本和易使用的特点。

单片机电子时钟程序

程序开始 ORG 0000H AJMP MAIN ORG 000BH AJMP CLOCK ORG 0100H 主程序开始: MAIN: MOV SP,#70H MOV 6EH,#00H ;显示缓存器初始值设定 MOV 6DH,#00H MOV 6CH,#00H MOV 6BH,#00H MOV 6AH,#00H MOV 69H,#00H MOV 50H,#00H ;秒,分,小时初始值设定 MOV 51H,#00H MOV 52H,#00H MOV DPTR,#0F003H ;8255端口定义,PA,PB为输出 MOV A,#80H MOVX @DPTR,A MOV 4FH,#00H MOV TMOD,#01H ;定时器T0及TL0,TH0初始值设定 MOV TH0,#3CH MOV TL0,#0B0H SETB EA ;开总中断 SETB ET0 ;开定时器中断 SETB TR0 循环程序开始,并显示时间: START: MOV A,50H LCALL BCD MOV 6AH,A ;显示秒十位 MOV 69H,B ;显示秒个位 MOV A,51H LCALL BCD MOV 6CH,A ;显示分十位 MOV 6BH,B ;显示分个位 MOV A,52H LCALL BCD ;调用十六进制至BCD码转换子程序 MOV 6EH,A MOV 6DH,B LCALL DIS ;调用显示子程序 LCALL KEY ;调用键盘子程序 AJMP START ;主程序结束

BCD: MOV B,#0AH ;BCD码转换子程序 DIV AB RET CLOCK: PUSH ACC ;保护现场 PUSH PSW CLR TR0 MOV TH0,#3CH ;定时参数重新设置 MOV TL0,#0B0H SETB TR0 INC 4FH ;100ms单元加1 MOV A,4FH CJNE A,#0AH,D0 ;100ms单元=10,就秒单元加1 MOV 4FH,#00H ;100ms单元内容清0 MOV A,50H ADD A,#01H ;秒单元加1 MOV 50H,A CJNE A,#3CH,D0 ;秒单元内容=60,则秒单元清0 MOV 50H,#00H MOV A,51H ;分,时单元代码 ADD A,#01H MOV 51H,A CJNE A,#3CH,D0 MOV 51H,#00H MOV A,52H ADD A,#01H LCALL RING ;报警子程序 MOV 52H,A CJNE A,#18H,D0 MOV 52H,#00H D0: POP PSW ;出栈,退出中断子程序 POP ACC RETI RING: MOV R3,A CLR P1.0 LCALL DELL50 SETB P1.0 LCALL DELL50 DJNZ R3,RING RET 键盘子程序: KEY: JB P1.7,MSET ;秒设定子程序 LCALL DELL ;防抖动延时 JB P1.7,MSET INC 50H

基于51单片机的数字温度计设计

基于51单片机的数字温度计设计 一.课题选择 随着时代的发展,控制智能化,仪器小型化,功耗微量化得到广泛关注。单片机控制系统无疑在这方面起到了举足轻重的作用。单片机的应用系统设计业已成为新的技术热点,其中数字温度计就是一个典型的例子,它可广泛应用与生产生活的各个方面,具有巨大的市场前景。 二.设计目的 1.理解掌握51单片机的功能和实际应用。 2.掌握仿真开发软件的使用。 3.掌握数字式温度计电路的设计、组装与调试方法。 三.实验要求 1.以51系列单片机为核心器件,组成一个数字式温度计。 2.采用数字式温度传感器为检测器件,进行单点温度检测。 3.温度显示采用4位LED数码管显示,三位整数,一位小数。 四.设计思路 1.根据设计要求,选择STC89C51RC单片机为核心器件。 2.温度检测采用DS18B20数字式温度传感器。与单片机的接口为P 3.6引脚。 3.采用usb数据线连接充电宝供电,接电后由按钮开关控制电路供电。 硬件电路设计总体框图为图1: 五.系统的硬件构成及功能 1.主控制器 单片机STC89C51RC具有低电压供电和体积小等特点,有40个引脚,其仿真图像如下图所示:

2.显示电路 显示电路采用4位共阳LED数码管,从P3口RXD,TXD串口输出段码。LED数码管在仿真软件中如下图所示: 3.温度传感器 DS18B20是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。DS18B20的性能特点如下: 1.独特的单线接口仅需一个端口引脚进行通讯。 2.简单的多点分布应用。 3.无需外部器件。 4.可通过数据线供电。 5.零待机功耗。 6.测温范围-55~+125摄氏度。 其电路图如下图所示:

单片机带温度显示的红外遥控数字钟课程设计报告

单片机原理及应用课程设计报告 课题名称带温度显示的红外遥控数字钟 专业电气自动化 班级 B1031 学号 29 姓名武 X X 指导教师谢 X X 2012-6-4

目录 1.设计题目及要求 (1) 2.设计方案 (1) 2.1 主控制器型 (1) 2.2 DS1302实时显示时间的软硬件 (2) 2.3 显示方案 (2) 2.4 报警方案 (2) 2.5 键盘接口的选择 (3) 2.6 红外通信的基本原理 (3) 2.6.1 红外通信接口的硬件电路设计 (3) 2.6.2 红外发送器及原理 (3) 2.6.3 红外遥控电路原理分析 (4) 3.主要电路与程序设计 (5) 3.1 系统硬件的结构框图 (5) 3.2 单片机最小系统设计 (5) 3.3 温度电路设计 (6) 3.4 显示电路设计 (6) 3.5 声光报警电路 (6) 3.6 实时时钟模块 (7) 3.7 红外线接收电路 (7) 4.软件设计 (8) 4.1 总模块的流程图 (8) 4.2 部分主要模块的流程图 (9) 4.3 温度转换核心及其算法 (11) 4.3.1 DS18B20的内部结构 (11) 4.3.2 DS18B20的内存结构 (11) 4.3.3 DS18B20的测温功能 (11) 4.3.4 温度转换算法及分析 (12) 5.调试结果记录及分析 (15) 5.1 数码管显示的测试方法和结果 (15) 5.2 DS18B20的测试方法和结果 (16) 5.3 键盘程序的测试方法和结果 (16) 5.4 RS232模块的测试方法和结果 (16) 5.5产品最终调试 (16) 6.结论 (16) 7.参考文献 (17)

单片机课程设计—数字温度计

第1章概述 1.1 数字温度计简介 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。 此次课程设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89S51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。 1.2 设计内容及要求 本次单片机课程设计将以51系列单片机为核心,以开发板为平台;设计一个数字式温度计,要求使用温度传感器(可以采用DS18B20或采用AD590)测量温度,再经单片机处理后,由LED数码管显示测量的温度值。测温范围为0~100℃,精度误差在0.5℃以内。

第2章系统总体方案设计 2.1数字温度计设计的方案 在做数字温度计的单片机电路中,对信号的采集电路大多都是使用传感器,这是非常容易实现的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。采集之后,通过使用51系列的单片机,可以对数据进行相应的处理,再由LED显示电路对其数据进行显示。 2.2系统设计框图 温度计电路设计总体设计方框图如图 2.1所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用6位LED数码管以串口传送数据实现温度显示。此外,还添加了报警系统,对温度实施监控。 图2.1 数字温度计框图

数字钟在单片机上的实现(汇编语言)

武汉大学电子信息学院电子系统综合设计课程论文数字钟在单片机上的实现(汇编语言) 专业: 年级: 作者:_____________ _____________ 指导教师: 2012年06 月29 日

目录 1 作品的背景与意义 (1) 2 功能指标设计 (1) 2.1设计要求 (1) 2.1.1 基本要求 (1) 2.1.2 拓展要求 (1) 2.2 功能设计方案 (1) 3 作品方案设计 (2) 3.1总体方案的选择 (2) 3.2模块划分及分析 (3) 3.3 单模块设计流程图 (3) 4 模块源程序 (7) 5 系统测试 (35) 测试数据: (36) 6 心得体会 (36)

1 作品的背景与意义 数字钟是一种用数字电路技术实现时、分、秒计时的钟表。与机械钟相比具有更高的准确性和直观性,具有更长的使用寿命,已得到广泛的使用。数字钟的设计方法有许多种,例如可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用单片机来实现电子钟等等。这些方法都各有其特点,其中利用单片机实现的电子钟具有编程灵活,以便于功能的扩展。 2 功能指标设计 2.1设计要求 2.1.1 基本要求 1.设计一个精确的1秒定时器; 2.根据1秒定时器,设计一个带小时、分钟、秒的时钟,并将小时、分钟、秒显 示在LED上; 3.设计小时、分钟、秒的修改按键,可分别调整小时、分钟、秒(按键设计参考 电子表)。 2.1.2 拓展要求 1.增加小时、分钟、秒的键盘直接修改功能; 2.设计闹钟功能,最多支持5个闹钟,可分别查看和修改闹钟时间,可分别设置 闹钟开关; 3.增加万年历功能。 2.2 功能设计方案 1. 实现正常走时(秒-分-时-日-月-年进位); 2. 能够设置时间和日期; 3. 能够自动区分平闰年和大小月及2月; 4. 具有5个闹钟及其设置功能; 5. 在任何设置状态下,修改位会闪烁显示。

单片机课程设计基于数字温度传感器的数字温度计课程设计报告书

《单片机原理及应用》课程设计报告书 课题名称基于数字温度传感器的数字温度计 姓名 学号 专业 指导教师 机电与控制工程学院 年月日

填写说明 1、正文部分: (1)标题与正文格式定义标准如下: 一级标题:1.标题1 二级标题:1.1标题2 三级标题:1.1.1标题3 四级标题:1.1.1.1标题4 (2)表格:尽可能采用三线表。 (3)图形:直接插入的插图应有图标、图号,不能直接插入的图应留出插图空位。图中文字、符号书写要清楚,并与正文一致。 (4)文字表述:要求层次清楚,语言流畅,语句通顺,无语法和逻辑错误,无错字、别字、漏字。文字的表述应当以科学语言描述研究过程和研究结果,不要以口语化的方式表达,报告中科技术语和名词应符合规定的通用词语,并使用法定计量单位和标准符号。 2、参考文献: (1)数量要求:参考文献只选择最主要的列入,应不低于5种。 (2)种类要求:参考文献的引用,可以是著作[M]、论文[J]、专利文献[P]、会议论文等。 (3)文献著录格式及示例。参考文献用宋体五号字。 [1] 作者. 书名[M]. 版次. 出版地: 出版者, 出版年: 起止页码(著作图书文献) [2] 作者. 文章名[J]. 学术刊物名称. 年. 卷(期): 起止页码(学术刊物文献) 示例: [1]王社国,建光。基于ARM的嵌入式语音识别系统研究[J]。微计算机信息,2007,2-2:149-150. 3、附录或附件:(可选项) 重要的测试结果、图表、设计图纸、源程序代码、大量的公式、符号、照片等不宜放入正文中的可以附录形式出现。 4、如果需要可另行附页粘贴。

任务书 1. 设计要求 利用数字温度传感器DS18B20与单片机结合来测量温度。利用数字温度传感器DS18B20测量温度信号,计算后在LED数码管上显示相应的温度值。其温度测量围为?55℃~125℃,精确到0.5℃。数字温度计所测量的温度采用数字显示,控制器使用单片机AT89C51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示。 2. 原理 从温度传感器DS18B20可以很容易直接读取被测温度值,进行转换即满足设计要求。 DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字读数方式。 DS18B20的性能如下。 ?独特的单线接口仅需要一个端口引脚进行通信。 ?多个DS18B20可以并联在串行传输的数据线上,实现多点组网 功能。无须外部器件。 ?可通过数据线供电,电压围为3.0~5.5V。

(完整版)基于51单片机的数字温度计

硬件课程设计实验报告课题:数字温度计 班级: 作者: 学号: 指导老师: 课设评价: 课设成绩:

目录 一.需求分析 (1) 二.概要设计 (1) 三.硬件电路设计 (3) 四.系统软件设计 (5) 五.软件仿真 (8) 六.实际连接与调试 (9) 七.本次课设的收获与感受 (11) 附录(程序源代码) (12)

一.需求分析 功能要求: 测量环境温度,采用接触式温度传感器测量,用数码管显示温度值。 设计要求: (一)功能要求 (1) 由4位数码管显示当前温度。 (2) 具备报警,报警门限通过键盘设置。 (3) 精度为0.5℃。 (二)画出参考的电路原理图 (三)画出主程序及子程序流程图、画出MCS51内部RAM分配图,并进行适当地解释。 (四)写出实现的程序及实现过程。并进行适当地解释说明。 二.概要设计 (一)方案选择 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。 (二)系统框图 该系统可分为以下七个模块: (1)控制器:采用单片机STC89C52对采集的温度数据进行处理; (2)温度采集:采用DS18B20直接向控制器传输12位二进制数据; (3)温度显示:采用了4个LED共阴极七段数码管显示实际温度值; (4)门限设置:主要实现模式切换及上下门限温度的调节; (5)报警装置:采用发光二极管进行报警,低于低门限或高于高门限均使其发光; (6)复位电路:对整个系统进行复位; (7)时钟振荡模块:为整个系统提供统一的时钟周期。

8位数码管显示电子时钟c51单片机程序

8位数码管显示电子时钟c51单片机程序 时间:2012-09-10 13:52:26 来源:作者: /* 8位数码管显示时间格式 05—50—00 标示05点50分00秒 S1 用于小时加1操作 S2 用于小时减1操作 S3 用于分钟加1操作 S4 用于分钟减1操作 */ #include sbit KEY1=P3^0; //定义端口参数 sbit KEY2=P3^1; sbit KEY3=P3^2; sbit KEY4=P3^3; sbit LED=P1^2; //定义指示灯参数 code unsigned char tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴极数码管0—9 unsigned char StrTab[8]; //定义缓冲区 unsigned char minute=19,hour=23,second; //定义并初始化为 12:30:00 void delay(unsigned int cnt) { while(--cnt); } /******************************************************************/ /* 显示处理函数 */ /******************************************************************/ void Displaypro(void) { StrTab[0]=tab[hour/10]; //显示小时 StrTab[1]=tab[hour%10]; StrTab[2]=0x40; //显示"-" StrTab[3]=tab[minute/10]; //显示分钟 StrTab[4]=tab[minute%10]; StrTab[5]=0x40; //显示"-" StrTab[6]=tab[second/10]; //显示秒 StrTab[7]=tab[second%10]; } main()

基于单片机的数字温度计设计报告

课程设计报告 引言 随着电子技术的不断发展,我们能应用到的电子产品也越来越多。而生活中我们用的很多电子产品都越来越轻巧,价格也越来越便宜.利用电子芯片实现的东西也越来越来越多,比如数字温度计。当然,非电子产品的常用温度计也很便宜。此次课设论文所介绍的是自己动手制作的一个高精度数字温度计。本次课设不但丰富了课余生活,还从实践中学到并了很多新知识,并从中巩固了以前的知识。 用Protel 99软件来设计制作电路板——PCB(Printed circuit Bound)。在PCB上,布置一系列的芯片、电阻、电容等元件,通过PCB上的导线相连,构成电路,一起实现一定的功能。电路通过连接器或者插槽进行输入/输出,有时还有显示部分(如发光二极管LED、.数码显示器等)。可以说,PCB是一块连接板,它的主要目的是为元件提供连接,为整个电路提供输入输出端口和显示,电气连接通性是PCB最重要的特性之一。PCB在各种电子设备中有如下功能:(1)提供集成电路等各种电子元件固定、装配的机械支撑。(2)实现集成电路等各种电子元件之间的布线和电气连接或电绝缘,提供所要的电气特性。(3)为电动装配提供阻焊徒刑,为元器件插装、检查、维修提供识别符和图形。 做本课题的所用到的知识是我们学过的模拟电子电路以及数字逻辑电路等,当然还用到了刚刚学过不久的单片机知识。本次课设是把理论和实践结合起来,这不但可以锻炼自己的动手能力,而且还可以加深对数字逻辑电路和模拟电子电路的学习和理解。同时也激起了我学好单片机的斗志。为了全面清晰的表达,本论文用图文并茂的方式,尽可能详细的地介绍此次设计的全过程。

1.设计务任和要求 1.1、基本范围-20℃——100℃ 1.2、精度误差小于0.5℃ 1.3、LED 数码直读显示 1.4、可以任意设定温度的上下限报警功能 2. 系统总体方案及硬件设计 2.1数字温度计设计方案论证 2.1.1方案一 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D 转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。而且在对采集的信号进行放大时容易受温度的影响从而出现较大的偏差。 2.1.2 方案二 考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。 从以上两种方案,很容易看出,采用方案二,电路比较简单,费用较低,可靠性高,软件设计也比较简单,故采用了方案二。 2.2系统总体设计 温度计电路设计总体设计方框图如图2.1所示,控制器采用单片机STC89C52,温度传感器采用DS18B20,用4位LED 数码管以串口传送数据实现温度显示。

相关主题
文本预览
相关文档 最新文档