51单片机水温水位控制系统

51单片机水温水位控制系统
51单片机水温水位控制系统

摘要

本温度设计采用现常见的89C51单片机,配以DS18B20数字温度传感器,该温度传感器可自行设置温度上下限。单片机将检测到的温度信号与输入的温度上、下限进行比较,由此作出判断是否启动继电器以开启设备。系统包括单片机模块、温度检测模块、水位检测模块和驱动电路设计四个部分。文中对每个部分功能、实现过程作了详细介绍。

关键词: DS18B20数字温度传感器 89C51 水温水位

目录

一.概述 (3)

1.1课题研究的目的及意义 (3)

1.2技术指标 (3)

二.总体设计方案 (3)

三.详细设计方案 (3)

1.1温度检测系统 (3)

1.2水位检测系统 (5)

四.元件说明 (6)

1.1 工作原理 (6)

1.2单片机的选择 (6)

1.3温度传感器 (8)

1.4水位传感器 (11)

1.5 显示元件 (11)

五.硬件模块设计 (12)

1.1单片机模块设计 (12)

1.2温度检测模块 (13)

1.3水位检测模块 (14)

1.4 控制模块 (15)

1.5 驱动电路设计 (15)

六.软件设计 (16)

1.2 温度检测系统 (17)

1.3 水位检测系统 (18)

1.4 DS18B20主程序............................................ 错误!未定义书签。七.结论 (18)

八.参考文献 (18)

附录 (18)

单片机与显示器件连接图 (18)

系统软件源代码 (18)

一.概述

1.1课题研究的目的及意义

目前市场上太阳能热水器的控制系统大多存在功能单一、操作复杂、控制不方便登问题,很多控制器只具有温度和水位显示功能,不具有温度控制功能。即使热水器具有辅助加热功能,也可能由于加热时间不能控制而产生过烧,从而浪费电能。鉴于此,我以89C51单片机为检测控制核心,采用数码管显示温度,设计了一种太阳能热水器微控制器,实现了温度和水位参数的实时显示,具有温度设定、水位控制功能。

1.2技术指标

设计并制作一个基于单片机的温度控制系统,能够对炉温进行控制。炉温可以在一定范围内由人工设定,并能在炉温变化时实现自动控制。若测量值高于温度设定范围,由单片机发出控制信号,经过驱动电路使加热器停止工作。当温度低于设定值时,单片机发出一个控制信号,启动加热器。通过继电器的反复开启和关闭,使炉温保持在设定的温度范围内。

⑴温度设定范围为0~99℃,最小区分度为1℃,温度控制的误差≤1℃

⑵能够用数码管精确显示当前实际温度值

⑶按键控制:设置键、加一键、减一键

二.总体设计方案

以89C51为主控制芯片,温度采集采用DS18B20温度传感器,通过外围电路来采集水位,用四位数码管显示当前的水温,用LED灯指示水位,并且通过键盘来输入所需控制的水温。并且当水温水位超于限制时启动报警系统。如图2.1总体设计方案图所示。

图2.1 总体设计方案图

三.详细设计方案

3.1 总体结构设计

方案一:测温电路的设计,可以使用DS18B20温度传感器利用其感温效应,在将随被测温度变化的电压或电流采集后,把采样得到的模拟信号送入ADC0809进行A/D转换读入单片机进行A/D转换后,通过串行口输入,就可以用单片机进

行数据的处理,同时在显示电路上,就可以将被测温度显示出来。

方案二:考虑使用温度传感器,结合单片机电路设计,采用一只DS18B20温度传感器,直接读取被测温度值,之后进行A/D 转换,依次完成设计要求。

比较以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计容易实现,故实际设计中拟采用方案二。

在本系统的电路设计方框图如图3.1.1.2所示,它由三部分组成: ⑴主控芯片89C51; ⑵数据显示部分; ⑶传感器部分。

图3.1.1 温度计电路总体设计方案

(1)控制部分

采用传统的数字模似电路,功能可以实现,但电路复杂,温度误差大,成本高,可靠性也比较差;于是我选择采用单片机89C51控制,它结构简单,可以减少外围电路的搭接,并且89C51使用方便,成本比较低,性能稳定,还可以控制各模块输入输出。但是由于其不能直接进行模数转换,因此要做外围电路设计中加AD0809芯片。

(2)显示部分

四位一体的共阳数码管, (3)传感器部分

DS18B20温度传感器是美国DALLAS 半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温。这一部分主

DS18B20

LED 显示

指示灯

加热继电器

要完成对温度信号的采集和转换工作,由DS18B20数字温度传感器及其与单片机的接口部分组成。数字温度传感器DS18B20把采集到的温度经数模转换后通过数据引脚传到单片机的P1口,单片机接受温度并存储。此部分只用到DS18B20、AD0809和单片机,硬件很简单。

3.2水位检测系统

对于水位进行控制的方式有很多,而应用较多的主要有3种,三种方式的实现如下:

方案一:简单的机械式控制方式。其常用形式有浮标式、电极式等,这种控制形式的优点是结构简单,成本低廉。

方案二:利用单片机进行水位检测和控制,基于数字电路的全自动控制,其工作过程是被测水位经过模拟信号采集模块进行采样,然后把采样得到的模拟信号送入ADC0809进行A/D 转换读入单片机,再由单片机进行处理,得出结果是否启动/停止控制电路执行信号以达到水位的控制,具体硬件流程框图入图3.2.1所示。

图3.2.1 方案二具体流程框图

方案三:采用89C51单片机为核心控制器的电路。因为单片机电路结构简单成本低廉、可靠性高,便于实现各个控制功能能很好的完成设计任务。水位检测由本设计使用的电极式水位传感器通过检测来实现水位的改变。获得当前水位并通过LED 灯显示。

综合以上三种方案,方案一和方案二由于缺少温度检测模块,而水温也是影响太阳能热水器很重要的一方面:比如说水箱中水温度过高导致水沸腾这时候虽然水所在刻度不是满的,实际上已经溢出,这样说来方案一和方案二的设计算不上智能。方案三是在方案二的基础上完善和加强的,采用单片机键的双边通信,比起方案二更加方便,也更加合理。

A/D

转换

输 出 控 制

单 片 机

控 制 水 位 水 位 传 感 器

四.元件说明

4.1 工作原理

本文阐述了基于单片机的水温水位控制系统的设计方法,此种方法是以89C51单片机为主控制单元,对水温水位参数进行控制,从而提高了电器的工作稳定性。以DS18B20为温度传感器的对水温进行数据采集并实现温度控制。该控制系统还可以实时存储相关的温度数据以及水位高度并能记录当前的时间。为了实现功能本系统设计了相关的硬件电路和相关应用程序。硬件电路主要包括89C51单片机最小系统,测温电路、测水位电路、LCD12864液晶显示电路以及报警电路、键盘输入参数等。系统程序主要包括主程序,读出温度子程序,计算温度子程序、水位显示子程序、按键处理程序、12864液晶显示程序以及数据存储程序以及时间显示程序等

4.2单片机的选择

单片机的选择在整个系统设计中至关重要,要满足大内存、高速率、通用性、价格便宜等要求,本课题选择89C51作为主控芯片。

89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。它是美国ATMEL公司的低电压,高性能CMOS8位单片机。89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。实物图如图4.1.2所示。

图4.1.2所示实物图

1.2.1主要特性:

⑴与MCS-51 兼容

⑵4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年

⑶全静态工作:0Hz-24Hz

⑷三级程序存储器锁定

⑸128*8位内部RAM

⑹32可编程I/O线

⑺两个16位定时器/计数器

⑻5个中断源

⑼可编程串行通道

⑽低功耗的闲置和掉电模式

⑾片内振荡器和时钟电路

1.2.2管脚说明:

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。 P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH 编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

口管脚备选功能

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 /INT0(外部中断0)

P3.3 /INT1(外部中断1)

P3.4 T0(记时器0外部输入)

P3.5 T1(记时器1外部输入)

P3.6 /WR(外部数据存储器写选通)

P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。引脚图如下图4.1.2.2所示

图4.1.2.2 引

1.3温度传感器

美国Dallas半导体公司的数字化温度传感器DS18B20是世界上第一片支持 "

一线总线"接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。

1.3.1 DS18B20性能及结构

DS18B20原理与特性本系统采用了DS18B20单总线可编程温度传感器,来实现对温度的采集和转换,大大简化了电路的复杂度,以及算法的要求。首先先来介绍一下DS18B20这块传感器的特性及其功能: DSl8B20的管脚及特点 DS18B20可编程温度传感器有3个管脚。内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的外形及管脚排列如下图4.1.3.1

图4.1.3.1 DS18B20的外形及管脚图

GND为接地线,DQ为数据输入输出接口,通过一个较弱的上拉电阻与单片机相连。VDD为电源接口,既可由数据线提供电源,又可由外部提供电源,范围3.O~5.5 V。本文使用外部电源供电。

主要特点有: 1. 用户可自设定报警上下限温度值。 2. 不需要外部组件,能测量-55~+125℃范围内的温度。 3. -10℃~+85℃范围内的测温准确度为±0.5℃。 4. 通过编程可实现9~l2位的数字读数方式,可在至多750 ms内将温度转换成12 位的数字,测温分辨率可达0.0625℃。 5. 独特的单总线接口方式,与微处理器连接时仅需要一条线即可实现与微处理器双向通讯。6. 测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。7. 负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。8. DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。

DS18B20的内部结构 DS18B20内部功能模块如图4.1.3.2所示,

图4.1.3.2 DS18B20内部功能模块

1.3.2 DS18B20工作原理

DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同DS18B20 为9位~12位A/D转换精度,而DS1820为9位A/D转换,虽然我们采用了高精度的芯片,但在实际情况上由于技术问题比较难实现,而实际精度此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。如下图的测温原理图不同,且温度转换时的延时时间由2s减为750ms。 DS18B20测温原理如图4.1.3.3所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。则高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值时。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直

到计数器2计数到0时,停止温度寄存器值。

图4.1.3.3 DS18B20原理图

1.3.3 DS18B20使用中注意事项

DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:

⑴较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS18B20操作部分最好采用汇编语言实现。

⑵在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。

⑶连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。

⑷在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。

1.4水位传感器

单片机水塔水位控制原理如图l所示,图中的虚线表示允许水位变化的上、下限位置。在正常情况下.水位应控制在虚线范围之内。为此,在水塔内的不同高度处,安装固定不变的3根金属棒A、B、C。用以反映水位变化的情况。其中,A棒在下限水位.B棒在上、下限水位之间,C棒在上限水位(底端靠近水池底部.不能过

低,要保证有足够大的流水量)。水塔由电机带动水泵供水。单片机控制电机转动,随着供水,水位不断上升.当水位上升到上限水位时,由于水的导电作用。使B、C 棒均与+5 V连通。因此b、C两端的电压都为+5 V即为。l”状态,此时应停止电机和水泵工作,不再向水塔注水;当水位处于上、下限之间时。B棒和A棒导通.而C 棒不能与A棒导通,b端为“r状态。C端为“O”状态。此时电机带动水泵给水塔注水,使水位上升,还是电机不工作,水位不断下降,都应继续维持原有工作状态;当水位处于下限位置以下时,B、C棒均不能与A棒导通,b、c均为“0”状态。此时应启动电机转动,带动水泵给水塔注水。

1.5 显示元件

五.硬件模块设计

1.1单片机模块设计

控制模块是整个设计方案的核心,它控制了温度的采集、处理与显示、温度值的设定与温度越限时控制电路的启动。本控制模块由单片机89C51及其外围电成,电路如图5.1.1所示。

图5.1.1 单片机控制模块电路

该电路采用按键加上电复位,S2为复位按键,复位按键按下后,复位端通过51Ω的小电阻与电源接通,迅速放电,使RST 引脚为高电平,复位按键弹起后,电源通过8.2K Ω的电阻对10K μF 的电容C5重新充电,RST 引脚端出现复位正脉冲.

AT89S51内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟脉冲,外部还需附加电路,本设计采用内部时钟方式,利用芯片内部的振荡器,然后在引脚XTAL1和XTAL2两端跨接晶体振荡器,就构成了稳定的自激振荡器,发出的脉冲直接送入内部时钟电路,C6和C7的值通常选择为30pF 左右,晶振Y1选择12MHz.为了减小寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器电容应尽可能安装得与单片机引脚XTAL1和XTAL2靠近。

单片机的31脚(EA )接+5V 电源,表示允许使用片内ROM 。

1.2温度检测模块

温度由DALLAS 公司生产的一线式数字温度传感器DS18B20 采集。DS18B20 测温范围为-55°C~+125°C,测温分辨率可达0.0625°C,被测温度用符号扩展的16 位补码形式串行输出。CPU 只需一根端口线就能与诸多DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。

本设计采用三引脚PR-35封装的DS18B20,其引脚图见图5.1.2。Vcc 接外部+5V 电源,GND 接地,I/O 与单片机的P3.4(T0)引脚相连。

RST

9

P3.0/RX D 10P3.1/TX D

11P3.4/T014

XTAL218XTAL119GND 20

VCC 40EA

31

P0.0

39P0.1

38P0.237U1AT89S51

R388.2K

R3751

C510u F

S2

SW-PB +5V C6

30P C730P

Y112M

+5V

P0.2

图5.1.2 温度传感器电路引脚图

1.3水位检测模块

1.3.1 传感器电路

作原理图如5.1.3.1所示

图5.1.3.1压阻式压力传感器原理图

1.3.2 时钟电路与复位电路

要使单片机按照设计要求正常工作,完整单片机最基本的工作要求,考虑到系统无需精确地定时功能,且为了方便串口通信波特率的计算,采用11.0592MHz 的晶振提供系统时钟。并附加复位电路,组成单片机最小系统。复位操作有上电自动复位和按键手动复位两种方式。我们采用上电自动复位,其是通过外部复位电路的

电容充电来实现的。其电路图如图2-16(a)所示。这样,只要电源Vcc 的上升时间不超过1ms ,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。关于参数的选定,在振荡稳定后应保证复位信号高电平持续时间大于2个机器周期。当采用的晶体频率为6 MHz 时,可采用C=22μF ,R=1k Ω;当采用的晶体频率为12 MHz 时,可采用C=10μF ,R=8.2k Ω。

