温度控制器实验报告
- 格式:pdf
- 大小:2.37 MB
- 文档页数:22
单片机课程设计实验报告
——温度控制器
班级:学号: 电气0806 姓名: 08291174 老师: 李长城 合作者: 姜久春
李志鹏
一、实验要求和目的
本课程设计的课题是温度控制器。
●用电压输入的变化来模拟温度的变化,对输入的模拟电压通过
ADC0832转换成数字量输出。输入的电压为0.00V——5.00V,
在三位数码显示管中显示范围为00.0——99.9。其中0V对应00.0,5V对应99.9
●单片机的控制目标是风机和加热器。分别由两个继电器工作来
模拟。系统加了一个滞环。适合温度为60度。
◆当显示为00.0-50.0时,继电器A闭合,灯A亮,模拟加热
器工作。
◆当显示为为50.0-55.0时,保持继电器AB的动作。
◆当显示为55.0-65.0时,继电器A断开,灯A熄灭,模拟加
热器停止工作。
◆当显示为65.0-70.0时,保持继电器AB的动作
◆当显示为70.0-99.9时,继电器B闭合,灯B亮,模拟风机的
工作。
二、实验电路涉及原件及电路图
由于硬件系统电路已经给定,只需要了解它的功能,使用proteus 画出原理图就可以了。
实验设计的电路硬件有:
1、AT89S52
本温度控制器采用AT89C52单片机作为CPU,12MHZ晶振
AT89C52的引脚结构图:
AT89C52是一个低电压,高性能CMOS 8位单片机,片内含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存储器可有效地降低开发成本。
此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置
省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
主要功能特性:
•兼容MCS-51指令系统
•8k可反复擦写(>1000次)ISP Flash ROM
•32个双向I/O口
•4.5-5.5V工作电压
•3个16位可编程定时/计数器
•时钟频率0-33MHz
•全双工UART串行中断口线
•256x8bit内部RAM
•2个外部中断源
•低功耗空闲和省电模式
•中断唤醒省电模式
•3级加密位
•看门狗(WDT)电路
•软件设置空闲和省电功能
•灵活的ISP字节和分页编程
•双数据寄存器指针
89S52芯片的各引脚功能如下:
GND 接地
Vcc 接电源
P0.0-0.7 开漏双向I/O口
P2.0-2.7 内部上拉的双向I/O口
P1.0-1.7 内部上拉的双向I/O口
P3.0-3.7 内部上拉的双向I/O口
特殊功能引脚:
MOSI,MISO,SCK(P1.5,P1.6,P1.7)用于ISP编程
RXD(P3.0)串行输入口
TXD(P3.1) 串行输出口
WR (P3.6)外部数据存储器写信号
RD (P3.7)外部数据存储器读信号
T0 (P3.4) 定时器0外部输入
T1 (P3.5) 定时器1外部输入
INT0 (P3.3) 外部中断0
INT1 (P3.2) 外部中断1
RST 复位
ALE 地址锁存使能
EA/Vpp 外部寻址使能/可编程电压
PSEN 程序存储器使能
XTAL1 振荡器反相放大器及内部时钟发生器的输
入端
XTAL2 振荡器反相放大器输出端
2、ADC0832
这是一个串行的AD转换芯片,实验所用的是八个管脚的芯片:
芯片接口说明:
· CS_ 片选使能,低电平芯片使能。
· CH0 模拟输入通道0,或作为IN+/-使用。
· CH1 模拟输入通道1,或作为IN+/-使用。
· GND 芯片参考0 电位(地)。
· DI 数据信号输入,选择通道控制。
· DO 数据信号输出,转换数据输出。
· CLK 芯片时钟输入。
· Vcc/REF 电源输入及参考电压输入(复用)。
单片机对ADC0832 的控制原理:
正常情况下ADC0832 与单片机的接口应为4条数据线,分别
是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO
和DI 并联在一根数据线上使用。(见图3)当ADC0832未
工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转
换工作,同时由处理器向芯片时钟输入端CLK 输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1 个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。
在第2、3个脉冲下沉之前DI端应输入2 位数据用于选择通
道功能。
3、共阳极LED数码管
三、程序设计流程
本来预习中,我已经找到了一种芯片可以做AD转换的,是ADC674,但是实验要求用ADC0832的,过程不同,但是程序思路是基本不变的。我的预习中使用了两种思路设计关于温度变化导致继电器动作的程序:
采用12位AD转换器AD1674可以实现000——999的输
出显示。另外用内部定时器来产生中断,定时采集数据信息。
具体的设计思路有如下: