汽车冷却液单片机课程
设计精选文档
TTMS system office room 【TTMS16H-TTMS2A-TTMS8Q8-
桂林航天工业学院
课程设计报告
系(部):汽车工程系专业班级:
学生姓名:学号:
设计题目:
完成日期年月日
指导教师评语:
_____________________________________ ______________________________________________
_________
______________________________________________
_____
成绩(五级记分制):
指导教师(签字):
_____________________
摘要
汽车的发动机冷却液具有冷却、防腐蚀、防垢和防冻四大功能,是发动机正常运转不可缺少的散热介质。水温高分很多种,各种不同现象会带来不同影响。最严重的水温高会带来发动机报废,需更换新发动机才能解决问题。一般水温高会导致油耗增加、水箱爆裂、水管爆裂、发动机中各金属元件膨胀带来磨损、发动机、供油系统与尾气排放超表等许不利的影响。
所以冷却液的温度需要实时监测并显示,这是很重要的,影响力汽车的行驶各方各面。
这次是对冷却液的温度监测,使用单片机加传感器来监测。由于使用环境比较复杂,要求实时监测,并且监测温度要求100多度。所以使用18b20来监测,
各个方面上这个传感器监测比较快速,反应速度快,而且只需要接一条线就可以监测。
关键词:温度检测、单片机、传感器
目录
引言(四号黑体) (1)
1(空两格)(四号黑体) (3)
(空一格)(小四号黑体) (3)
(不用空格)(楷体小四号) (6)
5结论(四号黑体) (34)
参考文献(四号黑体) (35)
附录(四号黑体) (36)
1 设计内容
设计题目:汽车冷却液温度测量电路设计
能在液体内工作并测试0-128度的温度。并且实时检查温度显示在数码管上。
2.设计要求
3. 设计进度
系统硬件设计
单片机主控模块设计
方案采用AT89C51八位单片机实现。单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。
温度采集模块设计
采用温度芯片DS18B20测量温度。该芯片的物理化学性很稳定,它能用做工业测温元件,且此元件线形较好。在0~100摄氏度时,最大线形偏差小于1摄氏度。该芯片直接向单片机传输数字信号,便于单片机处理及控制。最大特点之一就是直接采用温度芯片对温度进行测量,使数据传输和处理简单化。
TO-92封装的DS18B20的引脚排列见图示,其引
脚功能描述见下:
(1)GND 地信号;
(2)DQ数据输入/输出引脚。开漏单总线接口引
脚。当被用着在寄生电源下,也可以向器件提供电源;
(3)VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。
DS18B20的测温原理,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每
次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在-55℃所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。
液晶显示模块设计
7段LED数码管是利用7个LED(发光二极管)外加一个小数点的LED组合而成的显示设备,可以显示0~9等10个数字和小数点,使用非常广泛。
这类数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点com,而每个LED的阴极分别为a、b、c、d、e、f、g及dp(小数点);共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g
及dp(小数点),如下图所示。图中的8个LED分别与上面那个图中的A~DP各段相对应,通过控制各个LED的亮灭来显示数字
系统整体模块设计
从最小的系统带上ds18B20与显示系统,选用四位数码管,由于只有12针脚却要显示32个灯,所以需要在极短的时间内连续闪烁,通过极快的速度的顺序闪烁达到人眼看到的一直显示,眼睛在极快的闪烁时时无法发现的。Ds18b20可以直接使用,只需要接一
个到单片机就可以使用,而且不需要单片机供电,可以外接一个电源给它,同时在电路板上做出一个电源输入的位置。
系统软件设计
程序设计流程图
18B20的程序由时序表编写。并在单片机内处理数据,经过程序转换为可读数据
读取温度
↓
转换数据
↓
显示温度
程序功能模块说明
读取温度是设置18B20芯片,令其工作调查温度并传输给单片机。
转换数据是通过单片机的程序把2进制的温度转成十进制并且传输给四位数码管
显示温度是单片机通过12个管口输出给数码管显示的过程
PCB电路板设计与制作
原理图设计
布线图设计
板制作
4 设计成果
仿真调试
使用软件联合调试,程序可行。实物调试
5.结论
参考文献
[1]??赵建领.51单片机开发与应用技术详解.电子工业出版社,
[2]??陈家瑞.汽车构造(上册).机械工业出版社,
[3]??林?立.单片机原理及应用.电子工业出版社,
[4] 谢维成.单片机原理与应用及C51程序设计(第二版).清华大学出版社.2009
[5] 何力民.单片机高级教.北京航空大学出版社,2000
[6] 金发庆.传感器技术与应用.北京机械工业出版社,2002
[7]楼然苗.单片机课程设计指导.北京航空航天大学出版社,2007
[8] 汪桂平.新编单片机原理及应用.机械工业出版社.2009
[9] 程国钢.51单片机应用开发案例手册.电子工业出版社.2011
[10] 彭伟.单片机c语言程序设计实训北京航天航空.大学出版社.2010
附录
元器件清单
四位数码管 1
电容 2 30uf
极性电容 1 1uf
排阻 1
电阻 2 220*1,10k*1 晶振 1
AT89C51 1
按键 1
DS18B20 1
PROTEUS仿真图
PROTEL电路原理图
PCB布线图
完整C语言程序加注释)#include<>
#define uint unsigned int
#define uchar unsigned char
sbit DQ=P3^6; //温度传感器引脚
sbit s0=P3^0; //各个位码对应的端口
sbit s1=P3^1;
sbit s2=P3^2;
sbit s3=P3^3;
char mark=0;
uchar code
table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay_1ms(uint z)
/*************************延时程序
**********************/
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void delay(uint t)
{
while(t--);
}
/*****************************************************/
/********************DS18b20的初始化程序
******************/
void init_DS18b20()
{
int n;
DQ=1;
delay(8);
DQ=0;
delay(80);
DQ=1;
delay(8);
n=DQ;
delay(4);
}
uchar read_byte()
{
uchar i,value;
for(i=0;i<8;i++)
{