Vcc

RST

89C51

Vss

C 10uF K

R2R18.2K

Vcc

(b)按键电平复位

Vcc

C 10uF

R18.2K

Vcc

89C51

RST

Vss

(a)上电复位电路

图2-16复位电路

如果上述电路复位不仅要使单片机复位,而且还要使单片机的一些外围芯片也同时复位,那么上述电阻、电容参考值应作少许调整。

对于CMOS 型的89C51,由于在RST 端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1μF 。

1.3.3 A /D 采集转换电路

本系统A/D 芯片所选用的是ADC0809,该大规模集成电路芯片是一种由单一+5V 电源供电,采用逐次逼近转换原理,能够对8路0—+5V 输入模拟电压进行分时转换的八位并行通用型可编程模数转换器。ADC0809由单片机控制驱动,对传感器进行定式循环采集,然后单片机将各测量参数传至PC 机,进行后台数据处理。电路连接如图5.1.3.3。

图5.1.3.3 A/D 转换电路图 1.3.4 按键设计

键盘在单片机应用系统中是一个很关键的部件,它能实现向单片机系统输入数据、发送命令等功能,是人工干预单片机的主要手段。考虑到本设计实际需要的按键较少,故采用独立式键盘接口电路。在程序查询方式下,通过I/O 端口读入按键

状态,当有按键按下时,相应的I/O 端口变为低电平,而未被按下的按键在上拉电

阻作用下为高电平,这样通过读I/O 口的状态判断是否有按键按下。

图5.1.3.4 系统按键电路 1.4 控制模块

控制电路与单片机的P0.2口相连,由于单片机输出控制信号非常微弱,需要用三极管来驱动外围电路,三极管选用NPN 型的 9014,当检测温度低于设定温度时,

在单片机的P0.2口输出高电平控制信号,使三极管9014导通,使继电器两控制端产生压差,从而使继电器吸合,常开触点接通,控制外部电路对锅炉进行加热。控制电路电路图如图5.1.4所示。

R391K

R32

2K Q19014

P0.2

+5V

1

32

54

Q2

JDQ +5V D1

IN 4007

图5.1.4 控制电路

1.5 驱动电路设计

在单片机控制系统中,需要用开关量去控制和驱动一些执行元件,如发光二极

管、继电器等。但89C51单片机驱动能力有限,且高电平比低电平驱动低。一般情况下,需要加驱动接口电路,且用低电平驱动。如图5.1.5所示

图5.1.5驱动电路

六.软件设计

1.1 系统软件设计整体思路

程序设计语言有三种:机器语言、汇编语言和高级语言。机器语言是机器唯一能“懂”的语言,用汇编语言或高级语言编写的程序(称为源程序)最终都必须翻译成机器语言的程序(成为目标程序),计算机才能“看懂”,然后逐一执行。

高级语言是面向问题和计算过程的语言,它可通过于各种不同的计算机,用户编程时不必仔细了解所用的计算机的具体性能与指令系统,而且语句的功能强,常常一个语句已相当于很多条计算机指令,于是用高级语言编制程序的速度比较快,也便于学习和交流,但是本系统却选用了汇编语言。原因在于,本系统是编制程序工作量不大、规模较小的单片机微控制系统,使用汇编语言可以不用像高级语言那样占用较多的存储空间,适合于存储容量较小的系统。同时,本系统对位处理要求很高,需要解决大量的逻辑控制问题。

1.2 温度检测系统

1.2.1 系统流程图

图6.1.2.1 系统流程图

1.2.2 程序编写

程序的功能是:启动DS18B20测量温度,将测量值与给定值进行比较,若测得温度小于设定值,则进入加热阶段,置P1.1为低电平,这期间继续对温度进行监测,直到温度在设定范围内,置P1.1为高电平断开可控硅, 关闭加热器,等待下一次的启动命令。当测得温度大于设定值,则进入降温阶段,则置P1.2为低电平,这期间继续对温度进行监测,直到温度在设定范围内,置P1.2为高电平断开,关闭风扇,等待下一次的启动命令。

CPU 初参数

是否采样显示实时数据处理子控制电机启

1.3 水位检测系统

1.3.1系统主程序流程图

七.结论

本文详细介绍了基于单片机89C51的温度控制系统的设计方案与软硬件实现。系统包括数据采集模块,单片机控制模块,显示模块和温度设置模块,驱动电路五个部分。文中对每个部分功能、实现过程作了详细介绍。完成了课题既定的任务,达到了预期的目标。系统具有如下特点:

⑴.采用智能温度传感器DS18B20采集温度数据,简化了硬件电路设计,温度采集数据更加精准;

⑵.89C51单片机的采用,有利于功能扩展;

⑶.电路设计充分考虑了系统可靠性和安全性。

本课题软件和硬件相结合,有相当的难度,同时也有很大的实用性。

八.参考文献

[1] 马忠梅.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,1998

[2] 李晓荃.单片机原理与应用[M].北京:电子工业出版社,2000年8月

[3] 何立民 AVR单片机原理与接口技术[M].北京:北京航空航天大学出版社,2002

[4] 杨帮文新型继电器实用手册[M].北京:北京人民邮电出版社.2004

附录

单片机与显示器件连接图

系统软件源代码

基于51单片机超声波测距仪设计【开题报告】

毕业论文开题报告 电子信息工程 基于51单片机超声波测距仪设计 一、课题研究意义及现状 随着社会的发展,传统的测距方法在很多场合已无法满足人们的需求。例如在井深、液位、管道长度测量等场合。传统的测距方法根本无法完成测量任务。还有在很多要求实时测距的情况下。传统的测距方法也不能很好地完成测量任务。于是一种新的测距方法——超声波测距应运而生。超声波测距仪是根据超声波遇到障碍物反射回来的特性进行测量的。超声波发射器向某一方向发射超声波,在发射同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即中断停止计时。通过不断检测产生波发射后遇到障碍物所反射的回波,从而测出发射超声波和接收到回波的时间差T,然后求出距离L。超声测距是一种非接触式的检测方式,它不受光线、被测对象颜色等影响。超声波传感器结构简单、体积小、信号处理可靠,所以检测比较迅速、方便、计算简单、易于做到实时控制。在移动机器人、汽车安全、海洋测量等上得到了广泛的应用。因此,本课题的研究是非常有实用和商业价值。 随着科学技术的快速发展,超声波测距仪的应用将会越来越广,这是一个蓬勃发展而又有无限前景的技术及产业领域。未来的超声波测距技术将朝着更高精度,更大应用范围,更稳定方向发展,死角问题也能得到解决。超声波测距仪将其通过51单片机来实现,成本低、精度高、操作简单、工作稳定可靠,非常适合于短距离测量定位。51单片机为许多控制提供了高度灵活和低成本的解决办法。充分利用它的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统,有很大的市场开发潜力。 二、课题研究的主要内容和预期目标 本课题主要设计一种基于单片机的超声测距系统。该系统以超声波的传播速度为确定条件,利用发射超声波与反射回波时间差来测量待测距离。课题主要内容包括硬件设计和软件设计。硬件设计主要包括单片机系统,超声波发射电路、超声波检测接收电路、数码管显示电路等。软件部分拟采用单片机C语言编程,便于维护和修改,主要是利用中断完成信号发射和接受中间所耗时间的计算,并进行相关的数据处理以得到准确的距离。本课题要求测量精确、可靠、显示正确。 三、课题研究的方法及措施 先通过上网、图书馆等各种途径,搜索与本课题相关的资料进行大量的阅读,从而从整体上对这个课题进行认识。然后根据查阅的资料作出总体方案的设计框图以及确定本设计的实现方法。本设计总体框图如下:

