毕业设计(论文)基于单片机的智能小车.doc

上传人:土8路 文档编号:9982945 上传时间:2021-04-08 格式:DOC 页数:24 大小:551KB
返回 下载 相关 举报
毕业设计(论文)基于单片机的智能小车.doc_第1页
第1页 / 共24页
毕业设计(论文)基于单片机的智能小车.doc_第2页
第2页 / 共24页
毕业设计(论文)基于单片机的智能小车.doc_第3页
第3页 / 共24页
毕业设计(论文)基于单片机的智能小车.doc_第4页
第4页 / 共24页
毕业设计(论文)基于单片机的智能小车.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《毕业设计(论文)基于单片机的智能小车.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的智能小车.doc(24页珍藏版)》请在三一文库上搜索。

1、摘要:摘要:用单片机技术开发智能小车,通过对路面的检测而实现自动前进、左右转弯、后退 等基本功能,可以方便的应用于路面的安全巡检。小车的硬件主要包括传感器及调理电路、 直流电机及驱动电路、控制器三个部分;软件设计分为三个模块,即数据采集模块、信 号处理模块、电机控制模块。此设计结构简单,利用定时器中断控制信号采集频率和电 机转速。通过调试和运行,实现了预定功能。 关键词关键词:单片机,传感器,直流电机,自动控制 Abstract: With the single-chip microcomputer technology to develop intelligence car which ca

2、n realizes the automatic advance, makes a turn, the backlash the basic function and so on through examining the road surface. So it may conveniently apply in the road surface security inspects. The car hardware control unit mainly included three parts: the sensor and its recuperate electric circuit,

3、 stepper motors and the actuation electric circuit, the controller, and manufactured the schematic diagram. In the software design aspect, then which divided into three modules: data acquisition module, signal processing module, The controller control electrical machinery module. This design structu

4、re is simple, therefore, it controls the signal sampling frequency and the electrical machinery rotational speed with the traditional assembly language programming, using the timer severance. Finally, it basically realized the prearrange function in this design topic through the software and hardwar

5、e debugging and a try run. Keyword: single-chip microcomputer,sensor,dc-motor,automatic control 目录目录 1前言.4 1.1设计研究的背景.4 1.2开发的意义.4 1.3 设计研究的方案 .4 2 系统设计方案.5 2.1 系统设计原理及框图 .5 2.2 单片机 .5 2.3 控制器选择 .8 2.3.1 供电单元.8 2.3.2 运动单元.8 2.3.3 循迹单元.9 3 系统硬件设计.9 3.1 数据采集模块 .9 3.2 直流电机模块 .10 3.3 声音模块 .13 3.4 显示模块 .

6、13 3.5 总体电路图 .13 4 系统软件设计.14 4.1 软件设计思想 .14 4.2 系统程序流程图 .14 5 软件调试.15 结 论.16 参考文献.17 致谢.18 附录.19 1 1 前言前言 1.11.1 设计研究的背景设计研究的背景 随着现代科技的飞速发展,单片机已经在各个领域得到越来越广泛的应用1。单片 机由于体积小,功耗低两个基本特征,在通讯,家电,工业控制,仪器仪表,汽车等产 品中都可以看到单片机的身影。单片机技术也随着集成电路技术的进步在近几年飞速的 发展,这种发展可以分为两方面:一方面在硬件上单片机内部集成了越来越多的功能部 件2,如 A/D,D/A,PWM,W

7、ATCHDOG,LCD 驱动,串行口,大容量 FLASH 存储器等;另一 方面在开发手段上从汇编语言向高级 C 语言过度,计算机仿真调试,IAP,ISP 技术的应 用使单片机开发周期大大的缩短,为各类产品更新,软件的升级提供了可靠的技术保障。 在设计单片机应用系统时,由于历史的原因,目前在国内仍然以 8051 系列单片机为主。 作为电子专业的学生,非常有必要通过对实际产品的设计和制作,了解现代IT产品 的开发全流程。全面提高机,电,光,算知识的综合应用能力,掌握从系统级,电路级, 到芯片级各个层次的设计和实现手段。基于上述原因,我选择此设计课题,在此设计过 程中,将会用到多门学科的理论知识,复

