基于at89s51单片机的超声波测距仪设计内容摘要:

P2 口输出其特殊功能寄存器的内容。 P2口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口 : P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。 当 P3 口写入“ 1”后,它们被内部上拉为高电平,并用作输入。 作为输入,由于外 10 部下拉为低 电平, P3 口将输出电流( ILL)这是由于上拉的缘故。 RXD(串行输入口)。 TXD(串行输出口)。 /INT0(外部中断 0)。 /INT1(外部中断 1)。 T0(记时器 0 外部输入)。 T1(记时器 1 外部输入)。 /WR(外部数据存储器写选通)。 /RD(外部数据存储器读选通)。 P3 口同时为闪烁编程和编程校验接收一些控制信号。 I/O 口 作为输入口时有两种工作方式即所谓的读端口与读引脚读端口时实际上并不从外部读入数据而是把端口锁 存器的内容读入到内部总线经过某种运算或变换后再写回到端口锁存器只有读端口时才真正地把外部的数据读入到内部总线上面图中的两个三角形表示的就是输入缓冲器 CPU 将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作这是由硬件自动完成的不需要我们操心 1然后再实行读引脚操作否则就可能读入出错为什么看上面的图如果不对端口置 1端口锁存器原来的状态有可能为 0Q端为 0Q^为 1加到场效应管栅极的信号为 1该场效应管就导通对地呈现低阻抗 ,此时即使引脚上输入的信号为 1也会因端口的低阻抗而使信号变低使得外加的 1信号读入后不一定是 1 若先执行置 1操作则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入由于在输入操作时还必须附加一个准备动作所以这类 I/O 口被称为准双向口 89C51 的P0/P1/P2/P3 口作为输入时都是准双向口接下来让我们再看另一个问题从图中可以看出这四个端口还有一个差别除了 P1 口外 P0P2P3 口都还有其他的功能 RST: 复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG: 当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间,此引脚用于输入 编程脉冲。 在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。 因此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。 此时, ALE 只有在执行 MOVX, MOVC 指令是ALE 才起作用。 另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE 禁止,置位无效。 11 PSEN: 外部程序存储器的选通信号。 在由外部程序存储器取指期间,每个机器周期两次 /PSEN 有效。 但在访问外部数据存储器时,这两次有效 的 /PSEN 信号将不出现。 EA/VPP: 当 /EA保持低电平时,则在此期间外部程序存储器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1 时, EA 将内部锁定为 RESET;当 /EA 端保持高电平时,此间内部程序存储器。 在 FLASH编程期间,此引脚也用于施加 12V编程电源( VPP)。 XTAL1: 反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2: 来自反向振荡器的输出。 (二) CX20206A 红外接收放大模块的设计 CX20206A 是日本索尼公司生产的红外遥控信号接收集成电路,广泛应用于 视频、音频、空调、风扇等各种遥控系统中作遥控信号接收电路。 内部电路由前置放大器、自动偏置电平控制电路( ABLC)、限幅放大器、带通滤波器、峰值检波器 和波形整形电路组成。 考虑到红外遥控常用的载波频率 38KHz 与测距超声波频率 40KHz 较为接近,可以利用它作为超声波检测电路。 图 4 CX20206A 逻辑框图 CX20206A 的主要技术特点有以下几点: 1. 低电压供电,其典型值为 5V。 2. 功耗低, Vcc=5V 时, 其典型功耗为 9mW。 3. 带通滤波器的中心频率可通过改变引脚 5和电源之间的电阻进行调节,其调节的范围为 30— 60kHz。 由于没有使用电感,能够不受磁场的感染,因此抗干扰能力强。 4. 能与 PIN 光电二极管直接连接。 5. 集电极开路输出,能直接驱动 TTL 或 COMS 电路。 6. 8 引脚单列直插式塑料封装。 前置放大电路 限幅放大器 带通滤波器 检波器和比较器 积分器 斯密特触发器 ABLC 1 2 3 4 5 6 7 8 12 接下来再让我们来看看它的 极限 参数 ,见表 2 表 2 CX20206A 的 极限 参数 参数名称 符号 参数值 单位 电源电压 Vcc 17 V 输入信号电压 VIN 5 V 允许功耗 PD W 工作 环境温度 T1 20~ +75 ℃ 贮存温度 T2 55~ +150 ℃ CX20206A 引脚功能说明及其参考数据,见表 3 表 3 引 脚 功能说明及其参考数据 引脚 符号 功能 说明 电压( V) 1 IN 遥控信号输入端 该脚和地之间联结着PIN 光电二极管,该集成块 1 脚输入阻抗约为40177。 5kΩ。 2 C1 RC 网络连接端 该脚与地之间接有 RC串联网络,用来确定前置放大器频率特性和增益。 电阻值大,容量值小,则增益低;反之则高。 但电容不宜过大,否则瞬态响应速度会降低。 3 C2 检波电容连接端 该脚与地之间接有检波电容,电容量大为平均值检波,瞬态响应灵敏度低;电容量小,则为峰值检波,瞬态响应灵敏度高,但检波输出的脉宽变动大,容易造成遥控误动作。 4 GND 接地端 接地。 0 13 5 fo 带通滤波器中心频率设置端 该脚与电源间所接电阻器,是用来设置带通滤波器的中心频率 fo,电阻值为 200kΩ时,中心频率 fo=40kHz;电阻值为 220kΩ时,则中心频率 fo=38kHz。 6 C3 积分电容连接端 该脚所接 的 积 分 电容,标准值为 330pF,当其容量值变大,则外部噪波干扰增强 ,遥控距离变短。 1 7 OUT 遥控指令信号输出端 该 端 口 为 集 电 极 开路输出端。 该脚和电源 间 连 接 一 只 约 为22kΩ电阻后,输出脉 冲 低 电 平 的 标 准值约为 8 Vcc 供电电源端 5V177。 工作 电源电压输入端 5 最后再让我们再看看 CX20206A 集成块内电路方框图与它的典型应用电路,见图 5。 图 5 CX20206A 集成块内电路方框图与其典型应用电路 (三) TCT4010超声波传感器的设计 TCT4010 是 一款常用的超声波发射接收 器件 , 由一块发射 端 T和一块接收 端 R共同组成。 14 图 6 TCT4010外观图 图 7 超声波转换结构图 压电超声波转换器的功能:利用压电晶体谐振工作。 内部结构 如 图 7所示,它有两个压电晶片和一个共振板。 当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动产生超声波,这时它就是一超声波发生器。 如没加电压,当共振板接受到超声波时,将压迫压电振荡器作振动,将机械能转换为电信号,这时它就成为超声波接受转换器。 超声波发射转换器 与接受转换器其结构稍有不同。 超声波发射电路原理图如图 8所示: 图 8 超声波发射电路原理图 超声波接收 电路采用集成电路 CX20206A,这是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。 考虑到红外遥控常用的载波频率 38KHz 与测距超声波频率40KHz 较为接近,可以 利用它作为超声波检测电路。 实验证明其具有很高的灵敏度和较强的抗干扰能力。 适当改变 C4的大小,可改变接受电路的灵敏度和抗干扰能力。 超声波接收电路原理图如图 9所示: 15 图 9 超 声 波接收原理图 而整个超声波测距的原理,就是如图 10所示: 图 10 超 声 波测距原理图 (四 ) DS18B20 温度传感器的设计 DS18B20 数字温度计是 DALLAS 公司生产的 1- Wire,即单总线器件,具有线路简单,体积小的特点。 因此用它来组成一个测温系统,具有线路简单,在一根通 信线,可以挂很多这样的数字温度计,十分方便。 DS18B20 的主要特性有以下几点: 1. 温度转换及输出。 2. 单总线数据通信。 3. 12 位分辨率,精度可达177。 ℃。 4. 12 位分辨率时的最大工作周期为 750ms。 5. 可选择寄生工作方式。 6. 检测温度范围为 55℃~ +125℃ 16 7. EPROM,限温报警功能。 8. 在 DS18B20 中的每个器件上都有独一无二的序列号。 9. 实际应用中不需要外部任何元器件即可实现测温。 图 11 DS18B20 外观图 图 12 DS18B20 引脚图 再来看看它的引脚图,如 上图 12: DS18B20 有多种封装形式,本课题使用的是常见的 3 长针脚的封装形式。 其引脚功能如表 4 所示: 表 4 DS18B20 引脚说明 引脚 名称 功能 1 GND 地信号 2 DQ 数据输入 /输出引脚。 开漏单总线接口引脚。 当被用着在寄生电源下,也可以向器件提供电源。 3 VDD 可选择的 VDD 引脚。 当工作于寄生电源时,此 引脚必须接地。 由于 DS18B20 采用的是 1- Wire 总线协议方式,即在一根数据线实现数据的双向传输,而对 AT89S51 单片机 来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对 DS18B20 芯片的访问。 17 图 13 AT89S51 与 DS18B20 连接图 (五) LED 数码管显示电路的设计 AT89S51 采用 12MHz 高精度的晶振,以获得较稳定的时钟频率,减小测量误差。 单片机用 端口输出超声波转化器所需的 40KHz 方波信号,利用外中断 0口检测超声波接受电路输出的返回信号。 显示电路采用简单实用的 4 位共阳 LED 数码管,段码用74LS244 驱动,位码用 PNP 三极管驱动。 单片机系统及显示电路如图 14所示 : 图 14 单片机及其显示原理图 18 四、系统软件设计 超声波测距软件设计主要由主程序,超声波发射子程序,超声波接受中断程序及显示子程序组成。 主程序首先对系统环境初始化,设置定时器 T0 工作模式为 16 位的定时计数器模式,置位总中断允许位 EA 并给显示端口 P0 和 P2 清 0。 然后调用超声波发生子程序送出一个超声波 脉冲,为避免超声波从发射器直接传送到接收器引起的直接波触发,需延迟(这也就是测距器会有一个最小可测距离的原因 )后,才打开外中断 0 接收返回的超声波信号。 由于采用 12MHz 的晶振,机器周期为 1us,当主程序检测到接收成功的标志位后,将计数器 T0 中的数(即超声波来回所用的时间)按下式计算即可测得被测物体与测距仪之间的距离 :  (T+)1/2 公式① d=C T0/2+△ d 公式② 这样就可以计算出测距仪与障碍物之间的距离。 测出距离后结果将以十进制 BCD 码方式 LED,然后再发超声波脉冲重复测量过程。 主程序框图如 图 15 所示: 图 15 超声波测距主程序图 超声波发生子程序的作用是通过 端口发送 2 个左右的超声波信号频率约40KHz 的方波,脉 冲宽度为 12us 左右,同时把计数器 T0 打开进行计时。 超声波测距器主程序利用外中断 0 检测返回超声波信号,一旦接收到返回超声波信号( INT0 引脚出 19 现低电平 ),立即进入中断程序。 进入该中断后就立即关闭计时器 T0 停止计时,并将测距成功标志字赋值 1。 如果当计时器溢出时还未检测到超声波返回信号,则定时器 T0溢出中断将外中断 0 关闭,并将测距成功标志字赋值 2 以表示此次测距不成功。 它们的整个软件系统如图 16,图 17,图 18 所示: 图 16 主 程序流程图 图 17 定 时中断服务子程序 图 18 外 部中断服务 子程序。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。