基于51单片机的超声波测距毕业设计(论文)

一设计题目基于51单片机的超声波测距 二设计者 姓名班级学号组号 三、设计思路及框图、原理图 任务:以单片机为核心,设计并制作一超声波测距系统基本要求: 利用时间差测距,不考虑温度变化 用数码管显示测试结果 工作频率:450kHz 测距范围:0.5~10米 测试精度: 10% 发挥部分尽量增大测控范围,提高测试精度 1.系统的硬件结构设计 1.1. 超声波发生电路 发射电路主要由反相器74LS04和超声波发射换能器T构成,单片机P1.0端口输出的450kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采两个反向器并联,用以提高驱动能力。上位电阻R1O、R11一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。 1.2超声波检测接收电路 采用集成电路CX20106A为超声波接收芯片。实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。适当更改电

容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。 1.3 显示电路 显示电路主要由74ls273芯片驱动,用PNPC8550三级管进行位选,七段共阳极数码管显示。 2.系统的软件结构设计 设计思路 主程序中包括温度补偿子程序,计算子程序,显示子程序。采用汇编编程。首先进行系统初始化。其次利用循环产生4个40KHZ的方波,由输出口进行输出,并开始计时。第三等待中断,若超声波被接收探头捕捉到,那么通过中断可测得

单片机最小系统设计

单片机最小系统设计 时间:2011-05-01 22:47:54 来源:作者: 单片机最小系统设计 该单片机最小系统具有的功能: (1)具有2位LED数码管显示功能。 (2)具有八路发光二极管显示各种流水灯。 (3)可以完成各种奏乐,报警等发声音类实验。 (4)具有复位功能。 功能分析 (1)两位LED数码管显示功能,我们可以利用单片机的P0口接两个数码管来现这个功能;(2)八路发光二极管显示可以利用P1口接八个发光二极管实现这个功能; (3)各种奏乐、报警等发声功能可以采用P2.0这个引脚接一蜂鸣器来实现。 (4)利用单片机的第9脚可以设计成复位系统,我们采用按键复位;利用单片机的18、19脚可以设计成时钟电路,我们利用单片机的内部振荡方式设计的。 设计框图 硬件电路设计 根据本系统的功能,和单片机的工作条件,我们设计出下面的电路图。

元件清单的确定: 数码管:共阴极2只(分立) 电解电容:10UF的一只 30PF的电容2只 220欧的电阻9只 4.7K的电阻一只 1.2K的电阻一只 4.7K的排阻一只, 12MHZ的晶振一只 有源5V蜂名器一只 AT89S51单片机一片 常开按钮开关1只 紧锁座一只(方便芯取下来的,绿色的) 发光二极管(5MM红色)8只 万能板电路版15*17CM S8550三极管一只 4.5V电池盒一只,导线若干。七、硬件电路的焊接 按照原理图把上面的元件焊接好,详细步骤省略。 相关程序编写 针对上面的电路原理图,设计出本单片机最小系统的详细功能:(1)、第一个发光二极管点亮,同时数码管显示“1”。 (2)、第二个发光二极管点亮,同时数码管显示“2”。 (3)、依次类推到第八个发光二极管点亮,同时数码管显示“8”。以上出现的是流水灯的效果 (4)、所有的发光二极管灭了,同时数码管现实“0”。

超声波测距仪单片机课设实验资料报告材料

微机原理与单片机系统课程设计 业:专轨道交通信号与控制 级:班1305 交控

姓名:贺云鹏 学号: 201310104 指导教师:建国 交通大学自动化与电气工程学院 30 日 12 2015 年月 超声波测距仪设计设计说明1 设计目的1.1 测量声波在发超声波测距的原理是利用超声波在空气中的传播速度为已知,根据发射和接收的时间差计算出发射点到障碍射后遇到障碍物反射回来的时间,物的实际距离。超声波测距主要应用于倒车提醒、建筑工地、工业现场等的距离测量。 超声波在气体、液体及固体中以不同速度传播,定向性好、能量集中、传输过程中衰减较小、反射能力较强。超声波能以一定速度定向传播、遇障碍物后形成反射,利用这一特性,通过测定超声波往返所用时间就可计算出实际距离,从而实现无接触测量物体距离。超声波测距迅速、方便,且不受光线等因素影响,广泛应用于水文液位测量、建筑施工工地的测量、现场的位置监控、振动仪车辆倒车障碍物的检测、移动机器入探测定位等领域。 1.2 设计方法 本课题包括数据测距模块、显示模块。测距模块包括一个HC-SR04超声波测距模块和一片AT89C51单片机,该设计选用HC-SR04超声波测距模块,通过单片机对超声波进行计时并根据超AT89C51发射和接受超声波,使用HC-SR04.声波在空气中速度为340米每秒的特性计算出距离。显示模块包括一个4位共阳极LED数码管和AT89C51单片机,由AT89C51单片机控制数码管动态显示距离。 1.3 设计要求 采用单片机为核心部件,选用超声波模组,实现对距离的测量,测量距离能够通过显示输出(LED,LCD)。 2 设计方案及原理 2.1超声波测距模块设计

51单片机超声波测距程序

//晶振:11.0592 //TRIG:P1.2 ECH0:P1.1 //波特率:9600 #include #include #include #define uchar unsigned char #define uint unsigned int sbit RX=P0^2; sbit TX=P0^3; unsigned int time=0; unsigned int timer=0; float S=0; bit flag =0; void Conut(void) { time=TH0*256+TL0; TH0=0; TL0=0; S=(time*1.87)/100; //算出来是CM if(flag==1) //超出测量 { flag=0; printf("-----\n"); } printf("S=%f\n",S); } void delayms(unsigned int ms) { unsigned char i=100,j; for(;ms;ms--) { while(--i)

{ j=10; while(--j); } } } void zd0() interrupt 1 //T0中断用来计数器溢出,超出测距范围{ flag=1; //中断溢出标志 } void StartModule() //T1中断用来扫描数码管和计800ms启动模块{ TX=1; //800MS启动一次模块 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0; } void main(void) { TMOD=0x21; //设T0为方式1,GATE=1; SCON=0x50; TH1=0xFD; TL1=0xFD; TH0=0; TL0=0;

(完整)基于89C51单片机交通灯课程设计要点

(完整)基于89C51单片机交通灯课程设计要点 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)基于89C51单片机交通灯课程设计要点)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)基于89C51单片机交通灯课程设计要点的全部内容。

