最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

(毕业论文设计)智能超声波避障小车的设计与制作(可编辑)

来源:动视网 责编:小OO 时间:2025-09-29 23:32:20
文档

(毕业论文设计)智能超声波避障小车的设计与制作(可编辑)

(毕业论文)智能超声波避障小车的设计与制作江阴职业技术学院项目设计报告项目超声波避障小车的设计与制作专业学生班级学号指导教师完成日期摘要智能小车是一种能够通过编程手段完成特定任务的小型化机器人它具有制作成本低廉电路结构简单程序调试方便等优点由于具有很强的趣味性智能小车深受广大机器人爱好者以及高校学生的喜爱本论文介绍的是具有自动避障功能的智能小车的设计与制作以下简称智能小车论文对智能小车的方案选择设计思路以及软硬件的功能和工作原理进行了详细的分析和论述经实践验收测试该智能小车的电路结构简单调试方
推荐度:
导读(毕业论文)智能超声波避障小车的设计与制作江阴职业技术学院项目设计报告项目超声波避障小车的设计与制作专业学生班级学号指导教师完成日期摘要智能小车是一种能够通过编程手段完成特定任务的小型化机器人它具有制作成本低廉电路结构简单程序调试方便等优点由于具有很强的趣味性智能小车深受广大机器人爱好者以及高校学生的喜爱本论文介绍的是具有自动避障功能的智能小车的设计与制作以下简称智能小车论文对智能小车的方案选择设计思路以及软硬件的功能和工作原理进行了详细的分析和论述经实践验收测试该智能小车的电路结构简单调试方
(毕业论文)智能超声波避障小车的设计与制作

                        江阴职业技术学院

项目设计报告

项目超声波避障小车的设计与制作 

专   业             

学生             

班   级             

学   号             

指导教师             

完成日期             

摘 要

智能小车是一种能够通过编程手段完成特定任务的小型化机器人它具有制作成本低廉电路结构简单程序调试方便等优点由于具有很强的趣味性智能小车深受广大机器人爱好者以及高校学生的喜爱

本论文介绍的是具有自动避障功能的智能小车的设计与制作以下简称智能小车论文对智能小车的方案选择设计思路以及软硬件的功能和工作原理进行了详细的分析和论述经实践验收测试该智能小车的电路结构简单调试方便系统反映快速灵活设计方案正确可行各项指标稳定可靠

Abstract

Smart cars can be programmed to perform a specific task means the miniaturization of robot it has to make cost is low circuit simple structure convenient program test Because of it has strong interest intelligent robot car favored by the majority of the university students enthusiasts and love 

This paper introduces the is a automatic obstacle avoidance function of intelligent car design and production  hereinafter referred to as the smart car  the thesis to the intelligence of the car scheme selection design idea and the implementation of hardware and software function and working principle of a detailed analysis and discusses After practice acceptance test this intelligent car circuit structure is simple convenient debug fast flexible system reflect correct and feasible design scheme each index is steady and reliable 

摘 要    I

Abstract    II

目  录    III

第一章 绪论    1

11项目研究背景及意义    1

12项目主要研究容    1

13设计思路    1

14应用场合和功能    2

第二章 总体方案    3

21总体方案概述    3

22 总体电路原理图    3

第三章 各模块功能介绍    4

31障碍物测距系统    4

32显示模块    5

33驱动模块    10

34电源模块    12

第四章 软件设计    13

41 程序设计流程图    13

42 关键程序设计    14

第五章 系统调试    17

51 调试的思路    17

52 各模块的调试    17

53 调试心得    19

第六章 结论与展望    20

61 结论    20

62 展望    20

致  谢    21

参考资料    22

附录    23

1元器件清单    23

2样机实物照片    24

3电路原理图    25

相关程序    26

第一章 绪论 

11项目研究背景及意义 

