1、基于单片机的运料小车控制系统设计摘要:随着智能控制和电子技术的飞速发展,自动控制系统的适应能力逐渐增强,其中以单片机为核心实现的自动控制装置因其体积小、功能强、可靠性高、简便易行而得到广泛应用。本设计是以STC89C52为核心的运料小车,主要包括以下模块:寻迹模块,避障模块,语音模块及电机驱动模块等。其能够实现自动寻迹、搬运货物,从而对传统运料方式的智能化和现代化程度进行改善和提升。该系统采用STC89C52与红外光电传感器结合,利用红外接收,发射传感器检测轨迹,控制运料小车自动寻迹,以及自动停车;同时具有避障功能和报警功能。关键字:STC89C52单片机,红外线光电传感器,寻迹,避障 The
2、 material car control system design based on single chip microcomputerAbstract:With the rapid development of intelligent control and electronic technology, automatic control system of the ability to adapt gradually strengthen, among them with the single chip processor as the core to realize the auto
3、matic control device because of its small volume, strong function, high reliability, simple and widely used. This design is based on the material car STC89C52 as the core, mainly includes the following modules: tracing module, obstacle avoidance module, voice module and motor drive module, etc. It c
4、an realize automatic tracing and handling the goods, by the traditional delivery method improvement and intellectualization and modernization level of ascension. STC89C52 combined with infrared electric sensor used in this system, the use of infrared receiving and launch the probe sensors track and
5、control the material car tracing automatically, and automatically stop, At the same time has obstacle avoidance function and alarm function.Key words:STC89C52 microcontroller, infrared photoelectric sensor, tracing,obstacle avoidance 目 录1.绪 论11.1 研究背景及其目的意义11.2设计要求12.方案论证32.1单片机选择论证32.2 STC89C52单片机3
6、2.2.1 STC89C52单片机的硬件结构42.2.2 STC89C52单片机管脚结构42.2.3 STC89C52单片机的内部存储结构42.3总体设计82.3.1循迹模块82.3.2避障模块112.3.3传感器设计123.系统硬件设计133.1复位电路133.2晶振电路143.3传感器电路153.4电机驱动模块173.5单片机的端口分配193.6电源模块194.系统软件设计204.1系统软件的结构205.仿真与调试235.1编译环境235.1.1 Keil C51 介绍235.1.2 Keil C51 集成工具和用途235.2仿真调试24总 结26参考文献27致 谢28附录1:程序清单29
7、附录2:电路原理图36I 1.绪论1.1 研究背景及其目的意义早期运料小车电气控制系统多为“继电器接触器”组成的复杂系统,这种系统存在设计周期长、体积大、成本高等缺陷,几乎无数据处理和通信功能,必须有专人负责操作。后期系统通常把PLC控制技术与变频器调速相结合,利用PLC控制变频器,再通过变频器优良的调速性能,可实现运料小车的自动化控制。在工业快速发展,科技日新月异的今天,由于单片机控制技术、检测技术及电力电子技术的发展,作为辅助装置的送料机构自动化水平也需越来越高。提高自动化的水平不仅可以提高效率、产品的质量同时也能保证工人的人身安全。而单片机就是实现自动控制最重要的一环,它是单片微型计算机
8、的简称;是把微型计算机的各个功能部件(中央处理CPU、随机存取存储器RAM、只读存储器ROM、I/O接口、定时器、计算器以及串行通信接口)集成在一块芯片上,构成一个完整的计算机1。单片机具有集成度高,体积小,成本低,控制能力强等诸多优点,因此运料小车将会逐渐向智能化发展。1.2设计要求本设计将通过单片机为运料小车的核心,设计一个智能的运料小车。它具有如下功能:寻迹功能,假设小车的运行路线是O形,只要在道路上涂上或贴上O形的黑线,小车就能沿线运行;避障和语音功能功能,当在运行轨道上遇到障碍物就会停止并发出警报提醒,没有障碍物就会继续行驶(这是为了避免撞上障碍物并且让小车不脱离轨道而这样设计的);
9、当小车行驶到有加宽黑线的地方会停下来等待卸料。 小车工作原理如图1.1图1.1 小车工作原理2.方案论证2.1单片机选择论证对于单片机的选择有三种:一种是AT89C51、一种是AT89S51、另一种是STC89C52。目前AT89C51因为编程功能:AT89C51仅支持并行编程,不支持ISP在线更新程序,在编程电压方面,AT89C51的编程电压除正常工作的5V外,另外Vpp需要12V,工作频率更高,AT89C51极限工作频率是24MHZ,不满足需要所以已经停产,AT89S51支持ISP在线编程,最高工作频率为33MHZ使计算速度更快,有双工UART串行通道,内部集成看门狗计时器,双数据指示器,
10、电源关闭标示,全新加密算法2。STC89C52单片机,兼有89S51的以上功能,在线编程方式通过串口,需要MAX232芯片做串口通信电路,AT89S51为并行编程方式,需要一个74HC24来做并行通信电路,相比来说STC在线编程方式简单点,价格上便宜些,这种单片机对开发设备的要求很低,开发时间也大大缩短。因此选用STC89C52单片机。2.2 STC89C52单片机STC89C52作为本次设计的核心芯片如图2.1所示,是一个高性能,低功耗CMOS 8位单片机,兼容标准MCS-51指令系统及80C51引脚结构,ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可以通
11、过串口直接下载用户程序,数秒即可完成一片功能强大的微型计算机。STC89C52可为许多嵌入式控制应用系统提供高性价比的解决方案。 图2.1 STC89C52单片机2.2.1 STC89C52单片机的硬件结构STC89C52单片机系列的存储器用的是哈弗结构,指将程序和数据存储器截然分开,程序存储器和数据存储器都有自己的寻址方式、寻址空间和控制系统。STC89C52的存储器可以分成五类:程序存储器,内部数据存储器,特殊功能寄存器,位地址空间,外部数据存储器3。2.2.2 STC89C52单片机管脚结构STC89C52有40引脚双列直插(DIP)、44引脚(PLCC)、44引脚(TQFP)封装形式。
12、STC89C52的引脚功能如图2.2所示。其采用了CMOS技术制造,它集成度高、速度快、功耗低。图2.2 40引脚双列直插(DIP)封装图2.2 STC89C52引脚功能2.2.3 STC89C52单片机的内部存储结构STC89C52单片机片内总体结构的详细框图如图2.3所示,主要由9个部分组成,分别是:1个8位中央处理器;4KBFlash存储器;128B的数据存储器;32条I/O接口线(P0、P1、P2、P3);2个定时/计数器;1个具有6个中断源、4个优先级的中断嵌套结构;用于多处理机通信、I/O扩展或全双工UART的串行口;特殊功能寄存器(SFR);1个片内振荡器和时钟电路。图2.3 单
13、片机内部结构简图STC89C52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。单片机总控制电路如下图2.4:图2.4 单片机总控制电路(1)时钟电路STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。其内部方式的时钟电路如图2.5(a)所示,
14、在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用4。外部方式的时钟电路如图2.5(b)所示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。 (a)内部方式时钟电路 (b)外部方式时钟电路图2.5 时钟电路 STC89C52具体介绍如下: 主电源引脚(2根)VCC(Pin40):电源输入,
15、接5V电源GND(Pin20):接地线外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。P0口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7 P2口(