华北水利水电学院 基于C51单片机 交通灯课程设计实验报告 姓名:田坤 班级:125 专业:电子信息科学与技术 指导老师:辛艳辉刘明堂 2013年1月16日 摘要 近年来,随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,正在不断的应用到实际生活中,并且根据具体硬件结构软硬件结合,加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊.那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MCS-51系列单片机STC89C51为中心器件来设计交通灯控制器,实现了通过信号灯对路面状况的智能控制。从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题.系统具

有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。 关键词:交通灯 单片机 数码管 一 。总体设计思路 1.1设计目的及思路 设计目的 了解交通灯管理的基本工作原理,熟练掌握STC89C51的工作原理和应用编程,熟悉STC89C51单片机并行接口的各种工作方式和应用,并了解计数器/定时器的工作方式和应用编程外部中断的方法,掌握多位LED 显示问题的解决。 设计思路 (1)分析目前交通路口的基本控制技术,提出自己的交通控制的初步方案。 (2)确定系统交通控制的总体设计,增加了倒计时显示提示。 (3)进行显示电路。 (4)进行软件系统的设计。 1。2 实际交通灯显示时序及状态转换的理论分析 图1所示为红绿灯转换的状态图。 图1 红绿灯状态转换图 表1 十字路口指示灯燃 亮方 S1 S4 S3 S2

基于51单片机系统设计

基于51单片机的多路温度采集控制系统设计 言: 随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。 本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LED进行显示。本系统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。 我所采用的控制芯片为AT89c51,此芯片功能较为强大,能够满足设计要求。通过对电路的设计,对芯片的外围扩展,来达到对某一车间温度的控制和调节功能。 关键词:温度多路温度采集驱动电路 正文: 1、温度控制器电路设计 本电路由89C51单片机温度传感器、模数转换器ADC0809、窜入并出移位寄存器74LS164、数码管、和LED显示电路等组成。由热敏电阻温度传感器测量环境温度,将其电压值送入ADC0809的IN0通道进行模数转换,转换所得的数字量由数据端D7-D0输出到89C51的P0口,经软件处理后将测量的温度值经单片机的RXD端窜行输出到74LS164,经74LS164 窜并转换后,输出到数码管的7个显示段,用数字形式显示出当前的温度值。89C51的P2.0、P2.1、P2.2分别接入ADC0809通道地址选择端A、B、C,因此ADC0809的IN0通道的地址为F0FFH。输出驱动控制信号由p1.0输出,4个LED为状态指示,其中,LED1为输出驱动指示,LED2为温度正常指示,LED3为高于上限温度指示,LED4为低于下限温度指示。当温度高于上限温度值时,有p1.0输出驱动信号,驱动外设电路工作,同时LED1亮、LED2灭、LED3亮、LED4灭。外设电路工作后,温度下降,当温度降到正常温度后,LED1亮、LED2亮、LED3灭、LED4灭。温度继续下降,当温度降到下限温度值时,p1.0信号停止输出,外设电路停止工作,同时LED1灭、LED2灭、LED3灭、LED4亮。当外设电路停止工作后,温度开始上升,接着进行下一工作周期。 2、温度控制器程序设计 本软件系统有1个主程序,6个子程序组成。6个子程序为定时/计数器0中断服务程序、温度采集及模数转换子程序ADCON、温度计算子程序CALCU、驱动控制子程序DRVCON、十进制转换子程序METRICCON 及数码管显示子程序DISP。 (1)主程序 主程序进行系统初始化操作,主要是进行定时/计数器的初始化。 (2)定时/计数器0中断服务程序 应用定时计数器0中断的目的是进行定时采样,消除数码管温度显示的闪烁现象,用户可以根据实际环境温度变化率进行采样时间调整。每当定时时间到,调用温度采集机模数转换子程序ADCON,得到一个温度样本,并将其转换为数字量,传送给89C51单片机,然后在调用温度计算子程序CALCU,驱动控制子程序DRVCON,十进制转换子程序MERTRICCON,温度数码显示子程序DISP。

单片机应用_超声波测距器

单片机课程设计 一、需求分析: 超声波测距器,可以应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。要求测量围在1m,测量精度1cm,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移动机器人的研制上也得到了广泛的应用。 本文旨在设计一种能对中近距离障碍物进行实时测量的测距装置,它能对障碍物进行适时、适量的测量,起到智能操作,实时监控的作用。 关键词单片机AT82S51 超声波传感器测量距离 二、硬件设计方案 设计思路 超声波传感器及其测距原理 超声波是指频率高于20KHz的机械波。为了以超声波作为检测手段,必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。

超声波测距的原理一般采用渡越时间法TOF(time of flight)。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离 测量距离的方法有很多种,短距离的可以用尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为340米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。 由于超声波指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波可以用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到要求。 超声波发生器可以分为两类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。本课题属于近距离测量,可以采用常用的压电式超声波换能器来实现。 根据设计要求并综合各方面因素,可以采用AT89S51单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成,超声波测距器的系统框图如下图所示: 超声波测距器系统设计框图 主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。采用AT89S51来实现对CX20106A红外接收芯片和TCT40-10系列超声波转换模块的控制。单片机通过P1.0引脚经反相器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。

51单片机交通灯课程设计

第一章单片机概述 单片机是20世纪70年代中期发展起来的一种大规模集成电路器件。它在一块芯片内芯片内集成了计算机的各种功能部件,构成一种单片式的微型计算机。20世纪80年代以来,国际上单片机的发展迅速,其产品之多令人目不暇接,单片机应用不断深入,新技术层出不穷。 单片机的应用技术是一项新型的工程技术,其内涵随着单片机的发展而发展。由于MCS-51系列的单片机的模块化结构比较典型、应用灵活,为许多大公司所采纳,使8051系列的单片产品日新月异。在Intel公司20世纪80年代初推出MCS-51系列单片机以后,世界上许多著名的半导体厂商相继生产和这个系列兼容的单片机,使产品型号不断地增加、品种不断丰富、功能不断加强,在国内外单片机应用中占有重要地位。由于单片机具有功能强、体积小、价格低等一系列优点,在各个领域都有广泛的应用,有力地推动了各行各业的技术改造和产品更新换代。 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,

产品更新换代的节奏也越来越快。 第二章MSC-51芯片简介 8051是MCS-51系列单片机的典型产品。 8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: ·中央处理器:

中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 ·数据存储器(RAM) 8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM 只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。 ·程序存储器(ROM): 8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。 ·定时/计数器(ROM): 8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。 ·并行输入输出(I/O)口: 8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。 ·全双工串行口: 8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

超声波测距仪的设计说明

题目:超声波测距仪的设计 超声波测距仪的设计 一、设计目的: 以51单片机为主控制器,利用超声波模块HC-SR04,设计出一套可在数码管上实时显示障碍物距离的超声波测距仪。 通过该设计的制作,更为深入的了解51的工作原理,特别是51的中断系统及定时器/计数器的应用;掌握数码管动态扫描显示的方法和超声波传感器测距的原理及方法,学会搭建51的最小系统及一些简单外围电路(LED显示电路)。从中提高电路的实际设计、焊接、检错、排错能力,并学会仿真及软件调试的基本方法。 二、设计要求: 设计一个超声波测距仪。要求: 1.能在数码管上实时显示障碍物的实际距离; 2.所测距离大于2cm小于300cm,精度2mm。 三、设计器材: STC89C52RC单片机 HC-SR04超声波模块 SM410561D3B四位的共阳数码管 9014三极管(4) 按键(1) 电容(30PF2,10UF1) 排阻(10K),万用板,电烙铁,万用表,5V直流稳压电源,镊子,钳子,

