洛 阳 理 工 学 院计算机控制技术课程设计Word格式.docx

上传人:b****6 文档编号:19115562 上传时间:2023-01-03 格式:DOCX 页数:31 大小:368.70KB
下载 相关 举报
洛 阳 理 工 学 院计算机控制技术课程设计Word格式.docx_第1页
第1页 / 共31页
洛 阳 理 工 学 院计算机控制技术课程设计Word格式.docx_第2页
第2页 / 共31页
洛 阳 理 工 学 院计算机控制技术课程设计Word格式.docx_第3页
第3页 / 共31页
洛 阳 理 工 学 院计算机控制技术课程设计Word格式.docx_第4页
第4页 / 共31页
洛 阳 理 工 学 院计算机控制技术课程设计Word格式.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

洛 阳 理 工 学 院计算机控制技术课程设计Word格式.docx

《洛 阳 理 工 学 院计算机控制技术课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《洛 阳 理 工 学 院计算机控制技术课程设计Word格式.docx(31页珍藏版)》请在冰豆网上搜索。

洛 阳 理 工 学 院计算机控制技术课程设计Word格式.docx

由于采用的是可编程器件作为控制核心,与传统的温度计相比该温度计具有示数直观,精度可调,功能易扩展等优点。

关键词:

数字温度计,单片机,DS18B20

目录

第1章总体方案设计3

1.1方案比较3

1.1.1方案一3

1.1.2方案二3

1.1.3方案三4

1.2方案论证4

1.3方案选择5

第2章单元模块设计5

2.1各单元模块功能介绍及电路设计5

2.1.1电源电路5

2.1.2中央处理电路6

2.1.3测温电路7

2.1.4显示电路8

2.2电路参数的计算及元器件的选择8

2.2.1电源电路8

2.2.2中央处理电路9

2.2.3测温电路9

2.2.4显示电路9

2.3特殊器件的介绍9

2.3.1STC89C52单片机特点及特性9

2.3.2DS18B20介绍10

2.3.374HC573介绍13

2.4各单元模块的联接14

第3章软件设计14

3.1主要软件设计流程15

3.2原理图的绘制与仿真15

3.3单片机程序的调试与编译17

第4章系统功能指标、参数20

4.1系统能实现的功能20

4.2系统指标参数测试20

4.3系统功能及指标参数分析20

第5章结论20

总结与体会22

参考文献23

附录1:

系统的电路原理图24

附录2:

DS18B20测温子程序25

第1章总体方案设计

通过查阅大量相关技术资料,并在老师的指导下,使我对整个电路系统有了一个比较全面的了解。

本设计主要是实现模拟量温度的采集,然后使其转换为数字量,最后将其转化为直观的十进制示值。

1.1方案比较

对同一种目的的实现,可以用不同的方案,下面就着重介绍以下两种方案对同一目的的实现方法。

并比较两种方案的优劣。

1.1.1方案一

原理框图如图1.1:

图1.1方案一的原理框图

方案一的原理简述:

该方案的各部分电源均由总电源供电,温度传感器为热电偶,热电偶的热端感受被测物体温度t,产生相应的热电势。

热电势与热端温度成单值函数关系,用模数转换器ADC将热电势转化为数字量,按照热电势与温度的函数关系将该数字量转换为对应温度值,经译码显示电路显示在数码管上,从而实现数字温度计的功能。

1.1.2方案二

原理框图如图1.2:

图1.2方案二的原理框图

方案二的原理简述:

该方案的各部分电源均由总电源供电,51单片机作为中央处理器及控制核心,控制数字温度计采集温度,数字温度传感器在采集到温度后直接输出数字量,传给单片机进行处理,单片机将传回的二进制数据处理后转换为相应温度,由译码显示电路以十进制形式显示在数码管上。

1.1.3方案三

原理框图如图1.3:

图1.3:

方案三的原理框图

该方案的各部分电源均由总电源供电,由模拟及数字元器件组成的控制电路作为核心,控制数字温度计采集温度,数字温度传感器在采集到温度后直接输出数字量,传给控制电路进行处理,控制电路将传回的二进制数据处理后转换为相应温度,由译码显示电路以十进制形式显示在数码管上。

1.2方案论证

以上三种方案都是可行的,第一种方案的优点是由纯硬件电路构成,不涉及软件编程,但是由于热电势与温度之间的函数关系较复杂,利用硬件电路完成其转化较复杂,设计该电路难度较大且电路将比较庞大。