智能作为现代社会的新产物是以后的发展方向他可以按照预先设定的 模式在一个特定的环境里自动的运作无需人为管理便可以完成预期所要达 到的或是更高的目标本设计主要体现多功能小车的智能模式设计中的理论 方案分析方法及特色与创新点等可以为自动运输机器人采矿勘探机器人 家用自动清洁机器人等自动半自动机器人的设计与普及有一定的参考意义同 时小车可以作为玩具的发展对象为中国玩具市场技术含量的缺乏进行一定的 弥补实现经济收益形成商业价值 超声波作为智能车避障的一种重要手段以其避障实现方便计算简单 易于做到实时控制测量精度也能达到实用的要求在未来汽车智能化进程中 必将得到广泛应用我国作为一个世界大国在高科技领域也必须占据一席之 地未来汽车的智能化是汽车产业发展必然的在这种情况下研究超声波在智 能车避障上的应用具有深远意义这将对我国未来智能汽车的研究在世界高科 技领域占据领先地位具有重要作用 本智能小车系统最诱人的前景就是可用于未来的智能汽车上了当驾驶员 因疏忽或打瞌睡时这样的智能汽车的设计就能体现出它的作用如果汽车偏离 车道或距障碍物小于安全距离时汽车就会发出警报提醒驾驶员注意如果 驾驶员没有及时作出反应汽车就会自动减速或停靠于路边 这样的小车还可以用于月球探测等的无人探月车帮助我们传达月球上更 多的信息让我们更加的了解月球为将来登月做好充分准备 这样的小车在科学考察探测车上也有广阔的应用前景在科学考察中有 很多危险且人们无法涉足的地方这时智能科学考察车就能够派上用场在 它上面装上摄像机代替人们进行许多无法进行的工作

12项目主要研究容

本设计题目为智能避障小车设计主要研究小车的避障功能小车遇到障碍物时当距离障碍物大于40cmPWM信号自增驱动电机加速小车加速前进当小于30cm时PWM信号自减驱动电机减速小车减速前进并且小车采取相应的避障措施这里探测装置必不可少因为超声波在距离检测方面的较准确定位所以采用超声波传感器作为探测装置由于超声波遇到障碍物时发生像光一样的反射和散射在经过多次发射之后再回到超声波检测端口会产生较严重的路程差从而影响对距离的检测进而影响对障碍物的较准确定位通过软件部校准优化消除外部物理条件造成的误差从而达到对障碍物的较准确定位

13设计思路

直流电机PWM控制系统的主要功能包括实现对直流电机的加速减速并且可以调整电机的转速能够很方便的实现电机的智能控制主体电路即直流电机 PWM 控制模块这部分电路主要由 ATS52 单片机 的 IO 端口定时计数器外部中断扩展等控制直流电机的加速减速以及转弯并且可以调整电机的转速能够很方便的实现电机的智能控制 其间是通过 ATS52 单片机产生脉宽可调的脉冲信号并输入到 L298 驱动芯片来 控制直流电机工作的该直流电机 PWM 控制系统由以下电路模块组成设计控制部分 主要由 ATS52 单片机的外部中断扩展电路组成直流电机PWM控制实现部分主要由电机和 L298 直流电机驱动模块组成设计显示部分LCD 数码显示部分实现对超声波测的距离的实时显示

14应用场合和功能

应用场合智能小车是一种能够通过编程手段完成特定任务的小型化机器人它具有制作成本低廉电路结构简单程序调试方便等优点由于具有很强的趣味性智能小车深受广大机器人爱好者以及高校学生的喜爱同时在玩具的应用上深受小朋友的青睐

功能本小车使用ATS52单片机作为主控芯片它通过超声波测距来获取小车距离障碍物的距离并且用LED显示出来当小车与障碍物的距离大于40cm时小车会沿直线前进当小车与障碍物的距离小于30cm时小车转弯以避开障碍物并且此时蜂鸣器报警在避开障碍物后小车会沿直线前进

第二章 总体方案

21总体方案概述 

   本小车使用ATS52单片机作为主控芯片它通过超声波测距来获取小车距离障碍物的距离并且用LCD显示出来当小车与障碍物的距离大于40cm时小车会沿直线前进当小车与障碍物的距离小于30cm时小车转弯以避开障碍物并且此时蜂鸣器报警在避开障碍物后小车会沿直线前进简要框图如图2-1

图 21简要框图        

22 总体电路原理图