8、习和巩固了以前所学的知识,更重要的是培养 了发现问题,分析问题,解决问题的能力,还有锻炼了动手能力,是一次很好的实践, 对以后的学习和工作也会有所帮助。 1.21.2 开发的意义开发的意义 科技的进步带动了产品的智能化,单片机的应用更是加快了发展的步伐,它的应用 范围日益广泛,已远远超出了计算机科学的领域。小到玩具、信用卡,大到航天器、机 器人,从实现数据采集、过程控制、模糊控制等智能系统到人类的日常生活3,到处都 离不开单片机,此设计正是单片机的一个典型应用。此设计通过实现了小车的无人驾驶, 通过对路面的检测,由单片机来判断控制其小车的反应情况,使其变得智能化,实现自 动的前进,转弯,停止功

9、能.此系统还不断的完善后可以应用到道路检测,安全巡逻中, 能满足社会的需要。 1.31.3 设计研究的方案设计研究的方案 本选题是用单片机技术开发智能小车,通过对路面的检测能实现自动的前进,左右 转弯,后退等基本功能,能够方便的应用于路面的安全巡检。小车的控制单元主要包括 传感器及调理电路,直流电机及驱动电路,控制器三个部分。小车的行动离不开传感器 通过两个红外光电传感器,根据路面的情况分别输出高低信号,由于传感器检测到的信 号比较微弱,通过比较运放将其信号扩大,调理,使其输出兼容TTL电平,以便与控制器接 口。控制系统,这里采用AT89C52,控制器按一定的时钟周期对光电检测器的输入信号采

10、样检测,根据光电检测器的状态,判断小车的动作。 2 2 系统设计系统设计方案方案 2.12.1 系统设计原理及框图系统设计原理及框图 本系统的功能是机器小车沿地面黑白轨道完成自动寻迹,即实现左转弯,右转弯, 前进,停止,后退的功能。 工作过程是:二个红外光电传感器探测地面情况,由于轨迹为黑色的,不产生反射, 其感应信号表现为低电平,通过比较运放后以高电平的形式输出到控制芯片,相反则为 低电平,通过比较运放将感应信号放大输出,光电检测放大电路将其状态送入控制器 AT89C52。 其系统框图如图 2-1 所示: 图2-1 系统结构框 2.22.2 单片机单片机 所谓单片机,即把组成微型计算机的各个

11、功能部件,如中央处理器 CPU、随机存储器 RAM、只读存储器 ROM、输入/输出接口电路、定时器/计数器以及串行通信接口等集成在 一块芯片中,构成一个完整的微型计算机4。因此单片机早期的含义为单片微型计算机 (single chip microcomputer),直接译为单片机,并一直沿用至今。 单片机的结构特征是将组成计算机的基本部件集成在一块晶体芯片上,构成一台功 能独特的、完整的单片微型计算机 5-9。 下面简要介绍各组成部分: 红外传感器 器 光电检测放大 电路 红外传感器 器 光电检测放大 电路直流电机(左 轮) AT89C52 AT89C51 驱动电路 直流电机(右 轮) (1)

12、中央处理器 单片机中的中央处理器 CPU 和通用微处理器基本相同,由运算器和控制器组成,另 外增设了“面向控制”的处理功能,如位处理、查表、多种跳转、乘除法运算、状态检 测、中断处理等,增强了实时性。 (2)存储器 单片机的存储空间有两种基本结构。一种是普林斯顿结构(Princeton),将程序和 数据合用一个存储器空间,即 ROM 和 RAM 的地址同在一个空间里分配不同的地址。CPU 访 问存储器时,一个地址对应惟一的一个存储单元,可以是 ROM,也可以是 RAM,用同类的 访问指令。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,称为哈佛 (Harvard)结构。CPU 用不同