导线及焊锡若干,电阻(200欧5)。 四、设计原理及设计方案: (一)超声波测距原理 超声测距仪是根据超声波遇到障碍物反射回来的特性进行测量的。超声波发射器向某一方向发射超声波,在发射同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即中断停止计时。通过不断检测产生波发射后遇到障碍物所反射的回波,从而测出发射超声波和接收到回波的时间差T,然后求出距离L。基本的测距公式为:L=(△t/2)*C 式中 L——要测的距离 T——发射波和反射波之间的时间间隔 C——超声波在空气中的声速,常温下取为344m/s 声速确定后,只要测出超声波往返的时间,即可求得L。 根据本次设计所要求的测量距离的围及测量精度,我们选用的是HC-SR04超声波测距模块。(如下图所示)。此模块已将发射电路和接收电路集成好了,硬件上不必再自行设计繁复的发射及接收电路,软件上也无需再通过定时器产生40Khz的方波引起压电陶瓷共振从而产生超声波。在使用时,只要在控制端‘Trig’发一个大于15us宽度的高电平,就可以在接收端‘Echo’等待高电平输出。单片机一旦检测到有输出就打开定时器开始计时。 当此口变为低电平时就停止计时并读出定时器的值,此值就为此次测距的时间,再根据传播速度方可算出障碍物的距离。 (二)超声波测距模块HC-SR04简要介绍 HC-SR04超声波测距模块的主要技术参数使用方法如下所述: 1. 主要技术参数: ①使用电压:DC5V ②静态电流:小于2mA ③电平输出:高5V

基于51单片机的超声波测距系统

基于51单片机的超声波测距系统 贾源 完成日期:2011年2月22日

目录 一、设计任务和性能指标 (3) 1.1设计任务 (3) 1.2性能指标 (3) 二、超声波测距原理概述 (4) 2.1超声波传感器 (5) 2.1.1超声波发生器 (5) 2.1.2压电式超声波发生器原理 (5) 2.1.3单片机超声波测距系统构成 (5) 三、设计方案 (6) 3.1AT89C2051单片机 (7) 3.2超声波测距系统构成 (8) 3.2.1超声波测距单片机系统 (9) 图3-1:超声波测距单片机系统 (9) 3.2.2超声波发射、接收电路 (9) 图3-1:超声波测距发送接收单元 (10) 3.2.3显示电路 (10) 四.系统软件设计 (11) 4.1主程序设计 (11) 4.2超声波测距子程序 (12) 4.3超声波测距程序流程图 (13) 4.4超声波测距程子序流程图 (14) 五.调试及性能分析 (14) 5.1调试步骤 (14) 5.2性能分析 (15) 六.心得体会 (15) 参考文献 (16) 附录一超声波测系统原理图 (18) 附录二超声波测系统原理图安装图 (19) 附录三超声波测系统原理图PCB图 (20) 附录四超声波测系统原理图C语言原程序 (21) 参考文献 (26)

一、设计任务和性能指标 1.1设计任务 利用单片机及外围接口电路(键盘接口和显示接口电路)设计制作一个超声波测距仪器,用LED数码管把测距仪距测出的距离显示出来。 要求用Protel 画出系统的电路原理图,印刷电路板,绘出程序流程图,并给出程序清单。 1.2性能指标 距离显示:用三位LED数码管进行显示(单位是CM)。 测距范围:25CM到 250CM之间。误差:1%。

基于51单片机的十字路口交通灯控制系统设计

课程名称单片机原理及应用课程设计 摘要 本文介绍了一个基于MCS-51及PROTEUS的十字路口交通灯控制系统的设计与仿真,通过对现实路况交通灯的分析研究,理解交通控制系统的实现方法。 十字路口交通灯控制系统通常要实现自动控制和在紧急情况下禁止普通车辆,而让紧急车辆优先通行。本文还对MCS-51单片机的结构特点和重要引脚功能进行了介绍,同时对智能交通灯控制系统的设计进行了详细的分析。最后介绍了PROTEUS嵌入式系统仿真与开发平台的使用方法,利用Proteus 软件对交通灯控制系统进行了仿真,仿真结果表明系统工作性能良好。 关键字:单片机,proteus仿真,中断,十字路口交通灯控制系统

前言 1,十字路口的交通控制系统指挥着人和各种车辆的安全运行,对交叉口实行科学的管理与控制是交通控制工程的重要研究课题,是保障交叉口的交通安全和充分发挥交叉口的通行能力的重要措施,是解决城市交通问题的有效途径。交通灯信号灯的出现是人类历史上的一次重大改革,使人类的聚居生活,产生了深远的影响。使交通得以有效管制,对于疏导交通流量,提高道路通行能力,减少交通事故有明显效果。如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。随着电子技术的发展,利用单片机技术对交通灯进行智能化管理,已成为目前广泛采用的方法。 2,此十字路口交通灯控制系统,分东西道和南北道,设东西道为A道,南北道为B 道。规定:A道放行时间为2分钟,B道放行1.5分钟;绿灯放行,红灯停止;绿灯转红灯时,黄灯亮2秒钟;若有紧急车辆要求通过时,此系统应能禁止普通车辆,而让紧急车辆通过。 3,应用单片机实现对交通灯的控制,在十字路口用红,黄,绿的指示灯,加上四个以倒计时显示的数码管来控制交通。考虑到紧急车辆,设计紧急车辆开关。

(完整word版)基于51单片机的温度控制系统设计

基于51单片机的水温自动控制系统 0 引言 在现代的各种工业生产中 ,很多地方都需要用到温度控制系统。而智能化的控制系统成为一种发展的趋势。本文所阐述的就是一种基于89C51单片机的温度控制系统。本温控系统可应用于温度范围30℃到96℃。 1 设计任务、要求和技术指标 1.1任务 设计并制作一水温自动控制系统,可以在一定范围(30℃到96℃)内自动调节温度,使水温保持在一定的范围(30℃到96℃)内。 1.2要求 (1)利用模拟温度传感器检测温度,要求检测电路尽可能简单。 (2)当液位低于某一值时,停止加热。 (3)用AD转换器把采集到的模拟温度值送入单片机。 (4)无竞争-冒险,无抖动。 1.3技术指标 (1)温度显示误差不超过1℃。 (2)温度显示范围为0℃—99℃。 (3)程序部分用PID算法实现温度自动控制。 (4)检测信号为电压信号。 2 方案分析与论证 2.1主控系统分析与论证 根据设计要求和所学的专业知识,采用AT89C51为本系统的核心控制器件。AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器。其引脚图如图1所示。 2.2显示系统分析与论证 显示模块主要用于显示时间,由于显示范围为0~99℃,因此可采用两个共阴的数码管作为显示元件。在显示驱动电路中拟订了两种设计方案: 方案一:采用静态显示的方案 采用三片移位寄存器74LS164作为显示电路,其优点在于占用主控系统的I/O口少,编程简单且静态显示的内容无闪烁,但电路消耗的电流较大。 方案二:采用动态显示的方案 由单片机的I/O口直接带数码管实现动态显示,占用资源少,动态控制节省了驱动芯片的成本,节省了电 ,但编程比较复杂,亮度不如静态的好。 由于对电路的功耗要求不大,因此就在尽量节省I/O口线的前提下选用方案一的静态显示。

