ImageVerifierCode 换一换
格式:DOCX , 页数:65 ,大小:374.30KB ,
资源ID:4444145      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4444145.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于两片单片机的智能多功能循迹小车项目设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于两片单片机的智能多功能循迹小车项目设计.docx

1、基于两片单片机的智能多功能循迹小车项目设计基于两片51单片机的智能多功能循迹小车的项目设计项目作者:戚振勇设计时间:2012/2/012012/2/26设计地点:振勇电子实验室(日照)联系QQ:820897443封面- -1目录-2一、摘要-4二、总设计方案2.1 硬件方面 -52.2软件方面-5三、硬件模块设计3.1 51单片机STC89C52-63.2 18B20温度传感器-93.3 12864(带中文字库)液晶-103.4 ISD4002120P语音芯片-173.5 无线发射电路-203.6 光电循迹电路-213.7 电机驱动-21四、程序设计4.1 录音程序设计-214.2 总程序设计

2、-22五 系统测试与结论-23附录一(录音程序)- -24附录二(总程序详解)-29一、摘要这个项目是本人挑战自我的一次大胆尝试,设计意图顺应现在电子产品向多功能化发展的趋势,为以后从事电子行业积累经验。单个功能的项目已经不能适应科技高速发展的现代社会了,本项目包括了:智能语音报时万年历、智能语音温度计、液晶显示、智能循迹小车、无线遥控等功能。目的在于挑战自己应对复杂电路及多功能项目的能力,对该项目的具体生活意义不作过多考虑。 。 系统设计图二、总体设计方案2.1硬件方案本设计的目的在于锻炼多个模块的协调性,以及设备的先进性,故在显示方面用了技术含量较高的12864显示,受体积限制,温度传感器

3、采用了体积较小的18B20,时钟芯片用了DS1307,这两个芯片不仅体积小,而且占用单片机资源较小,18B20采用单总线通讯协议,只占用1个I/O口,DS1307采用I2C通讯协议,只占用2个I/O口。 在硬件连接方面,为了减少插线和体积,将各个系统焊在了同一个板上,并在各个位置焊接了指示灯,便于调试和处理问题。电机驱动电路放在了车底部,降低了电路的复杂程度。使之能更稳定的工作。 语音模块采用ISD4002-120p,录放时间长达两分钟,在给语音芯片录音的时候确实费了不少劲,网上很多的电路根本不能把声音录进去,要么就是录进去了声音很杂。经过我近一周的努力,终于找到了一个好的方法,并设计了一个放

4、大增益较大,噪声较小的电路(稍后会给出),完美的解决了语音芯片音质差的问题,士气大增。在音响放大电路方面,网上很多资料都用LM380做放大,经过我的实际试验,LM386的放大增益太小,根本不能把声音完整的播放出来,所以我采用了TDA2030作为音响驱动,放大增益20dB。(反馈比例为4.7:150)2.2 软件方面 总体思想是将18B20的温度信号和1307的时钟信号进行处理,在液晶屏上实时的显示出来。并在遥控按键按下的时候控制语音芯片工作,将时钟信号和温度信号变成声音信号准确的读出来。循迹方面单独用另一块单片机控制,通过传感器送回来的信号分析黑线的位置,进而控制两边的电机的转速(PWM调速)

5、。整个项目采用C51语言编程。三、硬件模块设计3.1 STC89C53RC单片机 此次温度及设计没有采用使用较为广泛的AT89C51系列单片机,而是采用STC89C53RC单片机控制电路。这一使用增进了我们对不同单片机的了解,为我们熟练掌握各种单片机打下了基础。此款单片机的主要性能如下: 增强型6时钟/机器周期,12时钟/机器周期 8051 CPU。 工作电压:5.5V-3.4V。 工作频率范围:0-40MHz,相当于普通8051的080MHz。实际工作频率可达48MHz。 用户应用程序空间15K字节。 片上集成512字节RAM。 通用I/O口(36个),复位后为:P1/P2/P3/P4是准双