第二种方案的难点主要是单片机程序编制,但其硬件电路相对简单,借助于微控制器的强大功能可使设计周期缩短,测量精度高,且易于扩展功能,增强了电路对各种工作要求的适应性。

第三种方案的优点是由纯硬件电路构成,不涉及软件编程,但是数字式温度传感器的工作涉及复杂的时序,用硬件电路实现将十分复杂,电路设计难度大且电路庞大。

1.3方案选择

考虑到自己先前自学过单片机知识,对单片机有一定了解以及电路的灵活性和适用性,经过上面三个方案的分析,第二个方案的可行性高,所以我选择第二个方案做为设计方案。

在第二个方案中,数字式温度传感器和单片机起着主导作用,单片机控制传感器测温并将其传回的数据进行处理,通过改变程序,可改变测量精度及电路的功能,可实现设计要求。

第2章单元模块设计

本节主要介绍系统各单元模块的具体功能、电路结构、工作原理、以及各个单元模块之间的联接关系;

同时本节也会对相关电路中的参数计算、元器件选择、以及核心器件进行必要说明。

2.1各单元模块功能介绍及电路设计

2.1.1电源电路

电源电路的种类繁多,如变压器降压;

桥式整流全波整流;

LC、RC滤波;

三端稳压器稳压等。

具体采用什么电路合适,则根据主体电路及执行机构不同和可靠、价廉、有效益等要求进行选用。

电源的设计结构如下:

图2.1电源电路框图

图2.2电源部分连线图

电源电路中,CON1口接入经变压器降压的低压交流电,二极管D1、D2、D3、D4组成桥式整流电路,三端稳压器LM7805稳压,稳压后再进行一次滤波,发光二极管D5与电阻R1构成电源工作指示电路,R1起限流作用。

作为滤波电容的C1、C2、C3、C4取值均来自LM7805器件资料中典型应用电路。

电路通过CON2口输出稳定+5V供给整个系统。

2.1.2中央处理电路

图2.3中央处理电路

中央处理电路主要由时钟振荡电路,复位电路及STC89C52单片机构成,其中RP1为10kΩ的排阻,作为单片机P0口的上拉电阻。

中央处理电路控制数字温度传感器进行测温并对传回的数据进行处理,再控制显示电路将测得温度显示在数码管上。

2.1.3测温电路

图2.4测温电路

测温电路主要由数字温度传感器DS18B20构成。

DS18B20使用外部电源Vcc故其3脚接Vcc,I/O口2脚通过信号线与单片机相连,I/O口线要接5KΩ左右的上拉电阻。

测温电路完成温度的测量,将测得温度以二进制数据形式反馈给单片机进行处理。

2.1.4显示电路

图2.5显示电路

显示电路主要由74HC573锁存器及七段共阴数码管构成,实现数码管对测得温度值的动态显示。

74HC573桥接单片机和数码管,按程序锁存单片机输出的数码管段选及位选控制信号,与数码管共同实现数码管动态显示功能。

2.2电路参数的计算及元器件的选择

2.2.1电源电路

考虑到实用性及稳定性,电源采用变压器降压,三端稳压器稳压的线性直流电源。

根据输入电压、二极管的反向击穿电压、最大整流电流及惯例选择1N4007作为整流二极管,根据LM7805元件资料上给出的典型应用电路决定滤波电容容值:

C1=3300uf、C2=0.22uf、C3=470uf、C4=0.1uf。

2.2.2中央处理电路

考虑到功能、成本及自身的知识储备,我选择了价格低廉、功能相对强大的51系列单片机STC89C52作为中央处理电路的处理器。

中央处理电路主要由STC89C52单片机、时钟振荡电路及复位电路构成。

时钟振荡电路及复位电路的元件选择均根据资料,无需计算。

2.2.3测温电路

测温电路主要由数字温度计DS18B20构成,据其元件资料其数据端的上拉电阻应取5kΩ左右,取标称值4.7kΩ。

2.2.4显示电路

考虑到成本、实用性及可操作性显示电路部分的锁存器选择数电课堂中介绍过的74HC573,数码管选择七段共阴数码管。

2.3特殊器件的介绍

2.3.1STC89C52单片机特点及特性

STC89C52单片机具有PDIP,TQFP和PLCC三种封装形式。

设计中采用的是PDIP封装,其引脚排列如图2.6所示。

STC89C52单片机有40个引脚,具有如下特性:

片内程序存储器含有4KB的Flash存储器,允许在线编程,擦写周期可达1000次;

片内数据存储器内含128字节的RAM;

I/O口具有32根可编程I/O线;

具有两个16位I/O线;

