关于89c51电动智能小车软件设计的设计与实现的程序

基于单片机的智能电动小车的设计及实现_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于单片机的智能电动小车的设计及实现
&&电动小车的设计及实现
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩2页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
基于AT89C51单片机的智能电动小车设计(毕业论文)
下载积分:900
内容提示:基于AT89C51单片机的智能电动小车设计(毕业论文)
文档格式:DOC|
浏览次数:122|
上传日期: 09:17:00|
文档星级:
全文阅读已结束,如果下载本文需要使用
 900 积分
下载此文档
该用户还上传了这些文档
基于AT89C51单片机的智能电动小车设计(毕业论文)
关注微信公众号洛阳理工学院毕业设计(论文) 显示子程序设计 程序清单如下: xianshi:
mov p1,#0aah
mov p1,#0cch
mov a,limiw
add a,miao
mov p1,#0ddh
mov a,fenmi
add a,fmiao
mov p1,#0eeh
mov a,#0b0h
add a,point
mov p1,#0eeh
mov a,meter
add a,fenzh
mov p1,#0ffh
mov a,shimi
add a,shifn
ret 23 3.2洛阳理工学院毕业设计(论文) 3.3避障子程序设计 程序清单如下:
jb 25h,stop
jnb 22h,youzhuan
jnb 23h,youzhuan
jnb 24h,zuozhuan
jnb 26h,zuozhuan
ajmp jiance zuozhuan:
mov sudu,#05h
acall delaa
mov sudu,#07h
ajmp jiance youzhuan:
mov sudu,#05h
acall delaa
mov sudu,#07h
ajmp jiance
acall delay
jnb 25h,zhangai
mov a,fenmi
mov fenmc,a
mov a,#02h
add a,fenmc
mov fenmc,a
here: cjne a,fenmi,here
acall delaa
ajmp $ 24 洛阳理工学院毕业设计(论文) 3.4软件抗干扰技术 提高玩具车智能控制的可靠性,仅靠硬件抗干扰是不够的,需要进一步借助于软件抗干扰技术来克服某些干扰。在单片机控制系统中,如能正确的采用软件抗干扰技术,与硬件干扰措施构成双道抗干扰防线,无疑为了将大大提高控制系统的可靠性。经常采用的软件抗干扰技术是数字滤波技术、开关量的软件抗干扰技术、指令冗余技术、软件陷阱技术等。 1、数字滤波技术: 一般单片机应用系统的模拟输入信号中,均含有种种噪音和干扰,它们来自被测量本身、传感器、外界干扰等。为了进行准确测量和控制,必须消除被测信号中的噪音和干扰。对于这类信号,采用积分时间等于20ms的整数倍的双积分A/D转换器,可有效的消除其影响。后者为随机信号,它不是周期信号。对于随机干扰,我们可以用数字滤波方法予以削弱或滤除。所谓数字滤波,就是通过一定的计算或判断程序减少干扰在有用信号中的比重。故实质上它是一种程序滤波。数字滤波克服了模拟滤波器的不足,它与模拟滤波器相比 ,有以下几个优点: (!)数字滤波是用程序实现的,不需要增加硬设备,所以可靠性高,稳定性好。 (2)数字滤波可以根据信号的不同,采用不同的滤波方法或滤波参数,具有灵活、方便,功能强的特点。 (3)数字滤波可以对频率很低的信号实现滤波,克服了模拟滤波器的缺陷。 (4)数字滤波器具有以上优点,所以数字滤波在微机应用系统中得到了广泛应用。 2、开关量的软件抗干扰技术: 干扰信号多呈毛刺状,作用时间短,利用这一点,我们在采集某一开关量信号时,可多次重复采集,直到连续两次或两次以上结果完全一致方为有效。若多次采样后,信号总是变化不定,可停止采集,给出报警信号,由于开关量信号主要是来自各类开 关型状态传感器,如限位开关、操作按钮、电气触点等,对这些信号的采集不能用多次平均的方法,必须绝对一致才行。如果开关量信号超过8个,可按8个一组进行分组处理,也可定义多字节信息暂存区,按类似方法处理。在满足实时性要求的前提下,如果在各次采集数字信号之间接入一段延时,效果会好一些,就能对抗较宽的干扰。 输出设备是电位控制型还是同步锁存型,对干扰的敏感性相对较大。前者有良好的抗‘毛刺’干扰能力,后者不耐干扰,当锁存线上出现干扰时,它就会盲目锁存当前的数据,也不管此时数据是否有效。输出设备和惯性(响应速度)与干扰的耐受能力也有很大关系。惯性大的输出设备(如各类电磁执行机构)对‘毛刺’干扰有一定的耐受能力。惯性小的输出设备(如通行口、显示设备)耐受能力就小一些。在软件上,最为有效的方法就是重复输出同一个数据。只要有可能,其重复周期尽可能短些。外设设备接受到一个被干扰的错误信息后,还来不及作出有效的反应,一个正确的信息又来了,就可及时防止错误动作的产生。另外,各类数据锁存器尽可能和CPU安装在同一电路板上,使传输线上传送的都是锁存好的电位控制信号,对于重要的输出设备,最好建立检测通道,CPU可以检测通道来确定输出结果的正确性。 3、指令冗余技术: 25 洛阳理工学院毕业设计(论文) 当CPU受到干扰后,往往将一些操作数当作指令码来执行,引起程序混乱。当程序弹飞到某一字节指令上时,便自动纳入正轨。当弹飞到某一双字节指令上时,有可能落到其操作数上,从而继续出错。当程序弹飞到三字节指令上时,因它有两个操作数,继续出错的机会就更大。因此,我们应多采用单字节指令(NOP)或将单字节指令重复书写,这便是指令冗余。指令冗余无疑会降低系统的效率,但在绝大多数情况下,CPU还不至于忙到不能多执行几条指令的程度,故这种方法还是被广泛采用。 在一些对程序流向起决定作用的指令之前插入两条NOP指令,以保证弹飞的程序迅速纳入正确轨道。在某些对系统工作状态重要的指令前也可插入两条NOP指令,以保证正确执行。指令冗余技术可以减少程序弹飞的次数,使其很快进入程序轨道,但这并不能保证在失控期间不干坏事,更不能保证程序纳入正常轨道后就太平无事了,解决这个问题必须采用软件容错技术。
(压缩) 4p软件陷阱技术: 指令冗余使弹飞的程序安定下来是有条件的。首先,弹飞的程序必须落到程序区;其次,必须执行到冗余指令。所谓软件陷阱,就是一套引导指令,强行将捕获的程序引向一个指定的地址,在那里有一段专门对程序出错进行处理的程序。如果我们把这段程序的入口标号记为 ERR 的话,软件陷阱即为一条无条件转移指令,为了加强其捕捉效果,一般还在它前面加两条 NOP 指令,因此真正的软件陷阱由3条指令构成:
ERR 软件陷阱安排在以下四种地方:
(1)未使用的中断向量区
(2)未使用的大片ROM空间
(3)表格 5、程序区: 由于软件陷阱都安排在正常程序执行不到的地方,故不影响程序执行效率,在当前EPROM容量不成问题的条件下,还是多多益善。 3.5“看门狗”技术
看门狗(Watch Dog Timer,简称为WDT)技术就是最常见的抗干扰技术。看门狗WDT有硬件看门狗和软件看门狗之分,无论是硬件看门狗还是软件看门狗实际上都是一个可清零的定时计数器。如果该定时计数器用MCU芯片外部电路实现,则为硬件看门狗,如果该定时计数器用MCU芯片内部定时器/计数器实现,则称为软件看门狗。本文介绍硬件看门狗技术,并给出了实用的基于CD4060的硬件看门狗电路。 硬件看门狗电路及其工作原理基于CD4060的硬件看门狗电路如图3-2所示,它是针对工程项目所设计的一个实用电路,并且该电路实际使用情况良好。下面介绍电路的组成及其工作原理。 单片机AT89C51的P1.7口设计成输出口,由AT89C51的CPU向看门狗电路发送喂狗信号――正脉冲,在两个正脉冲间隔内,P1.7保持为低电平(此功能要结合软件26 洛阳理工学院毕业设计(论文) 才能实现,相应的软件设计在下面介绍)。我们知道,单片机AT89C51的I/O口带灌电流负载的能力比较大,每个引脚低电平时的吸入电流为20 mA,带拉电流负载的能力却很小,实测情况是,每个引脚高电平时的输出电流仅25μA,现在P1.7口被设计成带拉电流负载的方式,为了提高P1.7口带拉电流负载的能力,所以,电路中设置了上拉电阻R3。
14位二进制计数器CD4060的计数脉冲由其内部振荡器和外接阻容元件R1、R2、C1组成的电路产生,振荡周期为:
T0SC=2.2×R1×C1=0.22 ms
振荡器产生的计数脉冲(矩形波)可以直接引出,同时还可以从CD4060的10个输出端Q4~Q10和Q12~Q14得到不同分频系数的方波输出,各方波输出信号的周期如表1所示。这样,如果CD4060得不到CPU通过P1.7口发送来的喂狗信号――正脉冲,则CD4060的输出端Q14在1.8S内将产生一个完整周期的方波信号,而且低电平在前,高电平在后,其高电平经三极管VT1、VT2处理后形成单片机AT89C51的复位信号,使单片机AT89C51复位。由此可见,单片机AT89C51正常工作时,只要在0.9S内从P1.7口送出一个正脉冲,便可及时清零看门狗,输出端Q14就不会产生定时溢出信号,从而使看门狗电路对单片机系统不起作用。并且,从CD4060的10个输出端Q4~Q10和Q12~Q14可以得到不同周期的方波信号,经三极管VT1、VT2处理后形成单片机系统的复位信号,可以适应不同用户应用程序,从而该硬件看门狗电路可以适应不同的单片机应用系统。
对MCS-51系列的单片机而言,它所需要的复位信号是高电平宽度大于2个机器周期的正脉冲,例如,单片机的时钟脉冲频率为12 MHz时,则所需要的复位信号高电平宽度为2μs以上就可以了,而由上面的分析可知,CD4060的Q14输出的是高电平宽度 为0.9 s的方波,如果让它直接作为单片机的复位信号,则单片机的复位时间势必在0.9 s以上,这样尽管可以使程序跑飞的单片机复位,但是显然没有做到尽快地引导跑飞的程序到正确的轨道来,如果这样做的话,对于某些单片机应用系统而言可能带来非常严重的后果。三极管VT1、VT2及其周围阻容元件构成波形转换电路,把较宽的正脉冲变换为较窄的正脉冲,从而较好地解决了上述的问题。三极管VT1、VT2构成的2级直接耦合放大器作为缓冲器使用,它是CD4060的输出端Q14的灌电流负载,C2、R8是微分电路。 经分析后不难看出,电路中的R7、R8、C2还具有单片机上电复位的功能。 PC受到干扰而失控,引起程序乱飞,也可能使程序陷入“死循环” 。指令技术、软件陷阱技术不能使失控的程序摆脱“死循环”的困境,这时系统完全瘫痪。为使程序脱离“死循环”,通常采用“看门狗技术”。“看门狗”技术就是不断监视程序循环运行时间,若发现时间超过已知的循环设定时间,则认为系统陷入了“死循环”,然后强迫程序返回到0000H入口,在0000H处安排一段出错处理程序,使系统运行纳入正规。 “看门狗”技术可由硬件实现,可由软件实现,也可由两者结合实现。本系统采用硬件“看门狗”电路。 实现硬件“看门狗”电路方案较多,目前采用较多的方案有以下几种: 采用微处理器监控器; 采用单稳态电路来实现“看门狗”,单稳定电路可采用74LS123; 采用内带震荡器的记数芯片。 本设计采用第三种方案实现“看门狗”电路,下面就对该方案作以介绍。 27基于51单片机智能小车的设计_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于51单片机智能小车的设计
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩28页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多关于 电动智能小车的调速 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信