新闻中心

EEPW首页>嵌入式系统>设计应用> 基于AT89C2051的超声波测距系统

基于AT89C2051的超声波测距系统

作者: 时间:2012-08-24 来源:网络 收藏

3.3 数码管显示电路

数据显示采用串行接口LED显示驱动管理芯片MC14489,它的输入端与CPU之间只有3条I/0口线相连。这3个端口是:使能端ENBLE、时钟端CLOCK、数据端DATA IN,通过这3个端口写控制字和数据。更新显示寄存器的内容,需要传送3个字节的信息,更新配置寄存器的内容仅需要传送一个字节的信息。这种芯片可以显示5位数码管数据,本只用到了4位。驱动电压为5 V,亮度调节通过 端口与地之间连接的电阻来调节,电阻增大亮度减小。显示电路如图6所示。

图6 显示电路
图6 显示电路

3.4 单片机

发射的被调制成包含40 kHz方波的具有一定时间间隔的矩形波脉冲信号,其发射、接收脉冲工作时序图如图7所示。由单片机的P1.7口控制H桥电路的使能端EN,送出40 kHz的脉冲信号,其脉冲宽度及脉冲间隔均由软件控制。脉冲宽度约为125~200us,即在一个调制脉冲内包含5~8个40 kHz的方波。脉冲发送间隔取决于要求测量的最大距离。若在有效范围内有被测物体,则在后一次束发出之前应当接收到前一次发射的反射波,否则认为前方无被测物体。因此,按有效范围可以估算出最短的脉冲间隔发送时间。例如:最大范围为10m时,脉冲间隔时间t:2s/v=2×10/340≈60ms,实际应取t≥60 ms.本系统为方便起见,选择脉冲间隔定时器为65 ms.

图7 发射和接收脉冲时序图
图7 发射和接收脉冲时序图

3.5 串口输出

MC14489可以通过和单片机串口进行通信,当显示面板离主控制板较远时,数据信号将会衰减,所以可通过串口来传输数据。

3.6 按键输入

本系统可以设定距离值,当大于或小于设定值时将发出控制信号。P1.5、P1.6输出高低电平,从而可以控制继电器等外部设备。由3个按键设定距离值:S0的作用是进入和退出设定,S1和S2分别是向上加值和向下减值,每按一次加或减一厘米,由数码管输出显示。

4 系统软件设计

该系统软件采用8051汇编语言编写,主程序流程图如图8所示。单片机有2个外中断口,分别用于接收回波中断和按键输人中断,对应2个外中断子程序。此外,还用到了内部中断定时器, 它用于控制发送载波脉冲,如图9所示。 定时器65 ms产生中断一次,主要是发送载波脉冲和计数器清零。外中断0将在有下降沿触发时产生中断,用于读取定时器产生的计时值和使标志位置位。外中断1是按键输人中断,用于提供比较值来输出控制信号。S0第一次触发为中断产生信号,再次触发则为输入确定信号。S1和S2按键是输入值增加和减少按键,它们通过判断对应的10口状态来确定是否输入。

图8 主程序流程图
图8 主程序流程图



评论


相关推荐

技术专区

关闭