单片机把每个周期的S5P2采样外部中断口的电平逻
发布时间:2017-11-22 19:36

  

  hc-sr04超声波模块具有探测距离精度高、性能稳定、盲区小的特点,这能使测距更加精确和改进更加合理。

  该系统的单片机采用宏晶公司的STC90C516RD+单片机,是原来STC89系列的升级版本,具有更强的抗干扰,抗静电能力,复位效果更好,功耗低,速度快。

  蜂鸣器采用无源蜂鸣器,相比有源蜂鸣器虽然难度变大,必须用2K~5K的方波去驱动它,但声音频率可控,且价格更加低廉。

  Lcd1602工业字符型液晶能够同时显示16x02即32个字符,与其他液晶显示器相比,显示字母和数字比较方便,控制简单,成本较低。

  超声波模块的处理:由于这次题目要求测到7米,所以普通的超声波测距模块肯定达不到,所以要么通过硬件改进,要么通过软件改进。这里介绍硬件改进方法:

  上图标志电阻R3,可以调节最大探测距离。R3电阻为392,探测距离最大4.5M 左右,探测角度小于15 度;R3 电阻为472,探测距离最大 7M左右,探测角度小于30度;出厂默认392,即最大探测距离4.5M左右。R3 电阻大,接收部分增益高,检测距离大,但检测角度会相应变大,容易检测到前方旁边的物体。所以精度又2mm降低到1cm。

  可以通过在洞洞板上焊接排座和排针来固定超声波模块:同时更方便的连接引脚和更换超声波模块。

  lcd1602的RW、RS、E脚和D0~D7引脚通过手动焊接与单片机P0~P7引脚相连.如图:

  P0连接 D0~D7脚,E脚连接P2.7,RW = P2^5,RS脚连接P2.6(事先已焊接好内部电路,不需要外部连接)。

  通过检测按键是否为按下,按下,则启动检测,再检测按键是否松开。同时蜂鸣器响提示开始检测,给TRIG脚至少 10us 的高电平信号,模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回, 有信号返回,通过ECHO脚输出一高电平,高电平持续的时间就是超声波从发射到返回的时间。只需通过定时器记下ECHO脚高电平时间t,再通过公式s=(t*v)/2,就可算出距离s,

  前提是你得添加51单片机的库reg52.h,我使用的是keil编译环境。

  通过改变电阻的方法来扩大增益,增大测量距离,将原来的测量范围由4.5增大到7米,但角度会增大到30度,会检测到前方旁边的物体。导致了稳定性降低,测距会出现大误差数据,并且精度降低。

  本文阐述了超声波模块的改进方法和各种模块连接的方法,采用了按键、lcd1602、蜂鸣器等模块,改变电阻解决了超声波模块测量距离短的问题,基于51单片机的按键控制超声波测距及显示(带提示音)具有测量范围大,稳定性较高的特点,能够较好的完成测距工作。

  本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

  /*名称:51单片机实现LED流水灯(数组方式和位运算方式)说明:今天又重新开始系统的学习51了,LED就算个开端吧。要注意两点:1、sfr和sbit是C语言扩展出来的关键字。其中sfr用于对特殊功能寄存器进行声明,sbit用于对某些特殊功能寄存器的某位进行声明。这里和宏定义很相似,但是不能用宏定义进行替换,对于前者是因为51单片机的寄存器存在于内部空间0x80-0xFF,这空间属于直接寻址,51特殊功能寄存只能直接寻址,不能间接寻址。如果用宏定义的话,在翻译成汇编时就会认为是通过总线访问对应的外部地址了。对于后者,sbit是定义一个标志位,也叫位变量。而类似于#define key1 P3

  /*名称:51单片机之按键实验说明:键盘是计算机最基础、最重要的输入设备之一。对于键盘来说,其工作任务大体可以分为以下三项:(1)、按键识别。即判断有无按键按下。(2)、求键值。判断哪个键被按下。(3)、执行相应的操作。在这里,实验所用到的键盘为独立键盘和矩阵键盘。对于独立键盘,它的每个按键需要占用一个IO口。一般来说,按键一端接地,另一端接IO口。当按键按下时,线路被导通,IO口被拉低,即状态为‘0’。所以在使用是我们一般把对应IO口置成高电平,然后不断检测此IO口是否被拉低,从而判断按键是否按下。对于矩阵键盘来说,它用较少的IO口完成较多个按键

  /*名称:51单片机之数码管显示实验说明:对于数码管来说,其本质上可以理解为按照一定规则组合的多个二极管。其使用只需按照特定规则显示对应的二极管即可。要稍微注意一点的就是多个数码管的显示分为静态显示和动态显示。静态显示就是每个二极管显示的内容是一样的,通过片选信号来决定是哪个二极管该显示。动态数码管,即利用人眼的视觉停留效果,快速扫描,快速显示每个数码管的内容,使得每个数码管看起来好像是一起显示的一样。本实验编写了几个数码管显示的简单程序。在此不做赘述了。*/#include reg52.h#define uchar unsigned char//共阳极段码(a在高位,dp在低位

  最近的一个项目中测试系统的高低温实验,结果意外的发现经过高低温实验后(80℃到-20摄氏度)单片机有些已经死机了,所以不得不着手研究一下这个问题,在网上查阅资料后,基本上可以归结于以下几个问题:1. 意外中断。是否打开了某个中断,但是没有响应和清除中端标志,导致程序一直进入中断,造成死机假象2. 中断变量处理不妥。若定义某些会在中断中修改的全局变量,这时要注意两个问题:首先为了防止编译器优化中断变量,要在这些变量定义时前加volatile,其次在主循环中读取中断变量前应该首先关闭全局中断,防止读到一半被中断给修改了,读完之后再打开全局中断;否则出现造成数据乱套。3. 地址溢出,常见错误为指针操作

  51单片机的外部中断有两种模式:电平触发模式和跳变沿触发模式第一,选择电平触发时,单片机在每个机器周期检查中断源口线,检测到低电平,即置位中断请求标志,向CPU请求中断。第二,选择边沿触发方式时,单片机在上一个机器周期检测到中断源口线为高电平,下一个机器周期检测到低电平,即置位中断标志,请求中断。区别:电平触发模式时,中断标志寄存器不锁存电平中断请求信号。单片机把每个周期的S5P2采样外部中断口的电平逻辑直接赋值到中断标志寄存器。标志寄存器对于请求信号来说是透明的。这样当中断请求被阻塞而没有得到及时响应时,将被丢失。换言之,就是要使电平触发的中断被CPU响应并执行,必须保证外部中断源口线的低电平维持到中断被执行

  最近看了一下80C51单片机的中断部分的实验,做一些笔记,方便以后学习查找。首先说一下什么是中断吧,中断是指CPU在执行当前程序的过程中,由于某种随机出现的外设(外部设备)请求或CPU内部的异常事件,使CPU暂停正在执行的程序而转去执行相应的服务处理程序;当服务处理程序运行完毕之后,CPU再返回到暂停处继续执行原来的程序。那什么是中断嵌套呢?简单点说就是低优先级的中断可以被高优先级的中断源所中断,等高优先级中断服务程序结束后,再返回去执行被中断的的低优先级的中断服务程序。举个简单的栗子吧(之前写过但不知道怎么删了,,又让我重新编辑):比如我们就是一个CPU,我们当前在洗衣服(当前程序),突然电话铃声响了(中断来了

  精通开关电源设计](Switching.Power.Supplies.A.To.Z)

  秋风送爽,你来答题我送礼!看Maxim 深入浅出低功耗处理器视频精彩为您呈现!

  安森美半导体重磅推出超低功耗蓝牙芯片 RSL10 — 观视频答题送样片 更有丰富礼品等你拿!

  SimpleLink CC26x2CC13x2 可支持多重协议的无线微控制器

  基于 TI MSP430 Scan Interface 技术的流量表解决方案

  站点相关:综合资讯51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430C2000单片机论坛单片机资源下载单片机习题与教程