13、的指令访问不同的存储器空间。由于单片机实际应用中 “面向控制”的特点,一般需要较大的程序存储器。目前,包括 MCS-51 和 80C51 系列的 单片机均采用程序存储器和数据存储器截然分开的哈佛结构。 数据存储器(RAM) 在单片机中,用随机存取的存储器(RAM)来存储数据,暂存运行期间的数据、中间 结果、缓冲和标志位等,所以称之为数据存储器。一般在单片机内部设置一定容量 (64KB256KB)的 RAM,并以高速 RAM 的形式集成在单片机内,以加快单片机的运行速 度。同时,单片机内还把专用的寄存器和通用的寄存器放在同一片内 RAM 统一编址,以 利于运行速度的提高。对于某些应用系统,还可以

14、外部扩展数据存储器。 程序存储器(ROM) 单片机的应用中常常将开发调试成功后的应用程序存储在程序存储器中,因为不再 改变,所以这种存储器都采用只读存储器 ROM 的形式。 (3)并行 I/O 口 单片机为了突出控制的功能,提供了数量多、功能强、使用灵活的并行 I/O 口。使 用上不仅可灵活地选择输入或输出,还可作为系统总线或控制信号线,从而为扩展外部 存储器和 I/O 接口提供了方便。 (4)串行 I/O 口 高速的 8 位单片机都可提供全双工串行 I/O 口,因而能和某些终端设备进行串行通 信,或者和一些特殊功能的器件相连接。 (5)定时器/计数器 在实际的应用中,单片机往往需要精确地定时

15、,或者需对外部事件进行计数,因而 在单片机内部设置了定时器/计数器电路,通过中断,实现定时/计数的自动处理。 At89c52 单片机引脚如图 2-2: a b c d enb ena p2_7 ledz ledr XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.

16、7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 图2-2 AT89C52 GND:接地 RST:复位信号输入引脚 XTAL1,XTAL2:接外部晶振引脚 P0,P1,P2,P3:不扩展功能作双向 I/O 口用,访问外部存储器时,P2,P0 分

17、别做地址 总线高低 8 位地址。 其复位电路如图 2-3: 图 2-3 复位电路 复位电路的原理是在通电瞬间,由于RC的充电过程,在RST端出现一定的脉冲宽度, 只要该脉冲能保持10ms以上,就能使单片机可靠的复位。 单片机的时钟钟电路如图2-4: 图 2-4 外部时钟电路 下面是芯片的内存空间分配,如图 2-5 所示。 图 2-5 内存空间分配 2.32.3 控制器控制器选择选择 采用 AT89S52 作为系统控制的方案。AT89S52 单片机算术运算功能强,软件编程灵活、 自由度大,功耗低、体积小、技术成熟,成本也比 ARM 低。 考虑到性价比问题,本设计选择 用 AT89S52 单片机做

18、控制器。 2.3.12.3.1 供电单元供电单元 采用双电源供电,通过两个独立的电源分别对单片机和直流电机进行供电,此方案 的优点是,减少波动,稳定性比较好,可以让小车更好的运作起来,唯一的缺点就是会 增加小车的重量。 2.3.22.3.2 运动单元运动单元 采用直流电机,配合 LM298 驱动芯片组合。直流电机可以实现精确的转脚输出,只 要施加合适的脉冲序列,电机可以按照人们的预定的速度或方向进行连续的转动,便于 控速,软件程序的编写较直流电机稍显复杂。但是 L298 芯片的硬件电路比较复杂。 2.3.32.3.3 循迹单元循迹单元 采用 OPTOCOUPLER-NPN 型光电对管。 OPT

19、OCOUPLER-NPN 是一种一体化反射型光电探测器,其发射器是一个砷化镓红外发光 二极管,而接收器是一个高灵敏度,硅平面光电三极管。 3 3 系统硬件设计系统硬件设计 3.13.1 数据采集模块数据采集模块 图 3-1 所示电路中,R3 起限流电阻的作用,当有光反射回来时,光电对管中的三极 管导通,R4 的上端变为高电平,此时 VT1 饱和导通,三极管集电极输出低电平11。 当没有光反射回来时,光电对管中的三极管不导通,VT1 截至,其集电极输出高电平。 而且经试验验证给此电路供电的电池的压降较小。因此我们选择此电路作为我们的 传感器检测与调理电路。此光电对管电路简单,工作性能稳定。 R1