基于51单片机的超声波测距仪设计

自动化技术综合实训报告 实训题目: 院 专 班 姓 学 指导教师: 实训地点: 开课时间:

序号 评价内容 分数 序 号 评价内容 分数 1 出勤(10 分) 3 实训任务完成情况(50 分) 2 课题难度分值(10 分) 4 实训总结报告(30 分) 实训总成绩: 94 分 学生姓名: 魏*星 实训评分 指导教师评语: 指导教师(签名): 年 月

目录 第 1章绪论 1.1实训的目和要求 1.2实训课题设计功能描述……………………………………………………… 1.3应解决的问题………………………………………………………………第 2章整体设计方案 2.1设计原理 2.2整体系统设计………………………………………………………………第 3章硬件电路设计 3.1电路原理图 3.2元件清单…………………………………………………………………… 3.3重要电路介绍 3.3.1复位与晶振电路…………………………………………………… 3.3.2超声波发射电路…………………………………………………… 3.3.3超声波接收检测电路……………………………………………… 3.3.4显示电路 第 4章软件设计 4.1系统软件设计 4.2程序流程图 4.3程序设计与调试 第 5章制板焊接调试 5.1仿真结果与 PCB图 5.2焊制电路板、实物运行调试 5.3误差分析与校正讨论 总结与体会 谢词 参考文献 附录

第1章绪论 1.1实训的目的和要求 生产实训是自动化专业本科生在校期间必须进行的主要实践环节之一,是培养学生工程实践能力、提高学生工程素质的一个重要组成部分。作为一名工科学生,将来从事自动化及相关工作,为了让我们能尽早的认识社会实践,了解工业生产,提高自己的动手意识,强化个人素质,增强理论联系实际的观念,学校给我们安排了为期两周的专业实训,让我们学到的理论知识和实践联系到一起,为我们以后的走向社会打下一个坚实的基础。 这次实训的主要目的是让大家进一步了解 AT89 系列单片机的引脚、功能,晶振电路、显示电路和信号输入输出电路的设计,熟悉使用 keil 软件和用汇编语言编程完成各种处理和控制,同时学习使用软件对电路进行设计,对项目进行仿真、调试,以及 PCB 板的制作等,最主要的是了解一个小型项目的研发过程,从项目的提出到项目实现需要怎样一步步来完成,项目完成事应该大概掌握以上要求。 1.2实训课题设计功能描述 我们小组选择的课题是基于 AT89C51 单片机的超声波测距仪设计。 由于超声波指向性强,能量消耗缓慢,在介质中传播距离较远,因而超声波被广泛用于距离的测量。利用超声波检测往往比较迅速、方便,计算简单易于做到实时控制,并且在测量精度方面能达到工业实用的要求,测量时与被测物体无直接接触的特点,使得其具有很大的使用价值。 我们最熟悉的超声波测距的应用是声纳系统,是超声波测距在军事上的终极使用,研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自噪声,改善潜艇声纳的工作环境。无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。 除了军事,日常生活和工业上也广泛应用,如:倒车雷达,建筑施工工地以及一些工业现场在液位测量、井深测量、管道长度测量等场合的使用。 1.3设计研究的要求及主要内容应解决的问题 本项目需要通过学习和查阅资料,了解和掌握如下知识: 1. +5V电源原理及设计 2.单片机复位电路工作原理及设计 3.单片机晶振电路工作原理及设计 4.七段 LED显示原理及设计 5.超声波传感器的应用及设计 6.电路的接线 7.AAT89C51单片机的引脚 8.单片机汇编语言及设计

用51单片机实现HC-SR04超声波测距程序

#include //包括一个52标准内核的头文件 #define uchar unsigned char //定义一下方便使用 #define uint unsigned int #define ulong unsigned long sbit Trig = P1^0; //产生脉冲引脚 sbit Echo = P3^2; //回波引脚 sbit test = P1^1; //测试用引脚 uchar code SEG7[10]={~0xC0,~0xF9,~0xA4,~0xB0,~0x99,~0x92,~0x82,~0xF8,~0x80,~0x90};//数码管0-9 uint distance[4]; //测距接收缓冲区 uchar ge,shi,bai,temp,flag,outcomeH,outcomeL,i; //自定义寄存器 bit succeed_flag; //测量成功标志 //********函数声明 void conversion(uint temp_data); void delay_20us(); void main(void) // 主程序 { uint distance_data,a,b; uchar CONT_1; i=0; flag=0; test =0; Trig=0; //首先拉低脉冲输入引脚 TMOD=0x11; //定时器0,定时器1,16位工作方式 TR0=1; //启动定时器0 IT0=0; //由高电平变低电平,触发外部中断 ET0=1; //打开定时器0中断 EX0=0; //关闭外部中断 EA=1; //打开总中断0 while(1) //程序循环 { EA=0; Trig=1; delay_20us(); Trig=0; //产生一个20us的脉冲,在Trig引脚 while(Echo==0); //等待Echo回波引脚变高电平 succeed_flag=0; //清测量成功标志 EX0=1; //打开外部中断 TH1=0; //定时器1清零 TL1=0; //定时器1清零 TF1=0; //

基于51单片机的交通灯控制系统设计

目录 一引言 (2) 二概要设计 (2) 2.1 设计思路 (2) 2.2总体设计框图 (2) 三硬件设计 (3) 3.1LED循环电路设计 (3) 3.1.1 89cs51单片机概述 (3) 3.1.2 LED循环说明 (5) 3.2 倒计时显示电路 (5) 3.2.1 74LS164芯片 (5) 3.2.2 共阴极数码显示管 (6) 3.2.3 倒计时电路 (6) 3.2.4 急通车电路 (7) 四软件按设计 (7) 4.1 程序流程图: (7) 4.2 LED红绿灯显示 (8) 4.3倒计时显示 (9) 4.4 急通车控制 (9) 4.5程序代码 (9) 五总结 (9) 参考文献 (9) 附录一: (9) 附录二: (10)

