超声波测距模块+AVR单片机控制程序

发布者:hfy13567003617最新更新时间:2015-07-13 来源: 51hei关键字:超声波测距  AVR单片机 手机看文章 扫描二维码
随时随地手机看文章
【超声波测距模块】-【机器人的耳朵】
#include
#include
#include
int main(void)
 {
 DDRA=0x00;
 PORTA=0x00;    //PA口初始化
 
 DDRD=0xff;
 PORTD=0xff;    //PD口初始化
 char j,i;
 int h,u,l;
  while(1)
  {
   j=1;     //激活while(j)循环
   i=1;     //激活while(i)循环
   u=6000;     //还原检测循环     
   PORTA&=(1<<0);   //PA0脚高电平
   _delay_us(20);   //延时20US
   PORTA&=~(1<<0);   //PA0脚低电平。发送20US的高电平脉冲
   while(j)
    {
    if(PINA&(1<<1))  //判断PA1有无返回高电平
     {
     while(i)
      {
      h=0;    //初始计数变量
      _delay_us(10);  //延时及计数
      h=h+10;    //计数累加10us
      if(!(PINA&(1<<1))) //判断PA1口是否跳转到低电平
       {
       i=0;   //至while值为零
       j=0;   //检测完成,跳出while(j)
       l=h*3;   //计算出mm
       if(250>=l)
        {
        PORTD=0b00000001;
        }
       else if(500>=l&&l>=250)
        {
        PORTD=0b00000010;
        }
       else if(750>=l&&l>=500)
        {
        PORTD=0b00000100;
        }
       else if(1000>=l&&l>=750)
        {
        PORTD=0b00001000;
        }
       else if(1250>=l&&l>=1000)
        {
        PORTD=0b00010000;
        }
       else if(1500>=l&&l>=1250)
        {
        PORTD=0b00100000;
        }
       else if(1750>=l&&l>=1500)
        {
        PORTD=0b01000000;
        }
       else if(2000>=l&&l>=1750)
        {
        PORTD=0b10000000;
        }
       else
        {
        PORTD=0b00000000;
        }
       _delay_ms(600);   //检测完成,延迟显示
       }
      }
     
     }
    _delay_us(10);  //当PA1未返回高电平开始循环检测,间隔10us
    u=u-1;    //循环程序固定循环U次
    if(u&0)    //当循环U次后,判断U是否为0,跳出while(j)
     {
     j=0;
     }
    
    }   
  }
 }
关键字:超声波测距  AVR单片机 引用地址:超声波测距模块+AVR单片机控制程序

上一篇:AVR单片机串口通信程序
下一篇:基于单片机的便携式电解质分析仪的设计

推荐阅读最新更新时间:2024-03-16 14:25

数显超声波测距仪的设计实现
  超声波由于其指向性强、能量消耗缓慢、传播距离较远等优点,而经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。超声波测距主要应用于倒车雷达、建筑施工工地以及一些工业现场。例如:液位、井深、管道长度等场合。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在测控系统的研制上也得到了广泛的应用。本文介绍一种以AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。   1 超声波测距原理   1.1 超声波发生器   超声波是一种频率超过20kHz的机械波。为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体
