关于交通灯的课程设计.docx
- 文档编号:12150784
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:16
- 大小:331.44KB
关于交通灯的课程设计.docx
《关于交通灯的课程设计.docx》由会员分享,可在线阅读,更多相关《关于交通灯的课程设计.docx(16页珍藏版)》请在冰豆网上搜索。
关于交通灯的课程设计
目录
摘要
1、设计背景
2、设计要求
3、方案比较及元器件选择
3.1测量部分方案比较
3.2数模转换芯片的方案选择
4、系统整体硬件设计方案
4.1系统工作原理概述
4.2传感器及放大电路
4.3A/D转换电路
4.4单片机AT89C51
4.5报警电路
4.6译码电路
4.7LED显示电路
5、程序控制
5.1介绍
5.2总程序流程图
5.3程序
致谢词
参考文献
摘要
温度采集系统的开发在很大意义上提高了生产生活的需要,是工业生产和自动控制中最常见的工艺参数之一,方便了生产中对温度的控制,有效的提高了生产质量。
外围电路比较简单杂,测量精度较高,分辨力高,使用方便。
温度检测是现代检测技术的重要组成部分,在保证产品质量、节约能源和安全生产等方面起着关键的作用。
本次课程设计正是为了完成温度采集而设计的,可以说与人们的日常生活是息息相关的,具有很大的现实意义。
本文介绍了以AT89S51单片机为核心的温度控制器的设计,在该设计中采用高精度的温度传感器LM35D对温度进行实时精确测量,用超低温漂移高精度运算放大器OP07将温度-电压信号进行放大,再送入12位的AD574A进行A\D转换,从而实现自动检测,实时显示及越限报警。
关键字:
AT80S51、温度传感器LM35D、模数转换器AD574A
1、设计背景
现代工业设计及日常生活中温度控制都起着重要的作用,早期的温度控制主要用于工厂时间生产中,能起到实时采集温度数据,提高生产效率,产品质量之用。
随着人们生活质量的提高,现代社会中的温度控制不仅应用在工厂生产方面也应用于酒店,厂房以及家庭生活中,在有些应用中,如高精度的生产厂房,对温度的要求及其严格,温度的变化极有可能对生产的产品造成极大的影响。
因此,这就需要一种能够及时检测温度变化以及温度变化的设备,提供温度数据值,使人们对温度的变化做及时的调整,温度控制器可根据人们不同的应用环境自行设置该环境的温度值,及时反映生产,生活中温度变化时人们能及时看到温度变化的第一手资料,提示人们温度变化情况,协助人们能及时的调整,起到温度报警作用,使温度控制更好的服务于社会生产、生活。
2、设计要求
(1)温度测量范围:
0—1000C
(2)具有超出上下限报警功能
(3)精度:
0.10C
(4)利用数码管显示温度值
3、方案比较及元器件选择
(1)测量部分方案比较
方案一:
采用热敏电阻,可满足0--100℃的测量范围,但热敏电阻精度,重复性,可靠性都比较差,对于检测小于0.1℃的温度信号是不适用的。
方案二:
采用电流型温度传感器AD590。
AD590具有较高精度和重复性(重复性优于0.1℃)其良好的非线性可以保证优于0.2℃的测量精度,利用其重复性较好的特点,通过非线性补偿,可以达到+0.2℃测量精度。
AD590流灵敏度1uA/K。
它是二端器件,具有很宽的工作电源电压范围和很高的输入阻抗。
作为一种高阻电流源,对于它不需要考虑传输线上的电压信号损失和噪声干扰的问题,因此特别适合做远距离测量或控制应用。
出于同样的道理,AD590也特别适用于多点温度测量系统,而不必考虑选择开关或CMOS多路转换开关所引入的附加电阻造成的误差。
由于采用了一种独特的电路结构,并利用最新的薄膜激光微调技术作最后的定标,因此AD590具有很高的精度。
但是,由于AD590采集到的信号是电流信号,在将数据传给ADC0804前还要先把电流信号转变成电压信号,因此,用AD590来检测、采集室温的电路比较复杂。
而且,在高精度测温电路中,必须考虑AD590的输出电流不被分流影响。
方案三,采用电压型温度传感器LM35D。
LM35D是精密集成电路温度传感器,它的输出电压与摄氏温度线性成比例,LM35D无需外部校准或微调来提供±0.2℃的常用的室温精度,因为线性极好,所以编程时易于实现。
因此,选用此方案。
(2)数模转换芯片的方案选择
常用的A/D转换芯片有ADC0809、ADC0804、ADC0808等,由于测温精度要求是0.1℃,有考虑到测量干扰和数据处理误差,则温度传感器和AD转换器的精度更高才能保证精度的实现。
这个精度是0.1℃,故温度传感器能够区分0.1℃,而对于AD转换器,由于测量范围是0—100度,以0.1度作为响应的AD区分度要求,则AD需要区分(100-0)/0.1=1000个数字量,显然需要10位以上的AD转换器,为此,选用高精度的12位模数转换器AD574A。
4、系统整体硬件设计方案
(1)系统工作原理概述
根据课题设计要求可知该系统需要利用电压型温度传感器采集室温并产生10mv/℃的电压信号,将放大后的信号送给转换器进行转换,通过单片机设定上
下限报警温度并显示转换后的室温,具体流程图如图2:
图2系统流程图
在温度测量电路中采用方案三,使用线性成比例(10mV/℃)的电压型温度传感器,之后,将采集到的微弱电压信号经过整个硬件与软件系统放大100倍后的电压信号使其显示就是室温。
首先,使采集到的电压信号经过放大电路中的放大器OP07放大十倍后送入AD574的输入端,A/D转换器将模拟信号转换为数字信号后传给AT89S51。
该系统以AT89S51单片机为核心,通过单片机编程可以实现高温(100℃)、低温(0℃)报警的控制,将扩大500倍的信号缩小5倍,至此已将输入的微弱电压信号放大了100倍,现在的电压值便是室温值。
然后经过P1口将数字信号传送给74LS138译码器以及驱动器CD4511使LED八段数码管动态显示室温。
用该方法对0--50℃范围的温度测量时,测量误差+0.2℃。
采用MCS-51系列单片机作为核心监控器对外界温度进行测量。
这样,既可以降低对温度传感器和放大电路的要求,从而降低成本,又可以针对不同外部环境或不同通道对温度显示及报警设定进行灵活修改。
(2)传感器及放大电路
1.电压型温度传感器LM35D
LM35系列是精密集成电路温度传感器,它们的输出电压与摄氏温度线性成比例,因而LM35有优于用开尔文标准的线性温度传感器,LM35无需外部校准或微调来提供±1/4℃的常用的室温精度。
LM35特性如下:
直接用摄氏温度校准;线性+10.0mV/℃比例因数;保证0.5℃精度(在+25℃时);-55~+150℃额定范围;适用于遥控设备;因晶体片微调而低费用;工作在4~30V;小于60μA漏泄电流;较低自热,在静止空气中0.08℃;只有±1/4℃非线性值;低阻抗输出,1mA负载时0.1Ω。
LM35D的工作电压为4V~20V,故可直接用温控电路的电源,但要加一个隔离二极管及平滑电容C。
LM35D测温范围0℃~100℃,输出电压直接与摄氏温度成比例,灵敏度为10mV/℃。
输出电压接2V直流电压挡数字万用表,可读出分辨率为0.1℃的温度读数。
如表上读数为287mV,即温度为28.7℃。
集成温度传感器LM35D是把测温传感器与放大电路做在一个硅片上,形成一个集成温度传感器,它的外形与封装如下图(见图3)。
LM35D是一种输出电压与摄氏温度成正比例的温度传感器,其灵敏度为10mV/℃;工作温度范围为0℃-100℃;工作电压为4-30V;精度为±0.1℃。
最大线性误差为±0.5℃;静态电流为80uA。
该器件如塑封三极管(TO-92)。
该温度传感器最大的特点是是使用时无需外围元件,也无需调试和较正(标定)。
LM35D的输出端经过75
的电阻和1uF的电容可使采集到的与温度成比例(10mV/℃)的电压信号更加稳定,它的输出经过放大器送给AD574A。
2.放大电路
图5系统的放大电路部分
如图5,为系统的放大电路部分,电压型温度传感器LM35D是一种输出电压与摄氏温度成正比例的温度传感器,其灵敏度为10mV/℃,如果室温为26℃,那么经LM35D采集室温后得到的电压信号为0.26V,我们需要将此信号在整个硬件系统和软件系统中放大100倍,之后将其送入驱动电路,即可在LED数码管上显示室温,达到目的。
这里这个电压信号太微弱,不利于处理,容易产生误差且不稳定。
LM35D的输出端经过75
的电阻和1uF的电容可使采集到的与温度成比例(10mV/℃)的电压信号更加稳定;在放大电路中,取R6为1K是因为好计算放大倍数,R5用20K的滑动变阻器使这个0.26V的微弱电压信号在0--20的放大倍数范围内可调,在此,将其放大10倍,因此需要将R5调至10K,这样经放大器OP07放大后的6脚输出就为放大十倍的电压信号2.6V。
(3)A/D转换电路
1.A/D转换器
测量和控制(如工业现场控制、数据采集与分析)是单片机系统一个非常重要的应用领域。
其典型的应用模式是通过传感器采集现场的微弱信号参数,经过数据处理后再通过A/D模数转换送至单片机系统进行各种工业调节和控制。
在单片机应用系统中,A/D模数转换起着非常重要的作用,要将传感器采集的微弱信号经前向通道准确地反映出来,除小信号放大外,A/D转换器的选择、布线和CPU板设计都可能影响A/D转换的精度。
A/D转换器的选择:
A/D转换器的位数与一个应用系统前向通道中被测量对象的精度有关。
一般情况下,由于客观条件的影响,电路设计中A/D转换器的分辨率要高于被测量对象的信号最低分辨率。
目前广泛使用的A/D转换器种类繁多,从
接口协议上又分为串行和并行两种方式。
串行接口的A/D转换器占用较少的CPUI/O资源,主要采用的协议有SPI和I2C等方式,程序设计较并行接口略显繁琐,典型的芯片有TI公司TLC2543\1543等等。
并行接口的A/D芯片目前仍占多数,流行的有ADC0804、ADC0809、AD574等等。
本系统主要是使用AD574来完成模拟信号向数字信号转变的。
下面就来介绍A/D转换芯片的硬件设计方法。
2.A/D转换电路
图6A/D转换电路
图6中,AD574A是一种高性能的12位逐次逼进式A/D转换器,它同ADC0809一样是常用的A/D转换器,转换时间为25μs,线性误差为±1/2LSB,内部有时钟脉冲源和基准电压源,单通道单极性或双极性电压输入,采用28脚双立直插式封装。
AD574A由12位A/D转换器,控制逻辑,三态输出锁存缓冲器,10V基准电压源四部分构成,其引脚中DB0—DB11为12个数字信号输出端。
ADC0804的6脚为信号输入端,R3与C3接地通过ADC0804的19脚(CLKR)与4脚(CLK)向内部电路提供时钟信号。
而ADC0804是逐次逼近型8位A/D模数转换器,8位A/D转换器的分辨率为1/256=0.4%。
当然,A/D转换器的位数越多,分辨率越高,但成本也愈高。
因此在实际电路的设计中选择A/D转换器也不能一味强调位数。
在这个转换电路中,AD574起着两个作用,一是将模拟量转换为二进制的数字量,二是将此输入信号在放大电路放大10倍后再放大50倍。
经AD574转换后的二进制数字信号通过DB0---DB11端传给单片机的P0口,供后面编程控制,使其缩小5倍,显示室温。
为ADC0804的片选信号,低电平有效。
、
分别为写、读端,将其与单片机的写、读端相连。
INTR端为中断,当其为高电平时表示转换完成,之后,送中断信号给单片机,等待单片机发出信号接收转换好的数据。
可见,在整个系统中,这部分电路起着至关重要的作用。
(四)单片机AT89S51
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
由于系统控制方案简单,数据量也不大,考虑到电路的简单和成本等因素,因此在本设计中选用ATMEL公司的AT89S51单片机作为主控芯片。
主控模块采用单片机最小系统是由于AT89S51芯片内含有4kB的E2PROM,无需外扩存储器,电路简单可靠,其时钟频率为0~24MHz。
在系统中,其功能是实现温度的数字值采集,完成温度的数字采集值到对应数字温度的转换计算,并把计算的数字温度转换相应的显示段码,控制LED显示器以动态扫描方式进行温度显示。
其主要功能特性:
兼容MCS-51指令系统4k可反复擦写(>1000次)ISPFlashROM
32个双向I/O口4.5-5.5V工作电压
2个16位可编程定时/计数器时钟频率0-33MHz
全双工UART串行中断口线128x8bit内部RAM
2个外部中断源低功耗空闲和省电模式
中断唤醒省电模式3级加密位
看门狗(WDT)电路软件设置空闲和省电功能
灵活的ISP字节和分页编程双数据寄存器指针
4.AT89C51在电路中的应用
图8AT8S51在电路中的应用
图8中,XTAL1接外部晶体的一个引脚。
在单片机内部,它是构成片内振荡器的反相放大器的输入端。
当采用外部振荡器时,该引脚接收振荡器的信号,既把此信号直接接到内部时钟发生器的输入端。
XTAL2接外部晶体的另一个引脚。
在单片机内部,它是上述振荡器的反相放大器的输出端。
采用外部振荡器时,此引脚应悬浮不连接。
RES是复位输入端。
当振荡器运行时,在该引脚上出现两个机器周期的高电平将使单片机复位。
ALE//PROG是当访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节。
即使不访问外部存储器,ALE端仍以不变的频率(此频率为振荡器频率的1/6)周期性地出现正脉冲信号。
因此,它可用作对外输出的时钟,或用于定时目的。
在对Flash存储器编程期间,该引脚还用于输入编程脉冲(/PROG)。
/PSEN是程序存储允许(/PSEN)输出是外部程序存储器的读选通信号。
/EA/Vpp是外部访问允许端。
要使CPU只访问外部程序存储器(地址为0000H~FFFFH),则/EA端必须保持低电平(接到GND端)。
当/EA端保持高电平(接Vcc端)时,CPU则执行内部程序存储器中的程序。
P0端口(P0.0~P0.7)P0是一个8位双向I/O端口,它与ADC0804的输出相接。
P1端口(P1.0~P1.7),P2端口(P2.0~P2.7),P3端口(P3.0~P3.7)均是带有内部上拉电阻的8位双向I/O端口,其中,P1端口用于控制译码、驱动电路,
、
分别为写、读端,将其与AD574的写、读端相连。
(五)报警电路
图9报警电路
由于由单片机的P2.7发出的电压信号非常微弱,因此,需要将其放大,才能带动蜂鸣器使其工作。
此报警电路的输入引脚由单片机的P1.7控制,我们在系统中设的下限报警温度为0℃,上限报警温度为100℃。
在软件设计中,当由LM35采集到的温度超出0—100℃的范围,令P1.7=1则可实现蜂鸣器和发光二极管声光报警,如图9所示。
(六)驱动、显示电路
图10驱动、显示电路
(七)显示电路(LED)
1.数码管的选择
一个单片机应用系统中,显示是人机通道的重要组成部分。
目前广泛使用的显示器件主要有LED(二极管显示器)LCD(液晶显示器)和VFD(真空荧光管)等。
本文主要介绍LED显示方式。
LED显示器的基本结构和原理:
LED显示器采用发光二极管显示字段。
单片机中经常采用的是八段显示器,即LED显示器中有8个发光二极管,代表“a,b,c,d,e,f,g”七个字段和一小数点“dp”。
它有共阴和共阳两种结构。
共阴极LED显示器的发光二极管负极接地,当发光二极管的正极为高电平时,发光二极管被点亮。
共阳极LED显示器的发光二极管正极相连,当二极管的负极为低电平时,发光二极管被点亮。
在一个单片机系统中,对共阴极LED显示器的控制采用“接地方式”,即通过控制LED的“GND”引脚的电平高低来达到选通的目的,该引脚即通常所说的位选线。
共阳极LED显示器控制方式则相反。
两种控制方式中,共阴极LED控制方式受系统器件功耗限制,只能用在小尺寸的LED显示器中。
对于大尺寸LED显示器的控制(如大屏幕计时器)一般使用共阳极方式。
LED显示器按照接口不同有静态和动态两种方式。
静态显示方式中,多个LED显示器中的每一个段代码都与一个独立的8位并行口连接,公共端则根据LED的种类(共阴或共阳)连接到“地”或“VCC”上。
四位静态LED显示电路中,每个LED的段代码都由独立的并行8位I/O口线控制,可以在同一时间内显示不同的字符。
静态LED显示方式的优点是编程容易,但功耗大,占用CPUI/O口线较多,成本较高。
因此在单片机应用系统中较多使用的还是动态显示方式。
所谓动态显示,实质上就是各个不同的LED显示器按照一定的顺序轮流显示。
它利用了人眼的“视觉暂留现象”,只要多个LED显示器的选通扫描速率足够快,人眼就觉察不到数码管的闪烁现象。
动态扫描方式的所有LED段选线并联在一起,只由一个8位的I/O口控制,而各个LED的位选线则由另外一组I/O口控制。
动态LED显示方式的优点是功耗较低,占用CPUI/O线少,外围接口简单,本系统便是采用了动态LED显示方式。
2.显示电路设计
由于测量室温的精度为0.1℃,因此,显示中会出现小数点,在这里我们选用四个数码管,第一个备用,因为本系统选用的测温元件为LM35D,测温范围为0~+100℃,当不需要很大精度时,可以通过软件将显示范围调到0~+100℃,也就是可以将上限报警温度设置为100℃,这样,显示最高温度再加上小数点后一位,就是四位显示。
五、程序控制
(一)、介绍
本设计软件部分主要用来实现:
1设定测量温度的上下限,超过此温度报警
2将数字信号进行十进制调整
3控制译码管及驱动器实现数码管动态显示
(二)、总程序流程图
(三)、程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关于 交通灯 课程设计