基于51单片机的交通灯控制系统设计 摘要:在日常生活中,交通信号灯的使用,市交通得以有效管理,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。交通灯控制系统由80C51单片机、键盘、LED 显示、交通灯延时组成。系统除具有基本交通灯功能外,还具有时间设置、LED信息显示功能,市交通实现有效控制。 关键词:交通灯,单片机,自动控制 一引言 当今,红绿灯安装在个个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这个技术在19世纪就已经出现了。 1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械般手势信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的会议大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转方式玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,是警察受伤,遂被取消! 电气启动的红绿灯出现在美国,这种红绿灯由红黄绿三色圆形的投光器组成,1914年始装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。 信号灯的出现,使得交通得以有效的管理,对于疏导交通流量、提高道路通行能力、减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯时通行信号灯,面对绿灯的车辆可以直行,左转弯和右转弯,除非两一种标志禁止某一种转向。左右转弯车辆必需让合法的正在路口内行驶的车辆和过人行横线的行人优先通行。红灯是禁行信号灯,面对红灯的车辆必需在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已经十分接近停车线而不能安全停车的可以进入交叉路口! 二概要设计 2.1 设计思路 利用单片机实现交通灯的控制,该任务分以下几个方面: a 实现红、绿、黄灯的循环控制。要实现此功能需要表示三种不同颜色的LED灯分别接在P1个管脚,用软件实现。 b 用数码管显示倒计时。可以利用动态显示或静态显示,串行并出或者并行并出实现。 C 实现急通车。这需要人工实现,编程时利用到中断才能带到目的,只要有按钮按下,那么四个方向全部显示红灯,禁止以诶车辆通行。当情况解除,让时间回到只能隔断处继续进行。 2.2总体设计框图 见图一:

超声波测距仪的设计实现

超声波测距仪的设计实现 摘要 该超声测距系统采用芯片STC89C52作为系统的主控制器,利用NE555作为本系统的脉冲发射源,结合3位7段数码管液晶显示,达到了较大的测试距离和较高的测量精度,并能实时显示且无明显失真。 关键字: 超声波测距实时

第1章设计题目与要求 1.1 设计要求 采用压电式超声波换能器,使用单片机作为控制器,完成超声波测距仪的软硬件设计。 1.2 基本要求: (1)具有反射式超声波测距功能,测量距离0.1m~3.0m; (2)测量距离精度:误差±1cm; (3) 利用LED数码管显示测试距离; (4)实时显示测量的距离,显示格式为:□.□□米

第2章系统总体方案论证 2.1 系统总体方案 题目要求设计一个利用超声波反射原理测量距离的超声波测距仪,并且具有实时同步显示,由此本系统可以划分为发射、接收、显示、主控制模块共四大模块,如图2.1所示: 图2.1系统基本方框图 针对技术指标的需要,为使系统的测量距离更远、精度更高,提高系统的整体完善性,现对以上系统各个功能模块进行一一的方案论证: 2.2 主控制模块 2.2.1 主控制模块概述 主控制器模块其实就是一个简化的嵌入式系统。 嵌入式系统一般指非PC系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。 嵌入式系统的核心是嵌入式微处理器。 2.2.2 主控制模块方案选择 根据以上知识,考虑到目前市场上比较常用的AVR、61、51三种微控制器,我们有如下三种方案可供选择。 方案一:AVR单片机 AVR单片机种类丰富,有AT tiny、AT90S、ATmeg系列,各个系列又有不同

基于51单片机超声波测距

一设计要求 (1)设计一个以单片机为核心的超声波测距仪,可以应用于汽车倒车、工业现场的位置监控; (2)测量范围在0.50~4.00m,测量精度1cm; (3)测量时与被测物无直接接触,能够清晰稳定地显示测量结果。 二超声波测距系统电路总体设计方案 本系统硬件部分由AT89S52控制器、超声波发射电路及接收电路、温度测量电路、声音报警电路和LCD显示电路组成。汽车行进时LCD显示环境温度,当倒车时,发射和接收电路工作,经过AT89S52数据处理将距离也显示到LCD 上,如果距离小于设定值时,报警电路会鸣叫,提醒司机注意车距。超声波测距器的系统框图如下图所示: 图5 系统设计总框图 由单片机AT89S52编程产生10us以上的高电平,由指定引脚输出,就可以在指定接收口等待高电平输出。一旦有高电平输出,即在模块中经过放大电路,驱动超声波发射探头发射超声波。发射出去的超声波经障碍物反射回来后,由超声波接收头接收到信号,通过接收电路的处理,指定接收口即变为低电平,读取单片机中定时器的值。单片机利用声波的传播速度和发射脉冲到接收反射脉冲的

时间间隔计算出障碍物的距离,并由单片机控制显示出来。 由时序图可以看出,超声波测距模块的发射端在T0时刻发射方波,同时启动定时器开始计时,当收到回波后,产生一负跳变到单片机中断口,单片机响应中断程序,定时器停止计数。计算时间差,即可得到超声波在媒介中传播的时间t,由此便可计算出距离。 图6 时序图 三超声波发射和接收电路的设计 分立元件构成的发射和接收电路容易受到外界的干扰,体积和功耗也比较大。而集成电路构成的发射和接收电路具有调试简单,可靠性好,抗干扰能力强,体积小,功耗低的优点,所以优先采用集成电路来设计收发电路。 3.1 超声波发射电路 超声波发射电路包括超声波产生电路和超声波发射控制电路两部分,可采用软件发生法和硬件方法产生超声波。在超声波的发射电路的设计中,我们采用电路结构简单的集成电路构成发射电路:

at89c51单片机_交通灯控制系统(含源码及仿真图).

模拟交通灯设计报告 题目交通信号灯控制系统 团队研发区第二组 完成时间2011-11-31 贵州民族学院开放实验室

` 目录 一、项目名称 (1) 二、选题背景 (1) 2.1 课题背景 (1) 2.2 交通灯的历史 (1) 三、单片机简介 (2) 3.1 单片机的发展历程 (2) 3.2 单片机的特点: (3) 3.3 AT89C52单片机简介 (4) 四、设计基本要求和步骤 (5) 4.1 基本要求 (5) 4.2 设计步骤 (6) 五、硬件和软件设计 (6) 5.1 硬件电路图 (6) 5.2 程序流程图 (8) 主程序 (8) 运行过程 (9) LED显示程序 (10) T0中断 (11) INT0中断 (11) 5.3 P0、P1口显示状态编码表 (12) 5.4 程序源代码 (12) 5.5 程序运行效果图 (21) 六、心得体会 (22) 七、参考文献.............................................................................. 错误!未定义书签。

模拟交通灯设计报告 一、项目名称 十字路口交通信号灯控制系统 二、选题背景 2.1 课题背景 由于我国经济的快速发展从而导致了汽车数量的猛增,大中型城市的城市交通,正面临着严峻的考验,从而导致交通问题日益严重,其主要表现如下:交通事故频发,对人类生命安全造成极大威胁;交通拥堵严重,导致出行时间增加,能源消耗加大;空气污染和噪声污染程度日益加深等。日常的交通堵塞成为人们司空见惯而又不得不忍受的问题,在这种背景下,结合我国城市道路交通的实际情况,开发出真正适合我们自身特点的智能信号灯控制系统已经成为当前的主要任务。随着电子技术的发展,利用单片机技术对交通灯进行智能化管理,已成为目前广泛采用的方法。 2.2 交通灯的历史 1868年12月10日,信号灯家族的第一个成员就在伦敦议会大厦的广场上诞生了,由当时英国机械师德·哈特设计、制造的灯柱高7米,身上挂着一盏红、绿两色的提灯--煤气交通信号灯,这是城市街

相关文档
最新文档