第三章 各模块功能介绍

31障碍物测距系统

方案一超声波视觉 

   优点价格合理夜间不受影响易于多目标测量和分类分辨率好缺点测量围小对天气变化敏感不能直接测量距离算法复杂处理速度慢

方案二激光雷达MMW雷达

   优点夜间不受影响不受灯光天气影响缺点对水灰尘灯光敏感价格贵 

探测障碍的最简单的方法是使用超声波传感器它是利用向目标发射超声波脉冲计算其往返时间来判定距离的算法简单价格合理所以我们选择超声波传感器

超声波测距原理

首先利用单片机输出一个40kHz的触发信号把触发信号通过TRIG管脚输入到超声波测距模块再由超声波测距模块的发射器向某一方向发射超声波在发射时刻的同时单片机通过软件开始计时超声波在空气中传播途中碰到障碍物返回超声波测距模块的接收器收到反射波后通过产生一个回应信号并通过ECHO脚反馈给单片机此时单片机就立即停止计时时序图如图1所示由于超声波在空气中的传播速度为340ms根据计时器记录的时间t就可以计算出发射点距障碍物的距离即S VT2通过单片机来算出距离

图31超声波测距原理        32显示模块

方案一用LCD显示

优点辐射小显示容多 低耗能散热小显示的画面稳定不闪烁缺点不适合做图图像还原不好有可视围 

方案二用LED显示

优点亮度高成本低缺点不能显示汉字显示容较少

对于本课题的要求我们选择LCD实现功能显示容多低功耗显示画面稳定不闪烁硬件电路设计简单

字符型液晶显示模块是一种专门用于显示字母数字符号等点阵式LCD目前常用161162202和402行等的模块下面以太阳人电子的1602字符型液晶显示器为例介绍其用法一般1602字符型液晶显示器实物如图

图 3211602字符型液晶显示器1602LCD主要技术参数

显示容量16×2个字符

芯片工作电压4555V

工作电流20mA 50V 

模块最佳工作电压50V字符尺寸295×435 W×H mm

引脚功能说明1602LCD采用标准的14脚无背光或16脚带背光接口各引脚接口说明如表所示编号    符号    引脚说明    编号    符号    引脚说明        1    VSS    电源地    9    D2    数据        2    VDD    电源正极    10    D3    数据        3    VL    液晶显示偏压    11    D4    数据        4    RS    数据命令选择    12    D5    数据        5    RW    读写选择    13    D6    数据        6    E    使能信号    14    D7    数据        7    D0    数据    15    BLA    背光源正极        8    D1    数据    16    BLK    背光源负极        表-2-1引脚接口说明表

第1脚VSS为地电源

第2脚VDD接5V正电源

第3脚VL为液晶显示器对比度调整端接正电源时对比度最弱接地时对比度最高对比度过高时会产生鬼影使用时可以通过一个10K的电位器调整对比度

第4脚RS为寄存器选择高电平时选择数据寄存器低电平时选择指令寄存器

第5脚RW为读写信号线高电平时进行读操作低电平时进行写操作当RS和RW共同为低电平时可以写入指令或者显示地址当RS为低电平RW为高电平时可以读忙信号当RS为高电平RW为低电平时可以写入数据

第6脚E端为使能端当E端由高电平跳变成低电平时液晶模块执行命令

第7~14脚D0~D7为8位双向数据线

第15脚背光源正极

第16脚背光源负极

1602LCD的指令说明及时序1602液晶模块部的控制器共有11条控制指令如表-2-2所示序号    指令    RS    RW    D7    D6    D5    D4    D3    D2    D1    D0        1    清显示    0    0    0    0    0    0    0    0    0    1        2    光标返回    0    0    0    0    0    0    0    0    1            3    置输入模式    0    0    0    0    0    0    0    1    ID    S        4    显示开关控制    0    0    0    0    0    0    1    D    C    B        5    光标或字符移位    0    0    0    0    0    1    SC    RL                6    置功能    0    0    0    0    1    DL    N    F                7    置字符发生存贮器地址    0    0    0    1    字符发生存贮器地址        8    置数据存贮器地址    0    0    1    显示数据存贮器地址        9    读忙标志或地址    0    1    BF    计数器地址        10    写数到CGRAM或DDRAM    1    0    要写的数据容        11    从CGRAM或DDRAM读数    1    1    读出的数据容        表-2-2控制命令表

