基于STC12C5A60S2的智能车设计剖析.docx
《基于STC12C5A60S2的智能车设计剖析.docx》由会员分享,可在线阅读,更多相关《基于STC12C5A60S2的智能车设计剖析.docx(35页珍藏版)》请在冰豆网上搜索。
基于STC12C5A60S2的智能车设计剖析
学校代码:
10129
系别:
计算机技术与信息管理系
年份:
2016
毕业设计说明书
题目:
基于STC12C5A60S2单片机的智能车设计
小组成员:
刘欣
班级:
13级计算机网络技术班
指导教师:
祝鹏
2016年05月
摘要
沿袭着前一辈工程师的研发思路,使用资料较多的单片机和原理较简单的传感器搭建一个能够实现壁障和遥控功能的小车还是可以实现的。
通过单片机对传感器和模块的控制和处理,让各个模块和芯片按照目的要求运作,便是这次设计的主要目的。
本文的研究的思想就是利用单片机控制技术和传感器技术相结合,以STC12C5A60S2单片机为核心,L298N电机驱动、超声波模块、LM339电压比较器、LCD12864显示屏、HC-06从机蓝牙模块组成智能小车。
利用LCD显示技术实现数字化显示。
通过采集传感器的数据交给单片机处理并按照设定的程序代码区控制小车的运行。
关键词:
智能小车;单片机;红外壁障;超声波测距;蓝牙模块
Abstract
Artificialintelligenceasanewproductofmodernsociety,sometimeago,GoogleCorporationdevelopedAlphaGoprogramtobeattheworldchesschampion,theartificialintelligencehasbeenpulledintothepeople'svision.Artificialintelligencewillbethetrendoffuturedevelopment.Intherapiddevelopmentofthesoftwareatthesametime,thehardwarecircuitalsoisinaperiodofrapiddevelopment,withthedevelopmentoflarge-scaleandultralargescaleintegratedcircuitpromptedmoreandmoreintelligenthardwarevolumebecomessmallerandsmaller,moreoutstandingperformance.Inthedevelopmentofhigh-techindustriesatthesametime,thepoweroflifescienceandtechnologyisconstantlyexpandingpeople'shorizons.Typicalistheadventofsmartphones,SamsungappleHUAWEIastherepresentative,quicklyputthepreviousgenerationoffunctionalmachinemarketoccupied,andupdatespeedisstillaccelerating.FollowedbytheUAV,Xinjiangzeroastherepresentative,consumergradeUAValsobegantoappearinpeople'sfieldofvision,loweredthethreshold,sothateveryonecanbecomeaprofessionalaerialexpert.AndintelligentvehiclecurrentlyinChinaisstillinthedevelopmentstagetobetemporarilywithoutacanastheflagshipmodelofthebenchmark,whichpromptedthealargenumberofinnovativecompaniesinthecontinuousthinkingandresearch,thepurposeistofillthesmartcaragapinthemarket.
FollowedthepreviousgenerationofEngineersresearchanddevelopmentideas,theuseofmoreinformationonthemicrocontrollerandtheprincipleofasimplesensortobuildawallbarrierandremotecontrolfunctionofthecarcanstillbeachieved.Throughthecontrolandprocessingofthesensorandthemodule,itisthemainpurposeofthisdesigntomakeeachmoduleandthechipoperateaccordingtothepurpose.
Keywords:
intelligentcar;singlechipmicrocomputer;infraredwallobstacle;ultrasonicdistancemeasuring;Bluetoothmodule
第1章绪论
众所周知,科技行业现在的发展状况可以用日新月异来形容,即使技术含量极高的航天事业,也能被其他国家独立研发出来,前几年的朝鲜发射卫星就是鲜明的例子。
所以高科技行业是永远不会有休息的时候,今天开发出来的新型玩具,可能第二年就被更有趣的所替代,智能车领域也符合科技发展的规律,传感器的质量和算法的优越决定了智能车的性能。
而在玩具领域,智能车目前还处于发展阶段。
因此设计出来一款可以稳定实现特定功能的小车具有重要的意义和市场价值。
1.1智能车研究的背景和意义
随着科技的进步和人们生活水平的不断提高,给孩子创造一个科技环绕的生活环境不仅能让小孩变得爱思考和爱动手。
传感器和主控芯片价格的越来越低,让自己创造个智能小车的门槛变得越来越低。
1.2智能车的研究现状
现在智能车仍处于发展阶段,市场上还没有一套完整的智能车玩具。
智能车依旧只能活在实验室中,为创客们学习提供一个良好的平台。
以飞思卡尔半导体(现被恩智浦收购)公司举办的飞思卡尔杯智能车竞赛将智能硬件带到了高校校园,越来越多的爱动手的大学生已经加入到智能车的开发中,对环境的感知技术也在不断突破,从之前的简单利用红外线的方法识别黑白线变成用线性CCD检测比赛道路,再到现在流行的双车追逐。
这无一不表现出智能车将会成为大学生动手创造的一个良好平台。
但是想要把智能车给产业化,就目前的形式来说,挑战还是蛮大的,因为传感器的质量决定小车智能化的程度,而想在小车上使用高端的传感器去作为玩具普及到日常生活,这很显然是不现实的,但是选用价格低廉的传感器便会导致小车性能下降,产品品质不高。
所以现在智能车想产业化融入日常生活还有待突破。
1.3智能车研究目前常用的方法
无论智能车还是普通车,最先考虑的应当是车子的动力系统,优秀的动力才是小车的前提,对于小车的驱动,目前最常用的是采用MOS管搭建,芯片厂商根据这个思路生产了很多的电机驱动芯片,如L298N、BTN7971B、TB6612等。
电机,电机分为有刷和无刷,航模用的三相电机还有KV值区别。
而我们这次设计本着成本低的原则,选用价格低廉的180g小马达和L298N驱动芯片便能实现要求。
主控芯片,主控芯片选用设计要求的51单片机。
传感器也选用价格便宜的红外探头采集电压经比较电路反馈给单片机的方案。
第2章系统需求分析
2.1系统设计与功能
本设计是基于STC12C5A60S2单片机的智能小车,主要完成以下任务:
(1)选择STC12C5A60S2单片机,了解其基本特性和功能、以及应用。
(2)正确使用相关传感器采集周围的环境,并让单片机能正确做出处理。
(3)通过单片机对LCD的控制,显示单片机发送需要显示的数据信息。
2.2系统设计原理图
小车主要由增强型51单片机STC12C5A60S2、HC-SR04超声波模块、L298N电机驱动、LM339电压比较器、DS1302温度传感器、9G小舵机、HC-06从机蓝牙模块构成。
在系统结构方面,主要是由单片机采集红外、超声波和蓝牙的数据,分析完成后让电机按照程序设定的方向旋转,并给液晶屏对应的指令,让它能够显示中间数据以及系统状态。
图2-1系统设计结构图
Pig2-1systemdesignstructure
2.3主要器件介绍
2.3.1单片机
单片机也习惯性称为微控制器(MicrocontrolerUnit,MCU),是因为它最早被用在工控领域。
单片机是计算机领域的一个重要分支,它不是处理某一项特定功能的芯片,而是集成了计算机能作为控制器的最核心部分,它是一个简化的计算机系统,能处理运算量不高的情况下的控制核心,它是大规模和超大规模集成电路发展的产物。
作为计算机领域的一个重要分支,单片机凭借体积小,价格便宜,操作方便,迅速占领了大多数电子产品,从使用领域上,单片机大致可以分为通用型/专用型、总线型/非总线型及工控型/家电型。
在单片机发展的历史中,最具有意义的便是INTEL的8051。
在此之后,单片机的发展更是迅速,出现了16位,乃至现在以ARM公司CORTEX作为内核32位单片机。
字长在增加的同时,处理速度也在飞速增长,内部存储空间,寄存器数量,外设种类也在不断发展,当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。
市面上最多的还是ATMEL公司的AT98C52,在AT的专利期限过去后,越来越多的以8051内核的51单片机如雨后春笋般发展。
我国具有自主研发能力的南通国芯微电子的宏晶STC系列,具有有点突出的并且兼容传统51单片机的特点,迅速成为了全球最大的8051系列单片机供应商。
STC12C5A60S2是STC公司推出的一款功耗较低、抗干扰性好、性能强的COMS8bit微控制器。
是宏晶公司推出的一款1T系列单片机,单时钟/机器周期,时钟频率进入单片机后默认不分频,并且指令代码完全兼容传统8051。
具有60K程序空间,以及1280Byte的SRAM和1KBE2PROM。
STC12C5A60S2使用了传统的MCS-51内核,但具备了一般传统8051单片机不具有的功能,速度的提升、存储空间的增加和更多的寄存器数量。
在单个芯片上,集成了一个8bit的CPU和可编程的FLASH,正是因为这个原因,使得STC12C5A60S2在嵌入式控制系统领域中占有一席之地。
具有以下标准功能:
8KByte的Flash,12802ByteRAM,44位准双向I/O口,并且集成了看门狗定时器,以及内置1KBE2PROM,MAX810复位电路,外部掉电检测电路,内部R/C振荡器,4个16位定时器/计数器,3个时钟输出口,7个外部中断,两路PWM(脉宽调制输出)/PCA(可编程计数器阵列),8路10位精度ADC,工作频率在0~35MHz(相当于普通8051的0~420MHz),无需专用编程器和仿真器便可实现ISP和IAP,通用全双工异步串行口,由于STC12系列是高速的8051,可再用定时器或者PCA软件实现多串口。
为了在系统空闲时最大限度的节省功耗,STC12C5A60S2可以选择两种工作模式,分别是空闲模式和节电模式,当运行在空闲模式时:
CPU停止工作,允许RAM、定时/计数器、串口、中断工作。
当运行在掉电保护工作模式下时:
RAM中的内容被保存,RC振荡器暂停工作,单片机正在处理的数据将暂停运行,单片机和外设之间的中间数据在RAM中缓存,下次唤醒时继续处理未处理完的数据,唤醒方式有:
外部中断或硬件复位,此时的功耗下降至最低。
而且这款单片机的CUP分频速率也可以根据需要自由选择。
该芯片具有PDIP、TQFP、LQFP和PLCC等多种封装,以适应不同情况的需求。
其结构框图如图2-2所示:
图2-2STC12C5A60S2结构框图
Pig2-2STC12C5A60S2structureblockdiagram
图2-3STC12C5A60S2LQFP封装引脚排列
Pig2-3LQFPSTC12C5A60S2packagepinarray
1.多功能I/O口
STC12C5A60S2共有四个8位的并行I/O口:
P0、P1、P2、P3端口,以及零散的P4口,它们对应的引脚分别是P0.0~P0.7,P1.0~P1.7,P2.0~P2.7,P3.0~P3.7,共38根I/O线。
每根线可以单独用作输入或输出。
①P0端口,该口既可以作为普通的输入/输出口,在系统扩展外部存储器的时候输出低8位的地址,当P0口用作输I/O口时,此时是一个8位的准双向口,内部存在弱上拉(传统8051单片机P0口是开漏结构,需要外接上拉电阻),无需外接上拉电阻。
当P0作为Address/Data复用总线使用时,是低8位地址线。
②P1端口,该口是带有内部上拉电阻的8位准双向I/O端口,可位寻址,P1口也是结构最单一,用途最单一,复位时表现为高电平,可驱动4个LSTTL负载。
仅能作为普通的数据输入或输出用,内部结构如下:
输出的信息只能是内部总线的信息,当内部总线为0时,MOS管被导通,引脚电平被拉到GND上,对外表现出低电平。
当内部总线为高电平时,MOS管被截止,但是由于内部上拉电阻的作用,引脚被上拉到VCC,对外表现为高电平。
当P1口作为输入时,需要内部总线向锁存器写高电平,将MOS管截止,引脚上输入电平才能被送到三态缓冲器的输入端,再给三态门一个读信号,引脚上的电平状态就会通过三态门进入内部总线。
如图2.3.3:
图2-4STC12C5A60S2P1口锁存器和缓存器结构
Pig2-412C5A60S2P1portlatchandbufferstructure
P1口具有第二功能,如表2-1。
表2-1P1口管脚第二功能
Table2-1P1mouthpinsecondfunction
端口引脚
第二功能
P1.0/ADC0/CLKOUT2
ADC输入通道0;独立波特率发生器的时钟输出
P1.1/ADC1
ADC输入通道1
P1.2/ADC2/ECI/RXD2
ADC输入通道2;PCA计数器的外部脉冲输入脚;第二串口数据接收端
P1.3/ADC3/CCP0/TXD2
ADC输入通道3;外部信号捕获、高速脉冲输出及PWM输出;第二串口数据发送端
P1.4/ADC4/CCP1/SS
ADC输入通道4;外部信号捕获、高速脉冲输出及PWM输出;SPI同步串行接口的从机选择信号
P1.5/ADC5/MOSI
ADC输入通道4;SPI同步串行接口的主出从入
P1.6/ADC6/MISO
ADC输入通道5;SPI同步串行接口的主入从出
P1.7/ADC7/SCLK
ADC输入通道5;SPI同步串行接口的时钟信号
③P2端口,该口是带有内部上拉电阻的8位准双向I/O端口,可位寻址,复位时输出高电平,在系统扩展时又可以作为高8位地址总线使用。
作为输出时:
可驱动4个LSTTL负载。
当内部总线为0时,MOS管被导通,引脚电平被拉到GND上,对外表现出低电平。
当内部总线为高电平时,MOS管被截止,但是由于内部上拉电阻的作用,引脚被上拉到VCC,对外表现为高电平。
当P1口作为输入时,需要内部总线向锁存器写高电平,将MOS管截止,引脚上输入电平才能被送到三态缓冲器的输入端,再给三态门一个读信号,引脚上的电平状态就会通过三态门进入内部总线。
见下图2-5。
图2-5C12C5A60S2P2口锁存器和缓存器结构
Pig2-5STC12C5A60S2P2portlatchandbufferstructure
④P3端口,该口是带有内部上拉电阻的8位双向I/O端口,当做普通输入/输出口时,使用方法和P1、P2类似,可驱动4个LSTTL负载。
当系统需要扩展外部器件时,P3口作为第二功能使用。
如表2-2所列。
图2-6TC12C5A60S2P1口锁存器和缓存器结构
Pig2-6STC12C5A60S2P1latchandbufferstructure
表2-2端口引脚与复用功能表
Table2-2P3portpinandmultiplexingfunctiontable
端口引脚
复用功能
P3.0/RXD
UART串行数据输入
P3.1/TXD
UART串行数据输出
P3.2/INT0
外部中断0输入
P3.3/INT1
外部中断1输入
P3.4/T0/INT/CLKOUT0
定时器/计数器0的外部输入;定时器0下降沿中断;定时器/计数器0的时钟输出
P3.5/T1/INT/CLKOUT0
定时器/计数器1的外部输入;定时器1下降沿中断;定时器/计数器1的时钟输出
P3.6/WR
外部数据存储器写脉冲
P3.7/RD
外部数据存储器读脉冲
当不主动设置P3端口各位的第二功能,则P3端口线自动处于第一功能状态。
当需要使用特定的第二功,其他的引脚做普通I/O口使用时,不能对P3口进行字节操作。
⑤P4端口,增强型STC12C5A60S2单片机P4口的访问,如同访问常规的P1/P2/P3口,并且均可位寻址,P4口的地址在C0H,但是标准的REG52头文件中并没有P4口的声明,所以在使用P4口的时候需要在#include下一行声明特殊功能寄存器sfrP4=0XC0;然后P4口就可以和普通IO口一样进行字节操作或者位操作。
对于P4口的第二功能,需要设置相关的寄存器,将寄存器置位,就可以将P4特定的引脚设置成特定的功能。
在这次设计中,普通的四组IO口已经够用,不需要使用P4口的第二功能,所以不再详述。
根据4组8位I/O口的结构,可按照需要确定各自的范围。
当在一些复杂的系统中,用P0和P2组成16位地址总线,而P3口则因为它特有的第二功能,经常用作传输和控制用,最终只有P1口作为普通的输入/输出口。
2.RST复位输入脚(4脚)
在振荡器运行时,在复位脚上给两个机器周期的高电平将会使其单片机复位。
在复位电路中,根据时间常数 =RC,电容一般为10uf,电阻为10K,需要的时间为10K*10uf=0.1S,在复位时,电容器充电,两端电压在0~3.5V增加,电阻在5V~1.5V之间减少。
而单片机晶振频率一般为12M,即时钟周期为1/12s,这款增强型的8051单片机是1T,所以不需要对时钟频率分频,则机器周期=时钟周期=12us,远小于电容和电阻的时间常数,所以开机时,单片机会复位。
当复位按键按下时,电容被短路,RET脚被VCC拉高,所以会出现两个机器周期以上的高电平时间,单片机也会复位。
3.地址锁存和ROM编程脉冲输入引脚(27脚)
ALE/PROG为高电平时为地址锁存允许控制信号;为低电平时为对内部ROM编程脉冲输入端。
在系统扩展时,ALE用来锁存P0口的地址,进而隔离低位地址和数据。
当系统中未使用外部存储器时,ALE脚也会有六分之一的固定频率输出,因此可作为外部时钟或外部定时脉冲使用。
4.时钟震荡输入XTAL1、XTAL2信号
外接晶振引脚。
当使用芯片内部时钟时,这两个脚用于外接石英晶振和两个小电容,从而提供震荡频率;当使用外部时钟时,用于接外部时钟脉冲信号。
2.3.2LCD12864显示模块
液晶(LiquidCrystal,简称LC)是一种20世纪前后使用广泛的一种轻薄的显示技术。
人们熟悉的物质状态(又称相)为气、液、固,较为生疏的是电浆和液晶(LiquidCrystal,简称LC)。
液晶相要具有特殊形状分析组合始会产生,它们可以流动,又拥有结晶的光学性质。
而液晶的组成物质是一种有机化合物,即以碳元素为核心所构成的一种化合物,同时又具有两种物质的液晶,是以分子间力量而组合的,它们的特殊光学性质和对电磁场敏感特性极有使用价值。
液晶显示(LCD)具有功耗较低、体积较小、重量轻、超薄等许多其他显示器的特点,近几年来被广泛用于单片机控制的智能仪器、仪表和低功耗电子产品中。
本设计使用的点阵式LCD不仅可以显示字符、数字,还可以显示各种图形及汉字,并且可以实现屏幕上下左右滚动,动画等功能,用途十分广泛。
本系统采用液晶显示模块LCD12864,为单色LCD。
屏幕分为两半控制,控制引脚为CS1和CS2,数据通过移位寄存器输入。
为了方便编程,选用液晶屏模块时选用了带字库的液晶屏,使用时不需要对汉字进行取模,直接以汉字字符或汉字字符串的形式编写程序就行。
一共20个管脚,定义如下:
表2-3STC12C5A60S2P1latchandbufferstructure
Table2-3LCD12864modulepindefinition
编号
名称
引脚说明
编号
名称
引脚说明
1
GND
电源负极
11
DB4
串行数据
2
VCC
电源正极
12
DB5
串行数据
3
V0
对比度
13
DB6
串行数据
4
RS
指令/数据
14
DB7
串行数据
5
R/W
读/写
15
PSB
传输方式
6
E
使能
16
NA
空脚
7
DB0
串行数据
17
RESET
复位
8
DB1
串行数据
18
VOUT
电压输出
9
DB2
串行数据
19
BLA
背光正极
10
DB3
串行数据
20
BLK
背光负极
2.3.3HC-SR04超声波传感器
超声波测距模块可以提供2CM~400CM的非接触式距离感测功能,测距精度在3mm左右,模块内含超声波发射器、接收器与控制电路。
基本原理是在TRIG引脚上给10US的高电平,然后会自动发出一组特定频率的超声波,当遇到障碍物时,声波反射后会检测到回声,ECHO脚会产生高电平。
ECHO脚表现出的高电平时间就是两倍的到障碍物的距离。
即距离=(高电平时间*声速)/2,电气特性如表2-4。
表2-4HC-SR04超声波模块引脚定义
Table2-4HC-SR04ultrasonicmodulepindefinition
参数
超声波模块特性
电压
5VDC
声波频率
40Hz
最小角度
15°
触发信号要求
10US以上的TTL脉冲
输出回响信号
输出TTL电平信号,与距离成正比
2.3.4L298N电压驱动芯片
L298是意法半导体ST公司生产的一款大电流大电压的电机驱动芯片。
内部含有两个H桥的高电压大电流半桥式非反相驱动器,可以直接用它驱动直流电机或步进电机,采用逻辑信号控制的方法,控制四个信号引脚的高低电平便可以决定电流输出的方向。
并且含有两个使能端,方便用户调节PWM时控制。
对于H桥的解释就是利用三极管或者MOS管的开关作用,示意图如2-7所示。