中北大学吧 关注:363,313贴子:20,056,119
  • 0回复贴,共1

谁会编这个程序呀???

只看楼主收藏回复

单片机超声测距系统设计一、设计背景1、 单片机型号:AT89C51。其引脚图如图1所示。特别要求:系统时钟频率为11.0592MHz。复位信号为正脉冲,脉冲宽度大于24个系统时钟周期即能可靠复位。片内有4K字节的程序存储器,不需要外扩程序存储器。[图片] 图1 AT89C51引脚图2、设已有5V直流稳压电源。3、超声波测距模块及引脚说明,如图2所示。[图片] [图片]图2 超声波测距模块及引脚说明 超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。工作原理:(1)给TRIG引脚输入至少10us的正脉冲信号,TTL电平;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)当有信号返回,模块通过ECHO引脚输出正脉冲信号(TTL电平),其脉冲宽度就是超声波从发射到返回的时间。因此,测试距离=(ECHO引脚输出的正脉冲宽度(秒)×声速(340米/秒))/2;注:该模块的探测距离:2cm-450cm。 根据以上材料,设计单片机超声波测距系统。功能要求如下: 实现测距的功能,距离的单位为厘米,数据类型为16位无符号整数,数值范围为2~450。并将得到的距离数据通过UART发送上位机。串行通信波特率为9600,数据帧格式为8N1,数据包为ASCII,数据包格式为:(1)数据起始字符为$(2)然后是距离数据的ASCII,3位十进制数,共占3个字节,其顺序为百位、十位、个位(3)然后是字符*(4)然后是一个字节的检验和,检验和是“$”和“*”之间所有字符的异或(5)以回车和换行符表示数据包结束。如要发送的距离数据为234,则数据包为:$323334*\r\n二、设计要求1、单片机超声波测距系统硬件系统设计。l 画出单片机每个关键引脚的配置电路图(不考虑对片上程序存储器的烧写电路),所用元件的有关参数值(如电容的值,电阻的值等)给出必要的分析或说明。l 单片机与超声波测距模块的连线图。2、详细阐述单片机超声波测距系统软件设计的工作原理。3、用C51语言编写程序,实现单片机超声波测距系统的功能要求。4、编写keil uvision DEBUGGER的信号函数,用于测试和验证测距功能的正确性。


来自Android客户端1楼2014-06-18 22:46回复