1602液晶模块的读写操作屏幕和光标的操作都是通过指令编程来实现的说明1为高电平0为低电平

指令1清显示指令码01H光标复位到地址00H位置

指令2光标复位光标返回到地址00H

指令3光标和显示模式设置 ID光标移动方向高电平右移低电平左移 S屏幕上所有文字是否左移或者右移高电平表示有效低电平则无效

指令4显示开关控制 D控制整体显示的开与关高电平表示开显示低电平表示关显示 C控制光标的开与关高电平表示有光标低电平表示无光标 B控制光标是否闪烁高电平闪烁低电平不闪烁

指令5光标或显示移位 SC高电平时移动显示的文字低电平时移动光标

指令6功能设置命令 DL高电平时为4位总线低电平时为8位总线 N低电平时为单行显示高电平时双行显示 F 低电平时显示5x7的点阵字符高电平时显示5x10的点阵字符

指令7字符发生器RAM地址设置

指令8DDRAM地址设置

指令9读忙信号和光标地址 BF为忙标志位高电平表示忙此时模块不能接收命令或者数据如果为低电平表示不忙

指令10写数据

指令11读数据

与HD44780相兼容的芯片时序表如下读状态    输入    RS LRW HE H    输出    D0D7 状态字        写指令    输入    RS LRW LD0D7 指令码E 高脉冲    输出    无        读数据    输入    RS HRW HE H    输出    D0D7 数据        写数据    输入    RS HRW LD0D7 数据E 高脉冲    输出    无        表-2-3基本操作时序表

读写操作时序如图和所示

图 322 读操作时序        

图 323 写操作时序

33驱动模块

方案一采用ULN2003驱动它是由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成具有同时驱动7组负载的能力一般用于高速大功率驱动电路所以我们不采用这个方案

方案二采用由双极性管组成的H桥电路L298N用单片机控制晶体管使之工作在占空比可调的开关状态精确调整电机转速这种电路由于工作在管子的饱和截止模式下则效率非常高H桥电路保证了可以简单地实现转速和方向的控制电子开关的速度很快稳定性也很高而且它有更强的驱动能力L298N有过电流保护功能当出现电机卡死时可以保护电路和电机等

L298N有过电流保护功能当出现电机卡死时可以保护电路和电机

等所以我们选择L298N

下图为L298部图

图33L298部原理图        

L298各引脚功能如下表

引脚    功能        115    SEN1SEN2    分别为两个H桥的电流反馈脚不用时可以接地        23    1Y11Y2    输出端与对应输入端IN1IN2同逻辑        4    VS    驱动电压最小值需比输入的低电平电压高25V        57    IN1IN2    输入端TTL电平兼容        611    EN1EN2    使能端低电平禁止输出        8    GND    地        9    VSS    逻辑电源457V        1012    IN3IN4    输入端TTL电平兼容        1314    2Y12Y2    输出端与对应输入端IN3IN4同逻辑        表3-3-1 封装引脚及功能

驱动电机的运行IO端口状态与电机制动对照表如下

IN1    IN2    IN3    IN4    EN1    EN2    转速        1    0    1    0    1    1    正转        0    1    0    1    1    1    反转        1    1    1    1    1    1    停止        0    0    0    0    1    1    停止        X    X    X    X    0    0    停止        表3-3-2 IO端口状态与电机制动对照表

34电源模块

我们选择采用5v的的稳压电源

优点稳定可靠且有各种成熟电路可供选用

缺点各模块都采用电源会使系统复杂且可能影响电路电平

综合电源模块的缺优点和电路的实际需求我们采用了两块稳压电源一块给小车的电机驱动供电一块给小车的芯片供电这样弥补了单个电源供电出现电力不足的情况

第四章 软件设计

41 程序设计流程图

本设计系统软件采用模块化结构由主程序、定时子程序电机驱动子程序、中断子程序显示子程序、算法子程序构成主程序流程图如图41所示

    图 41主程序流程图        42 关键程序设计