6、向口/弱上拉,P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口使用时,需加上拉电阻。 ISP(在系统可编程)/ IAP(在应用可编程),无需专用编程器。可通过串口(P3.0/P3.1)直接下载用户程序,8K程序3秒即可完成一片。 EEPROM 功能。 看门狗。 内部集成MAX810 专用复位电路(D 版本才有),外部晶体20M 以下时,可省外部复位电路。 共3个16位定时器/计数器。 外部中断2 路,下降沿中断或低电平触发中断,Power Down 模式可由外部中断低电平触发中断方式唤醒。 通用异步串行口(UART)。 工作温度范围:-40 - +85。 封装: PDIP-40

7、。单片机复位电路及晶振电路:晶振电路: 复位电路:51单片机DIP40封装图3.2 18B20温度传感器温度传感器的种类众多,在应用与高精度、高可靠性的拉斯)公司生产的DS18B20温度传感器当仁不让。超小的体积抗干扰能力强,精度高,附加功能强,使得DS18B20更受欢电子爱好者来说,DS18B20的优势更是我们学习单片机技术产品的不二选择。 DS18B20的主要特征: 全数字温度转换及输出。 先进的单总线数据通信。 最高12位分辨率,精度可达土0.5摄氏度。 12位分辨率时的最大工作周期为750毫秒。 可选择寄生工作方式。 检测温度范围为55C+125C(67F +257F)。 内置EEPR

8、OM,限温报警功能。 64位光刻ROM,内置产品序列号,方便多机挂接。 多样封装形式,适应不同硬件系统。测温部分电路设计:3.3 12864(带中文字库)液晶部分用户指令集1、指令表1:(RE=0:基本指令集)指令指令码说明执行时间(540KHZ)RSRWDB7DB6DB5DB4DB3DB2DB1DB0清除显示0000000001将DDRAM填满“20H”,并且设定DDRAM的地址计数器(AC)到“00H”4.6ms地址归位000000001X设定DDRAM的地址计数器(AC)到“00H”,并且将游标移到开头原点位置;这个指令并不改变DDRAM的内容4.6ms进入点设定00000001I/DS

9、指定在资料的读取与写入时,设定游标移动方向及指定显示的移位72us显示状态开/关0000001DCBD=1:整体显示ONC=1:游标ONB=1:游标位置ON72us游标或显示移位控制000001S/CR/LXX设定游标的移动与显示的移位控制位元;这个指令并不改变DDRAM的内容72us功能设定00001DLX0REXXDL=1 (必须设为1)RE=1: 扩充指令集动作RE=0: 基本指令集动作72us设定CGRAM地址0001AC5AC4AC3AC2AC1AC0设定CGRAM地址到地址计数器(AC)72us设定DDRAM地址001AC6AC5AC4AC3AC2AC1AC0设定DDRAM地址到地

10、址计数器(AC)72us读取忙碌标志(BF)和地址01BFAC6AC5AC4AC3AC2AC1AC0读取忙碌标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值0us写资料到RAM10D7D6D5D4D3D2D1D0写入资料到内部的RAM(DDRAM/CGRAM/IRAM/GDRAM)72us读出RAM的值11D7D6D5D4D3D2D1D0从内部RAM读取资料(DDRAM/CGRAM/IRAM/GDRAM)72us指令表2:(RE=1:扩充指令集)指令指令码说明执行时间(540KHZ)RSRWDB7DB6DB5DB4DB3DB2DB1DB0待命模式0000000001将D

