首页 自动金属检测电动车.doc

自动金属检测电动车.doc

举报
开通vip

自动金属检测电动车.doc自动金属检测电动车.doc 目 录 第一部分. 摘要 1. 中文摘要、关键字……………………………………………………………2 2. 英文摘要、关键字……………………………………………………………3 第二部分. 系统总体设计及工作原理 1. 前言……………………………………………………………………………5 2. 方案论证………………………………………………………………………6 2.1 系统组成……………………………………………………………………6 2.2 距离检测………………………………………………………...

自动金属检测电动车.doc
自动金属检测电动车.doc 目 录 第一部分. 摘要 1. 中文摘要、关键字……………………………………………………………2 2. 英文摘要、关键字……………………………………………………………3 第二部分. 系统总体设计及工作原理 1. 前言……………………………………………………………………………5 2. 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 论证………………………………………………………………………6 2.1 系统组成……………………………………………………………………6 2.2 距离检测……………………………………………………………………6 2.3 光电检测……………………………………………………………………7 2.4 金属检测……………………………………………………………………8 2.5 电动机驱动调速模块………………………………………………………9 2.6 显示方式………………………………………………………………… 10 2.7 键盘接口………………………………………………………………… 10 2.8 电源选择………………………………………………………………… 11 第三部分(系统的具体设计 总体设计方案描述………………………………………………………… 12 1. 2. 霍尔速度传感器…………………………………………………………… 12 3. 黑白标记识别电路………………………………………………………… 13 金属检测…………………………………………………………………… 13 4. 5. PS7219结构及其与89C51的接口………………………………………… 14 6. MM74922C922结构及其与PS7219的接口………………………………… 16 7. 信号处理电路……………………………………………………………… 17 8. 电动机PWM驱动模块的电路设计………………………………………… 17 9. 电源电路…………………………………………………………………… 18 第四部分(软件编程 1. 单片机资源分配…………………………………………………………… 19 2. PS7219的程序……………………………………………………………… 19 3. 中线检测…………………………………………………………………… 19 4. 金属检测…………………………………………………………………… 20 第五部分. 调试 1. 电源电路…………………………………………………………………… 20 2. 光电检测电路……………………………………………………………… 20 3. 金属检测及报警电路……………………………………………………… 20 4. LED显示电路 ……………………………………………………………… 20 5. 信号处理电路 ……………………………………………………………… 20 6. 整体电路调试 ……………………………………………………………… 21 第六部分(参考文献……………………………………………………………… 22 第七部分. 致谢…………………………………………………………………… 23 附录一 系统程序……………………………………………………………………24 附录二 主程序流图…………………………………………………………………40 1 第一部分( 中英文摘要 摘 要 本系统采用单片机AT89C51为核心,实现对电动车行驶中金属 材料 关于××同志的政审材料调查表环保先进个人材料国家普通话测试材料农民专业合作社注销四查四问剖析材料 的自动检测和控制,路面黑线检测使用反射式光电传感器,利用PWM技术动态控制电动机的转速,完成对电动车运动位置、速度、运动方向和运动时间的控制,同时利用霍尔速度传感器对运动距离的测量和显示。基于这些完备而可靠的硬件设计,使用了一套独特的软件算法,实现了电动车在路面黑线运行中对金属材料的自动检测。 本设计的主要特色: ?高效的H型PWM电路,提高电源的利用率 ?控制电路电源和电动机电源隔离 ?霍尔速度传感器检测后轮的转动圈数,继而得到电动车的运动距离 ?优化的软件算法,智能化的自动控制,定位精确 ?反射式光电传感器具有体积小、灵敏度高、线性好的特点 ?显示部分采用PS7219芯片 ?键盘处理电路采用MM74C922 关键字 AT89C51 MM74C922 PS7219 反射式光电检测器件 达林顿管组成的H型PWM电路 接近开关 霍尔速度传感器 双电源供电 2 Abstract The system uses the center of monolithic integrated circuit AT89C51 to the electric car travel in the metal material Automatic detection and the control. The examination of the road surface black line uses reflection type electric-optical sensor. Using PWM technology dynamic control electric motor rotational speed, completing to the electric car traveling position, the speeds, the heading and the movement time control. Simultaneously using the Hall velocity generator to the traveling distance’s survey and the demonstration. Based on these complete and reliable hardware design, has used set of unique software algorithms, has realized the electric car in the road surface heavy line movement to the metal material automatic detection. This design’s main characteristic: ? Highly effective H the PWM electric circuit, enhances the power source the use factor ? Control circuit power source isolates from electric motor power source ? The Hall velocity generator examines the trailing wheel the rotation, so obtains the electric car the movement distance ? The optimized software algorithm, the intellectualized automatic control, the precise localization ? The reflection type electro-optical sensor has small volume, high sensitivity, linear good characteristic 3 ?Demonstrated partially uses the PS7219 chip ?The keyboard processing electric circuit uses MM74C922 key words AT89C51 MM74C922 PS7219 Reflection type electric-optical sensor The Darington tube composes H-PWM electric circuit Approaches the switch Hall velocity generator Double power source supply 4 第二部分. 系统总体设计及工作原理 一(前 言 随着经济的发展,电动车污染小、噪音、节约能源,结构、控制和维护简单,较之燃油汽车有其突出的优点,目前世界上唯一能达到零排放的机动车。电动车作为绿色交通工具,将在21世纪给人类社会带来巨大的变化。顺应当前国际科技发展的大趋势,将汽车作为中国进入21世纪汽车工业的切人点,不仅是实现中国汽车工业技术跨越式发展的战略抉择,同时也是实现中国汽车工业可持续发展的重要选择。世界电动汽车的发展经过20多年的研究试验,已进入一个新的阶段,即小批量商业化生产并推向市场实际应用。目前全球在用电动汽车大约1.3万辆。电动车被视为抢占21世纪汽车霸主地位的主要车型之一己是不争的事实。电动车的使用和发展将为汽车界的带来一场革命,并有望为汽车商家带来巨额的市场利润。现在零排放电动车的技术逐渐成熟并已商品化,一次充电行程也能满足市区交通的要求。大规模应用的主要困难是电池和相应的电动车成本太高,混合动力电动车则是目前可以大批量生产、替代燃油汽车、减少废气排放的较现实的电动车。 目前, 金属检测 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 有很多种,如X射线、电涡流等,但大多结构复杂、价格昂贵,常用于测量精度要求较高的场合。对于一般的工业环境,需要一种简单、价廉及实用的检测方法。本系统的电动车要求在运行过程中,车顶的8位数码管实时显示时间、距离,遇到路面的金属材料发出声光提示,停车后按键切换显示内容。经过 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 ,电动车自动检测金属材料的过程实际上是一个检测待测信息,经过判断进行的控制过程,控制过程是利用反射型光电检测器件采集的数据,利用PWM技术完成对电动车行驶速度的实时控制,同时利用霍尔速度传感器对运动距离的测量和显示。本系统采用的单片机AT89C51作为检测装置的运算和控制部件对检测结果进行分析,数据采集通过光电传感器完成,并以电信号脉冲的形式送入单片机的INT0和P1口,单片机对送来的信号进行分析、运算、处理,从P1.1口输出的信号控制电动车的转速,使电动车在行驶中速度得以调整。 当然本系统的设计由于我的知识有限,经验不足等情况,在很多方面还有不 5 合适的,希望指导老师给予进一步的指导,我也将在老师的耐心教导下虚心的学习。 二(方案论证 根据题目的基本要求,设计的任务主要完成电动车在规定行驶路线中对金属材料的检测,对行程中的数据进行处理显示。 2. 1 系统组成 自动金属检测电动车是电动车在运行过程中,车顶的8位数码管实时显示时间、距离,遇到金属发出声光提示,停车后按键切换显示内容。本设计在原小车的无线接收IC输出与电机控制电路输入之间插入单片机控制电路: 1(单片机采用ATMEL公司的AT89C51,对光电检测部分送来的信号进行分析、运算、处理。系统输入:4位I/O口光电检测,分别用于左右边界检测、标志和转速检测,1位I/O口接近开关金属片的检测。系统输出:3位I/O口送显示部分,4位I/O口送电机控制。 2(光电检测是将路面的情况转化为单片机可以接收的电信号,路面黑线检测使用反射式光电检测器件;采用电感式接近开关,即无接触接近开关对跑道上的金属材料进行检测;利用PWM(脉宽调制)电动机的转速,完成对电动车运动位置、速度、运动方向和运动时间的控制;同时利用霍尔速度传感器对运动距离的测量和显示。 3(显示部分采用PS7219芯片,PS7219芯片是一种高集成化的串行输入/输出共阴极显示驱动器,集驱动、译码、扫描于一片。芯片上包括BCD码译码器、多为扫描电路、段驱动器、位驱动器及作为显存的8*8位静态RAM。应用其设计LED显示电路时,可大大简化电路设计,提高可靠性,便于调试,方便地实现几十个LED的同时显示。 4(键盘处理电路采用MM74C922,和微机接口的三种方式:同步接口方式、同步数据送入总线方式和异步数据输入方式。主要使用异步方式,在键按下时,74C922发出中断给CPU,在中断服务和程序中读取键值并作出相应的工作。 2. 2 距离检测 方案一. 位移=速度×时间 6 这就要求得到2个量即速度和时间,速度可以由速度传感器或测速电机得到,时间可以由单片机的定时器得到。 ? 模拟测速元件—直流测速发电机 直流测速发电机是能够产生和电动机转轴角成正比电信号的装置,它被广泛 应用与速度系统中和模拟电压过度反馈控制系统中,其特点是:具有在宽广 的范围内提供过度信号的能力,但是所得的结果精度不高,系统误差大,不 稳定,不易数字化,较难与单片机接口。 ? 数字测速:由光电脉冲发生器构成,光电脉冲发生器的结构主要由红外光源、 光电转盘、光敏元件、整形放大电路组成。光电转盘与被测轴相连,光线照 射到光敏三极管使其通过电流,经整形放大后输出脉冲序列,测出脉冲就可 以知道圆盘转过的圈数,从而计算出转速和速度。因为这样可以精确计算电 动车的行驶速度,从而可以计算位移,但是由于整个过程中,电动车的速度 是在变化的,很难检测电动车的实时速度。 方案二. 距离=小车车轮的周长×滚动圈数 利用方案1中数字测速原理,可知电动车车轮滚过的圈数是可知的,所以只要电动车车轮滚动一圈,距离加一次车轮周长,这样降低了软件的复杂程度。虽然车轮打滑会影响测量的精度,但是可以通过比例系数加以修正,在考虑软件的可实现性前提下,选择此方案。 本设计通过霍尔速度传感器检测后轮的转动圈数,使用时只需要在车轮上安装一个小的磁铁,电动车后轮每转一圈,霍尔元件产生的两个脉冲送入单片机的P3.2口进行计算,在显示器上显示并记录电动车的运动距离。 计算方法:电动机轴与电动车轮的转速比为n,即电动机每转n圈,车轮滚动1圈,则电动车的距离S=L×n×m,其中m为脉冲的个数,L为电动车轮的周长。 在实际中应该考虑电动车与地面打滑的情况,此时车的行驶距离按照下面的式子计算S=L×n×m×λ,其中λ是修正因子,由试验测定并考虑计算的简便,取 L×n×λ,1.5cm。 2. 3 光电检测电路 7 光电检测是将路面的情况转化为单片机可以接收的电信号。路面的数据采集一般可采用以下几种方案: ? 使用可见光发光二极管和光敏二极管组合 ? 使用不调制的反射式红外发射-接收器组合 ? 利用脉冲调制的反射式红外发射-接收器 考虑到电动车与路面的相对位置,宜采用反射式光电检测器件,选用红外发光二极管和接收管组合,形成光电检测电路。考虑到受室内背景光源的干扰,用聚光性能好的红外发光二极管作为发射光源,用灵敏度高的光敏三极管作为接受端。反射式光电检测器件具有体积小、灵敏度高、线性好的特点,外围电路简单,安装起来方便,电源要求不高,用它作为近距离传感器是最理想的,电路设计简单,性能稳定可靠。 2. 4 金属检测 方案一. 自制高频检测器 主要原理是利用当被测金属靠近时引起电感的电感量变化,从而引起电路振荡频率的变化。这种检测器的结构简单,灵敏度较高,零点稳定,成本低,但是体积大,工作参数需要调节,灵敏度、线性度和测量范围相互制约,传感器自身频率响应低。 方案二. 成品接近开关 成品的电感式接近开关,即无接触接近开关,属于一种有开关量输出的位置传感器,它由LC高频振荡器和放大处理电路组成,利用金属物体在接近这个能产生电磁场的振荡感应头时,使物体内部产生涡流。这个涡流反作用于接近开关,使接近开关振荡能力衰减,内部电路的参数发生变化,由此识别出有无金属物体接近,进而控制开关的通或断。这种接近开关所能检测的物体必须是金属物体。 接近开关的主要功能: 1(检验距离:检测电梯、升降设备的停止、起动、通过位置;检测车辆的位置,防止两物体相撞检测;检测工作机械的设定位置,移动机器或部件的极限位置;检测回转体的停止位置,阀门的开或关位置;检测气缸或液压缸内的活塞移动位置。 8 2.尺寸控制:金属板冲剪的尺寸控制装置;自动选择、鉴别金属件长度;检测自动装卸时堆物高度;检测物品的长、宽、高和体积。 3.检测物体存在有否:检测生产包装线上有无产品包装箱;检测有无产品零件。 4.转速与速度控制:控制传送带的速度;控制旋转机械的转速;与各种脉冲发生器一起控制转速和转数。 5.计数及控制:检测生产线上流过的产品数;高速旋转轴或盘的转数计量;零部件计数。 6.检测异常:检测瓶盖有无;产品合格与不合格判断;检测包装盒内的金属制品缺乏与否;区分金属与非金属零件;产品有无标牌检测;起重机危险区报警;安 全扶梯自动启停。 7.计量控制:产品或零件的自动计量;检测计量器、仪表的指针范围而控制数或 流量;检测浮标控制测面高度,流量;检测不锈钢桶中的铁浮标;仪表量程上限或下限的控制;流量控制,水平面控制。 8.识别对象:根据载体上的码识别是与非。 9.信息传送:ASI(总线)连接设备上各个位置上的传感器在生产线(50-100米) 中的数据往返传送等。 2. 5电动机驱动调速模块 方案一. 采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。 但是电阻网络只能实现有级调速,而数字电阻的元器件价格昂贵,更主 要的问题在于一般电动机的电阻很小,但电流很大,分压不仅会降低效 率,而且实现很困难。 方案二. 采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度 进行调整,这个方案的优点是电路较为简单,缺点是继电器的响应时间 慢、机械结构易损坏、寿命较短、可靠性不高。 方案三. 采用由达林顿管组成的H型PWM电路。用单片机控制达林顿管使之工作 在占空比可调的开关状态,精确调整电动机转速。这种电路由于工作在管 子的饱和截止模式下,效率非常高。H型电路保证了可以简单地实现转速 和方向的控制。电子开关的速度很快,稳定性极强,是一种广泛采用的 9 PWM调速技术。 2. 6显示方式 方案一.单片机译码直接驱动数码管 单片机采用查表的方式将BCD码译码然后通过I/O口输出,驱动LED显示。 这种方法的优点是可以显示各种不同的字符,这是集成译码器如4511、 7448等做不到的。但是这种方法占用I/O口较多,连线复杂,单片机不 能直接驱动LED,还需要外接大量的驱动器,使用电路十分复杂。 方案二.外接译码器驱动数码管 集成译码器的价格低廉,可以直接驱动LED显示器,占用的I/O口不多, 但是用软件实现的动态显示要占用比较多的系统资源。 方案三.LCD驱动器HD44100 霍尔速度传感器输出两个负脉冲,该信号直接送到AT89C51中断端INT1, 单片机把该行驶距离和时间数据直接送到LCD驱动器HD44100,实时地将 其显示在LCD上。 方案四.用PS7219芯片来设计显示电路,动态显示时,仅占用单片机三根端口线, 也不需单片机对位选不停扫描,而是由PS7219本身来完成;其他情况相同 时,亮度也不会因为数码管增至几十个而减弱,始终保持一定的占空比。 此外,译码也由PS7219自己来完成,单片机只需告之采取的译码方式。这 样,不但使电路和编程大大简化,还节省了CPU的资源,提高了单片机显 示部分的集成程度。 基于各种考虑,我们选用方案四。 2. 7键盘接口 键盘是人机对话的窗口,具有处理信息的能力,目前主要采用两种方式: 1. 定时控制方式 就是每隔一定的时间,CPU对键盘扫描一次,这种方式要占用一部分的时间。 2. 中断控制方式 就是当键盘输入中断,对键盘进行扫描,以识别是哪一个键处于闭合状态,并对键入的信息作出相应的处理。我们选用的是一种廉价的 10 CMOS16键译码器MM74C922,它可以与各种微机直接接口,功耗低。 2. 8电源的选择 方案一. 所有器件采用单一电源(6节AA电池),这样供电比较简单,但是由于 电动车启动瞬间电流很大,而且PWM驱动的电动机电流较大,会造成电 压不稳、有毛刺等干扰,严重时可能造成单片机系统掉电,缺点十分明 显。 方案二. 双电源供电。将电动机驱动电源与单片机以及周边电路电源完全隔离, 利用光电耦合器传输信号,这样虽然不如方案一方便灵活,但可以将电 动机驱动所造成的干扰彻底消除,提高系统的稳定性。 为了保证电动车可靠、稳定的运行,我们采用第二种方案。 11 第三部分(系统的具体设计 一(总体设计方案描述 总体设计方案的硬件部分详细框图如下图所示 数据采集通过光电传感器完成对黑白标记识别,并以电信号脉冲的刑事送入单片机的INT0和T1口,单片机对送来的信号进行分析、运算、处理,从P1.1口输出信号控制电动机的转速,使电动车在行驶中速度得以调整,从单片机的串行通信口输出的数据送到PS7219显示行驶的距离和所用的时间 二(霍尔速度传感器设计 霍尔速度传感器的原理图如左图 当磁铁正对金属板时,由于霍尔效应,金属 板发生横向导通,由此可以在车轮安装磁片, 而将霍尔集成片安装在固定轴上,通过对脉冲 的计数进行车速测量。 12 本设计通过霍尔速度传感器检测后轮的转动圈数,使用时只需要在车轮上安装一个小的磁铁,电动车后轮每转一圈,霍尔元件产生的两个脉冲送入单片机的P3.2口进行计算,在显示器上显示并记录电动车的运动距离。 三(黑白标记识别电路 在电动车行驶的过程中,其速度和方向 的控制是由黑白标记来确定的,所以黑白 标记的辨别是整个问题的关键。在此,我 们采用反射式光电检测如左图,这种检测 比较灵敏,结构简单。 光管发出的红外线经过反光的障碍物 后光敏三极管不能检测到,这样,当电动 车在白色跑道上行驶时,光敏三极管导 通,光电开关输出为0;遇到黑线或边界 时,光敏三极管截止,光电开关输出为1。 这个信号作为中断送给单片机,单片机检 测到这个中断信号后就进行判别并执行 响应的操作。 考虑到发射管需要较大的电流,所以限流电阻R1取200欧姆,电流约为(5 – 1.2)/ 200 = 19mA ,调节R3可改变整个电路的灵敏度。 四(金属检测 当金属材料接近开关的感应区,开关就能无接触,无压力、无火花、迅速发出电气指令,准确反应出运动机构的位置和行程,即使用于一般的行程控制,其定位精度、操作频率、使用寿命、安装调节的方便性和对恶劣环境的适用能力,是一般机械式行程开关所不能相比的。 工作 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 方框图如下: 13 五( PS7219结构及其与89C51的接口 PS7219 是一种新型的串行接口的8 位数字静态显示芯片,24 脚双列直插式芯片, 采用流行的同步串行外设接口(SP1),可与任何一种单片机方便接口, 并可同时驱动8 位LED(或64只独立LED )。一片PS7219带8块数码管,可显示单片机送来的8个8位数据(高4位无效)。事实上,单片机与PS7219间存在单工通信,即CPU将地址和数据送至PS7219,然后PS7219对相应的寄存器按控制要求工作,显示对应数据。 DIN是串行数据输入端, 在CLK 的上升沿, 一位数据被加载到内部16位移位寄存器中, CLK 端最高输入频率可达500kHz, 在输入时钟信号的每个上升沿,均有1 位数据由DIN 移入到内部寄存器中,LOAD用来装载数据, 在LOAD 的上升沿, 16 位串行输入。 14 89C51的P1.6作串行数据输出,连接到PS7219的DIN 脚,P1.7和P1.5通过程序分别模拟PS7219的时钟脉冲CLK及数据加载LOAD信号。PS7219的SA,SG,SDP端连接到各LED数码管对应的a,f及dp端,DIG0,DIG3分别接4位LED数码管的共阴极, 以实现位选。另外,选用XICOR公司的X25045作为看门狗监控电路。实际上,数码管的位数可在1,8之间任选。可由写入的扫描界线寄存器的命令字决定。注意: 15 为了使由峰值数字驱动器电流引起的纹波减到最小,需要在V+和GND之间尽可能靠近芯片的地方外接一个10LF的电解电容和一个0.1LF的瓷片电容。PS7219应放在紧靠LED显示器的地方,且连线尽可能短,两个GND引脚都必须连接到地线上。PS7219只需一组+5V电源和89C51 的三个输出口, 且无附加电路, 可驱动1,8个LED 显示器,显示亮度可调,工作可靠。 PS7219和89C51接口电路: 六(MM74C922 MM74C922是串口数据输 入,可以直接和微机相连, 共阴极LED输出,可以直 接驱动8个LED数码管。 MM74C922有三种同微机 接口方式:同步接口方式、 同步数据送入总线方式和 异步数据输入方式,主要使 用异步方式。在键按下时,74C922发出中断给CPU,在中断服务和程序中读取键值并作出相应的工作。 16 MM74C922采用异步数据输入方式,即输出线直接和89C51的数据线相连,数据输出有效端DA接到CPU的外中断引脚,地址译码器输出连接到MM74C922的O/E脚。当键盘中有任意键按下时,发中断给CPU,CPU在中断服务子程序中读取键值,判断最后按下的是哪个键,并进行相应的处理。PS7219直接利用了CPU的串口,且这时串口还可以进行正常的串行通信,这样就节省了CPU的端口资源。 七(信号处理电路 虽然光电检测和金属检测的信 号高低电平已经基本满足要求,但 是由于外界光线变化的干扰和电动 车内部电机等部件的电磁干扰,为 17 了防止误检测现象的发生,使电动车更加可靠的工作,我们用运放设计了迟滞比较器作为所有检测信号的处理,该比较器在反相输入单门限电压比较器的基础上引入正反馈电路,即构成具有双门限值的反相输入迟滞比较器。由于正反馈的引入,该比较器的门限电压是随V0的变化而变化的,这样灵敏度低了一些,但大大地提高了抗干扰能力。 八(电动机PWM驱动模块的电路设计 根据题目的要求,当到达终点线是,停车的位置应在跑道内,却离终点的偏差最小,应该用占空比不同的PWM信号来驱动直流电机,下面有两种方案进行讨论: 方案一.单片机直接产生PWM信号,这种方法可驱动惦记,但是当单片机接收到相应的检测信号时,要处理中断口的信息,PWM处于停发状态,不利于电机的准确控制。 方案二.数控电位器结合555多谐振荡器输出PWM信号,我们通过单片机控制数控电位器来调整555多谐振荡器的输出方波的占空比。 数控电位器采用X9313固态非易失性电位器,包含有31个电阻单元的电阻阵列,在每个单元端点之间都有可以被滑动单元访问的抽头点,滑动单元的位置由CS,U/D和INC三个输入端控制。滑动端的位置可以存储在一个非易失存储器中。本方案中采用的X9313W(10kΩ)的每个抽头间电阻为323Ω。 脉冲宽度调制(PWM)信号发生电路如图 在上述电路原理图中,设VL和VW之间的阻值为R1,VH和VW之间的阻值为R2,则PWM信号的占空比为D=R1/(R1+R2+r),调节INC,可以使R1在40Ω~10KΩ变化。为了保护,接入小电阻r =100Ω,即D在0.4% ~99%变化, 18 这对本题的电机调速足够了。 九(电源电路 由于电动车内电动机的干扰很大,对单片机的影响不能忽视,因此我们对单片机、检测和报警才用6节电池串联经7805稳压的半度供电方式,与电机供电隔离开,并且在每个重要芯片的电源处加装电容以抗干扰,这将降低干扰。 第四部分. 软件编程 通过对单片机的编程,利用它的中断功能完成由外部电路采集的脉冲计数,实现软件对电动车的速度、路程、时间的计算,以及对电机的一系列动作的控制等,主要是突出用编程软件达到控制硬件的目的。 1. 单片机资源分配: P3.4(T0)脚为转数输入,T0设置计数器方式1;T1提供时钟信号,设置为计数器方式1。 P2.4脚为按键START输入,启动前按下按键Rum=1,当检测到第三条中线时,软件清零。 中断0处理左右越轨检测输入(DETL,DETR)和按键MODE,SET输入,中断1处理中线检测(DETC)和按键SEARCH输入,当Rum=1时,两中断处理检测输入,当Rum=0时,两中断处理按键输入。 P2.0(FORE),P2.1(Back),P2.2(Left),P2.3(Right)分别控制前进,后退,左转,右转,高电平有效。 19 P1.7为7219选通信号,低电平有效;P3.2(RXD)向7219串行发送显示数据;P3.1(TXD)为同步时钟信号。 2. PS7219的程序 PS7219的控制寄存器和显示寄存器均独立编址,显示程序实际上就是89C51 在P1.7(CLK),P1.5(LOAD)时序的配合下不断通过P1.6(DIN)向PS7219的相应控制寄存器和数据显示寄存器写入16位二进制数据包的过程。所以问题的关键在于编写一个通用的写入子程序,将VW0的内容从高位到低位在P1.7(CLK)的作用下依次移入移位寄存器,最后由P1.5的上升沿(LOAD信号)锁存到相应的内部控制寄存器和数据显示寄存器中去。写入子程序的程序流程图如图4所示。无论初始化PS7219 的控制寄存器,还是在相应的数码管显示数字,均可通过调用上述通用写入子程序完成。 3.中线检测 由DETC输入,下降沿有效,由LineNum字节记录已检测到的中线数。当LineNum,1时,启动T0,T1;当LineNum,2时,设置刹车标志Brea=1;当LineNum,3时,清除运行标志Rum,0,小车停止所有运动P2=#0F0H. 3. 金属检测 有金属时DETM,0,没有时为1。当第一次检测到金属(DETM=0)时,Chip,1,并记录此时的时间Tarr1和路程Darr1,直到DETM=1,这时刚好离开第一片金属,记下Tlea1,dlea1,Tarr2,Darr2,算出每块铁片的长度Lchip1,Lchip2以及每块铁片与起跑线的距离Dchip1,Dchip2. 第五部分. 系统调试 1. 电源电路 对电源电路的输入端加上9V电压,测量7805输出电压为,5V,满足设计要求 2. 光电检测电路 20 对光电探头供电,没有白纸靠近的时候,其输出为高电平,实际测量的电压为4.2V左右;当白纸靠近探头是,输出为低电平,但是没有达到0V,实际测量为1.0V左右。对白纸的检测距离约2cm。完全满足要求。 3. 金属检测及报警电路 没有金属片靠近接近开关时,输出为高电平,此时报警电路不工作;有金属片靠近接近开关时且距离小于5mm,接近开关输出为低电平,报警电路开始声光报警。 4. LED显示电路 将显示电路与单片机的串行口连接,编写测试程序并运行,发现7219能够显示程序中所设计的8位显示功能。 5. 信号处理电路 用电位器构成分压进行模拟输入,从0V逐渐增大时,电压比较器在2.9V发生跳变,成低电平;然后逐渐减小输入电压,当降到1.3V时,电压比较器发生跳变,成高电平。结果与设计有一定的误差,经过分析发现是由于运放的输出并不是0V(低电平)或者5V(高电平)造成的,但是结果已经满足要求了。 6. 整体电路调试 将整体电路安装起来,测试光电检测器的准确性和金属检测器的准确性。发现光电检测基本满足要求,但是金属检测器不能对铜板进行报警,怀疑是距离太大,于是降低接近开关与地面的距离,当距离约为4mm时可以准确的检测到金属片。 21 第五部分. 参考文献 百度搜索引擎 维普资讯 李朝青(原理及接口技术[M](北京:北京航空航天大学出版社,1999( 孙传友(测控系统原理与设计[M](北京:北京航空航天大学出版社,2002( 张运波(PWM 信号的软件实现方法[J](微型计算机信息,2002,8(10)( 陈特放 石英春 张桂新——霍尔传感器在机车测速中的应用 张友德等. 单片微型机原理、应用与实验.复旦大学出版社, 1996. 7 李华. MCS51 系列单片机实用接口技术.北京航空航天大学出版社, 1999. 12 全国大学生电子设计竞赛获奖作品汇编——北京理工大学出版社 PS7219高速串行接口的8 位LED控制驱动器.武汉力源电子股份有限公司, 1999. 22 第六部分. 致 谢 大学四年就要结束了,毕业设计其实就是大学的最后一课,完成这次设计不仅是对我在大学生里学习知识的肯定,同时也为我的大学生活写上一个句号,更是对我即将进入社会而拉开了帷幕。 在我拿到这个课题时,我正在准备研究生复试。由于时间的关系我的课题做的很匆忙,不过还好,我的课题是自动金属检测电动车,正好与我学得好的课程有或很大的关联,而且在李老师的指导下,我基本上能够完成我的设计。当然,由于我的知识能力都很有限,所以,做的不好的地方请老师给予指教。 在设计中,我通过阅读大量的资料了解到一个系统应该可以分为几个大的部分,从而细化便于分析理解,一点点的突破难点和不懂的问题。进过我的分析自动金属检测电动车其实可以简单的分为三大部分,在系统中最主要的部分就是主机部分,而主机其实就是我们最常见的电脑,不管是哪种探测器还是哪种模块,都是由主机控制的。在这里就设计到一个问题,如何使小车在跑道上正常行驶, 23 即如何实时测量小车的速度并控制速度,如何将路面的情况转化为单片机可以接收的电信号,使用何种能够检测金属材料的传感器,找到什么显示电路,如何实现键盘控制,还有就是主机,探测器以及模块中都内置有单片机,他们都是怎么工作的,等等一系列的问题。当然这些问题目前我是没有能力去解决的,所以,我只能在今后不断的学习,不断的去钻研,从而一一攻破。 通过这次毕业设计我不仅学到了很多的东西,重要的是它是对我大学的所学知识进行了一次系统的总结和提高。可以说是给我提供了一次很好的锻炼学习的机会,同时,也有很多的心酸和困难。但是,更多的是快乐,尤其是当一个难题经过努力解决了之后的心情,那是很难用语言形容的。这次设计不但提高了我分析问题的能力,独立解决问题的能力,而且对自学能力也是一个很好的锻炼。 这次我的毕业设计能够顺利的完成,除了我努力结果之外,是离不开老师和公司工程师的耐心指导和帮助。在此我忠心的感谢李建民老师的细心指导! 附录一. 系统程序 1. PS7219的测试程序: PS7219芯片初始化程序: MOV R0,#0FH ;设置显示亮度最亮 MOV R1,#INTENSITY ; LCALL TRT ;调用串口通信子程序 LCALL T1s ;延时1s MOV R0,#07H ;驱动8个LED MOV R1,#SCAN_LIMIT ; LCALL TRT ;调用串口通信子程序 LCALL T1s ; MOV R0,#OFH ;BCD译码方式 24 MOV R1,#DECODE_MODE LCALL TRT LCALL T1s MOV R0,,00H ;设置显示工作方式为正常 MOV R1,#DISPLAY_TEST LCALL TRT LCALL T1s MOV R0,#01H ;设置方式为正常 MOV R1,#SHUTDOWN LCALL TRT LCALL T1s 通信子程序: TRT:MOV R2,#08H ;R2寄存器循环次数 MOV A,R1 ;需送地址存入累加器 CLR LOAD ;LOAD清零 TADD:SETB CLK ;时钟置位 LC A ;需送位—,C MOV DIN,C ;发送出 LCALL T88 ; 延时88ms CLR CLK ;时钟置零 LCALL T88 ;延时88ms DJNZ R2,T_ADD ;判断8位地址是否送完 MOV R2,#08H ;R2再次存移位循环次数 T_DATA: SETB CLK LCALL T88 RLC A MOV DIN,C CLR CLK DJNZ R2,T_DATA 25 SETB LOAD ;LOAD置位,数据被7219琐存 RET ;返回主程序 由以上程序可知,当需送的信息准备好后,LOAD置为低电平,接着CLK发出16个时钟脉冲,数据一位一位传送过去,最后一个时钟的下降沿后,LOAD置位,通信过程结束。 2. 小车探头及转向测试程序 Adjust EQU 2FH Buffer3 EQU 3BH Time0 EQU 30H Buffer4 EQU 3CH Time1 EQU 31H Buffer5 EQU 3DH Time2 EQU 32H Buffer6 EQU 3EH Time3 EQU 33H Buffer7 EQU 3FH Distance0 EQU 34H Distance1 EQU 35H Fore EQU P2.0 Distance2 EQU 36H Back EQU P2.1 Distance3 EQU 37H Left EQU P2.2 Buffer0 EQU 38H Right EQU P2.3 Buffer1 EQU 39H Adju7 EQU 7FH Buffer2 EQU 3AH Adju6 EQU 7EH 26 Adju5 EQU 7DH ;Set as Normal Operation. Adju4 EQU 7CH MOV R6,#01H Adju3 EQU 7BH ACALL TRAN Adju2 EQU 7FH MOV R7,#0BH Adju1 EQU 79H ;Set Scan Limit as 7-0 Adju0 EQU 78H MOV R6,#07H Run EQU 77H ACALL TRAN Brea EQU 76H MOV R7,#0AH ;Set Intensity as 11-32 TotelL EQU 80H MOV R6,#05H ORG 0000H ACALL TRAN LJMP MAIN MOV R7,#09H ORG 0003H ;Set Decode Mode as Code B LJMP INT0 for 7-0 ORG 0013H MOV R6,#0FFH LJMP INT1 ACALL TRAN ORG 001BH MOV R1,#3DH LJMP INTT1 ;Clear the ram 2DH-6AH ORG 0030H ; MOV R0,#2DH MAIN: MOV P2,#0F0H CLRRAM:MOV @R0,#00H MOV TCON,#05H INC R0 ; INT0,INT1下跳沿触发 DJNZ R1,CLRRAM MOV IE,#8DH MOV Buffer7,#07H ACALL DISP ;允许T1,INT1,INT0中断 MOV TMOD,#15H MOV TL1,#0F0H MOV IP,#0AH ;启动定时器1和计数器0 ;中断优先级 MOV TH1,#OD8H MOV SP,#0FH MOV TH0,00H MOV R7,#0CH MOV TL0,#00H 27 MOV Adju0,C JB P2.4,$ RLC A MOV Buffer7,#06H ACALL DISP MOV Adju1,C SJMP $ RLC A MOV Adju2,C DISP:MOV R0,#Buffer0 RLC A MOV R1,#08H MOV Adju3,C MOV R7,#01H RLC A DIG:MOV A,@R0 ;Display digits MOV Adju4,C MOV R6,A RLC A ACALL TRAN MOV Adju5,C INC R7 RLC A INC R0 MOV Adju6,C DJNZ R1,DIG RLC A RET MOV Adju7,C TRAN:MOV SCAN,#00H RET SETB P1.7 DELAY10MS:MOV R3,#0C8H MOV A,R7 ;10000=200*(16*3+2) ACALL ADJU L1:MOV R2,#10H MOV R5,Adjust DJNZ R2,$ MOV A,R6 DJNZ R3,L1 ACALL ADJU RET MOV R6,Adjust CLR P1.7 INTT1:PUSH ACC MOV SBUF,R5 PUSH PSW JNB TI,$ MOV TL1,#0F0H CLR TI MOV TH1,#OD8H SETB P1.7 Tim0:MOV A,Time0 RET INC A ADJU:RLC A MOV Time0,A 28 CJNE A,#0AH,ESCT POP ACC MOV Time0,#00H RETI Tim1:MOV A,Time1 INC A MOV Time1,A INT1:PUSH ACC CJNE A,#0AH,ESCT PUSH PSW MOV Time1,#00H SETB TR0 Tim2:MOV A,Time2 DETC:MOV C,P1.1 INC A ANL C,P1.0 ORL A,#80H JC ISLINE MOV Time2,A MOV A,TL0 CJNE A,#8AH,ESCT INC A MOV Time2,#80H INC A Tim3:MOV A,Time3 INC A INC A CJNE A,TL0,$ MOV Time3,A JNB P1.2,ERROR CJNE A,#0AH,ESCT MOV C,P1.1 MOV Time3,#00H ANL C,P1.0 JNC ISLINE ESCT:MOV Buffer0,Time0 ERROR:LJMP ESC1 MOV Buffer1,Time1 ISLINE:SETB TR1 MOV Buffer2,Time2 SETB Right MOV Buffer3,Time3 MOV R4,#05H MOV A,TL0 L2:LCALL DELAY10MS MOV B,#10 DJNZ R4,L2 DIV AB CLR Right MOV Buffer4,B ESC1:POP PSW MOV Buffer5,A POP ACC ACALL DISA RETI POP PSW 29 INT0:PUSH ACC Buffer4 EQU 3CH PUSH PSW Buffer5 EQU 3DH CLR TR1 Buffer6 EQU 3EH SETB FORE Buffer7 EQU 3FH MOV R4,#05H Dprevious EQU 40H L3:LCALL DELAY10MS DJNZ R4,L3 Vx EQU 42H CLR FORE Vref EQU 43H ESC0:POP PSW Mode EQU 44H POP ACC Chip EQU 45H RETI LineNum EQU 46H Search EQU 47H Turnt1 EQU 48H 小车源程序 ;IT can display 0000 Turnt2 EQU 49H ;IT can time Tarr10 EQU 4AH ;IT can time on 8051 Tarr11 EQU 4BH Adjust EQU 2FH Tarr12 EQU 4CH Time0 EQU 30H Tarr13 EQU 4DH Time1 EQU 31H Tlea10 EQU 4EH Time2 EQU 32H Tlea11 EQU 4FH Time3 EQU 33H Tlea12 EQU 50H Distance0 EQU 34H Tlea13 EQU 51H Distance1 EQU 35H Tarr20 EQU 52H Distance2 EQU 36H Tarr21 EQU 53H Distance3 EQU 37H Tarr22 EQU 54H Buffer0 EQU 38H Tarr23 EQU 55H Buffer1 EQU 39H Tlea20 EQU 56H Buffer2 EQU 3AH Tlea21 EQU 57H Buffer3 EQU 3BH Tlea22 EQU 58H 30 Tlea23 EQU 59H Adju2 EQU 7FH Lchip10 EQU 5AH Adju1 EQU 79H Lchip11 EQU 5BH Adju0 EQU 78H Lchip12 EQU 5CH Run EQU 77H Lchip13 EQU 5DH Brea EQU 76H Cchip10 EQU 5EH Cchip11 EQU 5FH TotelL EQU 34H Cchip12 EQU 60H LastL EQU 37 Cchip13 EQU 61H V0 EQU 40 Lchip20 EQU 62H ORG 0000H Lchip21 EQU 63H LJMP MAIN Lchip22 EQU 64H ORG 0003H Lchip23 EQU 65H LJMP INT0 Cchip20 EQU 66H ORG 0013H Cchip21 EQU 67H LJMP INT1 Cchip22 EQU 68H ORG 001BH Cchip23 EQU 69H LJMP INTT1 Dline2 EQU 6AH ORG 0030H Dleft EQU 6BH ; MinVx EQU 6CH ;工作组1,R7-R0 MAIN:MOV P2,#0F0H Fore EQU P2.0 MOV TCON,#05H Back EQU P2.1 ; INT0,INT1下跳沿触发 Left EQU P2.2 MOV IE,#8DH Right EQU P2.3 ;允许T1,INT1,INT0中断 Adju7 EQU 7FH MOV TMOD,#15H Adju6 EQU 7EH MOV IP,#0EH Adju5 EQU 7DH ;中断优先级 Adju4 EQU 7CH MOV SP,#18H Adju3 EQU 7BH MOV TurnT1,#08H 31 MOV TurnT2,#02H MOV TL1,#0F0H MOV MinVx,#04h ;启动定时器1和计数器0 MOV R7,#0CH MOV TH1,#OD8H ;Set as Normal Operation. MOV TH0,00H MOV R6,#01H MOV TL0,#00H ACALL TRAN JNB Brea,$ MOV A,TL0 MOV R7,#0BH MOV Dprevious,A ;Set Scan Limit as 7-0 MOV Dline2,A MOV R6,#07H ACALL TRAN ISEND:JNB Run,ONCE LCALL DELAY200MS MOV R7,#0AH ;Set Intensity as 11-32 MOV R6,#01H CVX:CLR C ACALL TRAN MOV A,TL0 MOV R7,#09H SUBB A,Dprevious MOV Vx,A ;Set Decode Mode as Code B for 7-0 MOV Dprevious,TL0 JZ SETF MOV R6,#0FFH ACALL TRAN CJNE A,MinVx,ISLOW ACALL DISP CLR Fore ONCE:MOV P2,#0F0H CLR Back JB P2.4,$ AJMP ISEND MOV R1,#1BH ISLOW:JC SETF CVREF:CLR C ;Clear the ram 2DH-37H MOV A,TL0 MOV R0,#2DH SUBB A,Dline2 CLRRAM:MOV @R0,#00H INC R0 MOV Dleft ,A CLR C DJNZ R1,CLRRAM SETB Run MOV A,LastL SETB Fore SUBB A,Dleft 32 MOV B,V0 INC R0 MUL AB DJNZ R1,DIG MOV R6,A RET MOV R7,B TRAN:MOV SCON,#00H MOV R5,#00H SETB P1.7 MOV R4,LasrL MOV A,R7 LCALL DIV1 ACALL ADJU MOV Vref,R6 MOV R5,Adjust MOV A,Vx MOV A,R6 CVXR:CJNE A,Vref,SET ACALL ADJU CLR Fore MOV R6,Adjust CLR Back CLR P1.7 AJMP ISEND MOV SBUF,R5 SET:JNCSETBA JNB TI,$ SETF:SETB Fore CLR TI CLR Back MOV SBUF,R6 AJMP ISEND JNB TI,$ SETA:SETB Back CLR TI CLR Fore SETB P1.7 AJMP ISEND RET ADJU:RLC A DISP:MOV R0,#Buffer0 MOV Adju0,C ;R7,R6,R5,R1,R0 RLC A MOV R1,#08H MOV Adju1,C MOV R7,01H RLC A DIG:MOV A,@R0 MOV Adju2,C ;Display digits RLC A MOV R6,A MOV Adju3,C ACALL TRAN RLC A INC R7 MOV Adju4,C 33 RLC A MOV Time1,#00H MOV Adju5,C Tim2:MOV A,Time2 RLC A INC A MOV Adju6,C ORL A,#80H RLC A MOV Time2,A MOV Adju7,C CJNE A,#8AH,ESCT RET MOV Time2,#80H DELAY200MS:MOV R4,#05H Tim3:MOV A,Time3 L12:ACALL DELAY40MS INC A DJNZ R4,L12 MOV Time3,A RET CJNE A,#0AH,ESCT DELAY40MS:MOV R3,#0C8H MOV Time0,#00H L1: MOV R2,$42H ESCT: MOV Buffer0,Time0 DJNZ R2,$ MOV Buffer1,Time1 DJNZ R3,L1 MOV Buffer2,Time2 RET MOV Buffer3,Time3 MOV PSW,#08H INTT1:PUSH ACC MOV R7,TH0 PUSH PSW MOV R6,TL0 MOV TL1,#78H;#0F0H MOV R5,#00H MOV TH1,#0ECH;0D8H MOV R4,#64H Tim0:MOV A,Time0 LCALL DIV1 INC A MOV Buffer7,R7 MOV Time0,A MOV Buffer6,R6 CJNE A,#0AH,ESCT MOV A,R2 MOV Time0,#00H MOV B,#0AH Tim1:MOV A,Time1 DIV AB INC A MOV Buffer5,A MOV Time1,A MOV Buffer4,B CJNE A,#0AH,ESCT POP PSW 34 POP ACC MOV BUFFER4,TurnT2 RETI AJMP DISMS INT1:PUSH ACC MNXT3:MOV BUFFER0,Mode PUSH PSW MOV BUFFER4,MinVx JB Run,DETMC AJMP DISMS LCALL DELAY40MS SSET:MOV A,MODE JNB P1.2,SMODE CJNE A,#01H,SNXT2 JNB P1.3,SSET INC TurnT1 ESCI1:POP PSW MOV A,TurnT1 POP ACC CJNE A,#0AH,MOOK RETI MOV TurnT1,#01H SMODE:INC Mode AJMP MOOK MOV A,Mode SNXT2:CJNE A,#02H,SNXT3 CJNE A,#04H,MOOK INC TurnT2 MOV Mode,#01H MOV A,TurnT2 MOOK:MOV A,Mode CJNE A,#0AH,MOOK CJNE A,#01H,MNXT2 MOV TurnT2,#01H MOV BUFFER4,TurnT1 AJMP MOOK DISMS:MOV BUFFER0,Mode SNXT3:CJNE A,#03H,SELSE MOV BUFFER1,#00H INC MinVx MOV BUFFER2,#00H MOV A, MinVx MOV BUFFER3,#00H CJNE A,#0AH,MOOK MOV BUFFER4,#00H MOV MinVx,#01H MOV BUFFER5,#00H AJMP MOOK MOV BUFFER6,#00H SELSE:LJMP ESCI1 MOV BUFFER7,#00H DETMC:JNB P1.3,DETM LCALL DISP JNB P1.2,DETC LJMP ESCI1 LJMP ESCI1 MNXT2:MOV A,Mode DETC:MOV A,LineNum CJNE A,#02H,MNXT3 JZ ISLINE 35 MOV C,P1.1 MOV A,Chip ANL C,P1.0 CJNE A,#03H,DMOK JC ISLINE MOV Chip,#01H MOV A,TI0 DMOK:MOV A,Chip INC A CJNE A,#01H,CPNXT INC A ACALL CALLC NC A MOV Tarr10,Tarr20 CJNE A,TI0,$ MOV Tarr11,Tarr21 JNB P1.2,ERROR MOV Tarr12,Tarr22 MOV C,P1.1 MOV Tarr13,Tarr23 ANL C,P1.0 MOV Tlea10,Tlea20 JNC ISLINE MOV Tlea11,Tlea21 ERROR:LJMP ESTI1 MOV Tlea12,Tlea22 ISLINE:INC LineNum MOV Tlea13,Tlea23 MOV A,LineNum MOV Lchip10,Lchip20 CJNE A,#01H,LNXT2 MOV Lchip11,Lchip21 SETB TR0 MOV Lchip12,Lchip22 SETB TR1 MOV Lchip13,Lchip23 LJMP ESCI1 MOV Cchip10,Cchip20 LNXT2:CJNE A,#02H,LNXY3 MOV Cchip11,Cchip21 SETB Brea MOV Cchip12,Cchip22 LJMP ESCI1 MOV Cchip13,Cchip23 LNXT3:CJNE A,#03H,LELSE LJMP ESCI1 CLR Run CPNXT:ACALL CALLC CLR TR0 Ljmp esci1 CLR TR1 CALLC:MOV Tarr20,Time0 MOV P2,#0F0H MOV Tarr21,Time1 LELSE:LJMP ESCI1 MOV Tarr22,Time2 DETM:MOV PSW,#10H MOV Tarr23,Time3 INC Chip MOV Lchip20,TL0 36 JNB P1.3,$ MOV Tlea20,Time0 MOV Tlea21,Time1 MOV Tlea22,Time2 MOV Tlea23,Time3 CLR C SS2: JNB P3.7,SS2 3.测金属: MAIN: MOV 40H,60H MOV SP,60H MOV A,40H MOV 40H,#00H ADD A,#01H MOV 41H,#00H ; INC 40H MOV 42H,#00H ; MOV A,40H MOV 43H,#00H DA A MOV 60H,#00H MOV 40H,A ; ACALL BCD MOV 41H,#00H ; ACALL DISP MOV 42H,#00H ; MOV 40H,50H MOV 43H,#00H CLR P3.7 MOV 60H,40H SS1: JB P3.7,SS1 ACALL BCD ; SETB P3.7 ACALL DISP 37 ; ACALL DELAY1S DB 90H CLR P3.7 4.引导线测试 AJMP SS1 MAIN: MOV P1,#0FFH DISP: MOV SCON,#00H ACALL DELAY1S MOV R0,#40H CLR P1.0 MOV R2,#04H CC1: JNB P3.5,CC2 L00C9: MOV SBUF,@R0 CLR P1.2 L00CB: JNB TI,$ AJMP CC1 CLR TI CC2: JNB P3.4,CC3 INC R0 CLR P1.3 DJNZ R2,L00C9 AJMP CC2 RET CC3: AJMP CC1 BCD: MOV R0,#40H DELAY1S: MOV R2,#04H MOV R3,#50 MOV DPTR,#TABL D1: MOV R4,#20 TAB: MOV A,@R0 D2: MOV R5,248 MOVC A,@A+DPTR DJNZ R5,$ MOV @R0,A DJNZ R4,D2 INC R0 DJNZ R3,D1 DJNZ R2,TAB RET RET TABL: DB 0C0H 5.障碍物调试: DB 0F9H MAIN: MOV P1,#0FFH DB 0A4H ACALL DELAY1S DB 0B0H SS: CLR P1.0 DB 99H NOP DB 92H DD1: JNB P3.6,DD1 DB 82H SETB P1.0 DB 0F8H NOP DB 80H NOP 38 NOP AJMP DD2 NOP DELAY1S: NOP MOV R3,#50 NOP D1: MOV R4,#20 ; ACALL DELAY D2: MOV R5,248 CLR P1.1 DJNZ R5,$ ACALL DELAY5S DJNZ R4,D2 SETB P1.1 DJNZ R3,D1 CLR P1.0 RET CLR P1.3 DELAY5S: ACALL DELAY5S MOV R3,#5 ACALL DELAY5S D3: MOV R4,#20 ACALL DELAY5S D4: MOV R5,248 MOV P1,#0FFH DJNZ R5,$ AJMP SS DJNZ R4,D4 DD3: JNB P3.6,DD3 DJNZ R3,D3 SETB P1.0 RET NOP DELAY: NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP CLR P1.1 RET ACALL DELAY5S DD2: SETB P1.1 NOP CLR P1.2 NOP CLR P1.0 NOP ACALL DELAY5S NOP MOV P1,#0FFH NOP 39 END 附录二、主程序流图 主程序 主程序 Delay 200ms Vx=TL0 – Dprevious 初始化 Dprevious<-TL0 开INT0、INT1 N TurnT1<-9 Vx>MinVx TurnT2<-5 Y MinVx<-4 Vref=20*[34-(TL0-Dline2)]/34 初始化7219 显示0 VxVref Vx=Vref P2<-#0F0H Fore=1 Fore=0 Fore=0 BBrea=0 BBrea=1 BBrea=0 N Run=1 Y RAM区 2DH~37H Rum<-1 Fore<-1 Brea=0 N Dprevious<-TL0 Dline2<-TL0 Run=0 40
本文档为【自动金属检测电动车&#46;doc】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_882336
暂无简介~
格式:doc
大小:297KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-11-13
浏览量:11