说明书.docx
《说明书.docx》由会员分享,可在线阅读,更多相关《说明书.docx(21页珍藏版)》请在冰豆网上搜索。
![说明书.docx](https://file1.bdocx.com/fileroot1/2023-5/21/07171367-be18-4284-bc34-d11fad323bd5/07171367-be18-4284-bc34-d11fad323bd51.gif)
说明书
摘要
摘要:
本文分析了温度测控系统的功能和特点,阐述了单片机温度测控系统的组成和原理,介绍了该系统在控制汽车刹车片温度上的应用。
论述了如何利用A/D转换器将模拟信号(温度信号)转换为数字信号,再将信号送至单片机与设定温度对比确定是否打开水箱电磁阀,同时利用七段数码管将温度显示出来。
关键词:
单片机AD转换器温度测控数码管
目录
序言..........................................................3
第一章系统的主要功能说明................................4
1.1系统的主要功能............................................4
1.2系统的设计思路............................................4
第二章元器件介绍.................................................................................5
2.1单片机AT89C51.............................................5
2.2A/D转换器ADC0809.........................................7
2.3七段发光显示器............................................9
2.4其它元器件说明............................................10
第三章硬件设计.....................................................................................11
3.1工作原理..................................................11
3.2温度检测设计..............................................11
3.3A/D转换设计..............................................11
3.4单片机及其外围电路设计....................................12
3.5显示电路设计..............................................12
3.6电磁阀电路设计............................................12
3.7系统硬件设计图............................................13
第四章软件设计.....................................................................................14
4.1程序分析..................................................14
4.2程序设计流程图............................................14
4.3程序设计..................................................15
小结.....................................................20
参考文献.................................................22
序言
司机驾车,尤其是在长时间下坡、急转弯的盘山路上行驶时要频繁地使用刹车,这就对刹车片的性能提出了较高的要求,可以这样说:
刹车系统是人身安全的重要保障。
众所周知,现在的刹车系统是利用刹车片之间的磨擦来实现减速的,但磨擦会产生热量,频繁的使用刹车,产生的大量热量不可能及时的散去,因此刹车片和车轮的温度迅速升高。
任何东西都有一个承受极限,当温度升高到一定程度时,汽车的制动效能就会下降。
尤其是鼓式制动器,由于其制动效能的稳定性较差,温度的升高很容易引起制动效能的下降。
因此可能发生刹车失灵的严重后果—直接威胁到车内人员的生命。
为此,我想到给车设计安装一个对刹车片温度进行实时监控,并能自动采取应对措施的系统来解决这个问题,从而达到提高行车的安全系数的目的。
第一章系统的主要功能说明
1.1系统的主要功能
汽车长时间行驶常需要人为的对汽车刹车片进行浇水降温,以保证刹车片不因温度过高而失灵,尽可能避免意外事故的发生。
但是由于某些原因,人不可能准确的感知刹车片的温度变化,故在此引入了单片机实时温控系统。
该系统可对汽车刹车片的温度进行实时检测,当检测到的温度高于设定的温度时(500℃)就会自动打开水箱电磁阀进行浇水降温,在设计中用一盏LED灯代替水箱电磁阀,灯亮代表电磁阀打开。
该系统还可以利用七段数码管将温度显示出来,以便于驾驶员准确的了解刹车片的工作状况。
从而使刹车片温度控制在一定的范围内,保证汽车的安全行驶。
1.2系统的设计思路
系统设计思路如下图:
图1.1系统结构框图
第二章元器件介绍
2.1单片机AT89C51
2.1.1单片机的基本组成
图2.1单片机基本组成图
(1)一个8位微处理器CPU。
(2)数据存储器RAM和特殊功能寄存器SFR。
(3)内部程序存储器ROM。
(4)两个定时/计数器,用以对外部事件进行计数,也可用作定时器。
(5)四个8位可编程的I/O(输入/输出)并行端口,每个端口既可做输入,也可做输出。
(6)一个串行端口,用于数据的串行通信。
(7)中断控制系统。
(8)内部时钟电路。
2.1.2单片机的内部结构
图2.2AT89C51内部结构
1.运算器
运算器由8位算术逻辑运算单元ALU(ArithmeticLogicUnit)、8位累加器ACC(Accumulator)、8位寄存器B、程序状态字寄存器PSW(ProgramStatusWord)、8位暂存寄存器TMP1和TMP2等组成。
2.控制器
主要由程序计数器PC、指令寄存器IR、指令译码器ID、堆栈指针SP、数据指针DPTR、时钟发生器及定时控制逻辑等组成。
2.1.3单片机芯片引脚描述
图2.3为AT89C51单片机的引脚配置图。
(1)主电源引脚VCC
(2)外接晶振引脚XTAL1和XTAL2
(3)复位引脚RST,输入高电平是AT89C51复位
(4)输入/输出引脚P0、P1、P2、P3(共32根)
(5)程序存储器选择信号引脚EA
(6)外部程序存储器读选通信号引脚PSEN
(7)外部存储器低8位地址锁存信号引脚ALE
图2.3单片机引脚图
2.2AD转换器ADC0809
2.2.1ADC0809主要性能
(1)分辨率为8位;
(2)精度:
ADC0809小于±1LSB(ADC0808小于±1/2LSB);
(3)单+5V供电,模拟输入电压范围为0~+5V;
(4)具有锁存控制的8路输入模拟开关;
(5)可锁存三态输出,输出与TTL电平兼容;
(6)功耗为15mW;
(7)不必进行零点和满度调整;
(8)转换速度取决于芯片外接的时钟频率。
时钟频率范围:
10~1280KHz。
典型值为时钟频率640KHz,转换时间约为100μS。
2.2.2ADC0809结构
ADC0809(简称0809)是8路8位逐次逼近式AD转换器,适用于精度要求不高(分辨率1/256)的多路AD转换,具有三态数据总线,可以直接和MCU接口。
0809由8路模拟开关、通路地址锁存器、8位AD转换器和三态数据缓冲器等组成。
图2.4为0809的结构框图。
图2.4ADC0809结构框图
2.2.3ADC0809引脚
图2.5为ADC0809引脚图
(1)IN0~IN7,8路模拟量输入端。
(2)D7~D0,8位数字量输出端。
(3)ALE,地址锁存允许信号输入端。
通常向此引脚输入一个正脉冲时,可将三位地址选择信号A、B、C锁存于地址寄存器内并进行译码,选通相应的模拟输入通道。
(4)START,启动A/D转换控制信号输入端。
一般向此引脚输入一个正脉冲,上升沿复位内部逐次逼近寄存器,下降沿后开始A/D转换。
(5)CLK,时钟信号输入端。
(6)EOC,转换结束信号输出端。
A/D转换期间EOC为低电平,A/D转换结束后EOC为高电平。
(7)OE,输出允许控制端,控制输出锁存器的三态门。
当OE为高电平时,转换结果数据出现在D7~D0引脚。
当OE为低电平时,D7~D0引脚对外呈高阻状态。
(8)C、B、A,8路模拟开关的地址选通信号输入端,3个输入端的信号为000~111时,接通IN0~IN7对应通道。
(9)VR(+)、VR(-):
分别为基准电源的正、负输入端。
图2.5ADC0809引脚图
2.3七段发光显示器
2.3.1显示器结构
常用的七段显示器的结构如图2.6所示。
发光二级管的阳极连在一起的称为共阳极显示器,阴极连在一起的称为共阴极显示器。
1位显示器由8个发光二极管组成,其中7个发光二极管a~g控制7个笔画(段)的亮或暗,另一个控制一个小数点的亮和暗,这种笔画式的七段显示器能显示的字符较少,字形的形状有些失真,但控制简单,使用方便。
图2.6七段发光显示器的结构
2.3.2显示器的工作方式
(1)静态显示方式
所谓静态显示方式,就是显示器在显示一个字符时,相应的发光二极管恒定的导通或截止,例如a、b、c、d、e、f导通,g截止时显示“0”。
这种使显示器显示字符的字形数据常称为段数据。
静态显示方式的每一个七段显示器,需要由一个8位并行口控制。
(2)动态显示方式
所谓动态显示方式,就是一位一位地轮流点亮各位显示器(扫描),对于每一位显示器来说,每隔一段时间点亮一次。
显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。
调整电流和时间参数,可实现亮度较高较稳定的显示。
若显示器的位数不大于8位,则控制显示器公共极电位只需一个8位口(称为扫描口),控制各位显示器所显示的字形也需一个8位口(称为段数据口)。
本设计采用动态显示方式,利用P0口控制各位显示器所显示的字形,利用P2.0~P2.3控制显示器公共极电位。
首先给P2.0口一个低电平,让最低位显示5毫秒,然后让其它位依次显示5毫秒,每一位每隔一段时间显示一次,由于人眼睛的反应需要一段时间,所以好像是4位同时显示的。
如图2.7所示。
图2.74位显示器
2.4其它元器件说明
晶振电路使用12MHZ的晶体振荡器,30PF的电容。
复位电路采用10UF的电容,10K的电阻。
显示器电路中除4位7段显示器外还使用了8个220上拉电阻。
本设计使用LED灯代替水箱电磁阀。
第三章硬件设计
3.1工作原理
此温控系统采用热电偶温度传感器采集温度信号,经过放大器放大和A/D转换后输入MCS-51系列的AT89C51单片机中进行处理,处理后的信号有两个用途:
一方面送到LED数码显示管中显示;另一方面进行数据判断:
当温度高于某个值时,控制水箱的电磁阀门排水降温。
当温度低于某个值时,关闭阀门停止排水,保证刹车片的温度维持在安全范围内。
3.2温度检测设计
本系统采用热电偶传感器检测汽车刹车片的温度变化。
其测量原理为:
热电偶两个电极的材料确定以后,其热电势只与它两端温度有关;若是参考端温度恒定不变,则对给定材料的热电偶,其热电势就只与工作端温度成单值函数关系。
故此时要做的就是使热电偶的冷端温度保持恒定。
结合实际,在此采用“冷端自动补偿”方式达到这一效果,实现对汽车刹车片温度的实时监测。
其测量原理图如下示:
图3.1测量原理图
在设计中采用一个50K的电位器代替热电偶传感器,利用其输出电压随电阻变化而变化的特点模拟热电偶传感器输出的电压信号。
3.3A/D转换设计
利用电位器输出的电压信号是模拟信号,而C51单片机AT89C51只能处理数字信号,为此需要用A/D转换器将模拟信号(电压信号)转换成数字信号,并将信号输送到单片机AT89C51。
在设计中使用ADC0809。
地址选通信号输入端ADDA、ADDB、ADDC分别接AT89C51的P3.4、P3.5、P3.6口,在程序设计中可使P3.4、P3.5、P3.6置“0”从而选择IN0作为模拟信号输入端。
时钟输入端CLK接AT89C51的P2.4口。
启动信号输入端START、通路地址锁存信号输入端ALE共同由单片机的P2.5口控制。
状态输出端EOC由P2.6控制。
数据允许输出端OE接AT89C51的P2.7口。
经AD转换后的数字信号则由OUT1~OUT8输出。
3.4单片机及其外围电路设计
(1)时钟电路设计
时钟电路是计算机的心脏,它控制着计算机的工作节奏,可以通过提高时钟频率来提高CPU的速度。
89C51等CMOS型单片机内部有一个可控的反相放大器,引脚XTAL1、XTAL2为反相放大器的输入端和输出端,在XTAL1、XTAL2上外接晶振和电容便组成振荡器。
设计中使用30PF的电容,12MHZ的晶振。
(2)复位电路设计
89C51等CMOS51系列单片机的复位引脚RST是史密特触发输入脚,内部有一个拉低电阻(值为80K~300K)。
当振荡器起振以后,在RST引脚上输入2个机器周期以上的高电平,器件便进入复位状态,RST上输入返回低电平以后,便退出复位状态开始工作。
利用RST这个特性设计复位电路。
设计中在RST端接一个10UF的电容至电源,实现上电自动复位,在加电瞬间,电容通过内部电阻充电,在RST端出现充电正脉冲,只要正脉冲宽度足够,就能使AT89C51有效复位。
3.5显示电路设计
由传感器检测到的温度信号需要显示出来以便驾驶员了解刹车片工作状况,在设计使用4位7段数码管显示温度。
显示器的A、B、C、D、E、F、G、DP分别接P0.0~P0.7口,每一段还需经上拉电阻与电源接通,从而可以控制显示的字形。
显示器的1、2、3、4分别接P2.0~P2.3口,实现每一位的亮、灭控制。
3.6电磁阀电路设计
当检测到的温度超过设定温度(500℃)则需要打开水箱电磁阀浇水降温。
在设计中使用一盏LED灯代替水箱电磁阀,LED灯亮说明刹车片温度超过了500℃水箱电磁阀打开浇水降温,LED灯不亮表示刹车片温度没有超过500℃水箱电磁阀关闭。
LED灯负极与AT89C51中的P3.7口相接,由其控制LED灯亮、灭,LED灯正极通过电阻与电源连接。
3.7系统硬件设计图
图3.2系统硬件设计图
第四章软件设计
4.1程序分析
送入单片机的转换后的数字信息为十六进制。
要使它们在数码管上进行显示,就必须在程序中,令其转化为十进制形式,然后再令它乘以4,之后再按各显示位数进行显示。
之所以要乘以4,是因为ADC0809转换后的数字信息,最大值为FFH,即十进制的255。
而刹车片的最大温度可达800℃~1000℃。
由此,可以利用这样的公式得出255与1000之间关系:
255×M=1000则M≈4。
根据上面的分析可以知道,程序设计中需要的基本上就是两个大的部分,即输入数字的处理和存储程序部分及温度数字的显示程序部分。
在输入数字的处理与存储程序中,应当完成输入数据的十进制转换、乘以4运算和将数据存储到寄存器中等操作。
在温度数字的显示程序中,要完成将待显示的数据从寄存器中取出,然后安高位字节和低位字节的顺序输出到数码管中来显示。
4.2程序设计流程图
图4.1程序设计流程图
4.3程序设计
LED1EQU30H存放段码
LED2EQU31H
LED3EQU32H
LED4EQU33H
ADCEQU35H存放转换后的数据
CLOCKBITP2.4定义ADC0809时钟位
STBITP2.5
OEBITP2.7
EOCBITP2.6
ORG00H
SJMPSTART
ORG0BH
LJMPINT_T0
START:
MOVLED1,#00H
MOVLED2,#00H
MOVLED3,#00H
MOVLED4,#00H
MOVDPTR,#TABLE段码表首地址
CLRP3.4选择模拟信号输入端0
CLRP3.5
CLRP3.6
MOVTMOD,#02H
MOVTH0,#245
MOVTL0,#00H
MOVIE,#82H
SETBTR0
WAIT:
CLRST
SETBST
CLRST启动A/D转换
JNBEOC,$等待转换结束
SETBOE允许输出
MOVADC,P1读取A/D转换结果
CLROE关闭输出
MOVA,ADC
CJNEA,#7DH,K1与设定温度对比
K2:
CLRP3.7
K3:
LCALLL1
LCALLDISP
LJMPWAIT
K1:
JNCK2
SETBP3.7
LJMPK3
输入数据处理子程序
L1:
CLRC
MOVR5,#00H十进制转换的低位寄存器
MOVR4,#00H十进制转换的高位寄存器
MOVR3,#08H十进制调整的次数
NEXT:
RLCA将输入的数据转换为十进制
MOVR2,A
MOVA,R5
ADDCA,R5
DAA
MOVR5,A
MOVA,R4
ADDCA,R4
MOVR4,A
MOVA,R2
DJNZR3,NEXT
MOVR7,#02将数据乘以4
L2:
MOVA,R5
ADDA,R5
DAA
MOVR5,A
MOVA,R4
ADDCA,R4
DAA
MOVR4,A
DJNZR7,L2
MOVA,R5取第一位的数字并将其存放到LED1
ANLA,#0FH
MOVLED1,A
MOVA,R5取第二位的数字并将其存放到LED2
ANLA,#0F0H
SWAPA
MOVLED2,A
MOVA,R4取第三位的数字并将其存放到LED3
ANLA,#0FH
MOVLED3,A
MOVA,R4取第四位的数字并将其存放到LED4
ANLA,#0F0H
SWAPA
MOVLED4,A
RET
显示子程序
DISP:
MOVA,LED1
MOVCA,@A+DPTR
CLRP2.3
MOVP0,A
LCALLDELAY
SETBP2.3
MOVA,LED2
MOVCA,@A+DPTR
CLRP2.2
MOVP0,A
LCALLDELAY
SETBP2.2
MOVA,LED3
MOVCA,@A+DPTR
CLRP2.1
MOVP0,A
LCALLDELAY
SETBP2.1
MOVA,LED4
MOVCA,@A+DPTR
CLRP2.0
MOVP0,A
LCALLDELAY
SETBP2.0
RET
INT_T0:
CPLCLOCK提供ADC0809时钟信号
RETI
DELAY:
MOVR6,#10延时5MS
D1:
MOVR7,#248
DJNZR7,$
DJNZR6,D1
RET
TABLE:
DB3FH,06H,5BH,4FH,66H
DB6DH,7DH,07H,7FH,6FH
END
小结
课程设计是培养我们综合运用所学知识发现、分析、解决实际问题,锻炼实践能力的重要环节,是对我们实际工作能力具体训练和考察过程。
随着科学技术的日新月异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说是无处不在。
单片机在汽车电子领域的应用同样十分广泛,例如发动机控制器、基于CAN总线的汽车发动机智能电子控制器、GPS导航系统、ABS防抱死系统、防盗系统等等。
因此,做好单片机课程设计能为我们汽车专业的学生以后工作提供帮助。
我喜欢编程,以前学VB时就是这样,每完成一个程序总会给我一种成功的快感。
从开始学单片机到现在的课程设计我一直对汇编语言有着浓厚的兴趣,它可以用简单的语言实现复杂的程序。
这次的单片机课程设计在巩固所学知识的同时更让我学到了很多书本上没有的东西。
在程序设计中最难的一块就是如何将A/D转换后的数字信号用显示器显示出来。
因为A/D转换后的数字信号是八位,也就是最大值只能到十进制的255,而刹车片温度可达800多度,实现这两者之间转换是一个难题,还要将它用显示器显示出来那就更难了。
我自己尝试过了好几种方案,都没有成功。
后来我决定到图书馆查资料,腿都站酸了可还没有找到相关的资料,就在我要离开时随手翻的一本书里面出现了相关的思路,问题也就迎刃而解了。
从中我明白了问题的答案总是有的,但需要的是不断的尝试和不同的尝试,只有这样才能够寻找到最佳答案,这是书本上学不到的东西。
这次的课程设计还让我领会到了坚持的力量。
有课程设计就必然有失败相随,在失败面前除了需要寻找方法还需要坚持。
程序的调试过程就是不断失败的过程,因为在程序中任何细小的毛病都会导致编译错误,在这之中需要的就是坚持。
在焊接电路板是更需要坚持。
AT89C51有四十个引脚,ADC0809有28个引脚,4位七段数码管有12个引脚……焊接时需要找准每一个引脚,连接好没一条线路,工作量很大。
焊的过程中我觉得好累很想马虎了事,但我还是坚持了下来,因为我不断告诉自己既然做一件事就要尽自己最大努力把事情做好。
整个电路板我拆焊了三次,到上交之前我都在修改,虽然到最后还是有点遗憾,但每一次的修改中我都学到了很多东西。
课程设计在张老师的辛勤指导下结束了,从中学到的东西将会对我以后的学习、工作带来很大的帮助,在此对张老师的帮助表示感谢。
参考文献
1.孙传友孙晓斌编著.感测技术基础【M】.电子工业出版社,2001
2.张友德赵志英凃时亮编著.单片微型机【M】.复旦大学出版社.2006
3.肖婧编著.单片机入门与趣味实验设计【M】.北京航空航天大学出版社.2008
4.刘置升孙蕙芹童一帆苏梅编著.单片机实训与开发教程【M】.科学出版社.2008
5.刘刚秦永左编著.单片机原理及应用【M】.中国林业出版社,2006