PWM产生程序设计

void Timer2 void  interrupt 5

   

    TF2 0          

RCAP2H 0x0fe

    RCAP2L 0x33                              

    click 

    if  click  100  click 0 

    if  click  ZK1            

        PWM1 1 

            else 

            PWM1 0 

    if  click  ZK2                         

        PWM2 1 

            else 

            PWM2 0                        

 

2超声波的发射与接受程序设计

void  zd3    interrupt 3          

 

    TH1 0x0f8

    TL1 0x30

    timer

    if timer  200 

     

        timer 0

        TX 1                            

        _nop_   

        _nop_   

        _nop_   

        _nop_   

        _nop_   

        _nop_   

        _nop_   

        _nop_   

        _nop_   

        _nop_   

        _nop_   

        _nop_   

        _nop_   

        _nop_   

        _nop_   

        _nop_   

        _nop_  

        _nop_   

        _nop_   

        _nop_   

        _nop_  

        TX 0

  

 

31602的初始化程序的设计

void ini_lcd1602  

 

  write_lcd1602 0x380 

  delay 1   

  write_lcd1602 0x0c0 

  delay 1  

  write_lcd1602 0x060 

  delay 1 

  write_lcd1602 0x010 

  delay 1   

 

41602的写程序的设计

void write_lcd1602 uchar cmduchar i     

 

    lcd_mang  

    rs i

    rw 0

    e 0

    _nop_  

    _nop_      

    e 1 

    _nop_  

    _nop_  

    P0 cmd 

    _nop_  

    _nop_  

    _nop_  

    _nop_  

    e 0    

 

51602的判忙程序的设计

void lcd_mang  

 

   rs 0

   rw 1

   e 1

   _nop_  

_nop_  

_nop_  

_nop_  

   while P00x80 

   e 0

 

第五章 系统调试

51 调试的思路

    本设计的智能避障小车一共分为四大模块分别是L298驱动模块超声波测距模块LCD显示模块以及蜂鸣器报警模块调试的时候我们可以把四大模块分别调试最后再把所有模块组合起来再进行最后的整机调试这样一个调试的思路

52 各模块的调试

521 LCD的调试首先根据电路图将显示模块焊好再用万用表检查电路是否出现短路一切都正常的情况下将LCD测试程序烧到芯片中观察LCD的显示是否正确如图521一开始可能什么都不显示这个时候我们只需调整LCD 3脚的变阻器阻值即可

图 521LCD测试图        

522 超声波的调试

    超声波模块一共有四个脚一个是VCC一个是GND还有两个分别是超声波的发射和接收引脚连接电路时候只需引出四根插线分别连接到S52的对应引脚烧制好测试程序测试结果图如522本设计四根插线分别连接到VCCGND还有发射和接收引脚分别为P30和P32口

图 522超声波测试图        

523 蜂鸣器报警调试

    蜂鸣器的连接很简单只需用一个PNP管来做驱动当低电平到来时蜂鸣器发出声音当高电平到来时没有声音本设计中蜂鸣器连接到P34口如图523所示

图523蜂鸣器报警电路        53 调试心得

    通过系统的调试我们可以学到更多的知识我们也可以发现仿真和实物调试不同的地方程序设计的结果可能往往和实物调试出的结果不一样这就需要我们去思考去斟酌去改进以达到预期效果通过程序和硬件的调试我们可以更深刻的理解各功能模块之间的联系也可以明白各调试的步骤

    在调试的过程中我也遇到许多问题例如我在宿舍调试好小车之后带到班级时候在插上电源试图让小车跑起来时候发现超声波模块失去了作用LCD不再显示数据了后来我用电脑USB口供电发现也不可以检查了许久才发现是超声波模块上的电源线和地线的两根插线出现了断路换线之后LCD正常显示数值小车正常行驶整个调试过程需要硬件和软件结合起来调试要仔细检查电路认真思考程序

    硬件部分调试的步骤

