《基于两片单片机的智能多功能循迹小车项目设计》由会员分享,可在线阅读,更多相关《基于两片单片机的智能多功能循迹小车项目设计(49页珍藏版)》请在金锄头文库上搜索。
1、智能多功能循迹小车项目设计报告-振勇电子实验室-联系 QQ:8208974431基于两片基于两片 51 单片机的智能多功能循单片机的智能多功能循迹小车的项目设计迹小车的项目设计项目作者:戚振勇设计时间:2012/2/012012/2/26设计地点:振勇电子实验室(日照)联系 QQ:820897443智能多功能循迹小车项目设计报告-振勇电子实验室-联系 QQ:8208974432目录目录封面- -1目录-2一、摘要-4二、总设计方案2.1 硬件方面 -52.2 软件方面-5三、硬件模块设计3.1 51 单片机 STC89C52-63.2 18B20 温度传感器-93.3 12864(带中文字库)
2、液晶-103.4 ISD4002120P 语音芯片-173.5 无线发射电路-203.6 光电循迹电路-213.7 电机驱动-21四、程序设计4.1 录音程序设计-214.2 总程序设计-22五 系统测试与结论-23附录一(录音程序)- -24 附录二(总程序详解)-29智能多功能循迹小车项目设计报告-振勇电子实验室-联系 QQ:8208974433目录目录智能多功能循迹小车项目设计报告-振勇电子实验室-联系 QQ:8208974434一、摘要一、摘要这个项目是本人挑战自我的一次大胆尝试,设计意图顺应现在电子产品向多功能化发展的趋势,为以后从事电子行业积累经验。单个功能的项目已经不能适应科技高
3、速发展的现代社会了,本项目包括了:智能语音报时万年历、智能语音温度计、液晶显示、智能循迹小车、无线遥控等功能。目的在于挑战自己应对复杂电路及多功能项目的能力,对该项目的具体生活意义不作过多考虑。 。 STC89C5218B20 温 度传感器1307 时钟 芯片独立按键12864 液晶显 示ISD4002-120 语音芯片L298N 电机 驱动系统设计图系统设计图TDA2030 功放 电路3W 扬声器STC89C52光电循迹电 路 IRF420遥控电路四个减速 电机智能多功能循迹小车项目设计报告-振勇电子实验室-联系 QQ:8208974435二、总体设计方案二、总体设计方案2.1 硬件方案硬件
4、方案本设计的目的在于锻炼多个模块的协调性,以及设备的先进性,故在显示方面用了技术含量较高的 12864 显示,受体积限制,温度传感器采用了体积较小的 18B20,时钟芯片用了DS1307,这两个芯片不仅体积小,而且占用单片机资源较小,18B20 采用单总线通讯协议,只占用 1 个 I/O 口,DS1307 采用I2C 通讯协议,只占用 2 个 I/O 口。在硬件连接方面,为了减少插线和体积,将各个系统焊在了同一个板上,并在各个位置焊接了指示灯,便于调试和处理问题。电机驱动电路放在了车底部,降低了电路的复杂程度。使之能更稳定的工作。语音模块采用 ISD4002-120p,录放时间长达两分钟,在给
5、语音芯片录音的时候确实费了不少劲,网上很多的电路根本不能把声音录进去,要么就是录进去了声音很杂。经过我近一周的努力,终于找到了一个好的方法,并设计了一个放大增益较大,噪声较小的电路(稍后会给出) ,完美的解决了语音芯片音质差的问题,士气大增。在音响放大电路方面,网上很多资料都用LM380 做放大,经过我的实际试验,LM386 的放大增益太小,根本不能把声音完整的播放出来,所以我采用了 TDA2030 作为音响驱动,放大增益 20dB。 (反馈比例为 4.7:150)2.2 软件方面软件方面智能多功能循迹小车项目设计报告-振勇电子实验室-联系 QQ:8208974436总体思想是将 18B20
6、的温度信号和 1307 的时钟信号进行处理,在液晶屏上实时的显示出来。并在遥控按键按下的时候控制语音芯片工作,将时钟信号和温度信号变成声音信号准确的读出来。循迹方面单独用另一块单片机控制,通过传感器送回来的信号分析黑线的位置,进而控制两边的电机的转速(PWM调速) 。整个项目采用 C51 语言编程。三、硬件模块设计三、硬件模块设计3.1 STC89C53RC 单片机单片机 此次温度及设计没有采用使用较为广泛的 AT89C51 系列单片机,而是采用STC89C53RC 单片机控制电路。这一使用增进了我们对不同单片机的了解,为我们熟练掌握各种单片机打下了基础。此款单片机的主要性能如下: 动 增强型
7、 6 时钟/机器周期,12 时钟/机器周期 8051 CPU。动 工作电压:5.5V-3.4V。 动 工作频率范围:0-40MHz,相当于普通 8051 的080MHz。实际工作频率可达48MHz。 动 用户应用程序空间 15K 字节。 智能多功能循迹小车项目设计报告-振勇电子实验室-联系 QQ:8208974437动 片上集成 512 字节 RAM。 动 通用 I/O 口(36 个) ,复位后为:P1/P2/P3/P4 是准双向口/弱上拉,P0 口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口使用时,需加上拉电阻。 动 ISP(在系统可编程)/ IAP(在应用可编程) ,无需
8、专用编程器。可通过串口(P3.0/P3.1)直接下载用户程序,8K 程序 3 秒即可完成一片。 动 EEPROM 功能。 动 看门狗。 动 内部集成 MAX810 专用复位电路(D 版本才有) ,外部晶体 20M 以下时,可省外部复位电路。 动 共 3 个 16 位定时器/计数器。 动 外部中断 2 路,下降沿中断或低电平触发中断,Power Down 模式可由外部中断低电平触发中断方式唤醒。 动 通用异步串行口(UART)。 动 工作温度范围:-40 - +85。 动 封装: PDIP-40。单片机复位电路及晶振电路:单片机复位电路及晶振电路:智能多功能循迹小车项目设计报告-振勇电子实验室-
9、联系 QQ:8208974438晶振电路:晶振电路:复位电路:复位电路:智能多功能循迹小车项目设计报告-振勇电子实验室-联系 QQ:820897443951 单片机单片机 DIP40 封装图封装图3.2 18B20 温度传感器温度传感器温度传感器的种类众多,在应用与高精度、高可靠性的拉斯)公司生产的 DS18B20 温度传感器当仁不让。超小的体积抗干扰能力强,精度高,附加功能强,使得 DS18B20 更受欢电子爱好者来说,DS18B20 的优势更是我们学习单片机技术产品的不二选择。 DS18B20 的主要特征: 动 全数字温度转换及输出。 动 先进的单总线数据通信。 动 最高 12 位分辨率,
10、精度可达土 0.5 摄氏度。 动 12 位分辨率时的最大工作周期为 750 毫秒。动 可选择寄生工作方式。 智能多功能循迹小车项目设计报告-振勇电子实验室-联系 QQ:82089744310动 检测温度范围为55C+125C(67F +257F)。 动 内置 EEPROM,限温报警功能。 动 64 位光刻 ROM,内置产品序列号,方便多机挂接。 动 多样封装形式,适应不同硬件系统。测温部分电路设计:3.312864(带中文字库)液晶部分(带中文字库)液晶部分用户指令集用户指令集1、指令表 1:(RE=0:基本指令集)指令码指令RSR WDB 7DB 6DB 5DB 4DB 3DB 2DB 1D
11、B 0说明执行时 间 (540 KHZ )清除显 示0000000001将 DDRAM 填满“20H” ,并 且设定 DDRAM 的地址计数 器(AC)到“00H”4.6ms智能多功能循迹小车项目设计报告-振勇电子实验室-联系 QQ:82089744311地址归 位000000001X设定 DDRAM 的地址计数器 (AC)到“00H” ,并且将游 标移到开头原点位置;这个指 令并不改变 DDRAM 的内容4.6ms进入点 设定00000001I/DS指定在资料的读取与写入时, 设定游标移动方向及指定显示 的移位72us显示状 态 开/关0000001DCBD=1:整体显示 ON C=1:游标
12、 ON B=1:游标位置 ON72us游标或 显示移 位控制000001S/ CR/ LXX设定游标的移动与显示的移位 控制位元;这个指令并不改变 DDRAM 的内容72us功能设 定00001DLX0 REXXDL=1 (必须设为 1) RE=1: 扩充指令集动作 RE=0: 基本指令集动作72us设定 CGRA M 地 址0001AC 5AC 4AC 3AC 2AC 1AC 0设定 CGRAM 地址到地址计 数器(AC)72us设定 DDRA M 地址001AC 6AC 5AC 4AC 3AC 2AC 1AC 0设定 DDRAM 地址到地址计 数器(AC)72us读取忙 碌标志 (BF )和地 址01BFAC 6AC 5AC 4AC 3AC 2AC 1AC 0读取忙碌标志(BF)可以确 认内部动作是否完成,同时可 以读出地址计数器(AC)的 值0us写资料 到 RAM10D7D6D5D4D3D2D1D0写入资料到内部的 RAM(DDRAM/CGRAM/IRA M/GDRAM)72us读出 RAM 的值11D7D6D5D4D3D2D1D0从内部 RAM 读取资料 (DDRAM/CGRAM/IRAM/G D