1、0课 程 设 计课程名称 单片机课程设计题目名称 超声波测距系统专业班级11 电子信息工程本科 3班学生姓名 尹津学 号 51101033009指导教师 刘国永二一四年三月二十八日目 录摘 要 1第一章 设计任务书 .21.1 基于单片机的超声波测距系统 2第二章 系统总体设计 32.1 超声波发生器 3第三章各部分功能设计 53.1 超声波测距系统构成 53.2 单片机系统及显示电路 63.3 串口通信模块 73.4 超声波发射电路 73.5 超声波接收电路 83.6 语音播报模块 8第四章 系统软件设计 .94.1 编程软件及语言的选择 94.2 程序设计 9第五章 系统调试 11第六章
2、结 论 12附录一: 单片机超声波测距系统原理图 13附录二: PCB 图.14附录三: 单片机超声波测距系统 C语言原程序 14附录四: 元件清单 24参 考 文 献 251摘 要本设计介绍了基于单片机控制的超声测距仪的原理:由 AT89C52控制定时器产生超声波脉冲并计时,计算超声波自发射至接收的往返时间,从而得到实测距离。并且在数据处理中采用了温度补偿的调整,用四位 LED数码管切换显示距离和温度。整个硬件电路由超声波发射电路、超声波接收电路、电源电路、显示电路等模块组成。各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。在此基础上设计了系统的总体方案,最后通过硬件和软件实现
3、了各个功能模块。相关部分附有硬件电路图、程序流程图,给出了系统构成、电路原理及程序设计。此系统具有易控制、工作可靠、测距准确度高、可读性强和流程清晰等优点。实现后的作品可用于需要测量距离参数的各种应用场合。目前在近距离测量方面较为常用的是压电式超声波换能器。根据设计要求并综合各方面因素,本例决定采用 AT89C52单片机作为主控制器,用动态扫描法实现 LED数字显示,声波驱动信号用单片机的定时器完成。本文所设计的超声波测距仪主要由 AT89S52单片机、超声波发射电路、超声波接收放大电路、显示电路. 首先由单片机驱动产生 12MHZ晶 振 , 由 超 声 波 发 射 探 头 发 送 出 去 ,
4、 在 遇 到 障碍物反射回来时由超声波接收探头检测到信号,然后经过滤波、放大、整形之后送入单片机进行计算,把计算结果输出到 LED液晶显示屏上。超声波发生器可以分为两大类:一类是用电气方式产生超声波;另一类是用机械方式。产生超声波。电气方式包括压电型、电动型等;机械方式有加尔统笛、液和气流旋笛等。它们所产生的超声波的频率,功率和声波特性各不相同,因而用途也各不相同。目前在近距离测量方面较为常用的是压电式超声波换能器。根据设计要求并综合各方面因素,本例决定采用 AT89C52单片机作为主控制器,用动态扫描法实现 LED数字显示,声波驱动信号用单片机的定时器完成。超声波测距器系统设计如图 1.1所
5、示图1.1 整体框图第一章 设计任务书1.1 基于单片机的超声波测距系统基于单片机的超声波测距系统,是利用单片机编程产生频率为 40kHz的方波,经过发射驱动电路放大,使超声波传感器发射端震荡,发射超声波。超声波波经反射物反射回来后,由传感器接收端接收,再经接收电路放大、整形,控制单片机中断口。其系统框图如图 2-1所示。数字显示功能键单片机 发射驱动接受处理图 1-1 基于单片机的超声波测距系统框图本系统利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时。系统定时发射超声波,在启动发射电路的同时启动单片机内部的定时器,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。这
6、种以单片机为核心的超声波测距系统通过单片机记录超声波发射的时间和收到反射波的时间。通过超声波发射器向某一方向发射超声波,单片机在发射时刻同时开始计时,超声波在空气中传播,途中碰到障碍物就立即反射回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为 V,根据计时器记录的时间 t,就可以计算出发射点距障碍物的距离。当收到超声波的反射波时,接收电路输出端产生一个负跳变,在单片机的外部中断源输入口产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离,结果输出给 LED显示。利用单片机准确计时,测距精度高,而且单片机控制方便,计算简单。许多超声波测
7、距系统都采用这种设计方法。第二章 系统总体设计超声波是由机械振动产生的,可在不同介质中以不同的速度传播。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辨力,因而其准确度也较其它方法为高;而且超声波传感器具有结构简单、体积小、信号处理可靠等特点。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。超声波测距的方法有多种,如相位检测法、声波幅值检测法和渡
8、越时间检测法等。相位检测法虽然精度高,但检测范围有限; 声波幅值检测法易受反射波的影响。本测距系统采用超声波渡越时间检测法。其原理为: 检测从超声波发射器发出的超声波,经气体介质的传播到接收器的时间,即渡越时间。渡越时间与气体中的声速相乘,就是声波传输的距离。超声波发射器向某一方向发射超声波,在发射时刻的同时单片机开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。再由单机计算出距离,送 LED数 码管显示测量结果。超声波在空气中的传播速度随温度变化,其对应值如表 2-1 ,根据计时器记录的时间 t (见图 2-1),就可以计算出发射点距障碍物的距离
9、( s ) ,即: s = v t / 2 。表 2-1 声速与温度的关系温度() 30 20 10 0 10 20 30 100声速(m/s) 313 319 325 323 338 344 349 3862.1 超声波发生器为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类: 一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等; 机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。压电型超声波传感器的工作原理
10、:它是利用压电效应的原理,压电效应有逆效应和顺效应,超声波传感器是可逆元件,超声波发送器就是利用压电逆效应的原理。所谓压电逆效应如图 2-2所示,是在压电元件上施加电压,元件就变形,即称应变。若在图 a所示的已极化的压电陶瓷上施加如图 b所示极性的电压,外部正电荷与压电陶瓷的极化正电荷相斥,同时,外部负电荷与极化负电荷相斥。由于相斥的作用,压电陶瓷在厚度方向上缩短,在长度方向上伸长。若外部施加的极性变反,如图 c所示那样,压电陶瓷在厚度方向上伸长,在长度方向上缩短。图 2-2压电逆效应图单片机 AT89S51发出短暂的 40kHz信号,经放大后通过超声波换能器输出;反射后的超声波经超声波换能器
11、作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,读出时间 t,再由系统软件对其进行计算、判别后,相应的计算结果被送至 LED数码管进行显示。限制超声波系统的最大可测距离存在四个因素:超声波的幅度、反射物的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小可测距离。开始测量超声波信号开定时器关定时器数据运算显示器接收检测 电声换能器电声换能器驱动电路图 2-2 超声波测距系统框图第三章各部分功能设计按照系统设计的功能的要求,初步确定设计系统由单片机主控模块、显示模块、超声波发射模块、接收模块共四个模块组成。单片机主控芯片使用 5
12、1系列 AT89S51单片机,该单片机工作性能稳定,同时也是在单片机课程设计中经常使用到的控制芯片。发射电路由单片机输出端直接驱动超声波发送。接收电路使用三极管组成的放大电路,该电路简单,调试工作小较小硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路、报警输出电路、供电电路等几部分。单片机采用 AT89S51,系统晶振采用 12MHz高精度的晶振,以获得较单片机用 P2.7端口输出超声波换能器所需的 40kHz的方波信号,P3.5 端口监测超声波接收电路输出的返回信号。显示电路采用简单实用的 3位共阳 LED数码管,段码输出端口为单片机的 P2口,位码输出端口分别为单
13、片机的 P3.4、P3.2、P3.3 口,数码管位驱运用 PNP三极管 S9012三极管驱动。3.1 超声波测距系统构成本系统由单片机 AT89S51控制,包括单片机系统、发射电路与接收放大电路和显示电路几部分组成,如图 3-1 。硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路三部分。单片机采用 AT89S51。采用 12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用 P2.7端口输出超声波换能器所需的 40kHz的方波信号,P3.5 端口监测超声波接收电路输出的返回信号。显示电路采用简单实用的 3位共阳 LED数码管,段码输出端口为单片机的 P2
14、口,位码输出端口分别为单片机的 P3.4、P3.2、P3.3 口,数码管位驱运用 PNP三极管 S9012三极管驱动。超声波接收模超声波发射模单片机控制统(AT89S51)显示模块键盘模块供电单元图 3-1:系统设计框超声波接收头接收到反射的回波后,经过接收电路处理后,向单片机 P3.5输入一个低电平脉冲。单片机控制着超声波的发送,超声波发送完毕后,立即启动内部计时器 T0计时,当检测到 P3.5由高电平变为低电平后,立即停止内部计时器计时。单片机将测得的时间与声速相乘再除以 2即可得到测量值,最后经 3位数码管将测得的结果显示出来。3.2 单片机系统及显示电路1. 单片机系统 单片机采用 8
15、9S51或其兼容系列。采用 12MHz高精度的晶振,以获得较稳定的时钟频率,减小测量误差。单片机用 P1.0端口输出超声波转化器所需的 40KHz方波信号,利用外中断 0口检测超声波接受电路输出的返回信号。显示电路采用简单实用的 4位共阳 LED数码管,段码用 74LS245驱动,位码用 PNP三极管驱动。单片机系统如下图所示1234567890JCONRVEAPSTXGDL/.WIcndU?图 3-2:单片机系统2. 显示电路原理 通过单片机的 P0.0P0.7、RST、P3.0P3.7、X1、X2、GND 与跳线帽连接控制液晶显示器的显示。12864 液晶显示器可显示 32个汉字或 64个
16、字母可满足要求输出的内容。显示电路原理图如下所示:图 3-3:显示电路3.3 串口通信模块串口通信电路是 TTL和 RS232电平互换的电路,串口通信电路是使用 MAX232芯片实现,该芯片有电源接口和两组串口通信转换端口。C4、C5、C7、C8组成电荷泵,提供单片机内部升压;C6是滤波电容,其作用是滤除电路的杂波是芯片工作稳定及防止外部电源不稳定烧坏单片机。MAX232芯片的作用是将单片机输出的 TTL电平转换成 PC机能接受的 RS232电平。5、6引脚的功能是为了产生正负12V 的电源,提供给 MAX232的点评需要,7、8、9、10、11、12、13、14构成两个数据通道。123456
17、7890JDBCON+V-TURIGMAX.串图 3.4 超声波发射电路3.4 超声波发射电路单片机 P36端输出的40kHZ 方波信号一路经一级反向器后送到超声波换能器的一个电极。另一级经过两级反向器送到超声波换能器的另一个电极。用这种推挽形式将方波信号加到超声波换能器两端。可以提高超声波发射强度。输出端采用两个反向器并联。用以提高驱动能力。上拉电阻 R27、R30一方面提高反向器74HC04输出高电平的驱动能力。另一方面可以增加超声波换能器的阻尼效果缩短其自由振荡的时间。如图 HKLSP图3.5 超声波发射电路3.5 超声波接收电路CX20106A是采用一款红外线检波接收的专用芯片,常用于
18、电视机红外遥控接收器。考虑到红外遥控常用的载波频率38Hz 与测距的超声波频率40Hz 较为相近所以可以利用它来制作超声波检测接收电路。J31中插入 CX20106A,使用 CX20106A集成电路对接收探头收到的信号进行放大、滤波。其总放大增益为80db。LS2串GNDC10uF3R8K59467JOVP图3.6 超声波接收电路3.6 语音播报模块WT588D 有 三 种 控 制 模 式 , 分 别 是 按 键 控 制 模 式 、 一 线 串 口 控 制 模 式 及 三 线 串口 控 制 模 式 ,按 键 控 制 模 式 触 发 方 式 灵 活 , 可 随 意 设 置 任 意 按 键 为 脉
19、 冲 可 重 复 触 发 、脉 冲 不 可 重 复 触 发 、 无 效 按 键 、 电 平 保 持 不 可 循 环 、 电 平 保 持 可 循 环 、 电 平 非 保 持可 循 环 、 上 一 曲 不 循 环 、 下 一 曲 不 循 环 、 上 一 曲 可 循 环 、 下 一 曲 可 循 环 、 音 量+、 音 量 -、 播 放 /暂 停 、 停 止 、 播 放 /停 止 等 15 种 触 发 方 式 。 一 线 串 口 控 制 模 式及 三 线 串 口 控 制 模 式 可 通 过 单 片 机 来 控 制 WT588D 的 语 音 播 放 、 停 止 、 循 环 播 放和 音 量 大 小 ,
20、或 者 直 接 触 发 0 219 地 址 位 的 任 意 语 音 。AMBUYEI图3.7 语音播报第四章 系统软件设计4.1 编程软件及语言的选择51编程软件可以使用 Keil uVision3或 Keil uVision4进行程序编程及仿真。Keil C 51软件是众多单片机应用开发的优秀软件之一。它集编辑,编译,仿真于一体。支持汇编,PLM 语言和 C语言的程序设计,界面友好,易学易用,具体用法在实训过程中已详细讲述及学习。编程语言一般都是用 C语言编程。C 语言是编译型程序设计语言,兼顾高级语言的特点,并具备汇编语言的功能。C 语言是一种结构化程序设计语言,它支持当前程序设计中广泛采
21、用的由顶向下结构化程序设计技术。此外,C 语言程序具有完善的模块程序结构。C 语言执行效率没有汇编语言高,但语言简洁,使用方便,灵活,运算丰富,表达化类型多样化,数据结构类型丰富,具有结构化的控制语句,程序设计自由度大,有很好的可重用性,可移植性等特点。基于 C语言的众多优点本设计选择此语言来编程。此外,还可以使用汇编语言,C+等语言来进行编程。4.2 程序设计超声波测距的软件设计主要由主程序、超声波发生子程序、超声波接收程序及显示子程序组成。超声波测距的程序既有较复杂的计算(计算距离时) ,又要求精细计算程序运行时间(超声波测距时) ,所以控制程序可采用 C语言编程。 主程序首先是对系统环境
22、初始化,设定时器 0为计数,设定时器 1定时。置位总中断允许位 EA。进行程序主程序后,进行定时测距判断,当测距标志位 ec=1时,测量一次,程序设计中,超声波测距频度是 4-5次/秒。测距间隔中,整个程序主要进行循环显示测量结果。超声波测距器的制作和调试都较为简单,其中超声波发射和接收采用 15的超声波换能器 TCT4010F1(T 发射)和 TCT4010S1(R 接收) ,中心频率为40KHz,安装时应保持两换能器中心轴线平行并相距 48cm,其余元件无特殊要求。若能将超声接收电路用金属壳屏蔽起来,则可提高抗干扰性能。根据测量范围要求不同,可适当地调整与接收换能器并接的滤波电容 C4的大
23、小,以获得合适的接收灵敏度和抗干扰能力。硬件电路制作完成连接并调试好后,便可用 Keil uVision3将程序编译好下载到单片机试运行。根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要。根据所设计的电路参数和程序,测距仪能测的范围为 0.105.00m,测距仪最大误差不超过 1cm。系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。当调用超声波测距子程序后,首先由单片机产生 4个频率为 38.46kHz超声波脉冲,加载的超声波发送头上。超声波头发送完送超声波后,立即启动内部计时器 T0进行计时,为
24、了避免超声波从发射头直接传送到接收头引起的直射波触发,这时,单片机需要延时约 1.5 -2ms时间(这也就是超声波测距仪会有一个最小可测距离的原因,称之为盲区值)后,才启动对单片机 P3.5脚的电平判断程序。当检测到 P3.5脚的电平由高转为低电平时,立即停止 T0计时。由于采用单片机采用的是 12 MHz的晶振,计时器每计一个数就是 1s,当超声波测距子程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按式(2)计算,即可得被测物体与测距仪之间的距离。其中当障碍物与超声波模块的距离 S2000cm时,语音播报提示为“安全距离” ,当 500#include#defin
25、e NOP _nop_();_nop_();_nop_()#define uchar unsigned char#define uint unsigned int#define ulong unsigned long/*位定义*/sbit csb=P34;sbit green=P23;sbit yellow=P24;sbit red=P25;bit flag_1=0; uchar vo_vo=0xe7;uint speed=340;#include“delay.c“#include“sound.c“#include“12864.c“#include“display.c“#include“DS1
26、8B20.c“#include“SOUND.c“#define nop_nop_()float distance;uint count=0;uchar high_time,low_time,flag=0,tc=2;uchar flag_2=0; uchar tc_say=0; ulong dis,dis_43;/*函数名:float Distance_count()功能:距离计算函数*/float Distance_count()float temp;temp=high_time*256+low_time;temp=(temp*10/9216)/2; temp*=speed;return te
27、mp;/*函数名:ulong do_s(ulong dis_1)功能:距离补偿*/ulong do_s(ulong dis_1)uchar n;if(dis_170)i-)csb=!csb;nop;nop;nop;nop;nop;nop;nop;nop;nop;csb=1;delay_ms(2);EX1=1;delay_ms(30);if(flag=1) distance=Distance_count();dis=(ulong)distance ;flag=0;else dis=0;void tran1()uchar i;TH0=0;TL0=0;TR0=1;for(i=8;i0;i-)csb=
28、!csb;nop;nop;nop;nop;nop;nop;nop;nop;nop;csb=1;delay_ms(2);EX1=1;delay_ms(30);if(flag=1) distance=Distance_count();dis=(unsigned long)distance;flag=0;else dis=0;void tran2()uchar i;TH0=0;TL0=0;TR0=1;for(i=16;i0;i-)csb=!csb;nop;nop;nop;nop;nop;nop;nop;nop;nop;csb=1;delay_ms(2);EX1=1;delay_ms(40);if(f
29、lag=1) distance=Distance_count();dis=(unsigned long)distance;flag=0;else dis=0;/*函数名:void dis_all(ulong dis_s)功能:控制 LED 指示灯和语音播报*/void dis_all(ulong dis_s)show(dis_s);if(dis_s2000) show_one(DIS4,2);green=0;red=1;yellow=1;if(flag_2!=1)send_oneline(12);/安全距离delay_nms(50);while(!busy); flag_2=1;elseif(
30、dis_s500)if(dis_41dis) dis=dis_41;/*函数名:void main(void)功能:主函数*/void main(void) ulong data time;uchar i,j;P0 = 0xFF;P1 = 0xff;P2 = 0xff;TMOD=0x01;TH0=0;TL0=0; EA=1;IE=0x80;displayall(); while(1)lcd_pos(4,0); /设置显示位置为第三行for(i=0;i4000) time=time-1000;elseif(time-dis)0)i-) ;void delay(int ms)while(ms-)u
31、char i;for(i=0;i0;j-);/*位定义*/sbit rst=P23;sbit CS=P25;/片选端sbit CLK=P26;/时钟sbit sda=P24;/数据位sbit busy=P27;/忙信号/*函数名:void send_com(uchar add)功能:发码播放,add 为语音地址*/void send_com(uchar add)uchar i;RST=1;RST=0;delay_nms(3);RST=1;delay_nms(20);CS=0;delay_nms(5);for(i=0;i1;CS=1;void delayus(uint z)uint x,y;fo
32、r(x=z;x0;x-)for(y=10;y0;y-);void send_oneline(uchar add)uchar i;rst=0;delay(1);rst=1;delay(17); /*复位延时 17MS*/ rst=1; delay(6); /* delay 6ms */ sda=0; delay(5); /* delay 5ms */ for(i=0;i=1; sda=1; /*函数名:void sound(ulong soud)功能:播报测距距离*/void sound(ulong soud)uchar i,j,k,l;send_oneline(vo_vo);while(!bu
33、sy);i=soud/1000;j=soud%1000/100;k=soud%100/10;l=soud%10;send_oneline(i);delay_nms(300);while(!busy);send_oneline(10);/播放“点”delay_nms(300);while(!busy);send_oneline(j);delay_nms(300);while(!busy);send_oneline(k);delay_nms(300);while(!busy);if(l!=0)send_oneline(l);delay_nms(300);while(!busy);send_onel
34、ine(11);/播放“米“delay_nms(300);while(!busy);/*函数名:void soundplay(uint dis_say)功能:播放“测量距离”*/void soundplay(uint dis_say)/if(busy!=0)sound(dis_say);/播放“测量距离”sbit DQ = P37;/定义 DS18B20端口 DQ uchar presence ;uchar temp_data2=0x00,0x00;uchar display5=0x00,0x00,0x00,0x00,0x00;uchar code ditab16=0x00,0x01,0x01
35、,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09;bit flash=0; /显示开关标记/*/void Delay_1(uint num) /延时函数while( -num );/*函数名:Init_DS18B20功能:DS18B20 初始化/*/Init_DS18B20(void)/初始化ds1820DQ = 1; /DQ复位Delay_1(8); /稍做延时DQ = 0; /单片机将 DQ拉低Delay_1(90); /精确延时 大于 480usDQ = 1; /拉高总线Delay_1(8);presenc
36、e = DQ; /如果=0则初始化成功 =1 则初始化失败Delay_1(100);DQ = 1; return(presence); /返回信号,0=presence,1= no presence/*函数名:ReadOneChar(void)功能:从 18B20 中读一个字节数据/*/ReadOneChar(void)/读一个字节unsigned char i = 0;unsigned char dat = 0;for (i = 8; i 0; i-) DQ = 0; / 给脉冲信号dat = 1;DQ = 1; / 给脉冲信号if(DQ)dat |= 0x80;Delay_1(4);ret
37、urn (dat);/*函数名:WriteOneChar(uchar dat)功能:写入一个字节数据/*/WriteOneChar(uchar dat)/写一个字节unsigned char i = 0;for (i = 8; i 0; i-)DQ = 0;DQ = datDelay_1(5);DQ = 1;dat=1;/*函数名:Read_Temperature(void)功能:读取温度/*/Read_Temperature(void)/读取温度Init_DS18B20();if(presence=1) flash=1; /DS18B20不正常else flash=0;WriteOneCha
38、r(0xCC); / 跳过读序号列号的操作WriteOneChar(0x44); / 启动温度转换Init_DS18B20();WriteOneChar(0xCC); /跳过读序号列号的操作WriteOneChar(0xBE); /读取温度寄存器temp_data0 = ReadOneChar(); /温度低 8位temp_data1 = ReadOneChar(); /温度高 8位 /*函数名:Disp_Temperature()功能:显示温度/*/Disp_Temperature()/显示温度 unsigned char n=0, word16=“环境温度: “;show_one(word
39、,4);lcd_pos(4,0);for(n=0;n4)|(temp_data1if(flash=0)if(flash=0) /温度传感器正常检测到温度并温度小于 50度 speed=331+(display4*61+display0*6+45)/100;附录四: 元件清单编号 型号、规格 描述 数量 编号 型号、规格 描述 数量R1 4.7k 1/4W 电阻器 1 C1 220uF 电解电容器 1R2 4.7k 1/4W 电阻器 1 C2 104 瓷片电容器 1R3 150k 1/4W 电阻器 1 C3 220uF 电解电容器 1R4 4.7k 1/4W 电阻器 1 C4 104 瓷片电容器
40、 1R5 150k 1/4W 电阻器 1 C5 30pF 瓷片电容器 1R6 4.7k 1/4W 电阻器 1 C6 30pF 瓷片电容器 1R7 4.7k 1/4W 电阻器 1 C7 104 瓷片电容器 1R8 10k 1/4W 电阻器 1 C8 104 瓷片电容器 1R9 4.7k 1/4W 电阻器 1 C9 10uF 电解电容器 1R10 4.7k 1/4W 电阻器 1 IC1 AT89C51 单片机 1R11 4.7k 1/4W 电阻器 1 IC3 7805 三端稳压器 1R12 4.7k 1/4W 电阻器 1 Y1 12MHz 晶振 1BY BEEP 5V 有源蜂鸣器 1 USB US
41、B USB 接口 1K1 SW-0606 轻触铵钮 1 T T40-16T 传声波传感器 1K2 SW-0606 轻触铵钮 1 R T40-16R 传声波传感器 1BG1 9012 PNP 1 D1 1N4007 整流二极管 1BG2 9013 NPN 1 D2 1N4007 整流二极管 1BG3 9013 NPN 1 D3 1N4007 整流二极管 1BG4 9013 NPN 1 D4 1N4007 整流二极管 1BG5 9012 PNP 1 D5 IN4148 开关二极管 1BG6 9012 PNP 1 D6 IN4148 开关二极管 1BG7 9012 PNP 1 D7 1N4007 整
42、流二极管 1BG8 9013 NPN 1 JP1 16176-b 接插件 1BG9 9012 PNP 1 JP2 DG7.62-2P 接插件 2JDQHRS1H-S5VDC 继电器 1B 7M-7.6 高频变压器 1LED HS310561K 三位数码管 1参 考 文 献1 赵建领,薛园园.51单片机开发与应用技术详解 北京:电子工业出版社,20092 沈红卫.基于单片机智能系统设计与实现. 北京 :电子工业出版社,20053 杨国田,白 焰,董 玲.51单片机实用C语言程序设计 中国电力出版社 20094 李群芳,黄建.单片机微型计算机与接口技术. 北京:电子工业出版社,20015 楼然苗,李光飞.51系列单片机设计实例. 北京 :北京航空航天大学出版社,20036 王守中.51 单片机开发入门与典型实例. 北京:人民邮电出版社 ,2009