生产过程自动化技术专业毕业论文.docx
《生产过程自动化技术专业毕业论文.docx》由会员分享,可在线阅读,更多相关《生产过程自动化技术专业毕业论文.docx(36页珍藏版)》请在冰豆网上搜索。
生产过程自动化技术专业毕业论文
毕业设计
————基于单片机的温度显示
专业:
生产过程自动化技术
摘要
随着信息技术的飞速发展,嵌入式智能电子技术已渗透到社会生产、工业控制以及人们日常生活的各个方面。
单片机又称为嵌入式微型控制器,在智能仪表、工业控制、智能终端、通信设备、医疗器械、汽车电器、导航系统和家用电器等很多领域都有着广泛的应用,已成为当今电子信息领域应用最广泛的技术之一
本论文是采用单片机来实现温度远程显示。
以AT89S52单片机为核心的处理芯片,采用美国最新研发的DS18B20温度传感器来测量温度,LED数码管来显示检测到的温度,蜂鸣器做报警信号。
它结构简单、成本低廉、精度高、使用性强。
解决了以前的误差大、精度低、危险场所、操作复杂等各种问题。
以下详细介绍这简单又实用基于单片机的远程温度显示系统。
关键词:
AT89S52单片机、蜂鸣器、BS18B20温度传感、1602LCD显示
设计要求
一、题目:
基于DS18B20温度显示系统设计
二、基本要求:
利用单片机设计多功能数字温度计,显示环境温度,当温度超过30度或低于20度时报警。
三、设计任务:
1.画出系统结构框图。
2.画出电路图,编写程序。
3.写出详细说明书(10000字以上),要求字迹工整,原理叙述正确,会计算主要元器件的一些参数,并选择元器件。
文字部分计算机排版打印。
4.画图要求:
画图规范化,图形清晰,用计算机画图。
四、参考资料:
1.教材;
2.《单片机实验指导书》,河南工业职业技术学院
3.《51系列单片机设计实例》,楼然苗、李光飞编著,北京航空航天出版社;
4.《单片机基本原理及应用系统》,卢艳军,机械工业出版社;
指导教师:
***
第一章绪论
1.1温度远程控制系统的意义
随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。
在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。
测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:
①传统的分立式温度传感器、②模拟集成温度传感器、③智能集成温度传感器。
目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)。
社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展,在工业生产中需要时时检测温度,其在农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,生活也日趋于数字化,而温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。
在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。
比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行;炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得到汽油、柴油、煤油等产品。
没有合适的温度环境,许多电子设备就不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。
因此,各行各业对温度控制的要求都越来越高。
可见,温度的测量和控制是非常重要的。
第二章方案论证与系统结构
2.1方案论证
2.1.1单片机系统方面
世界上不同的国家的很多芯片厂商都生产不同的单片机,如生产的AT89C51、AT89S51、52等,Philips(飞利浦)公司的P80C54、P87C528等,Intel(英特尔)公司的i87C58、i87C51FC等,Siemens(西门子)公司的C501-1R、C513A-H等,STC公司的STC89C51RC、STC89S52RC等等。
从成本角度和对芯片的熟悉角度来考虑,本次设计选择Atmel公司的AT89S52作为本次的单片机芯片。
2.1.2温度传感器
方案一:
采用热敏电阻可满足测温要求,但热敏电阻精度低,重复性和可靠性较差,对于精度要求较高的测温不适用,而且采用热敏电阻要求复杂的电路和算法,增加了设计复杂度。
方案二:
采用专用的集成温度传感器(如AD590、LM35/LM45)和数字化温度传感器如DS18B20、测温,数字化温度传感器具有接口简单、直接数字量输出、精确度高等优点。
DS18B20是DALLAS公司的最新单线数字温度传感器,它是世界上第一片支持“一线总线”接口的温度传感器。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,它的测量温度范围为-55~+125℃,在-10~+85℃范围内,精度为±0.5℃,现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如:
环境控制、设备或过程控制、测温类消费电子产品等,DS18B20支持3~5.5V的电压范围,使系统设计更灵活、更方便、更便宜、体积更小。
DS18B20可以程序设定9~12位的分辨率,精度为±0.5℃,分辨率设定及用户设定的报警温度存储在E2PROM中,掉电后依然保存。
因此,本方案选用DS18B20作为温度测量传感器。
从精度方面和计算方面来考虑本次选择DS18B20作为本次的温度采集芯片。
2.1.3显示模块
液晶显示
采用每行显示16个字符,一共可以显示两行的JM1602C,能显示ASCII码字符,如数字、大小写字母、各种符号等,液晶体积小、功耗低、显示操作简单
第三章硬件模块介绍
3.1AT89S52单片机介绍
AT89S52为ATMEL所生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flsah存储器。
3.1.1AT89S52主要功能
1、拥有灵巧的8位CPU和在系统可编程Flash
2、晶片内部具时钟振荡器(传统最高工作频率可至12MHz)
3、内部程序存储器(ROM)为8KB
4、内部数据存储器(RAM)为256字节
5、32个可编程I/O口线
6、8个中断向量源
7、三个16位定时器/计数器
8、三级加密程序存储器
9、全双工UART串行通道
3.1.2AT89S52各引脚功能介绍:
1)主电源引脚Vss和Vcc
VCC(40脚):
AT89S52电源正端输入,接+5V。
VSS(20脚):
电源地端。
2)外部晶振引脚XTAL1和XTAL2
XTAL1(18脚):
单芯片系统时钟的反相放大器输入端。
XTAL2(19脚):
系统时钟的反相放大器输出端。
AT89S52内部有一个时钟振荡电路,一般在设计上只要在XTAL1和XTAL2上接上一只石英振荡晶振和电容组成并联谐振回路,与内部振荡电路就产生自激振荡。
如下图所示,晶振可以再1.2-12MHz之间选择,此外在两引脚与地之间加入电容值可以在5-30PF之间选择。
电容的大小可起到频率微调,使系统更稳定,避免噪声干扰而死机的作用。
3)复位引脚RST/Vpd
RESET/Vpd(9脚):
AT89S52的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S52便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。
在VCC掉电期间,此引脚可接上备用电源,由Vpd向内部提供备用电源,以保持内部RAM中的数据。
常用的复位电路如下图所示。
4)EA/Vpp
EA/Vpp(31脚):
"EA"为英文"ExternalAccess"的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。
当EA/Vpp为高电平时,访问内部程序存储器。
5)ALE/PROG
ALE/PROG(30脚):
ALE是英文"AddressLatchEnable"的缩写,表示地址锁存器启用信号。
AT89S52可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0~A7)锁进锁存器中,因为AT89S52是以多工的方式送出地址及数据。
平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。
此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。
6)/PSEN
/PSEN(29脚):
此为"ProgramStoreEnable"的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。
AT89S52可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。
7)PORT0(P0.0~P0.7)
PORT0(P0.0~P0.7)(32-39脚):
端口0是一个8位宽的开路汲极(OpenDrain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。
其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。
如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。
设计者必须外加一锁存器将端口0送出的地址栓锁住成为A0~A7,再配合端口2所送出的A8~A15合成一完整的16位地址总线,而定址到64K的外部存储器空间。
8)PORT2(P2.0~P2.7)
PORT2(P2.0~P2.7)(21-28脚):
端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。
P2除了当做一般I/O端口使用外,若是在AT89S52扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当做I/O来使用了。
9)PORT1(P1.0~P1.7)
PORT1(P1.0~P1.7)(1-8脚):
端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LSTTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。
如果是使用8052或是8032的话,P1.0又当做定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。
10)PORT3(P3.0~P3.7)
PORT3(P3.0~P3.7)(10-17脚):
端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。
其引脚分配如下:
P3.0:
RXD,串行通信输入。
P3.1:
TXD,串行通信输出。
P3.2:
INT0,外部中断0输入。
P3.3:
INT1,外部中断1输入。
P3.4:
T0,计时计数器0输入。
P3.5:
T1,计时计数器1输入。
P3.6:
WR:
外部数据存储器的写入信号。
P3.7:
RD,外部数据存储器的读取信号。
3.1.3中断源
中断时为使用单片机具有对外部或内部随机发生的时间实时处理而设置的,中断功能的存在,很大程度上提高了单片机的处理外部或内部时间的能力。
AT89S52单片机有6个中断源,它们的符号、名称及产生的条件分别解释如下:
INT0:
外部中断0,由P3.2端口线引入,低电平或下降沿引起。
INT1:
外部中断1,由P3.3端口线引入,低电平或下降沿引起。
T0:
定时器/计数器0中断,由T0计数器计满回零引起。
T1:
定时器/计数器1中断,由T1计数器计满回零引起。
T2:
定时器/计数器2中断,由T2计数器计满回零引起。
TI/RI:
串行口中断,串行端口完成一帧字符发送/接收后引起。
以上6个中断源中,T2是52单片机特有的,它们默认中断级别如下:
中断源
中断级别
序号(C语言用)
入口地址(汇编)
INT0—外部中断0
最高
0
0003H
T0—定时器/计数器0中断
第2
1
000BH
INT1—外部中断1
第3
2
0013H
T1—定时器/计数器1中断
第4
3
001BH
TI/RI—串行口中断
第5
4
0023H
T2—定时器/计数器2中断
最低
5
002BH
表3.1.152单片机中断级别
1)中断允许寄存器IE
中断允许寄存器用来设定各个中断源的打开和关闭,IE在特殊功能寄存器中,字节地址为A8H,位地址(由地位到高位)分别是A8H—AFH,该寄存器可进行位寻址,即可对该寄存器的每位进行单独操作。
单片机复位时IE全部被清0.各定义见下表3.1.2:
表3.1.2中断允许寄存器IE
位序号
D7
D6
D5
D4
D3
D2
D1
D0
位符号
EA
--
ET2
ES
ET1
EX1
ET0
EX0
位地址
AFH
--
ADH
ACH
ABH
AAH
A9H
A8H
EA—全局中断允许位
EA=1,打开全局中断控制,在此条件下,由各个中断控制位确定相应中断打开和关闭。
EA=0,关闭全部中断。
--,无效位
ET2—定时器/计数器2中断允许位
ET2=1,打开T2中断。
ET2=0,关闭T2中断。
ES—串行口中断允许位
ES=1,打开串行口中断
ES=0,关闭串行口中断
ET1—定时器/计数器1中断允许位
ET1=1,打开T1中断。
ET1=0,关闭T1中断。
EX1—外部中断1中断允许位
EX1=1,打开外部中断1中断
EX1=0,关闭外部中断1中断
ET0—定时器/计数器0中断允许位
ET0=1,打开T0中断。
ET0=0,关闭T0中断。
EX0—外部中断0中断允许位
EX0=1,打开外部中断0中断
EX0=0,关闭外部中断0中断
2)中断优先级寄存器IP
中断优先级寄存器在特殊功能寄存器中,字节地址为B8H,位地址(由低位到高位)分别是B8H-BFH,IP用来设定各个中断源属于两级中断中哪一级。
该寄存器可进行位寻址,即可对该寄存器的每一位进行单独操作。
单片机复位时IP全部被清0,各位定义见表3.1.3:
表3.1.3中断优先级寄存器IP
位序号
D7
D6
D5
D4
D3
D2
D1
D0
位符号
--
--
--
PS
PT1
PX1
PT0
PX0
位地址
--
--
--
BCH
BBH
BAH
B9H
B8H
--—无效位
PS—串行口中断优先级控制位
PS=1,串行口中断定义为高优先级中断。
PS=0,串行口中断定义为低优先级中断。
PT1—定时器/计数器1中断优先级控制位
PT1=1,定时器/计数器1中断定义为高优先级中断。
PT1=0,定时器/计数器1中断定义为低优先级中断。
PX1—外部中断1中断优先级控制位
PX1=1,外部中断1定义为高优先级中断。
PX1=0,外部中断1定义为低优先级中断。
PT0—定时器/计数器0中断优先级控制位
PT0=1,定时器/计数器0中断定义为高优先级中断。
PT0=0,定时器/计数器0中断定义为低优先级中断。
PX0—外部中断0中断优先级控制位
PX0=1,外部中断0定义为高优先级中断。
PX0=0,外部中断0定义为低优先级中断。
3)定时器/计数器工作方式寄存器TMOD
定时器/计数器工作方式寄存器在特殊功能寄存器中,字节地址为89H,不能位寻址,TMOD用来确定定时器的工作方式及功能选择。
单片机复位时TMOD全部被清0。
其各位的定义如表3.1.4:
表3.1.4定时器/计数器工作方式寄存器TMOD
位序号
D7
D6
D5
D4
D3
D2
D1
D0
位符号
GATE
C/T
M1
M0
GATE
C/T
M1
M0
定时器1
定时器0
由表3.1.4可知,TMOD的高4位用于设置定时器1,低4位用来设置定时器0。
对应4位的含义如下:
GATE—门控制位
GATE=0,定时器/计数器启动与停止仅受TCON寄存器中TRX(X=0,1)来控制。
GATE=1,定时器/计数器启动与停止由TCON寄存器中TRX(X=0,1)和外部中断引脚(INT0和INT1)上的电平状态来共同控制。
C/T—定时器模式和计数器模式选择位
C/T=1,为计数器模式;
C/T=0,为定时器模式。
M1M0—工作方式选择位
每个定时器/计数器都有4种工作方式,它们由M1M0设定,对应关系表3.1.5:
表3.1.5定时器/计数器的4种工作方式
M1
M0
工作方式
0
0
方式0,为13位定时器/计数器
0
1
方式1,为16位定时器/计数器
1
0
方式2,8位初值自动重装的8位定时器/计数器
1
1
方式3,仅适用于T0,分成两个8位计数器,T1停止计数
4)定时器/计数器控制寄存器TCON
定时器/计数器控制寄存器在特殊功能寄存器中,字节地址为88H,位地址(由低位到高位)分别是88H-8FH,该寄存器可进行位寻址。
TCON寄存器用来控制定时器的启、停,标志定时器溢出和中断情况。
单片机复位时TCON全部被清0。
其各位定义如表3.1.6.其中TF1、TR1、TF0和TR0位用于定时器/计数器;IE1、IT1、IE0和IT0用于外部中断。
表3.1.6定时器/计数器控制寄存器TCON
位序号
D7
D6
D5
D4
D3
D2
D1
D0
位符号
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
位地址
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
TF1—定时器1溢出标志位
当定时器1计满溢出时,由硬件使TF1置1,并且申请中断。
进入中断服务程序后,由硬件自动清0。
需要注意的是,如果使用定时器的中断,那么该位完全不用人为去操作但是如果使用软件查询方式的话,当查询到该位置1后,就需要用软件清0。
TR1—定时器1运行控制位
由软件清0关闭定时器1。
当GATE=1,且INT1为高电平时,TR1置1启动定时器1;
当GATE=0,TR1置1启动定时器1;
TF0—定时器0溢出标志
其功能及操作方法同TF1。
TR0—定时器0运行控制位
其功能及操作方法同TR1。
IE1—外部中断1请求标志
当IT1=0时,位电平触发方式,每个机器周期的S5P2采样INT1引脚,若INT1脚位低电平,则置1,否则IE1清0.
当IT1=1时,INT1位跳变沿触发方式,当第一个机械周期采样到INT1位低电平时,则IE1=1,表示外部中断1正在向CPU申请中断。
当CPU响应中断,转向中断服务程序时,该位由硬件清0。
IT1—外部中断1触发方式位
IT1=0,为电平触发方式,引脚INT1上低电平有效。
IT1=1,为跳变沿触发方式,应缴INT1上的电平从高到低的负跳变有效。
IE0—外部中断0请求标志
其功能及操作方法同IE1。
IT0—外部中断0触发方式选择位。
其功能及操作方法同IT1。
3.2DS18B20温度传感器介绍
温度传感器的种类众多,在应用与高精度、高可靠性的场合时DALLAS(达拉斯)公司生产的DS18B20温度传感器当仁不让。
超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
使得DS18B20更受欢迎。
对于我们普通的电子爱好者来说,DS18B20的优势更是我们学习单片机技术和开发温度相关的小产品的不二选择。
了解其工作原理和应用可以拓宽您对单片机开发的思路。
3.2.1DS18B20的主要特征:
●独特的单线接口仅需要一个端口引脚进行通信;
●多个DS18B20可以并联在惟一的三线上,实现多点组网功能;
●无须外部器件;
●可通过数据线供电,电压范围为3.0~5.5V;
●零待机功耗;
●温度以9或12位数字;
●用户可定义报警设置;
●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;
3.2.2DS18B20引脚结构图及其功能描述
TO-92封装的DS18B20的引脚排列见下图,其引脚功能描述见表3.2.1。
图3.2.1DS18B20实物图及封装
表3.2.1 DS18B20详细引脚功能描述
序号
名称
引脚功能描述
1
GND
地信号
2
DQ
数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源。
3
VDD
可选择的VDD引脚。
当工作于寄生电源时,此引脚必须接地。
3.2.3DS18B20内部结构
图3.2.2DS18B20内部结构
DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图3.2.2所示
64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。
温度报警触发器TH和TL,可通过软件写入户报警上下限。
DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。
高速暂存RAM的结构为8字节的存储器,结构如表3.2.2所示。
表3.2.2表高速暂存RAM
寄存器内存
字节地址
温度值低位(LSB)
0
温度值高位(MSB)
1
高温限制(TH)
2
低温限制(TL)
3
配置寄存器
4
保留
5
保留
6
保留
7
CRC校验位
8
高速暂存器RAM由9个字节的存储器组成。
第0-1个字节是温度的显示位;第2和第3个字节是复的TH和TL,同时第2和第3个字节的数字可以更新;第4个字节是配置寄存器,同时第4个字节的数字可以更新;第5、6、7三个字节是保留的。
可电擦除E2POROM又包括温度触发器TH和TL,以及一个配置寄存器。
表3.2.3列出了温度数据在高速暂存器RAM的第0和第1个字节中的存储格式。
表3.2.3温度数据存储格式
位7
位6
位5
位4
位3
位2
位1
位0
23
22
21
20
2-1
2-2
2-3
2-4
位15
位14
位13
位12
位11
位10
位9
位8
S