中断系统具有6个中断源、5个终端矢量、2个中断优先级的中断结构;

串行口是一个全双工的串行通信口;

具有两个数据指针DPTR0和DPTR1;

低功耗节电模式有节电模式和掉电模式;

包含3级程序锁定位;

STC89C52的电源电压为4.0-5.5V,STC89C52的电源电压为2.7-4.0V;

振荡器频率0-33MHz(STC89C52);

具有片内看门狗定时器;

灵活的在线片内编程模式(字节和页编程模式);

具有断电标志模式POF。

STC89C52引脚功能如下:

--P0口——8位、开漏极、双向I/O口。

--P1口——8位、双向I/O口、内部含有行拉电阻。

--P2口——8位、双向I/O口、内部含有行拉电阻。

--P3口——8位、双向I/O口、内部含有行拉电阻。

P3口除了通用I/O功能外,还有替代功能。

图2.6STC89C52单片机引脚图

2.3.2DS18B20介绍

DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。

因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。

1、DS18B20产品的特点

  

(1)、只要求一个端口即可实现通信。

  

(2)、在DS18B20中的每个器件上都有独一无二的序列号。

  (3)、实际应用中不需要外部任何元器件即可实现测温。

  (4)、测量温度范围在-55。

C到+125。

C之间。

  (5)、数字温度计的分辨率用户可以从9位到12位选择。

  (6)、内部有温度上、下限告警设置。

2、DS18B20的引脚介绍

  TO-92封装的DS18B20的引脚排列见图2.7,其引脚功能描述见表2.1。

图2.7DS18B20底视图

序号

名称

引脚功能描述

1

GND

地信号

2

DQ

数据输入/输出引脚。

开漏单总线接口引脚。

当被用着在寄生电源下,也可以向器件提供电源。

3

VDD

可选择的VDD引脚。

当工作于寄生电源时,此引脚必须接地。

表2.1 DS18B20详细引脚功能描述

3、DS18B20的使用方法

由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对STC89C52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。

由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。

DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。

该协议定义了几种信号的时序:

初始化时序、读时序、写时序。

所有时序都是将主机作为主设备,单总线器件作为从设备。

而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。

数据和命令的传输都是低位在先。

DS18B20的复位时序

(1)先将数据线置高电平“1”。

(2)延时(该时间要求的不是很严格,但是尽可能的短一点)

(3)数据线拉到低电平“0”。

(4)延时750us(该时间的时间范围可以从480到960us)。

(5)数据线拉到高电平“1”。