20、 270 R2 1.5m R3 10k R4 10k R5 10k 3 2 1 84 U2:A LM393 6 5 4 1 2 U3 OPTOCOUPLER-NPN 图 3-1 光电循迹电路检测 集成运放分类: 按照集成运算放大器参数来分,集成运算放大器可分为:通用型运算放大器,高阻型运 算放大器,低温漂型运算放大器,高速型运算放大器,低功耗型运算放大器,高压大功率型 运算放大器六大类。下面介绍一下通用运算放大器的: 通用型运算放大器以通用为目的而设计的。这类器件的主要特点是价格低廉、产品 量大面广,其性能指标能适合于一般性使用。例 mA741(单运放)、LM358(双运放)、 LM324(四

21、运放)及以场效应管为输入级的 LF356 都属于此种。它们是目前应用最为广泛 的集成运算放大器。在没有特殊要求的场合,尽量选用通用型集成运放,这样即可降低成 本,又容易保证货源。当一个系统中使用多个运放时,尽可能选用多运放集成电路,例如 LM324、LF347 等都是将四个运放封装在一起的集成电路。 集成运放功能: 电路分析 1.防止通过电源内阻造成高频振荡的措施是在集成运放的负供电电源的输 入端对地加一高频滤波电容(0.01uF-0.1uF)。2.输出保护。当集成运放过载或输出端 短路时,若没有保护电路,该运放就会损坏。当输出保护时,由电阻 R 起限流保护作用。3. 调零。由于集成运放的输入

22、失调电压和输入失调电流的影响,当运算放大器组成的线性电 路输入信号为零时,输出往往不等于零。为了提高电路的运算精度,要求对失调电压和失 调电流造成的误差进行补偿,这就是运算放大器的调零。即图中的电位器就起调节电压的 作用。 3.23.2 直流电机模块直流电机模块 主要由一些二极管、电机和 L298 直流电机驱动模块(内含 CMOSS 管、三太门等)组 成,直流电机由定子和转子两部分组成。在定子上装有磁极(电磁式直流电机磁极由绕 在定子上的磁绕提供),其转子由硅钢片叠压而成,转子外圆有槽,槽内嵌有电枢绕组, 绕组通过换向器和电刷引出。 图 3-2 直流电机的主要额定值有: 额定功率 Pn:在额定

23、电流和电压下,电机的负载能力。 额定电压 Ue:长期运行的最高电压。 额定电流 Ie:长期运行的最大电流。 额定转速 n:单位时间内的电机转动快慢。以 r/min 为单位。 励磁电流 If:施加到电极线圈上的电流 L298 内含两个 H 桥驱动电路,如图 3-4 所示,H 桥式电机驱动电路包括 4 个三极管 和一个电机。要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导 通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。 图 3-4 H 桥式驱动电路 要使电机运转,必须使对角线上的一对三极管导通。例如,如图 3-5 所示,当 Q1 管 和 Q4 管导通时,电流就从

24、电源正极经 Q1 从左至右穿过电机,然后再经 Q4 回到电源负极。 按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。当三极管 Q1 和 Q4 导通时, 电流将从左至右流过电机,从而驱动电机按特定方向转动(电机周围的箭头指示为顺时 针方向)。 图 3-5 驱动电机顺时针转动 图 3-6 所示为另一对三极管 Q2 和 Q3 导通的情况,电流将从右至左流过电机。当三 极管 Q2 和 Q3 导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动。 图 3-6 驱动电机逆时针转动 表 3L298 逻辑功能 EnAIn1In2 运转状态 0 停止 110 正转 101 反转 111 刹停 100

25、 停止 当 EnA 为高电平,且输入电平一高一低,则 OUT1 与 OUT2 端接的直流电机正或反转, 同为低电平电机停止,同为高电平电机刹停。 直流电机模块如图 3-7: mm mm a b c d ena enbm2a m2am2b m2b D1 1N4006 D2 1N4006 D3 1N4006 D4 1N4006 +88.8 IN1 5 IN2 7 ENA 6 OUT1 2 OUT2 3 ENB 11 OUT3 13 OUT4 14 IN3 10 IN4 12 SENSA 1 SENSB 15 GND 8 VS 4 VCC 9 U2 L298 直流电机驱动芯片 D5 1N4006 D