[单片机]
数显<font color='red'>超声波测距</font>仪的设计实现
AVR单片机解密技术分析
一般说来,AVR与传统类型的单片机相比,在IC芯片解密技术中除了必须能实现原来的一些基本的功能,其在结构体系、功能部件、性能和可靠性等多方面有很大的提高和改善。能破解的AVR单片机都是小芯片/小程序(直接说就是模仿其功能而新开发新程序),因此解密难度都是不是很大。因而本文探讨的就是AVR单片机解密技术分析,以及如何防止解密。 AVR单片机解密技术分析 AVR单片机攻击者借助专用设备或者自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种技术手段,就可以从芯片中提取关键信息,获取单片机内程序,这就是AVR芯片解密。 针对AVR系列单片机解密,世纪芯集成电路下的芯片解密实验室均进行了系统化的技术研究和破解,在AVR单片机解密领
[单片机]
<font color='red'>AVR单片机</font>解密技术分析
AVR单片机8位数码管显示的程序实现(两种方法介绍)
本文为大家介绍两个AVR单片机8位数码管显示的程序实现。 AVR单片机595驱动8位数码管的显示的电路实现 主程序代码 #include #include //GCC中的延时函数头文件 #include “hc595.h” //unsigned char Led_Disbuf[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //共阴极 unsigned char Led_Disbuf[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //共阳极 unsigned char ComBuf[8] = {0
[单片机]
<font color='red'>AVR单片机</font>8位数码管显示的程序实现(两种方法介绍)
如何使用AVR单片机进行自整定PID控制器的设计
本文介绍了基于AVR单片机的自整定PID控制器的设计.该控制器以FESTO水位为控制对象,控制核心为ATmega128单片机.采用继电自整定PID算法,并用LED数码管实时显示控制情况.实验结果表明,本设计可以根据实际情况在线自整定PID参数.控制效果快速,平稳,超调量小。 PID控制器是过程控制中所用的主要控制器-由于其算法简单.鲁棒性好和可靠性高等特点,被广泛应用于工业过程控制.但是PID参数的整定一般需要经验丰富的工程技术人员来完成.既耗时又费力,加之实际系统有滞后和非线性等因素,增加了PID参数整定的难度.如何在线自整定PID参数,以符合过程控制的要求。是目前控制器设计中的一个重要课题,它不仅能减少操作人员的负担,还可
[单片机]
如何使用<font color='red'>AVR单片机</font>进行自整定PID控制器的设计
AVR单片机CRC校验码的查表与直接生成
摘要:循环冗余码校验CRC是常用的重要校验方法之一。AVR高速嵌入式单片机功能强大,在无线数据传输应用方面具有很大优势。本文基于Atmega128高速嵌入式单片机,实现32位CRC校验码的直接生成法和查表生成法;根据实验结果,分析两种方法的特点。 关键词:Atmega128 CRC校验码 CRC生成表 数据段 引 言   随着技术的不断进步,各种数据通信的应用越来越广泛。由于传输距离、现场状况、干扰等诸多因素的影响,设备之间的通信数据常会发生一些无法预测的错误。为了降低错误所带来的影响,一般在通信时采用数据校验的办法,而循环冗余码校验是常用的重要校验方法之一。   AVR高速嵌入式单片机是8位RISC MCU,执行大多数指
[应用]
AVR单片机串行接口SPI接口应用设计
  使用的同步串行三线SPI接口,可以方便的连接采用SPI通信协议的外围或另一片AVR单片机,实现在短距离内的高速同步通信。ATmega128的SPI采用硬件方式实现面向字节的全双工3线同步通信,支持主机、从机和2种不同极性的SPI时序,通信速率有7种选择,主机方式的最高速率为1/2系统时钟,从机方式最高速率为1/4系统时钟。   ATmega128单片机内部的SPI接口也被用于程序存储器和数据E2PROM的编程下载和上传。但特别需要注意的是,此时SPI的MOSI和MISO接口不再对应PB2、PB3引脚,而是转换到PE0、PE1引脚上(PDI、PDO),其详见第二章中关于程序存储器的串行编程和校验部分的内容。   ATmega
[单片机]
关于AVR单片机的ADC使用
端口设置,设置为无上拉输入,下面是手册里的一段话 不论是否用作ADC的输入通道,输入到ADCn的模拟信号都受到引脚电容及输入泄露的影响。用作ADC的输入通道时,模拟信号源必须通过一个串联电阻 ( 输入通道的组合电阻 ) 驱动采样保持 (S/H) 电容。ADC针对那些输出阻抗接近于10 k Ω 或更小的模拟信号做了优化。对于这样的信号采样时间可以忽略不计。若信号具有更高的阻抗,那么采样时间就取决于对S/H 电容充电的时间。这个时间可能变化很大。建议用户使用输出阻抗低且变化缓慢的模拟信号,因为这可以减少对S/H 电容的电荷传输。 频率高于奈奎斯特频率(fADC/2) 的信号源不能用于任何一个通道,这样可以避免不可预知的信号卷积造成
[单片机]
AVR单片机的多协议读写器的设计
引言 射频识别(RFID)是利用无线方式对电子数据载体(电子标签)进行识别的一种新兴技术。与接触式IC卡和条形码识别等系统比较,它有着巨大的优势。利用射频识别技术,能有效实现对数量大、分布区域广的信息进行智能化管理,达到高效快捷运作的目的,特别是在第二代身份证、物流、交通航运、自动收费、超市、门禁系统管理、服务领域等方面有着广泛的应用前景。随着我国国民经济的快速发展,国内RFID行业也正经历着深刻的变革。 RFID系统一般是由读写器、射频卡、应用软件来组成。其中读写器的设计是至关重要的,它决定了系统的稳定性和准确性。 除了要求其能支持一系列协议、标准和收发器外,对读写器可能还有其它功能性方面的要求,如高性能、防冲突、远/近感应距离
[单片机]
于<font color='red'>AVR单片机</font>的多协议读写器的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved