基于STC89C52RC单片机的WIFI智能小车设计.docx
- 文档编号:25850801
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:26
- 大小:101.86KB
基于STC89C52RC单片机的WIFI智能小车设计.docx
《基于STC89C52RC单片机的WIFI智能小车设计.docx》由会员分享,可在线阅读,更多相关《基于STC89C52RC单片机的WIFI智能小车设计.docx(26页珍藏版)》请在冰豆网上搜索。
基于STC89C52RC单片机的WIFI智能小车设计
基于STC89C52RC单片机的WIFI智能小车设计
四川信息职业技术学院
毕业设计说明书
设计题目:
基于单片机的WIFI智能小车设计
专业:
应用电子技术
班级:
应电10-1
学号:
1036015
姓名:
指导教师:
二?
一二年十二月三日
四川信息职业技术学院毕业设计任务书
学生
姓名学号1036015班级应电10-1专业应用电子技术
设计题目基于单片机的WIFI智能小车的设计
指导教师姓名职称工作单位及所从事专业联系方式备注
四川信息职业技术学院
设计(论文)内容:
运用单片机、WIFI传输知识设计一个可远程视频监控小车。
完成电路设计方案的选择;单元电路的设计;整机电路的原理分析;电路实物的制作。
功能要求如下:
1.实现用电脑、智能手机对小车进行远程控制。
2.小车摄像头采集视频同步到PC上位机。
3.其他的报警装置。
进度安排:
第5~6周:
消化课题,收集有关资料,选择参考方案;
第7~8周:
确定设计方案并熟悉部分器件的用途;
第9~10周:
划分功能模块,设计单元电路,软件模块设计;
第11~12周:
分析电路原理,完成设计过程,仿真电路(制作实物);撰写论文初稿。
第13~14周:
按毕业论文的各项要求,整理论文;修改、完善论文,检查定稿;制作PPT,准备答辩;
第15~16周:
毕业答辩。
主要参考文献、资料:
[1]张永枫.单片机应用实训教程.北京:
清华大学出版社,2008
[2]刘守义.单片机应用技术.西安:
西安电子科技大学出版社,2007
[3]赵克林.C语言实例教程.北京:
人民邮电出版社,2009
[4]徐玮.C51单片机高效入门.北京:
机械工业出版社,2006
[5]刘建清.从零开始学单片机技术.北京:
国防工业出版社,2006
[6]刘建清.从零开始学单片机C语言.北京:
国防工业出版社,2006
审
批
意
见
教研室负责人:
年月日
备注:
任务书由指导教师填写,一式二份。
其中学生一份,指导教师一份
摘要1
第1章论述2
第2章方案论证及选择4
2.1总体设计方案4
2.1.1整机系统4
2.1.2整机工作原理5
2.2系统方案的选择与比较5
第3章硬件电路设计6
3.1DB120-WG无线路由器6
3.1.1刷机固件介绍6
3.1.2刷机步骤7
3.2单片机最小系统设计9
3.2.1主控制芯片89C529
3.2.2STC89C52RC单片机最小系统11
3.2.389C52单片机的使用13
3.3电机驱动电路14
3.3.1电机驱动模块使用14
3.3.2驱动原理及电路图15
3.3.3驱动模块原理及电路原理图15
3.4摄像头介绍16
3.4.1摄像头简介16
3.4.2摄像头的分类17
3.4.3摄像头的工作原理17
3.4.4摄像头的主要结构和组件17
3.5舵机18
3.5.1舵机的控制18
3.5.2舵机的作用19
3.6电源模块19
3.6.1LM78系列集成稳压芯片介绍19
3.6.2稳压电路20
3.7路由器及驱动模块供电模块LM259620
3.7.1LM2596系列开关稳压集成电路的主要特性21
3.7.2LM2596构成的可调压电源模块21
3.8灯光、蜂鸣器及电平转换电路设计23
第4章系统程序设计24
4.1系统程序简介24
4.2程序流程图24
4.2.1主程序流程图24
4.2.2串口中断子函数流程图25
4.2.3定时器2中断子函数流程图25
4.2.4避障子函数流程图26
4.2.5寻迹函数流程图26
第5章制作与调试29
5.1系统仿真29
5.1.1常用软件介绍29
5.1.2仿真测试30
5.2实物调试31
结论32
参考文献33
附录1系统设计原理图34
附录2元器件明细表35
附录3源程序36
摘要
WIFI智能小车由电机、小车车体、89C52控制芯片、WIFI收发模块、电机驱动、舵机、电源、摄像头等主要部件以及灯光、蜂鸣器、电平转换等辅助模块构成。
WIFI智能小车利用笔记本或手机等能连接无线路由器的终端智能设备连接到路由器,通过应用软件显示路由器上摄像头上采集到的视频信号,再通过这些智能的终端设备发送控制指令到无线路由器,通过无线路由器将指令传送给单片机进行处理。
然后通过单片机控制电机驱动驱动电机转动、舵机转动,从而实现控制小车的运动及视频采集。
关键词路由器;wifi;智能小车;89C52
第1章论述
现在是一个智能化的时代,各种智能化设备正在逐步替代人为的操作。
随着汽车工业的迅速发展,关于智能汽车的研究也就越来越受人关注。
全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。
设计的WIFI智能小车能够实自动寻迹、避障功能,可程控行驶速度、电脑手机WIFI连接控制行驶及其他的控制方式。
本系统能实现对小车的运动状态进行实时控制。
系统控制灵活、可靠,精度高,可满足对系统的各项要求。
本设计以89C52为控制核心,利用超声波传感器检测道路上的障碍并测量小车与障碍之间的距离,小车通过红外传感器能够的自动避障,通过改变PWM信号的占空比可以控制快慢速行驶,以及自动停车,自动寻迹等功能。
通过对本小车研究,我们可以初步构建智能汽车的模型与理论基础。
对于智能汽车的研究,国内外都有很大的成就,谷歌的无人驾驶汽车,已经能够在高速公路上安全行驶数千公里,在高速行驶下都能有这么好的操控能力,无非是智能汽车领域的一座里程碑。
对于智能泊车系统,现在也已经进入了民用领域,很多车型也装配了该系统,有了他,汽车用超声波传感器扫描路面两侧,通过比较停车的空间和车辆的长度,自动寻找合适的停车位。
找到合适位置后,驾驶者只需控制刹车,车辆自动控制转向操作,即可将车停进停车位,并且液晶屏会有相应的显示。
本设计选用的89C52单片机属于MCS-51系列单片机,由Intel公司开发,其结构是8048的延伸,改进了8048的缺点,具有指针、布尔代数运算等指令,以及串行通信能力和5个中断源。
采用40引脚双列直插式DIP。
其内部有128个RAM单元及4K的ROM。
89C52有两个16位定时计数器,两个外中断,三个定时计数中断,及一个串行中断,并有4个8位并行输入口。
89C52内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用22.1184MHz的晶振频率。
由于89C52的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故用来作为控制核心。
新一代单片机为外部提供了相当完善的总线结构,为系统的扩展与配置打下了良好的基础。
本设计主要研究内容就是基于89C52设计一部WIFI智能小车,小车能够实现自动循迹,自动避障,超声波测量距离。
WIFI遥控的智能小车控制系统,包括了对驱动电路,红外通讯以及无线视频通信等的探索和研究。
本项目文主要从小车设计方案的选取、硬件设计、软件设计、测试结果方面进行主要论述。
我们在第3章主讲单片机与路由器的设计,包括了单片机最小系统的电路设计对路由器进行刷机处理;整个小车的一个供电电源的设计,需要通过电源给整个系统供12V、8V、5V等几个电压;电机的驱动模块,详细的说明了电机驱动的原理,视频信号的采集;第4章程序的设计给出了程序整体的流程图及编写思想;第5章调试简述整机的每个模块调试及方法。
第2章方案论证及选择
2.1总体设计方案
WIFI智能小车需要由WIFI模块、电机驱动模块、核心控制模块、摄像头模块等构成。
2.1.1整机系统
如图2-1所示。
项目系统包括路由器、单片机最小系统、电机驱动电路、电机、电平转换电路、电源电路、舵机、摄像头、蜂鸣器电路、灯光电路等。
路由器用于接收电脑等终端设备发送的指令和将摄像头采集到的视频信号传送到电脑等终端设备;单片机最小系统是整个小车的控制核心,控制着各个模块统一协调工作;电机驱动电路用于驱动电机转动,可以使电机产生正转、反转,从而使车体产生前进、后退、转弯等动作;电机的作用就是使整个车体运动;电平转换电路是将路由器输出的3.3V串口电平转换为单片机能判断的高低电平;电源电路作用是为整个小车系统共电;舵机制作成云台,然后装上摄像头,使摄像头可实现上下、水平方向180度旋转调节;摄像头用于采集视频信号;蜂鸣器电路用于报警提示;照明电路为小车在夜间行驶提供照明。
2.1.2整机工作原理
由电脑终端,通过WIFI无线网络连接到路由器,再通过电脑应用软件,向路由器发送控制命令及数据。
路由器接收到数据后通过内部的串口发送软件,将接收到的命令和数据,通过路由器串口发送到89C52单片机的串口端,单片机接收到这些命令后执行相应的指令,如:
驱动小车运动、舵机运动、蜂鸣器鸣叫、照明电路的开关等。
视频信号,通过摄像头采集之后通过路由器发送到电脑终端,并在其应用软件中显示摄像头采集到的视频信号。
2.2系统方案的选择与比较
方案一:
选择网上已经经过改装过的wifi小车专用的TP?
LINKWR703N无线路由器做为我们wifi小车的wifi连接模块,使用MSP430g2553单片机作为wifi小车的控制芯片。
自己再够买元器件,自己搭接电源、驱动电路及单片机最小系统。
方案二:
利用网上大家公认做wifi小车较好的大亚db120-wg无线路由器,作为我们的wifi智能小车的wifi连接模块,使用我们教学用的51系列单片机89C52做为我们wifi智能小车的控制芯片。
利用手里面现有的一些电源、驱动等模块等制作我们的wifi智能小车。
方案选择:
基于我们对成本和制作性的考虑我们选取的是方案二。
第3章硬件电路设计
3.1DB120-WG无线路由器
路由器如图3-1:
路由器内部如图3-2所示。
3.1.1刷机固件介绍
固件wifi-robots-openwrt-RG100A_DB120-cfe固件说明:
1、Ser2net已设置开机启动
2、mjpg_streamer开机启动。
摄像头只有2种驱动,uvc和301,目前开机mjpg_streamer缺省启动了301摄像头,301摄像头无需设置直接跳到第3步,uvc需要修改下即可ssh登陆后,vietc/init.d/wificar,找到摄301像头参数mjpg_streamer-b-i"input_uvc.so-r640x480-f30"-o"output_http.so-p8080-w/web"修改为uvc参数mjpg_streamer-b-i"input_uvc.so-r352x288-f15-y"-o"output_http.so-p8080-w/web"然后在putty命令行下输入chmod777/etc/init.d/wifirobot更改属性输入/etc/init.d/wificarenable启动该配置文件重启路由器,301摄像头设置完成。
3、支持Luci/web管理,错误设置后不能进入的,可以长按复位键回初始模式
4、网络设置,目前是AP模式,IP:
192.168.1.1。
3.1.2刷机步骤
1、网线连接电脑和路由器的LAN1(靠近电源那个网口,升级只能使用此口,有的版本丝印不是LAN1,反正记住靠近电源的那个口即可),电脑IP设置为
192.168.1.169/255.255.255.0,192.168.1.1;设置完成点击网络邻居,选择属性,选择升级用的有线网口,右键点修复。
2、用USBTTL线接好路由的GND、RXD、TXD三条线(VCC电源千万别接,会烧路由),打开putty,选好端口号,端口号请查看电脑设备管理器,设置波特率为115200,点击下面的Open。
3、路由器通电,接线且设置正确的话,putty窗口应该出现路由器的信息,在通电3秒内,按下键盘的回车键,阻止路由器CFE启动,这时候应出现CFE。
4、输入小写ea,ea之间有个回车键,然后再按下y,点击回车,路由器开始擦除清除原系统固件。
清除之后,路由会持续输出很多命令行,且不会停止,我们不用管,关掉路由电源。
5、重新打开路由电源,和第四步一样,通电3秒内按下回车键阻止CFE继续启动打开浏览器,输入192.168.1.1,应看到上传固件的的选择文件,putty窗口也会出现路由器升级进度信息,此时千万不要断电,理论上此时断电会刷坏路由器,升级完成后,耐心等待5分钟,路由器会自动重启。
6、等待路由启动后,等待几分钟再次重启一次路由,打开网页192.168.1.1,输入密码登陆进入路由器的设置,将路由器的无线网络开启,只有这样电脑等终端设备才能通过wifi信号和路由器连接。
7、用putty登陆路由,转到/etc/init.d/目录,可以看到一个ser2net.conf文件,打开它可以看到路由串口的配置信息,默认配置的波特率是9600,8位数据位,1位停止位,无校验位。
完成之后需要设定mjpg-streamer和ser2net随机启动,不然没法正常工作。
8、由于我使用的摄像头是301芯片的,在电脑上显示会花屏,所以还需要对脚本进行修改,其操作步骤如下:
具体步骤:
a、登陆路由器:
telnet192.168.1.1IP地址根据你的路由器实际地址而定。
b、编辑脚本/etc/init.d/wificar:
#vi/etc/init.d/wificar(在START80后面增加一行killallmjpg_streamer,修改后的脚本看下面内容。
)
#!
/bin/sh/etc/rcmon
START80
killallmjpg_streamer
start
mjpg_streamer-b-i"input_uvc.so-r640x480-f15"-o"output_http.so?
p8080-w/web"
#mjpg_streamer-b-i"input_uvc.so-r352x288-f15-y"-o"output_http.
so-p8080-w/web"
ser2net
stop
killallmjpg_streamer
killallser2net
c、保险起见,修改wificar脚本权限。
#chmod-777
d、重启路由器。
#sync;sync;reboot
9、插上301芯片的摄像头,在电脑上打开我们的一个wifi小车的控制界面软件,选择wifi控制模式,然后打开视频,这时我们可以看到一个稳定视频信号通过路由器无线传送到了我们的电脑终端,至此说明我们路由器刷机及其配置完成。
3.2单片机最小系统设计
最小系统主控芯片是宏晶公司MCS-51系列单片机中的89C52。
3.2.1主控制芯片89C52
89C52是宏晶公司MCS-51系列单片机中基本的产品,它采用ETC公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。
它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于80C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。
89C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出I/O口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。
此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。
在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。
掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。
89C52有PDIP40pin和PLCC44pin两种封装形式。
主要功能特性:
1、标准MCS-51内核和指令系统。
2、32个双向I/O口。
3、3个16位可编程定时/计数器。
4、向上或向下定时计数器。
5、6个中断源。
6、全双工串行通信口。
7、?
帧错误侦测。
8、?
自动地址识别。
9、空闲和掉电节省模式。
10、片内8kROM(可扩充64kB外部存储器)。
11、256x8bit内部RAM(可扩充64kB外部存储器)。
12、时钟频率3.5-12/24/33MHz。
13、改进型快速编程脉冲算法。
14、5.0V工作电压。
15、布尔处理器。
16、4层优先级中断结构。
17、兼容TTL和CMOS逻辑电平。
18、PDIP40和PLCC44封装形式。
管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口作为STC89C52的一些特殊功能口,管脚备选功能:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
振荡电路:
外接石英晶体或者陶瓷谐振器以及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。
为了使装置能够被外部时钟信号激活,XATL1应该有效,而XTAL2应该被悬空。
由于输入到内部的时钟信号电路通过了一个二分频的信号,外部信号的工作周期比没有别的要求,但是最大值和最小值的大小可以在数据表上观察出来。
当正常工作时,外部振荡器可以计算出XTAL1上的电容,最大可达到100pF。
这是由于振荡器电容和反馈电容之间的相互作用。
当外部信号是标准高电平或者低电平时,电容不会超过20pF。
空置模式:
用户的软件都可以调用空置模式。
当单片机出于这种模式,耗能就会自然降低。
特殊功能端和板子上的随机存储器在空置状态保持各自的电平。
但是处理器阻止装置执行指令。
空置模式会被激活如果端口处于复位状态或者中断系统有效。
3.2.2STC89C52RC单片机最小系统STC89C52RC单片机最小系统的基本工作电路包括电源电路、时钟电路和复位电路。
其组成方框图如图3-3所示。
图3-3单片机最小系统组成方框图
1.电源电路
电源电路模块为单片机最小系统和其他功能模块提供标准的+5V电源电压。
2.时钟电路
单片机的时钟信号为单片机芯片内部的各种操作提供时间基准,时钟电路为单片机产生时钟脉冲序列。
作为单片机工作的时间基准,典型的晶体振荡频率为12MHz。
MCS-51系列单片的时钟信号可以由两种方式产生:
一种为内部时钟方式,利用芯片内部的振荡电路;另一种为外部时钟方式。
其两种电路如图3-4所示。
(a)内部时钟方式(b)外部时钟方式
图3-4单片机时钟信号示意图
3.复位电路
单片机复位是使CPU和系统中的其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。
当在MCS-51系列单片的RST引脚处引入高电平并保持2个机器周期,单片机内部就执行复位操作。
单片机常见的复位电路有两种基本形式:
一种是上自动电复位,另一种是手动复位。
其两种电路方式如图3-5(a)、(b)所示。
由于STC89C52RC单片机芯片内有时钟振荡电路,所以此系统单片机均采用内部时钟方式。
只需在单片机的XTAL1和XTAL2引脚外接石英晶体和微调电容,就构成了自激振荡器并在单片机内部产生时钟信号脉冲信号。
同时,也采用手动复位电路。
其具体电路设计如图3-6所示。
(a)上电自动复位(b)手动复位
图3-5单片机复位电路示意图
在此图中,C1、C2电容的作用的是稳定频率和快速起振,其值为5~30pF,在此选择30pF;晶振X1的振荡频率范围在3.5~33MHz之间选择,因为需要使用串通讯涉及波特率,所以在此选择22.1184MHz。
3.2.389C52单片机的使用
本次设计,使用到了89C52单片机的I/O口的输入输出功能、内部定时器T0、T1、T2的使用及串口中断、外部中断。
图3-6单片机最小系统电路图
89C52单片机的I/O口的输入功能用于传感器信号的输入处理。
通过单片机对外部传感器的信号采集处理,从而对外部条件进行判断以确定小车下一步的运行状态。
89C52单片机的I/O口信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STC89C52RC 单片机 WIFI 智能 小车 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)