检查原理图连接是否正确用万用表检查是否有虚焊引脚短路现象检查原理图与上引脚是否一致680欧的电阻焊成了68千欧这使我深深感受到理论与实际间的差距在调试过程中发现插上编程器后不能烧制程序通过检查电路发现ATS52芯片的使能端没有接VCC改好之后重新烧制发现还是不可以通过再次检查发现是共阴管的驱动芯片74LS245的引脚出现焊接错误通过这些调试提高了我检查电路的能力以及巩固了电路图的知识通过这样的设计提高了我的动手能力每天在实验室除了焊接线路板还可以上机编程使我软件调试知识也提高了本设计采用的是S52单片机这主要是因为该单片机的稳定性比较好还可以采用其它系列的单片机比如采用陵阳单片机就可以简化编程但其稳定性不是很好

62 展望

1在本课题的基础上我们可以在小车的底座下面装一个吸尘装置这样就可以在小车行驶的过程中吸除一些预先放好的小纸屑

2设计出两辆小车一辆小车放在另一辆的前面当前面一辆小车起动时候后面一辆小车也起动前面一辆小车转弯的时候后面一辆也跟着转弯前面一辆小车停止时后面一辆也跟着停止

致  谢

历时三个月的毕业设计已经告一段落经过自己不断的搜索努力以及白老师的耐心指导和热情帮助本设计已经基本完成在这段时间里白老师严谨的治学态度和热忱的工作作风令我十分钦佩他的指导使我受益非浅

通过这次毕业设计使我深刻地认识到学好专业知识的重要性也理解了理论联系实际的含义并且检验了大学四年的学习成果虽然在这次设计中对于知识的运用和衔接还不够熟练但是我将在以后的工作和学习中继续努力不断完善这三个月的设计是对过去所学知识的系统提高和扩充的过程为今后的发展打下了良好的基础

由于自身水平有限设计中一定存在很多不足之处敬请各位老师批评指正

参考资料

1 负图传感器集成电路手册第一版化学工业2004590~591

2华MCS-51系列单片机实用接口技术第三版1997年

3红润实用自动控制科技大学1990年1月

4康华光电子技术基础高等教育1983年10月

5潘新民微型计算机控制技术人民邮电技术1988年3月

6依军单片机微型接口技术人民邮电技术19年3月

7广弟单片机基础航空航天大学2001

8汉才单片机原理及其接口技术清华大学1996

9王毅单片机器件应用手册人民邮电1995

附录

1元器件清单

序号    元件名称        数量    参数        1    ATS52单片机        1            2    超声波模块            1            3    L298n        1            4    智能避障小车底盘        1            5    蜂鸣器        1            6    LCD液晶屏        1                                    2样机实物照片

3电路原理图

相关程序

include 

include 

define uchar unsigned char

define uint unsigned int

unsigned char i

sbit rs P26                  定义引脚

sbit rw P25

sbit e P27

sbit TX P30    触发信号引脚

sbit FM P34

sbit PWM1 P36       pwm信号输出 

sbit PWM2 P37

static char click 0   

unsigned char ZK1ZK2

unsigned int  time 0

unsigned int  timer 0

unsigned long S

bit      flag  0

unsigned char code ASCII[19]      01234567-MJU LI 

static unsigned char DisNum   0 显示用指针                  

       unsigned long S 0

       unsigned char disbuff[11]          0 

void Conut void 

 

        time TH0256TL0

        TH0 0

        TL0 0

        S  time17 100 

        disbuff[0] 13

        disbuff[1] 14

        disbuff[2] 15

        disbuff[3] 16

        disbuff[4] 17

        disbuff[5] 18

        disbuff[6] S1000100

        disbuff[7] 10

        disbuff[8] S1*******0

        disbuff[9] S100010 10

        disbuff[10] 12        

 

void delay_1 void    误差 0us

 

    unsigned char ab

    for b 215b 0b-- 

        for a 45a 0a-- 

 

void delay uchar a 

 

     uchar i

     while a-- 

        

          for i 0i 250i 

             

               _nop_  

               _nop_  

               _nop_  

               _nop_    

             

           

 

 判忙

 void lcd_mang  

 

   rs 0

   rw 1

   e 1

   _nop_  

    _nop_  

    _nop_  

    _nop_  

   while P00x80 

     e 0

 

 1602的写