11、DRAM填满“20H”,并且设定DDRAM的地址计数器(AC)到“00H”72us卷动地址或IRAM地址选择000000001SRSR=1:允许输入垂直卷动地址SR=0:允许输入IRAM地址72us反白选择00000001R1R0选择4行中的任一行作反白显示,并可决定反白与否72us睡眠模式0000001SLXXSL=1:脱离睡眠模式SL=0:进入睡眠模式72us扩充功能设定000011X1REG0RE=1: 扩充指令集动作RE=0: 基本指令集动作G=1 :绘图显示ONG=0 :绘图显示OFF72us设定IRAM地址或卷动地址0001AC5AC4AC3AC2AC1AC0SR=1:AC5AC0

12、为垂直卷动地址SR=0:AC3AC0为ICON IRAM地址72us设定绘图RAM地址001AC6AC5AC4AC3AC2AC1AC0设定CGRAM地址到地址计数器(AC)72us备注:1、当模块在接受指令前,微处理顺必须先确认模块内部处于非忙碌状态,即读取BF标志时BF需为0,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延迟一段较长的时间,即是等待前一个指令确实执行完成,指令执行的时间请参考指令表中的个别指令说明。2、“RE”为基本指令集与扩充指令集的选择控制位元,当变更“RE”位元后,往后的指令集将维持在最后的状态,除非再次变更“RE”位元,否

13、则使用相同指令集时,不需每次重设“RE”位元。具体指令介绍:1、清除显示CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLLLLH功能:清除显示屏幕,把DDRAM位址计数器调整为“00H”2、位址归位CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLLLHX功能:把DDRAM位址计数器调整为“00H”,游标回原点,该功能不影响显示DDRAM3、位址归位CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLLHI/DS功能:把DDRAM位址计数器调整为“00

14、H”,游标回原点,该功能不影响显示DDRAM功能:执行该命令后,所设置的行将显示在屏幕的第一行。显示起始行是由Z地址计数器控制的,该命令自动将A0-A5位地址送入Z地址计数器,起始地址可以是0-63范围内任意一行。Z地址计数器具有循环计数功能,用于显示行扫描同步,当扫描完一行后自动加一。4、显示状态 开/关CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLHDC B 功能: D=1;整体显示ON C=1;游标ON B=1;游标位置ON5、游标或显示移位控制CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLL

15、LLHS/CR/LX X 功能:设定游标的移动与显示的移位控制位:这个指令并不改变DDRAM的内容6、功能设定CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLHDLX0 REX X 功能:DL=1(必须设为1) RE=1;扩充指令集动作 RE=0:基本指令集动作7、设定CGRAM位址CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLHAC5AC4AC3AC2AC1 AC0功能:设定CGRAM位址到位址计数器(AC)8、设定DDRAM位址CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2

16、DB1 DB0LLHAC6AC5AC4AC3AC2AC1 AC0 功能:设定DDRAM位址到位址计数器(AC)9、读取忙碌状态(BF)和位址CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LHBFAC6AC5AC4AC3AC2AC1 AC0 功能:读取忙碌状态(BF)可以确认内部动作是否完成,同时可以读出位址计数器(AC)的值10、写资料到RAMCODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0HLD7D6D5D4D3D2D1 D0 功能:写入资料到内部的RAM(DDRAM/CGRAM/TRAM/GDRAM)11、读出R

17、AM的值CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0HHD7D6D5D4D3D2D1 D0 功能:从内部RAM读取资料(DDRAM/CGRAM/TRAM/GDRAM)12、 待命模式(12H)CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLLLL H 功能:进入待命模式,执行其他命令都可终止待命模式13、卷动位址或IRAM位址选择(13H)CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLLLH SR 功能:SR=1;允许输入卷动位址 SR=0;允许输入I

18、RAM位址 14、反白选择(14H)CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLLHR1 R0 功能:选择4行中的任一行作反白显示,并可决定反白的与否15、睡眠模式(015H)CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLHSLX X 功能:SL=1;脱离睡眠模式 SL=0;进入睡眠模式16、扩充功能设定(016H)CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLHHX1 REG L 功能:RE=1;扩充指令集动作 RE=0;基本指令集动作 G

