智能小车控制器的设计与制作_第1页
智能小车控制器的设计与制作_第2页
智能小车控制器的设计与制作_第3页
智能小车控制器的设计与制作_第4页
智能小车控制器的设计与制作_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南商务职业技术学院毕业设计

目录

1项目简介.................................................................................................................1

1.1项目设计的目的和意义...................................................................................1

1.2智能小车的现状及设计的任务......................................................................2

2硬件设计.................................................................................................................4

2.1STC89C52单片机.............................................................................................4

2.2特殊功能寄存器电路设计..............................................................................8

2.3时钟电路设计..................................................................................................8

2.4复位电路设计..................................................................................................8

3系统模块设计.......................................................................................................9

3.1电源模块........................................................................................................9

3.2电机驱动模块..............................................................................................10

3.3循迹模块........................................................................................................10

4软件编程..................................................................................................................11

4.1软件调试平台...............................................................................................11

4.2主程序流程图..............................................................................................12

4.3FlyMcu程序烧录软件介绍...........................................................................12

附录1产品实物图.....................................................................................................13

附录2原理图............................................................................................................14

附录3PCB图.............................................................................................................15

附录4程序代码........................................................................................................16

附录5元器件清单....................................................................................................25

参考资料.....................................................................................................................26

湖南商务职业技术学院毕业设计

智能小汽车控制器的设计与制作

1项目简介

随着我国社学技术的发展,智能化越来越作为现代社会的新产物开始越来

越普及,各种高科技也广泛应用于智能小车和机器人玩具制造领域,是智能机

器人越来越多样化。智能小车是一个多种高薪科技的集成体,它融入了机器、

电子、传感器、计算机硬件、软件、人工智能等许多学科的知识,可以设计到

当今许多前沿领域的技术。进入二十一世纪,随着计算机技术和科学技术的不

断进步,机器人技术较以往已经有了突飞猛进的提高,智能小车即有视觉的触

觉。就是其中的典型代表。

整个小车平台主要以514单片机为控制核心,通过无线遥控实现前进后退

和转向行驶,通过红外线传感器,实现小车的自适应巡航、避障等功能。设计

采用对比选择,模块独立,综合处理的研究方法。通过翻阅大量的相关文献资

料,分析整理出相关信息,在此基础上列出不同的解决方案,结合实际情况对

比方案优劣选出最优方案进行设计。从电机车体,最小系统到无线控制,红外

线对管的自动寻迹再到红外线自动避障和语音控制,完成各模块设计。通过调

试检测各模块,得到正确的信号输出,实现调试检测各模块,得到正确的信号

输出,实现其应有的功能。最后将各个模块有效整合在一起,达到所预期的目

标,完成最终设计与制作,能使小车在一定的环境中智能化运转

1.1项目研究的目的和意义

智能小车作为现代的新发明,是以后的发展方向,他可以按照预先设定的

模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的

用途。智能小车能够实时显示时间、速度、里程,具有自动寻迹、寻光、避障

功能,可程控行驶速度、准确定位停车,远程传输图像等功能。

智能小车可以分为三部分--传感器部分、控制器部分、执行器部分。

控制器部分:接收传感器部分传递过来的信号,并根据事前写入的决策系统

(软件程序),来决定机器人对外部信号的反应,将控制信号发给执行器部分。

好比人的大脑。

执行器部分:驱动机器人做出各种行为,包括发出各种信号(点亮发光二极

管、发出声音)的部分,并且可以根据控制器部分的信号调整自己的状态。对机

器人小车来说,最基本的就是轮子。这部分就好比人的四肢一样。传感器部分:

1

湖南商务职业技术学院毕业设计

机器人用来读取各种外部信号的传感器,以及控制机器人行动的各种开关。好

比人的眼睛、耳朵等感觉器官。随着电子技术、计算机技术和制造技术的飞速

发展,数码相机、DVD、洗衣机、汽车等消费类产品越来越呈现机电一体化、智

能化、小型化趋势。各类智能化小车在市场玩具中也占一个很大的比重。根据

美国玩具协会的调查统计,近几年来全球玩具销售增幅与全球平均GDP增幅大

致相当。而全球玩具市场的内在结构比重却发生了重大改变:传统玩具的市场

比重正在逐步缩水,高科技含量的电子玩具则蒸蒸日上。美国玩具市场的高科

技电子玩具的年销售额2004年较2003年增加52%,而全统玩具的年销售额仅增

长3%。英国玩具零售商协会选出的2001圣诞节最受欢迎的十大玩具中,有7款

玩具配有电子元件。从这些数字可以看出,高科技含量的电子互动式玩具已经

成为玩家行业发展的主流。

如今只是工程、计算机科学、机电一体化和工业一体化等许多领域在讨论

智能系统,人们要求系统变得越来越智能化。显然传统的控制观念是无法满足

人们的需求,而智能控制与这些传统的控制有机的结合起来取长补短,提供整

体的优势更好的满足人们的需求。随着人工智能技术、计算机技术、自动控制

技术的迅速发展,智能控制必将迎来它的发展新时代。计算机控制与电子技术

融合为电子设备智能化开辟了广阔前景。因此遥控加智能的技术研究、应用都

是非常有意义而且有很高的市场价值的。

人类的研究活动已经摆脱了地球生活圈的束缚而广泛地进入外层空间和海

洋深处。对月球和太阳系其他行星的探测,对太阳系以外的宇宙进行考察。对

数千米以下的海底的研究,都是目前单靠人力所不能及的。自动控制系统设计

正在代替人们完成这些工作。在战场上的军事活动中,在恶劣环境条件下的生

产劳动中,凡不宜由人直接承担的任务,均可由自动控制系统代替,如智能小

车可以适应不同环境、不同温、湿度等条件的影响,完成危险地段、人类无法

介入等特殊情况下的任务。高科技自动控制系统及装置已日益成为现代社会活

动中离不开的自动智能设备。

1.2智能小车的现状及本项目的任务

随着汽车工业的迅速发展,关于汽车的研究也越来越受人关注,全国电子

科技大赛和省内电子科技大赛几乎每次都有智能小车这方面的题目,全国各高

校也都很重视该题目的研究。可见其研究意义重大。本设计就是在这样的背景

下提出的。本设计采用了比较先进的C51为控制核心,C51采用CHOMS工艺,功

耗很低。该设计具有实际意义,可以应用于考古、机器人、医疗机械等许多方

2

湖南商务职业技术学院毕业设计

面。尤其是在足球机器人研究方面具有很好的发展前景;在考古方面也应用到

了超声波传感器进行检测。所以本设计与实际想结合,显示意义很强。随着计

算机和智能技术的发展,研制智能小车大致经过三代的演变:

第一代是可编程的示教再现型智能小车。目前己经普及化,它是依靠人们

给子程序,能重复进行多种操作的系统。由于其不具有传感器的反馈信息,因

此不能在作业过程中从外界不断获取信息,来改善其自身的行动品质,故其应

用范围和精度受到限制气

第二代是具有一定感觉功能和自适应能力的离线编程智能小车。此种机器

人配备了简单的内、外部传感器,能对自身的实际位置、方向等进行测量,能

通过“视觉”、"触觉"等传感能力对外部环境进行实际探测,从而由这些反馈

信息在事先编好的算法和程序指导下对操作过程进行调整。它与这几年迅速发

展起来的传感器、微机技术和仿生学、控制理论等有密切关系。

第三代智能小车是能感知外界环境与对象物,并具有对复杂信息进行准确

处理,对自己行为做出自主决策能力的智能小车。这种智能小车装有多种传感

器,并能将多种传感器探测到的信息进行“融合”(多传感器的信息融合)并

做出相应决策,自主完成某一项任务。它能有效地适应变化的环境,具有很强

自适应能力,是具有自学习和自主决策功能的智能机器人。

在国内,吉林大学(原吉林工业大学)1992年起开始智能车辆方面的研究,

先后开发岀4种型号智能车辆,其中JUTIV-3型为实用型视觉导航车,己投入

工厂进行测试,现正进行商品化开发。JUTIV-4型高速智能车辆己完成整车安装

调试,其无人驾驶视觉导航系统设计速度在50km/h以上,装备有世界先进水平

的3D激光成像仪,利用多传感器信息融合、人工智能、最优控制理论,深入研

究在非结构化道路环境下的路径识别和跟踪、安全车距保持、换道超车等技术

在外国,在1994年,由奔驰汽车公司与UBM合作开发的第二代维塔

(VITA)智能车辆。在这些智能车辆系统中最引人注目的进展是Tuansputeus

处理器的大规模应用,实现了自动超车。同时,这个系统拥有不同焦距的摄像

机跟踪各自目标、分工协作。通过使用广角摄像机实现道路大范围检测,障碍

物检测利用具有高分辨率的短焦摄像机来解决叫

近年来,智能行走机器人的研究呈现一些新的特点。首先,随着计算机硬

件技术的提高,硬件结构由最初的专用板卡或芯片逐渐向通用板卡或芯片过渡,

为了提高运算速度,出现了专用的运算指令。其次,在控制系统方面,随着网

络传输速度的提高,出现了基于网络传输信号控制的机器人,而不再是以往一

3

湖南商务职业技术学院毕业设计

成不变的“单机式”控制模式。最后,机器人的控制算法的和鲁棒性成为研究

的一个重点。

目前智能行走机器人、智能小车的研究正向复杂型、智能型、自主型发展,

智能车与人类生活联系得越来越紧密。作为现代机器人中一个重要分支的移动

式机器人是一个相当活跃的研究领域。

本设计采用AT89S52单片机加电机驱动电路和红外遥控及循迹模块还有红

外接收一体化传感器设计而成,采用模块化的设计方案,运用红外遥控器控制

小车的前进、后退、左转、右转、启动和停止。

2硬件设计

2.1STC89C52单片机

STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单

片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周

期可以任意选择。

下图为STC89C52RC引脚图如图2-1所示。

图2-1STC89C52单片机

STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单

片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周

期可以任意选择。

下图为STC89C52RC引脚图。

(1)主要特性:

增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,

指令代码完全兼容传统8051.

4

湖南商务职业技术学院毕业设计

工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)

工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可

达48MHz

用户应用程序空间为8K字节

片上集成512字节RAM

通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口

是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需

加上拉电阻。

ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用

仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成

一片

具有EEPROM功能

具有看门狗功能

共3个16位定时器/计数器。即定时器T0、T1、T2

外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部

中断低电平触发中断方式唤醒

通用异步串行口(UART),还可用定时器软件实现多个UART

工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)

PDIP封装

STC89C52RC单片机的工作模式

掉电模式:典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行

原程序

空闲模式:典型功耗2mA

正常工作模式:典型功耗4Ma~7mA

掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设

(2)STC89C52RC引脚功能说明:

VCC(40引脚):电源电压

VSS(20引脚):接地

P0端口(P0.0~P0.7,39~32引脚):P0口是一个漏极开路的8位双向I/O

口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,

可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8

位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在FlashROM

5

湖南商务职业技术学院毕业设计

编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,

要求外接上拉电阻。

P1端口(P1.0~P1.7,1~8引脚):P1口是一个带内部上拉电阻的8位双

向I/O口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。

对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。

P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一

个电流()。

此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入

(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体参见下表:

在对FlashROM编程和程序校验时,P1接收低8位地址。

表2-1P1.0和P1.1引脚复用功能

引脚号功能特性

P1.0T2(定时器/计数器2外部计数输入),时钟输出

P1.1T2EX(定时器/计数器2捕获/重装触发和方向控制)

P2端口(P2.0~P2.7,21~28引脚):P2口是一个带内部上拉电阻的8位

双向I/O端口。P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输

入。对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输

入口。P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的

引脚会输出一个电流()。

在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX@DPTR”

指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行“MOVX

@R1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器

的内容),在整个访问期间不会改变。

在对FlashROM编程和程序校验期间,P2也接收高位地址和一些控制信号。

P3端口(P3.0~P3.7,10~17引脚):P3是一个带内部上拉电阻的8位双

向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。

对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。

P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输

入一个电流()。

在对FlashROM编程或程序校验时,P3还接收一些控制信号。

6

湖南商务职业技术学院毕业设计

P3口除作为一般I/O口外,还有其他一些复用功能,如下表所示:

表2-2P3口引脚复用功能

引脚号复用功能

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2(外部中断0)

P3.3(外部中断1)

P3.4T0(定时器0的外部输入)

P3.5T1(定时器1的外部输入)

P3.6(外部数据存储器写选通)

P3.7(外部数据存储器读选通)

RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,

用来完成单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶

振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无

效。DISRTO默认状态下,复位高电平有效。

ALE/(30引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁

存低8位地址的输出脉冲。在Flash编程时,此引脚()也用作编程输入脉冲。

在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部

定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲

将会跳过。

如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将无效。

这一位置“1”,ALE仅在执行MOVX或MOV指令时有效。否则,ALE将被微弱拉

高。这个ALE使能标志位(地址位8EH的SFR的第0位)的设置对微控制器处

于外部执行模式下无效。

(29引脚):外部程序存储器选通信号()是外部程序存储器选通信号。

当AT89C51RC从外部程序存储器执行外部代码时,在每个机器周期被激活两次,

7

湖南商务职业技术学院毕业设计

而访问外部数据存储器时,将不被激活。

/VPP(31引脚):访问外部程序存储器控制信号。为使能从0000H到FFFFH

的外部程序存储器读取指令,必须接GND。注意加密方式1时,将内部锁定位RES

ET。为了执行内部程序指令,应该接VCC。在Flash编程期间,也接收12伏VPP

电压。

XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2(18引脚):振荡器反相放大器的输入端。

2.2特殊功能寄存器电路设计

在STC89C52RC片内存储器中,80H~FFH共128个单元位特殊功能寄存器

(SFR),SFR的地址空间。

并非所有的地址都被定义,从80H~FFH共128个字节只有一部分被定义。

还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将

不确定,而写入的数据也将丢失。不应将“1”写入未定义的单元,由于这些单

元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总

是“0”。

STC89C52RC除了有定时器/计数器0和定时器/计数器1之外,还增加了一

个一个定时器/计数器2.定时器/计数器2的控制和状态位位于T2CON和T2MOD。

定时器2是一个16位定时/计数器。通过设置特殊功能寄存器T2CON中的C/T2

位,可将其作为定时器或计数器。定时器2有3种操作模式:捕获、自动重新

装载(递增或递减计数)和波特率发生器,这3种模式由T2CON中的位进行选

择。

2.3时钟电路设计

时钟电路就是产生像时钟一样准确的振荡电路。STC89C52RC单片机内部有

一个用于构成片内振荡器的高增益反相放大器,振荡器产生的信号送到CPU,作

为CPU的时钟信号。驱动CPU产生执行指令功能的机器周期。引脚XTAL1和

XTAL2是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶

体或陶瓷谐振器一起可构成一个自激振荡器。

2.4复位电路设计

单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态。

并从这个状态开始工作。无论是在单片机刚开始接上电源时,还是断电后或者

8

湖南商务职业技术学院毕业设计

发生故障后都要复位。89系列单片机的复位信号是从RST引脚输入到芯片的施

密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后。如果RST引

脚有高电平并维持2个机器周期(24个振荡周期).则CPU就可响应并且将系统

复位。

复位电路由两部分组成,电容和电阻。当系统通电时VCC上电压从无到有

在RESET处会先处于高电平一段时间,然后由于该点通过电阻接地则RESET该

点的电平会逐渐的改变为低电平,从而使得单片机复位口电平从1到0,达到给

单片机复位的功能。

上电复位:上电瞬间,电容充电电流最大,电容相当于短路,RST端为高电

平,自动复位;电容两端的电压达到电源电压时,电容充电电流为零,电容相

当于开路,RST端为低电平,程序正常运行。

手动复位:首先经过上电复位,当按下按键时,RST直接与VCC相连,为高

电平形成复位,同时电解电容被短路放电;按键松开时,VCC对电容充电,充电

电流在电阻上,RST依然为高电平,仍然是复位,充电完成后,电容相当于开路,

RST为低电平,正常工作。

3系统模块设计

3.1电源模块

本设计需要5V电源为整个系统供电,电源模块以芯片LM7805为核心设计

输出+5V直流电压的稳压电源电路。

该电源模块是有电源变压器、整流、滤波和稳压电路等四个部分组成。电

源变压器将交流220V变成9V左右交流电压,然后通过整流桥将交流电变为脉

冲的直流电压。由于此脉冲直流电压还包含较大的纹波,必须通过滤波电路加

以滤波,C31\C14分别为输入端和输出端滤波电容,并利用三端稳压集成芯片LM

7805进行稳压,当输出电较大时,7805应配上散热板。

具体电路如下图3-1所示:

9

湖南商务职业技术学院毕业设计

图3-1电

源模块

3.2电机驱动模块

采用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路

结构和原理简单,加速能力强,采用由达林顿管组成的H型桥式电路。用单片

机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。

这种电路由于工作在管子的饱和截止模式下,效率非常高,H型桥式电路保证了

简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一

种广泛采用的PWM调速技术。现市面上有很多此种芯片,因此选用L298。

这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能

承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。

图3-2电机驱动模块

3.3循迹模块

小车循迹,我们通常采用红外线检测的方法,红外线检测是通过黑色和白

色对红外线的吸收效果不同,当红外线光射到白色底盘时,会发生漫反射到智

能车的接受管上。

而射到黑线则会被吸收不会产生发射,智能车红外接收管就接受不到。故

10

湖南商务职业技术学院毕业设计

整个智能车通过红外接收管是否接受到红外线来判断黑线和白线,从而实现循

迹。但需要注意的是,红外传感器的检测距离有限,一般在3CM之间。红外光

电传感器由1个红外线发射管(发射器)和一个光电二极管(接收器)所组成。

本次设计,红外光电接收器我们采用的是ST188,其实发射红外光电二极管

和高灵敏度光电晶体管构成,它使用的非接触式检测方式,且检测距离范围较

大,一般为4~13mm。循迹传感器红外光电对管ST188实物图如图3-3所示:

图3-3循迹模块

4软件编程

4.1软件调试平台

KeilforC51是美国keilSoftware公司的C语言软件开发系统。在功能上、

结构性、可读性、可维护性上,相比与汇编,C语言都具有明显的优势,故易学

易用,在国内外得到广泛使用。Keil提供了一个完整的开发环境,其中包括C

编码器、宏汇编器、链接器、库管理和一个功能强大的仿真调试器,通过一个

集成开发环境将这些部分组合在一起。如果你用C语言编程,那么Keil将是你

最好的选择,即使不用C语言而选用汇编语言编程,其易于使用的软件真环境

以及强大的综合调试工具也会使你事半功倍。

C51开发中除必要的硬件外,同样离不开软件。一般,我们通过机器汇编,

把我们写的源程序变成为C51可以执行的机器码。此外还有一种较为繁琐的方

法,那就是手工汇编。伴随着C51开发技术的不断提升,现在已不再使用汇编

语言来开发,而是开始使用高级语言来开发。目前,针对最流行C51开发项目,

研发出了keilfor51软件平台和支持在线调试的串口绕写。

11

湖南商务职业技术学院毕业设计

4.2主程序流程图

本智能小车通过实时检测各个模块传感器的输入信号,利用红外对管检测

黑线实现循迹,通过光电传感器实现避障,把所有采集到的信息送到主处理器,

让小车做出正确的行驶路线。小车的启动与停止,均采用了声控模块,实现对

小车的声音控制,其程序流程图如下4-1所示:

图4-1主程序流程图

4.3FlyMcu程序烧录软件介绍

F1yMcu是非常好用的单片机烧录程序软件,对于我们来时很实用,它支持

编程、校验,还可以使用连续烧录,波特率最好不要超过115200,不然容易烧

录失败。

1.点击F1yMcu.exe配置界面,连接串口后选择合适的波特率。

2.选择已经编辑好的程序代码,选中其生成的hex的文件。.

3.选择文件后,点击编辑就可以下载到产品中了

12

湖南商务职业技术学院毕业设计

附录1产品实物图

13

湖南商务职业技术学院毕业设计

附录2原理图

14

湖南商务职业技术学院毕业设计

附录3PCB图

15

湖南商务职业技术学院毕业设计

附录4程序代码

1.定义头文件,如#include<reg52.h>;

2.对单片机引脚进行定义,定义方式如:sbitrs=P2^0;;

3.对程序所用变量进行定义,如unsignedinti;可赋值;

4.当单片机接收到电机驱动信号时,根据所需功能程序设计如下:

while(1)

{

if(KEY1==0)//左右电机反转函数

{

IN1=0;//右电机反转函数IN2=1;

IN3=0;//左电机反转函数IN4=1;

}

if(KEY2==0)//左右电机正转函数{

IN1=1;//右电机正转函数IN2=0;

IN3=1;//左电机正转函数IN4=0;

}

if(KEY3==0)//左转函数

{

IN1=1;//右电机正转函数IN2=0;

16

湖南商务职业技术学院毕业设计

IN3=1;//左电机停止函数IN4=1;

}

if(KEY4==0)//右转函数

{

IN1=1;//右电机停止函数IN2=1;

IN3=1;//左电机正转函数IN4=0;

}

if(KEY5==0)//停止函数

{

IN1=1;//右电机停止函数

IN2=1;

IN3=1;//左电机停止函数

IN4=1;

}

}

IN1和IN2分别控制小车右边电机的正反转,IN3和IN4分别控制

左边电机的正反转。通过左右电机的正反转配合执行,控制小车的前进、

后退、左右转和停止。当IN1=1,IN2=0,IN3=1,IN4=0时,小车前进;

当IN1=0,IN2=1,IN3=0,IN4=1时,小车后退;当IN1=1,IN2=0,

IN3=1,IN4=1时,小车向左转;当IN1=1,IN2=1,IN3=1,IN4=0时,

小车向右转;当IN1=1,IN2=1,IN3=1,IN4=1时,小车停止。

17

湖南商务职业技术学院毕业设计

主程序

#include<reg52.h>

#include"bst_car.h"

#defineImax14000//此处为晶振为11.0592时的取值,

#defineImin8000//如用其它频率的晶振时,

#defineInum11450//要改变相应的取值。

#defineInum2700

#defineInum33000

unsignedcharf=0;

unsignedcharIm[4]={0x00,0x00,0x00,0x00};

unsignedcharshow[2]={0,0};

unsignedlongm,Tc;

unsignedcharIrOK;

/************************************************************

************/

//延时函数

voiddelay(unsignedintk)

{

unsignedintx,y;

for(x=0;x<k;x++)

18

湖南商务职业技术学院毕业设计

for(y=0;y<2000;y++);

}

/************************************************************

************/

//外部中断解码程序

voidintersvr0(void)interrupt1using1

{

Tc=TH0*256+TL0;//提取中断时间间隔

时长

TH0=0;

TL0=0;//定时中断重新置零

if((Tc>Imin)&&(Tc<Imax))

{

m=0;

f=1;

return;

}//找到启始码

if(f==1)

{

if(Tc>Inum1&&Tc<Inum3)

19

湖南商务职业技术学院毕业设计

{

Im[m/8]=Im[m/8]>>1|0x80;m++;

}

if(Tc>Inum2&&Tc<Inum1)

{

Im[m/8]=Im[m/8]>>1;m++;//取码

}

if(m==32)

{

m=0;

f=0;

if(Im[2]==~Im[3])

{

IrOK=1;

}

elseIrOK=0;//取码完成后判断读码是否正确

}

//准备读下一码

}

}

20

湖南商务职业技术学院毕业设计

/************************************************************

************/

//全速前进

voidrun(void)

{

Left_moto_go;//左电机往前走

Right_moto_go;//右电机往前走

}

//全速后退

voidbackrun(void)

{

Left_moto_back;//左电机后退

Right_moto_back;//右电机后退

}

//右转

voidrightrun(void)

{

Left_moto_go;//左电机前进

Right_moto_Stop;//右电机停止

21

湖南商务职业技术学院毕业设计

}

//左转

voidleftrun(void)

{

Left_moto_Stop;//左电机停止

Right_moto_go;//右电机前进

}

//STOP

voidstoprun(void)

{

Left_moto_Stop;//左电机停止

Right_moto_Stop;//右电机停止

}

/************************************************************

*********/

/*--主函数--*/

voidmain(void)

{

22

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论