void write_lcd1602 uchar cmduchar i     当i为0的时候为向1602写指令为1写数据

 

    lcd_mang  

    rs i

    rw 0

    e 0

    _nop_  

    _nop_      

    e 1 

    _nop_  

    _nop_  

    P0 cmd 

    _nop_  

    _nop_  

    _nop_  

    _nop_  

    e 0    

 

1602的初始化

void ini_lcd1602  

 

  write_lcd1602 0x380 

  delay 1   

  write_lcd1602 0x0c0 

  delay 1  

  write_lcd1602 0x060 

  delay 1 

  write_lcd1602 0x010 

  delay 1   

 

void Timer2Interrupt  

    

    RCAP2H 0x0fe

    RCAP2L 0x33

    ET2 1                                           允许T2定时器中断

    EA 1                                            打开总中断

    TR2 1                                           启动T2定时器  

 

void zd0   interrupt 1     

 

    flag 1                             

 

void  zd3    interrupt 3          T1中断用来扫描数码管和计800MS启动模块

 

    TH1 0x0f8

    TL1 0x30

    timer

    if timer  200 

     

    timer 0

    TX 1                            800MS  启动一次模块

    _nop_   

    _nop_   

    _nop_   

    _nop_   

    _nop_   

    _nop_   

    _nop_   

    _nop_   

    _nop_   

    _nop_   

    _nop_   

    _nop_   

    _nop_   

    _nop_   

    _nop_   

    _nop_   

    _nop_  

    _nop_   

    _nop_   

    _nop_   

    _nop_  

    TX 0

  

 

void Timer2 void  interrupt 5

   

    TF2 0    T2定时器发生溢出中断时需要用户自己清除溢出标记

       RCAP2H 0x0fe

    RCAP2L 0x33                               恢复定时器初始值

    click 

    if  click  100  click 0 

    if  click  ZK1            

        PWM1 1 

            else 

            PWM1 0 

    if  click  ZK2                         

        PWM2 1 

            else 

            PWM2 0                        

 

主函数

void main  

   

    TMOD 0x19           设T0为方式1GATE 1

    TH0 0

    TL0 0          

    TH1 0x0f8           2MS定时

    TL1 0x30

    ET0 1             允许T0中断

    ET1 1               允许T1中断

    TR1 1               开启定时器

    Timer2Interrupt  

    EA 1               开启总中断

    ZK1 20

    ZK2 20

    ini_lcd1602  

    while 1 

       

        while INT0  0         当RX为零时等待

        TR0 1

        while INT0  1             当RX为1计数并等待

        TR0 0                关闭计数

        Conut              计算

                if  S 40                 控制加速

                 

                FM 1

                P1 0xaf

                ZK1 ZK1-5

                ZK2 ZK2-5

                 

                        else 

                        if S 30             控制转向

                             

                            FM 0

                            ZK1 ZK15

                            ZK2 ZK25

                            P1 0X8F

                            delay_1  

                                     

        if  ZK1 99  ZK1 1 

        if  ZK1 1  ZK1 10

        if  ZK2 99  ZK2 1 

        if  ZK2 1  ZK2 10 

        write_lcd1602 0x800 

        for i 0i  10i 

        write_lcd1602 ASCII[disbuff[i]]1   

       

 

- III -

- 31 -                                                

文档

(毕业论文设计)智能超声波避障小车的设计与制作(可编辑)

(毕业论文)智能超声波避障小车的设计与制作江阴职业技术学院项目设计报告项目超声波避障小车的设计与制作专业学生班级学号指导教师完成日期摘要智能小车是一种能够通过编程手段完成特定任务的小型化机器人它具有制作成本低廉电路结构简单程序调试方便等优点由于具有很强的趣味性智能小车深受广大机器人爱好者以及高校学生的喜爱本论文介绍的是具有自动避障功能的智能小车的设计与制作以下简称智能小车论文对智能小车的方案选择设计思路以及软硬件的功能和工作原理进行了详细的分析和论述经实践验收测试该智能小车的电路结构简单调试方
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top