26、6 1N4006 D7 1N4006 D8 1N4006 +88.8 图 3-7 直流电机及其驱动 3.33.3 声音模块声音模块 当 p2.7 输出高电平时,三极管导通,发出相应的声音如图 3-8。 p2_7 R1 220R Q1 NPN BUZ1 BUZZER 图 3-8 声音模块 3.43.4 显示模块显示模块 当检测到轨迹时,led 进行显示,发出光,如图 3-9。 ledr ledz R2 1k R6 10k D9 LED-BLUE D10 LED-BLUE 图 3-9 led 显示模块 3.53.5 总体电路图总体电路图 总体电路图如图 3-10: mm mm a a b c d

27、enb b c d ena enbm2a m2am2b m2b ena p2_7 ledz ledr ledr ledz p2_7 D1 1N4006 D2 1N4006 D3 1N4006 D4 1N4006 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7

28、 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 +88.8 IN1 5 IN2 7 ENA 6 OUT1 2 OUT2 3 ENB 11 OUT3 13 OUT4 14 IN3 10 IN4 12 SENSA 1 SENSB 15 GND 8

29、VS 4 VCC 9 U2 L298 直流电机驱动芯片 D5 1N4006 D6 1N4006 D7 1N4006 D8 1N4006 +88.8 SW1 SW-SPDT SW2 SW-SPDT R3 10k R4 10k C1 22pF C2 22pF X1 CRYSTAL R1 220R Q1 NPN BUZ1 BUZZER R2 1k R6 10k D9 LED-BLUE D10 LED-BLUE 图 3-10 总电路图 4 4 系统软件设计系统软件设计 4.14.1 软件设计思想软件设计思想 整个软件部分,可以分成三个模块,即主程序初始化模块,传感器信号检测模块, 电机驱动模块。 4.

30、24.2 系统程序流程图系统程序流程图 程序流程图如图 4-5: 开始 初始化 启动 直行 Y 左传感器检测到 信号? 右传感器检测到 信号? 停止? N 停车 Y 结束 左转 右转 Y Y N N N N 图 4-5 程序流程图 5 5 软件调试软件调试 首先,通过 keil 软件,把代码编译连接,创建 hex 文件。 其次,protues 仿真:点击开始按钮,小车转动,左右直流电机正常旋转,按下传感 器检测按钮,小车正常转弯,并且相应的发光二极管发光,软件调试成功。 调试图如图 5-1: 图 5-1 调试图 当右面传感器检测到黑线时,小车向右拐。 图 5-2 右转图 结结 论论 通过仿真,

31、电动机能够按要求转动,当传感器检测到信号时,小车能够按检测到的 方向行驶,并且通过特定的程序设计,能够防止走 S 型,声光显示电路工作正常。不过 功能较单一,很多功能有待扩展,如障碍检测等。 参考文献参考文献 1刘燕,刘志. .基于单片机控制的自主寻迹电动小车的设计J.自动化与仪器仪表.2007.(03) :23. 2安岩.自动循迹智能小车的设计J. 苏州科技学院学报(工程技术版).2010.(01) :12. 3王志良.竞赛机器人制作技术M.机械工业出版社,2007:13-18. 4李华.MCS-51系列单片机实用接口技术M.北京:北京航空航天大学出版社,1995:17-24. 5董涛,刘进

32、英,蒋苏.基于单片机的智能小车的设计与制作J.计算机测量与控制.2009.(02) :6. 6周坚.单片机C语言轻松入门M.北京航空航天大学出版社,2006:78-79. 7李刚.王艳林,孙江宏.Protel DXP电路设计M.清华大学出版社,2006:17-18. 8李广弟,朱月秀.冷祖祁.单片机基础M.北京航空航天大学出版社,2007:45-46. 9楼然苗.李光飞.单片机课程设计与指导M.北京:北京航空航天大学出版社,2007:17-18. 10 梁静.一种基于光电传感的路径识别智能车J.科学技术与工程.2011.(01) :3. 11 张植宝.电机原理与应用M.化学工业出版社,2006

