




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于STC89C52单片机的智能超声波避障小车参赛人员:周志强 王俊 朱纪伟 聂孟杰班 级:2012级自动化3班日 期:2015年3月一、方案概述本小车使用一台 AT89C52 单片机作为主控芯片,它通过超声波测距来获取小车距离障碍物的距离,并且用液晶显示器实时的显示出来,在小车与障碍物的距离小于安全距离(40cm) 时,小车上蜂鸣器会发出警报声,并且后退并拐弯,同时通过LCD1602显示器显示出小车与障碍物之间的距离,精确到0.1cm. 在避开障碍物后,小车会沿直线前进。本系统设计的简易智能小车分为几个模块:单片机控制系统、LCD1602显示器.超声波路面检测系统、前进、 转弯控制电机以及方向指示灯系统。它们之间的相互关系如下图所示。超声波测距 电机 单片机 控制显示与报警装置 控制控制 数据 智能小车简要原理框架图二总体电路原理图超声波模块3、 主要模块基本原理(1)超声波模块超声波时序图以上时序图表明你只需要提供一个10uS以上脉冲触发信号,该模块内部将发出8个40kHz周期电平并检测回波。一旦检测到回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。公式:距离=高电平时间*声速(340M/S)/2。(2) 液晶显示模块如上图所示,整个液晶屏采用标准的16 脚接口,其中GND 为电源地,VCC 接5V正电源,VEE 为液晶显示屏对比度调整端,通过一个可调电阻接地,可调电阻调到最大时对比度最弱,可调电阻调到零时对比度最高。RS 为寄存器选择端,高电平时选择数据寄存器、低电平时选择指令寄存器。RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS 和RW 共同为低电平时可以写入指令或者显示地址,当RS 为低电平RW 为高电平时可以读忙信号,当RS 为高电平RW为低电平时可以写入数据。E 端为使能端,当E 端由低电平跳变成高电平时,液晶屏执行命令。DB0DB7 为8 位双向数据线。四、流程图及源代码主函数流程图测距并减速直走开始是否有障碍物N后退右转一定时间是否有障碍物后退左转一定时间 YN Y源程序#include #include #include LCD1602display.h#define TX P2_1#define RX P2_0sbit DU = P26;sbit WE = P27;#define Forward_L_DATA 180/当前进不能走直线的时候,请调节这两个参数,理想的时候是100,100,最大256,最小0。0的时候最慢,256的时候最快#define Forward_R_DATA 180/例如小车前进的时候有点向左拐,说明右边马达转速过快,那可以取一个值大一点,另外一个值小一点,例如 200 190 /直流电机因为制造上的误差,同一个脉宽下也不一定速度一致的,需要自己手动调节/sbit P4_0=0xc0;/P4口地址/*按照原图接线定义*/sbit L293D_IN1=P12; sbit L293D_IN2=P13;sbit L293D_IN3=P16;sbit L293D_IN4=P17;sbit L293D_EN1=P14;sbit L293D_EN2=P15;sbit BUZZ=P23;/蜂鸣器void cmg88()/关数码管,点阵函数DU=1; P0=0X00;DU=0;void Delay400Ms(void);/延时400毫秒函数unsigned char code Range =Range Finder=;/LCD1602显示格式unsigned char code ASCII13 = 0123456789.-M;unsigned char code table=Distance:000.0cm;unsigned char code table1=! Out of range;unsigned char disbuff4=0,0,0,0;/用于分别存放距离的值0.1mm、mm、cm和m的值void Count(void);/距离计算函数 unsigned int time=0;/用于存放定时器时间值unsigned long S=0;/用于存放距离的值bit flag =0; /量程溢出标志位bit turn_right_flag;/=void Forward(unsigned char Speed_Right,unsigned char Speed_Left)/ 前进 L293D_IN1=0; L293D_IN2=1; L293D_IN3=1; L293D_IN4=0;void Stop(void)/刹车 L293D_IN1=0; L293D_IN2=0; L293D_IN3=0; L293D_IN4=0;void Turn_Right(unsigned char Speed_Right,unsigned char Speed_Left) /后退左转 L293D_IN1=1; L293D_IN2=0;L293D_IN3=1;L293D_IN4=0; Delay(100); L293D_IN1=1; L293D_IN2=0;L293D_IN3=1;L293D_IN4=0;/=/*距离计算程序*/ void Conut(void) time=TH1*256+TL1; TH1=0; TL1=0; /此时time的时间单位决定于晶振的速度,外接晶振为11.0592MHZ时, /time的值为0.54us*time,单位为微秒/那么1us声波能走多远的距离呢?1s=1000ms=1000000us / 340/1000000=0.00034米/0.00034米/1000=0.34毫米 也就是1us能走0.34毫米/但是,我们现在计算的是从超声波发射到反射接收的双路程,/所以我们将计算的结果除以2才是实际的路程S=time*2;/先算出一共的时间是多少微秒。 S=S*0.17;/此时计算到的结果为毫米,并且是精确到毫米的后两位了,有两个小数点 if(S=5000)|flag=1) /超出测量范围 flag=0; DisplayListChar(0, 1, table1); else disbuff0=S%10; disbuff1=S/10%10; disbuff2=S/100%10; disbuff3=S/1000; DisplayListChar(0, 1, table); DisplayOneChar(9, 1, ASCIIdisbuff3); DisplayOneChar(10, 1, ASCIIdisbuff2); DisplayOneChar(11, 1, ASCIIdisbuff1); DisplayOneChar(12, 1, ASCII10); DisplayOneChar(13, 1, ASCIIdisbuff0); /*/ void zd0() interrupt 3 /T0中断用来计数器溢出,超过测距范围 flag=1; /中断溢出标志RX=0; /*超声波高电平脉冲宽度计算程序*/void Timer_Count(void) TR1=1; /开启计数 while(RX);/当RX为1计数并等待 TR1=0;/关闭计数 Conut();/计算/*/ void StartModule() /启动模块 TX=1; /启动一次模块 Delay10us(2); TX=0; /*/ /*主程序*/void main(void) unsigned char i;unsigned int a;cmg88();/关数码管Delay1ms(400); /启动等待,等LCM讲入工作状态LCMInit(); /LCM初始化Delay1ms(5);/延时片刻DisplayListChar(0, 0, Range);DisplayListChar(0, 1, table); TMOD=TMOD|0x10;/设T0为方式1,GATE=1; EA=1; /开启总中断 TH1=0; TL1=0; ET1=1; /允许T0中断/=/PWM_ini();/=turn_right_flag=0;/=B:for
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业废弃物堆肥处理技术在农业废弃物资源化利用中的技术创新与政策环境适应性报告
- 2025年在线教育平台用户界面设计与满意度改进报告
- 儿科监护室实习护士出科考试试题及答案
- 2025年Z世代消费趋势引领新消费品牌升级研究报告
- 农业技术员专业知识考试题及答案
- 冬季消防安全知识竞赛试题库及答案
- 新疆阿克苏市农一师中学2025-2026学年高三生物第一学期期末教学质量检测模拟试题
- 垃圾处理技术创新趋势2025:填埋气发电行业应用前景
- 三方机器人技术合作协议
- 2025年百货商场数字化门店设计与顾客体验研究报告
- 初中英语中考专题训练阅读理解-应用文篇
- 《古文观止 上下 》读书笔记思维导图PPT模板下载
- YC/T 210.2-2006烟叶代码第2部分:烟叶形态代码
- GB/T 22000-2006食品安全管理体系食品链中各类组织的要求
- GB/T 20671.1-2006非金属垫片材料分类体系及试验方法第1部分:非金属垫片材料分类体系
- 熵权法教学讲解课件
- 医师病理知识定期考核试题与答案
- 课堂因“融错·容错·溶措”而精彩
- 阳光晾衣房钢结构专项施工方案
- 安宁疗护服务流程
- 热分析DSC培训new
评论
0/150
提交评论