《基于单片机的超声波设计》由会员分享,可在线阅读,更多相关《基于单片机的超声波设计(18页珍藏版)》请在金锄头文库上搜索。
1、四川师范大学成都学院电子工程系课程设计报告 前言温度是生产过程和科学实验中普遍而且重要的物理参数。在工业生产过程中为了高效地进行生产,必须对生产工艺过程中的主要参数,如温度,压力,流量,速度等进行有效的控制。其中温度的控制在生产过程中占有相当大的比例。准确测量和有效控制温度是优质,高产,低耗和安全生产的重要条件。在工业的研制和生产中,为了保证生产过程的稳定运行并提高控制精度,采用微电子技术是重要的途径。它的作用主要是改善劳动条件,节约能源,防止生产和设备事故,以获得好的技术指标和经济效益。作为控制系统中的一个典型实验设计,单片机温度控制系统综合运用了微机原理、自动控制原理、传感器原理、模拟电子
2、技术、数字控制技术、键盘显示技术等诸多方面的知识,是对所学知识的一次综合测试。能够提高学生的对所学知识的综合运用能力,更能锻炼学生的团队协作能力。本课题采用 51 单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标。另外,温度传感器方面,选用了 DS18B20,它属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。具有体积小,接口方便,传输距离远等特点。DS18B20 采用单总线专用技术,既可通过串行口线,也可通过其它I/O 口线与微机接口,无须经过其它变换电路,直接输出被测温
3、度值(9 位二进制数,含符号位)很好地实现本系统对温度的测量。四川师范大学成都学院电子工程系课程设计报告11.1.总体设计方案总体设计方案1.1 系统设计方案论证方案一,采用纯硬件的闭环控制系统。该系统的优点在于速度较快,但可靠性比较差控制精度比较低、灵活性小、线路复杂、调试、安装都不方便。且要实现题目所有的要求难度较大。方案二,FPGA/CPLD 或采用带有 IP 内核的 FPGA/CPLD 方式。即用 FPGA/CPLD 完成采集,存储,显示及 A/D 等功能,由 IP 核实现人机交互及信号测量分析等功能。这种方案的优点在于系统结构紧凑,可以实现复杂的测量与与控制,操作方便;缺点是调试过程
4、复杂,成本较高。方案三,单片机与高精度温度传感器结合的方式。即用单片机完成人机界面,系统控制,信号分析处理,由前端温度传感器完成信号的采集与转换。这种方案克服了方案一、二的缺点,所以本课题任务是基于单片机和温度传感器实现对温度的控制。1.2 系统结构框图系统主要包括数据采集模块,单片机控制模块,显示模块,温度设置模块和时钟产生模块,驱动电路六个部分。系统框图如图 1 所示。图 1 系统框图其中数据采集模块负责实时采集温度数据,采集到的温度数据传输到单片机,由单片机处理后的数据送显示部分显示。设置模块可设置预定温度,当检测到的温度低于设定温度时,单片机控制驱动电路启动加热,并发出报警声;当检测温
5、度高于设定温度时,停止加热。时钟模块是采用专用的实时时钟芯片,通过单片机来读取数据送显示部分显示。温度传感器单 片 机键盘控制时钟产生显示电路报警电路控制电路四川师范大学成都学院电子工程系课程设计报告22.2.硬件设计硬件设计2.1 元器件的选择2.1.1 单片机的选择单片机的选择在整个系统设计中至关重要,要满足大内存、高速率、通用性、价格便宜等要求,本课题选择 AT89S51 作为主控芯片。AT89S51 是一个低功耗,高性能 CMOS 8 位单片机,片内含 4k Bytes ISP(In-system programmable)的可反复擦写 1000 次的 Flash 只读程序存储器,器件
6、采用ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS-51 指令系统及 80C51 引脚结构,芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元,功能强大的微型计算机的 AT89S51 可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51 单片机引脚图如图 2 所示 图 2 单片机引脚图2.1.2 传感器的选择本系统采用 DALLAS 半导体公司生产的一线式数字温度传感器 DS18B20 采集温度数据,DS18B20 属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有体积小,接口
7、方便,四川师范大学成都学院电子工程系课程设计报告3传输距离远等特点。 DS18B20 的性能特点:第一,采用单总线专用技术,既可通过串行口线,也可通过其它 I/O 口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9 位二进制数,含符号位) ;第二,测温范围为-55-+125,测量分辨率为 0.0625;第三,内含 64 位经过激光修正的只读存储器 ROM;第四,适配各种单片机或系统机;第五,用户可分别设定各路温度的上、下限;第六,内含寄生电源。DS18B20 内部结构主要由四部分组成:64 位光刻 ROM,温度传感器,非挥发的温度报警触发器 TH 和 TL,高速暂存器。DS18B20
8、 的管脚排列如图 3 所示。 图 3 DS18B20 引脚分布图2.2 单片机控制模块控制模块是整个设计方案的核心,它控制了温度的采集、处理与显示、温度值的设定与温度越限时控制电路的启动。本控制模块由单片机 AT89S51 及其外围电路组成,电路如图 4 所示。图 4 单片机控制模块四川师范大学成都学院电子工程系课程设计报告42.3 温度采集模块温度由 DALLAS 公司生产的一线式数字温度传感器 DS18B20 采集。DS18B20 测温范围为-55C+125C,测温分辨率可达 0.0625C,被测温度用符号扩展的 16 位补码形式串行输出。CPU 只需一根端口线就能与诸多 DS18B20
9、通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。本设计采用三引脚 PR-35 封装的 DS18B20。Vcc 接外部+5V 电源,GND 接地,I/O 与单片机的 P2.1(T0)引脚相连。图 5 温度采集模块2.4 时间产生模块DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据。图中显示出 DS1302 的引脚排列,其中 Vcc1 为后备电源,VCC2
10、为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302 由 Vcc1或 Vcc2 两者中的较大者供电。当 Vcc2 大于 Vcc10.2V 时,Vcc2 给 DS1302 供电。当Vcc2 小于 Vcc1 时,DS1302 由 Vcc1 供电。X1 和 X2 是振荡源,外接 32.768kHz 晶振。RST 是复位/片选线,通过把 RST 输入驱动置高电平来启动所有的数据传送。RST 输入有两种功能:首先,RST 接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST 提供终止单字节或多字节数据的传送手段。当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302
11、 进行操作。如果在传送过程中 RST 置为低电平,则会终止此次数据传送,I/O 引脚变为高阻态。上电运行时,在 Vcc2.5V 之前,RST 必须保持低电平。只有在 SCLK 为低电平时,才能将 RST 置为高电平。I/O 为串行数据输入输出端(双四川师范大学成都学院电子工程系课程设计报告5向)。SCLK 始终是输入端。图 6 时间产生模块2.5 显示模块本系统使用 LCD1602 作为显示器。单片机通过采集温度传感器和实时时钟的数据,然后处理,把处理后的数据送到显示器显示。图 7 显示模块2.6 报警模块报警电路是由蜂鸣器加一个三极管组成的,当温度超过设定值时,通过单片机向三极管基极发送低电
12、平,让三极管导通。从而驱动蜂鸣器发声,起到报警的作用。四川师范大学成都学院电子工程系课程设计报告6图 8 报警模块2.7 控制模块控制电路是通过一个继电器来控制外围电器。当温度低于预设值,单片机就发送指令来控制继电器导通。当温度高于设定值时,则反之。图 9 控制模块四川师范大学成都学院电子工程系课程设计报告73.3.软件设计软件设计3.1 主程序流程图大于小于图 10 主程序流程图3.2 按键程序和主程序#include #include #define uint unsigned int#define uchar unsigned char#include“lcd1602.h“开始初始化与设
13、定温 度比较停止加热判断按键设定值加设定值减显示温度、时间显示启动报警检测温度启动加热四川师范大学成都学院电子工程系课程设计报告8#include“ds1302.h“#include“ds18b20.h“void keyscan();void wenduxianshi();void buzzer();void jidianqi();void delay(uint z);uchar l=0,temp=40;sbit k2= P30;sbit k3= P31;sbit k4= P32;sbit t= P20;sbit b= P22;void delay(uint z)uint i,j;for(i=
14、0;i=z;i+)for(j=0;j=500;j+);void keycan() if(k2=0);delay(12);if(k2=0)l+;if(l=7)l=0;switch(l)case 0:四川师范大学成都学院电子工程系课程设计报告9if(k3=0);delay(12);if(k3=0) (times1)+;if(times1)=60)(times1)=0;write_1302(0x82,times1);if(k4=0);delay(10);if(k4=0) (times1)-;if(times1)=0)(times1)=60; write_1302(0x82,times1);break
15、;case 1:if(k3=0);delay(10);if(k3=0) (times2)+;if(times2)=24)(times2)=0;write_1302(0x84,times2);if(k4=0);delay(10);if(k4=0) 四川师范大学成都学院电子工程系课程设计报告10(times2)-;if(times2)=0)(times2)=24;write_1302(0x84,times2);break;case 2:if(k3=0);delay(10);if(k3=0)(times3)+;if(times3)=31)(times3)=0;write_1302(0x86,times3);if(k4=0);delay(10);if(k4=0) (times3)-;if(times3)=0)(times3)=31;write_1302(0x86,times3);break;case 3:if(k3=0);delay(12);if(k3=0)(times4)+;if(times4)=12)(times4)=0;write_1302(0x88,(times4);四川师范大学成都学院电子工程系课程设计报告11if(k4=0);delay(12);if(k4=0) (times4)-;if(times4)=0)(times4)=12;wr