33、:15-18. 12 许大中.电机控制M.浙江大学出版社,2002. 40-42. 致谢致谢 随着这一片论文的结束,我的大学生活也即将落下帷幕。虽然大学貌似很长,有四 个年头,可是光阴似箭日月如梭,马上就要离别了,大学的美好回忆还历历在目。不仅 班级 54 位同学一起走过了秋冬,又一起走过了春秋,而且老师们的诲人不倦的教导犹在 耳边。我们热爱大学生活,这段时光给了我们很多感悟,尤其重要的是,要学会珍惜、 懂得感恩,无论生活有什么艰难险阻,大家的帮助很重要,自己的顽强独立更重要。 本次设计能够成功的完成,要特别感谢我的导师付浩老师的关怀和教导。付浩老师 不厌其烦地给我讲解写论文所要注意的事项及有

34、关的专业知识,他严谨的治学作风以及 宽厚待人的态度给我留下了深刻的印象。 附录附录 程序如下: #include #define uchar unsigned char #define uint unsigned int void motor_r_z(void); void motor_l_z(void); void motor_r_f(void); void motor_l_f(void); void go(uchar,uchar); void stop(void); sbit IN1=P2_5; sbit IN2=P24; sbit IN3=P21; sbit IN4=P22; sbit

35、ENA=P20; sbit ENB=P23; sbit left_k=P05; sbit right_k=P04; sbit start_k=P32; sbit stop_k=P33; sbit sound=P27;。 uchar data t_0; uchar data motor_r; uchar data motor_l; uchar data Speed_Parameters; /*延时子程序*/ void delay_1ms(uint n) uint i,j; for(j=n;j0;j-) for(i=20;i0;i-); /*初始化函数*/ void ini(void) /T0 初

36、始化/ TMOD=0 x01; /T0 工作在方式 1 TH0=0 xff; /装入 T0 初值 TL0=0 xf6; TR0=1;/开 T0 中断 ET0=1;/T0 允许中断 EA=1; t_0=0; P2=0 x00; sound=1; delay_1ms(100); sound=0; void Sound(void) sound=1; delay_1ms(60); sound=0; /*启动处理函数*/ void start(void) uchar a; aa:while(start_k);/防抖程序 for(a=0;a50;a+) delay_1ms(1); while(start_

37、k) goto aa; Sound(); go(0 x40,0 x40); void go(uchar left_motor,uchar right_motor) Speed_Parameters=right_motor;/ motor_r_z(); Speed_Parameters=left_motor; motor_l_z(); void motor_r_z(void) motor_r=0 x64+Speed_Parameters; ENA=1; void motor_l_z(void) motor_l=0 x64-Speed_Parameters; ENB=1; void stop(vo

38、id) ENB=0; ENA=0; /*T0 中断服务程序*/ /*PWM 产生*/ void time0(void) interrupt 1 using 2 TR0=0; TH0=0 xff; TL0=0 xf6; +t_0; ACC=t_0; CY=0; ACC-=motor_r; if(CY=1) IN1=1; IN2=0; goto PWM_2; IN1=0; IN2=1; PWM_2: ACC=t_0; CY=0; ACC-=motor_l; if(CY=1) IN3=1; IN4=0; goto HIGHT; IN3=0; IN4=1; HIGHT: /ACC=t_0; if(t_

39、0!=0 xc8) goto EXIT; ACC=0; t_0=ACC; EXIT: TR0=1; void main(void) uchar a; ini(); start(); while(1) aa: while(!left_k) goto bb; P1_0=0; Sound(); while(left_k) go(0 x00,0 x45); go(0 x40,0 x40);。 P1_0=1; /判断右传感器状态/ bb: while(!right_k) goto cc; P1_1=0; Sound(); while(right_k) go(0 x45,0 x0); go(0 x40,0 x40); P1_1=1;/关闭 LED 指示灯 /判断是否按下停止按钮/ cc: while(stop_k) goto aa; for(a=0;a20;a+) delay_1ms(1); while(stop_k) goto cc; stop(); start();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1