(6)延时等待(如果初始化成功则在15到60us时间之内产生一个由DS18B20所返回的低电平“0”。

据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。

(7)若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480us。

(8)将数据线再次拉高到高电平“1”后结束。

DS18B20的读时序

  

(1)将数据线拉高“1”。

  

(2)延时2us。

  (3)将数据线拉低“0”。

  (4)延时15us。

  (5)将数据线拉高“1”。

  (6)延时15us。

  (7)读数据线的状态得到1个状态位,并进行数据处理。

  (8)延时30us。

DS18B20的写时序

  

(1)数据线先置低电平“0”。

  

(2)延时确定的时间为15us。

  (3)按从低位到高位的顺序发送字节(一次只发送一位)。

  (4)延时时间为45us。

  (5)将数据线拉到高电平。

  (6)重复上

(1)到(6)的操作直到所有的字节全部发送完为止。

  (7)最后将数据线拉高。

DS18B20数据输出与对应温度关系

DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:

用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。

LSB

23

22

21

20

2-1

2-2

2-3

2-4

MSB

MSbLSb

S

26

25

24

表2.2DS18B20温度值格式表

这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;

如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。

温度/℃

二进制表示

十六进制表示

+125

0000011111010000

07D0H

+85

0000010101010000

0550H

+25.0625

0000000110010000

0191H

+10.125

0000000010100001

00A2H

+0.5

0000000000000010

0008H

0000000000001000

0000H

-0.5

1111111111110000

FFF8H

-10.125

1111111101011110

FF5EH

-25.0625

1111111001101111

FE6FH

-55

1111110010010000

FC90H

表2.3DS18B20温度对应值表

2.3.374HC573介绍

74HC573为八进制三态输出透明D锁存器阵列,其引脚排列见图2.8,其中

为输出使能端,LE为锁存使能端,1D—8D为数据输入端,1Q—8Q为数据输出端,逻辑功能见表2.4。

74HC573内部共有八路D锁存器,每一路的逻辑图见图2.9。

图2.874HC573引脚图

输入

输出

Q

LED

LHH

LHL

LLX

HLX

H

L

Q0

Z

表2.474HC573功能表(每一路锁存器,表中Z为高阻抗)

图2.974HC573逻辑图

2.4各单元模块的联接

详见附录1

第3章软件设计

在本设计中用到了三种软件,一种是Proteus7Professional,主要用于设计原理图的绘制及电路仿真,一种是KeilC51编译系统,主要用于调试、编译STC89C52单片机程序,一种是STC-ISPV31,主要用于向单片机下载程序。

3.1主要软件设计流程

主要软件设计流程框图如图3.1:

图3.1主要软件设计流程图

3.2原理图的绘制与仿真

在设计过程中我主要使用Proteus7Professionalisis软件完成系统原理图的绘制与仿真。

Protues软件是英国Labcenterelectronics公司出版的EDA工具软件。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

它是目前最好的仿真单片机及外围器件的工具。

Protues可提供的仿真元器件资源:

仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。

Protues可提供的仿真仪表资源:

示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。

理论上同一种仪器可以在一个电路中随意的调用。

除了现实存在的仪器外,Protues还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。

这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。

这些都尽可能减少了仪器对测量结果的影响。

Protues可提供的调试手段Protues提供了比较丰富的测试信号用于电路的测试。

这些测试信号包括模拟信号和数字信号。

在PROTUES绘制好原理图后,调入已编译好的目标代码文件:

*.HEX,可以在PROTUES的原理图中看到模拟的实物运行状态和过程,不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。

前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果,它的元器件、连接线路等却和传统的单片机实验硬件高度对应。

这在相当程度上替代了传统的单片机实验教学的功能,例:

元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。

使用Protues对电路进行设计和实验仿真的基本步骤是:

1、用虚拟器件在工作区建立电路;

2、选定元件的模式、参数值和标号;

3、连接信号源等虚拟仪器;

4、选择分析功能和参数;

5、激活电路进行仿真;

6、保存电路图和仿真结果。

Protues是电子信息类专业经常用到的一种软件,很多地方都要用到来绘制原理图。

在这里进行一些简单的操作流程介绍。

首先,进入Protues的设计页面,按照设计框图找出设计中所需要的基本器件,如图3.2:

图3.2元器件的绘制与连线

原理图画好并设定参数后可点击“运行”按钮进行仿真,根据仿真图中元件各引脚电平变化及电路实现现象可以判断设计是否正确,如图3.3:

图3.3电路的仿真

3.3单片机程序的调试与编译

STC89C52单片机程序的调试与编译用到的编译系统是KeilC51。

KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

  

KeilC51工具包uVision是C51forWindows的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。

开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。

然后分别由C51及C51编译器编译生成目标文件(.OBJ)。

目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。

ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

下面简单介绍KeilC51开发系统的使用。

首先,进入KeilC51编译系统,建立工程文件,编辑C语言源文件。

如图3.4:

图3.4建立工程文件

然后,建立C语言源文件,写入源代码并进行编译、调试,如图3.5:

图3.5建立C语言源文件,写入源代码并进行编译、调试

图3.6DS18B20温度读取程序流程图

第4章系统功能指标、参数

4.1系统能实现的功能

系统能够通过DS18B20测量温度,并将实时温度显示到数码管,精确到十分位。

且能动态响应,当温度改变时数码管温度示值能立即改变,显示相应的温度值。

4.2系统指标参数测试

设计中个参数测试主要用到了仿真软件proteus,利用它我对数码管动态电路显示进行了测试,测试通过后继续完成与测温电路的连接。

对系统整体的测试我用的是WED-51单片机开发板,经实际测试,验证了设计符合设计要求,能进行温度测量且精度达到了0.1,温度改变,系统也能动态响应。

4.3系统功能及指标参数分析

电源电路:

4个1N4007作为整流二极管构成桥式整流,滤波电容容值:

中央处理电路:

51系列单片机STC89C52作为中央处理电路的处理器。

测温电路:

数字温度传感器为DS18B20,其数据端的上拉电阻R3取标称值4.7kΩ。

显示电路:

显示电路部分的锁存器选择八进制三态输出透明D锁存器74HC573,数码管选择七段共阴数码管。

经测试,系统测温精度达到0.1℃,符合设计要求指标。

第5章结论

该设计用仿真软件proteus及单片机开发板完美的验证了理论分析结果。

数字温度计是一个用途非常广泛的电路,在很多地方都可以见到它们的身影,如工农业生产、科研、生活中。

我设计的这个数字温度计能动态显示实时温度,示数直观而且通过改

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1