单片机及应用..一 ..一 -.一 --一 --一 -掸片机及应用
用AT89C2051设计超
本文介绍了AT89C2051单片机的性能和特点。并在
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
了
超声波测距原理的基础上,指出了设计测距仪的思路和所需
考虑的问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
。给出了实现超声波测距
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
的软、硬件设计系
统框图。该设计系统经校正后,其测量精度可达O.1m。
超声波测距主要应用于倒车雷达、建筑
施工
文明施工目标施工进度表下载283施工进度表下载施工现场晴雨表下载施工日志模板免费下载
工地以及一
些工业现场。例如:液位、井深、管道长度等场合。目前国
内一般使用专用集成电路设计超声波测距仪 但是专用集成
电路的成本很高。并且没有显示,操作使用很不方便。本文
介绍一种以AT89C2051或GSM97C2051单片机为核心的低成
本、高精度、微型化数字显示超声波测距仪的硬件电路和软
件设计
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
。实际使用证明该仪器工作稳定。性能良好。
1.超声波测距原理
超声波测距是通过不断检测超声波发射后遇到障碍物所
反射的回波,从而测出发射和接收回波的时间差t.然后求出
+5V
T
C1上
22 T
.
l$46MHz
I C3。2
圈l
+5V
障
碍
物
距离S=Ct/2。式中的C为超声波波速。
由于超声波也是一种声波。其声速C与温度有关.附表列
出了几种不同温度下的声速。在使用时,如果温度变化不
大,则可认为声速是基本不变的。如果测距精度要求很高,
则应通过温度补偿的方法加以校正。声速确定后,只要测得
超声波往返的时间,即可求得距离。这就是超声波测距仪的
原理。其系统框图如图1所示。
2.AT89C2051的功能特点
AT89C2051是一个2k字节可编程EPROM的高性能微控制
器。它与工业标准MCS-51的指令和引脚兼容,因而是一种功
能强大的微控制器 它对很多嵌入式控制应用提供了一个高
度灵活有效的解决方案。AT89C2051有以下特点:2k字节
EPROM、128字节RAM、15根I/0线、2个16位定时/计数器、5
个向量二级中断结构、1个全双向的串行口、并且内含精密模
拟比较器和片内振荡器,具有4.25V至5.5V的电压工作范围和
12MHz/24MHz-T-作频率。同时还具有加密阵列的二级程序存储
器加锁、掉电和时钟电路等。此外,AT89C2051还支持两种软
件可选的电源节电方式。空闲时,CPU停止。而让RAM、定时/
计数器、串行口和中断系统继续工作。可掉电保存RAM的内
容,但可使振荡器停振以禁止芯片所有的其它功能直到下一
次硬件复位。
lO
_一
ll
l2
_一
l3
l4 l
一
2
3
口家庭电子
7
AT89C205 l
+5V
20
l9
l8
l7
l6
Vss
Vcc
VcoD
RS
R,F
E
D0
Dl
D2
D3
D4
D5
D6
D7
LCD
AT89C2051有二个l6位计时肼 数器寄
存器TimerO、 Timer1。作 为一个定 时
器,每个机器周期寄存器增加1,这样寄
存器即可计数机器周期。因为一个机器周
期有12个振荡器周期,所以计数率是振荡
器频率的1/12。作为一个计数器,该寄存
器在相应的外部输入脚P3.4/T0和P3.5/.r1
上出现从1至0的变化时增1。由于需要两
个机器周期来辨认一次1到0的变化,所以
最大的计数率是振荡器频率的1/24,可以
对外部的输入端P3.2/INTO和P3.3/INT1编
‘
C8
l l l0I |22 ll卜 一l01.. ’
l3
_一
l2
UlA 7404 ~ 7404
l 2 9 U1D8
图2
R2 lM
5V 三
Dl lN4148 C5
0.001
C4
0.015
翳
蟋
0.01 一"-l'-
联 R6100k 姒 上
12-27
仪 一
距
测 罄
维普资讯 http://www.cqvip.com
单片机及应用
程,便于测量脉冲宽度的门。
充分利用AT89C2051的片内资源,即可在很少外围电路的
情况下构成功能完善的超声波测距系统。
3.系统硬件电路设计
超声波测距仪的硬件电路如图2所示。
AT89C2051通过外部引脚P1.6输出脉冲宽度为250 s,载
波为40kHz的10个脉冲的脉冲群,以推挽形式加到变压器的初
级,经升压变换推动超声波换能器发射出去。在发射的同
时,PI.7输出一个高电平启动,给电容C4充电。发射结束时
高电平翻转为低电平,C4开始对R2、R3组成的分压器放电并
输出到比较器的负端。超声波接收换能器将接收到的障碍物
反射的超声波送到放大器进行放大,这是一个高增益、低噪
声放大器,在对放大后的信号进行检波后将检测回波送到比
较器的正输入端。发射时PI.7输出的电平可以抑制比较器的
翻转,这样就可以抑制发射器发射的超声波直接辐射到接收
器而导致错误检测。
超声波测距可测出回波和发射脉冲之间的时间间隔,利用
S:Ct/2就可以算出距离,再在LcD上显示出来。当然还可以设置
若干个键,以用来控制电路的工作状态。限制系统的最大可测
距离存在四个因素:超声波的幅度,反射面的质地,反射面和
入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对
声波脉冲的直接接收能力将决定最小的可测距离。
4.系统软件设计
AT89C2051单片机和其开发应用系统具有语言简洁、可移
植性好、表达能力强、表达方式灵活、可进行结构化设计、
可以直接控制计算机硬件、生成代码质量高、使用方便等诸
多优点。超声波测距仪就是用AT89C51单片机开发设计的。它
采用模块化设计,由主程序、发射子程序、接收子程序、定
时子程序、显示子程序等模块组成。
主程序框图如图3所示。测量子程序的框图如图4所示。
该系统的主程序处于键控循环工作方式,当按下测量键时,
主程序开始调用发射子程序、查询接收子程序、定时子程
序,并把测量结果用显示子程序在液晶屏上显示出来。 .
一 单片机及应用
pragma DB OE CD OT(5。SPEED)ROM(LARGE)IV
, 连接所需要的库 ,— :
#include
t ·
#include
#include
,★定义数据类型 /
typedef unsingned char byte;
typedef unsigned int word ‘
#define uchar unsigned char
#define unint unsigned int
们efine ulong unsigned long
/★定义系统常数★/
#define TRUE 1
#define FALSE 0
#define C=340 亭 |
,★定义功能位 /
sbit bflag=ACC7;
sbit VOLCK=P1^5:
sbit MING=P3%;
sbit QUIET=P1^3:
sbit BACK=P1
,★定义显示缓冲区 /
uchar idata ON[I6]一{’,’L’,’E’,’N’,’
G’ , ’T’ , ’H’ , ’: 。’8’,’.’,’8’8’ ,’
m’
。
’ ’
,
’ ’
.
’ ’
,★主程序用延时子程序 /
void main-delay(void)
{
register 1:
TRO:I:
for(i=~i<1 5:1++)
{ .
THO=O;
测量子程序开始
I调用发射超声波子程序1
.
l监视接收输入,并进行时 间测量
l
接收脉冲到来,本次测量结果
图4
必须指出的是,由于液晶要使用同一P3口,所以必须全
部使用位操作,否则将导致LCD不能正常显示。另外,本系统
还可以加入温度传感器来监测环境温度,把附表所列的数据做
到程序中可进行温度补偿。为了增强系统的可靠性,应在软硬
件上采用一些特殊措施。限于篇幅,下面仅给出部分程序。
‘
附表 声速与温度关系表
温度 (cc) -30 -20 —10 0 10 20 30 10o
声速 (米/秒) 313 319 325 323 338 344 349 386
12-28
TLO=O,
DO{}while(~TFO);
TFO:O,
}
TRO=O;
}
厂★通用延时子程序t/
void delay(void)
{
unint 1:
for(1=0:1<200: ++){:}
}
,★键盘延时子程序 /
void key—delay(void)
{
unint :
for(1=0:1<200:1++){:}
}
,★初始化程序 /
void start
—
main()
{
家庭电子
维普资讯 http://www.cqvip.com
吾 豇 鲴 鳓 酾 鲺 鲺 鲴 鲺 鲍 鳓 量 妙 用 与 巧 作
家用无水箱电热水器
市场上的热水器多数采用水箱储水、电热
丝 (板)加热式结构,体积大、加热幔。本文
介绍一种采用纳米材料加热体、没有储水箱、
水流动式快速加热的小体积家用热水器;系统
无储水箱等容器。即开即用、3~10秒钟后既可
使用热水进行洗涤或淋浴。该产品具有投资
少、效率高、体积小、外观大方、壁挂安装等
特点。具有广阔的应用前景。
1.热水器的基本组成结构
热水器的功能是洗涤与淋浴,其基本
组成结构如图1所示。自来水经机械式水
压调节阀将水压控制在适当范围,然后流
经用高强度石英玻璃管为衬底的纳米材料
加热体,水路中串接一个水流开关,用于
检测是否有水的流动。最后安装机械式淋
浴喷头开关和洗涤出水机械开关。
2.热水器控制系统设计
热水器控制系统的组成如图2所示。整
个系统以AT89C51单片机为核心,对加热
体是否漏电、水是否流动、出水温度等参
数进行智能检测。经运算比较,控制相应
的执行机构。同时进行超温、漏电等保护
和相应的声音报警。以保证系统工作的可
靠性。
●山东 谭树龙 王瑞玲
漏电检测 图1
例 !: 广—————1+5V一
温度
设置
register 1:
uchar all6]={’’。’L’,’E’,’N’。
T’ , ’ H’ 。 ’ =,’ 8’ 。’ .’ , ’ 8’ , ’
m’
.
’ ’
.
’ ’
。’’}:
f0r(1=0:<1 6:1++)
{ON[i]-a[i];}
nitlcd0./★初始化液晶★/
display(ON>J*更新显示★/
}
主程舟 }
void main() .
{
register s.keycode;
1ong{data t:
start-mainO#*初始化★/
main—delay()d*延时*/i
if(keycoed= =true) 一
{ ’
keycode=key‘ scan—‘wait();
/★判断是否有测量键按下★/
t=measure0;*/测量★/
S=0.5 t C: /换算 /
口家|lL电子
TLC548
A/D转换
I
MAX813L
看门狗
单片机及应用
RXD
TXD
P1.0 P1
.7
P1.6
P1.1 P1
.5
P1.2
P1.3 P1.4
RESET
P3.5 P3.3
图2
双LED显示器
74Ls164H 74Ls164
放大
光耦
光耦
一 光耦} l
-__._.____ _.J
4N35
:,网 1
..........一
MAX515
调压 H 纳米加热体
TY—H380D35P一220
‘ Decode-bcd(s.Ox09);
’G’。’ /★把测量结果置换入显示缓冲区★/
8’,’ init-lcd(>J*初始化液晶★/
display(ON)d*更新显示★/
}
}
5.结束语
虽然用一个单独计时器电路也可以测量超声波的传输时
间。但利用AT89C2051单片机可以简化设计,便于操作和直观
读数。该系统经实际测试证明,可以满足大多数场合的测距
要求。?
夺夺夺夺夺夺夺夺t妙用与巧作 夺夺夺夺夺夺碍
12-29
一
维普资讯 http://www.cqvip.com