19、=1;绘图显示ON G=0;绘图显示OFF17、设定IRAM位址或卷动位址(017H)CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLHAC5AC4AC3AC2AC1 AC0 功能:SR=1;AC5AC0为垂直卷动位址 SR=0;AC3AC0写ICONRAM位址18、设定绘图RAM位址(018H)CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLHAC6AC5AC4AC3AC2AC1 AC0 功能:设定GDRAM位址到位址计数器(AC)显示坐标关系1、图形显示坐标水平方向X以字节单位 垂直方向Y以位为单位2、汉

20、字显示坐标 X坐标Line180H81H82H83H84H85H86H87HLine290H91H92H93H94H95H96H97HLine388H89H8AH8BH8CH8DH8EH8FHLine498H99H9AH9BH9CH9DH9EH9FH 液晶连接图3.4 ISD4002120P语音芯片ISD4002系列语音芯片采用多电平直接模拟存储(hip Corder)专利技术,声音不需要AD转换和压缩,每个采样直接存储在片内的闪烁存储器中避免了AD转换的误差,能够真实、自然地还原语音、音乐及效果声,避免了一般固体和压缩造成的量化噪声和金属声本文所设计的系统使用的芯片型号为ISD4002-12

21、0P,单片录放时间为120s。ISD4002工作于SPI串行接口。SPI协议是一个同步串行数据传输协议,协议假定微控制器的SPI移位寄存器在SCLK的下降沿动作.因此,对ISD4002而言,在时钟上升沿锁存MOSI引脚数据,在下降沿将数据送至MISO引脚。协议具体内容如下: 所有串行数据传输开始于SS下降沿; SS在传输期间必须保持为低电平,在两条指令之间保持为高电平; 数据在时钟上升沿移入,在下降沿移出; SS变低,输入指令和地址之后ISD才开始录放动作; 指令格式是IO位地址码加6位控制码; ISD的任何操作( 含快进) 如果遇到EOM或OVF则产生一个中断, 该中断状态在下一个SPI周期

22、开始时被清除; 使用读指令会使中断状态为移出ISD的MISO引脚时, 控制及地址数据也同步从MOSI移入; 所有操作在运行位( R U N) 置“1”时开始,置“0”时结束;所有指令都在ss上升沿开始执行。 芯片的引脚图如下所示:ISD4002120P设计电路图:录音电路设计:3.5 无线发射电路无线解码接收电路:3.6光电循迹电路在这里我用了1M欧的电阻,符合我的电路特点,网上很多写几十K甚至几K的都不能从实际上应用成功,这就是理论与实际的差距吧。3.7电机驱动电路为了分开单片机与驱动电路,在这里应用了光电耦合器(光耦817),并有四个发光二级管提示驱动方式。3.8电源由于本系统耗电较大,所

23、以采用了分离式供电。即电机驱动和单片机电源分开供电,但是两个电源必须共地。四、程序设计4.1录音程序设计:根据ISD4002的特点,我们设计程序,将0-9等语音信号储存到从0000H开始的地址中。对应关系如下:地址储存语音信号0000H现在时间是0010H现在车速是0020H10030H20040H30050H40060H50070H60080H70090H800A0H900B0H十00C0H点00D0H分00E0H秒00F0H欢迎使用振勇电子产品录音程序详解:见附录一4.2总程序详解:见附录二。五、系统测试与结论经多天艰苦调试,功能已经全部实现了。只是由于程序过于复杂,导致整个系统稳定性不佳,容易出错,还有待于进一步改进。欢迎大家批评指正。共同进步。参考文献:【1】2010年山东大学创新科技大赛智能语音数字温度计技术报告。都洪涛,黄浩龙,卢繁 著。【2】新概念51单片机C语言教程郭天祥著。【3】网友文章:玩转12864。附录一、录音程序详解#include#include#define uchar unsigned char#define uint unsigned intsbit ss=P10;/ss为允许通讯位sbit sclk=P11

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1