




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、攀枝花学院本科毕业设计(论文)智能寻迹遥控避障小车学生姓名:xxxxxxx学生学号:xxxxxxxxxxxx院(系):数学与计算机学院年级专业:09级信息与计算机科学 指导教师:xxxxxx 讲师o三年六月嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适 用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序 等四个部分组成,用丁实现对具他设备的控制、监视或管理等功能。嵌入式系统 一般指非pc系统,它包括硬件和软件两部分。硬件包括处理器/微处理器、存 储器及外设器件和i/o端口、图形控制
2、器等。软件部分包括操作系统软件(os) (要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在 一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬 件的交互作用。本设计主要应用stc89c52rc作为控制核心,与显示器、驱动电路等相结合 的系统。基于单片机设计。利用单片机stc89c52rc作为报警装置的控制器,能 充分发挥stc89c52rc的数据处理和实时控制功能。使系统工作处于最佳状态, 提高系统的灵敏度。当产生信号驱动小车前进时,通过寻迹模块里的红外对管是 否寻到黑线产生的电平信号再返回到单片机,单片机根据程序设计要求做出相应 的判断送给电机驱动模块
3、控制小车让其在黑线上实现前进后退以及转向。关键词 单片机,寻迹,红外,电机驱动abstractembedded system is take the application as the center, take the computer technology as the foundation, and hardware and software can be cut, for the application of the system function, reliability, cost, volume, power requirements are strictly dedicated
4、 computer system. it is generally composed of four parts of embedded microprocessor, peripheral hardware, embedded operating system and user applications, used to implement the control of other equipment, monitoring or management functions. embedded systems generally refers to non - pc system, it in
5、cludes two parts: hardware and software. the hardware includes a processor and microprocessor, memory and peripheral devices and i/o ports, such as graphics controlle匚 the software includes operating system software (os) (the requirement of real-time and multi-task operation) and application program
6、ming. sometimes the design personnel to the two kinds of software together. application control the operation of the system and behavior; and operational interaction system controls the application programming and hardware.the design of the main application stc89c52rc as the control, and display dri
7、ver integrated circuits and other systems. based on single chip design. mcu stc89c52rc using the controller as an alarm device that can give full play to stc89c52rc of data processing and real-time control functions. make the system work in the best condition, improve the system sensitivity.when two
8、 signal driven forward by car tracing module,the on whether to produce level signals through the black,retutn again ainfrares ccording to requirement of design procedure of judgment for motor driver modulejt controls the car turning back forward of running on the black line.key words:scm, tracing, l
9、evel signals, motor driver module摘要iabstractii1绪论11.1课题提出的背景11.2智能寻迹机器人的研究意义31.3课题研究方法41.3. 1智能寻迹机器人的原理41.3.2智能寻迹机器人功能说明51.4智能寻迹机器人的国内外发展概况62系统的需求分析与方案选择72.1可行性分析72.1.1技术可行性72. 1.2操作可行性72.2需求分析82.2.1应用程序的功能需求分析82. 2.2开发环境需求分析82. 2. 2. 1硬件坏境82. 2. 2. 2软件环境103研究方案及技术路线113.1智能循迹机器人方案113.2使用技术123. 2. 1继
10、电器开关控制123. 2. 2三极管输出控制123. 2. 3单片机逻辑控制124系统的概要设计154.1应用程序的总体结构设计图154.2实验原理图1543各模块功能概述164. 3.1程序状态指示灯模块164.3.1.1实现功能16431.2程序彳弋码16431.3运行效果174. 3.2流水灯模块174.3.2实现功能174.3.2.2程序代码174.323运行效果194. 3. 3数码管模块194.331实现功能19433.2程序代码194.333运行效果204. 3. 4数码管及跑马灯模块204.3.4.1实现功能204.342程序彳弋码204.343运行效果234. 3.5串口通信
11、程模块234.3.5.1实现功能23435.2 程序代码244.343运行效杲255系统的详细设计265. 1单片机总控制电路265.1.1时钟电路详细设计265.1. 2复位及复位电路详细设计265. 1. 3 stc89c52 详细设计315.2系统控制模块设计375.2. 1循迹模块375. 2.1主控系统模块376结束语406.1应用程序特点406.2心得体会40附录a41参考文献49致谢501绪论当今世界,传感器技术和自动控制技术正在飞速发展,机械、电气和电子信 息已经不再明显分家,自动控制在工业领域中的地位已经越来越重要,“智能” 这个词也已经成为了热门词汇。现在国外的口动控制和传
12、感器技术已经达到了很 高的水平,特别是日木,比如日木木田制作的机器人,其仿人双足行走已经做得 十分逼真,而且具有一定的学习能力,还据说其智商己达到6岁儿童的水平。作为机械行业的代表产品一汽车,其与电子信息产业的融合速度也显著提高 呈现出两个明显的特点:一是屯子装置占汽车整车(特别是轿车)的价值量比例 逐步提高,汽车将由以机械产品为主向高级的机电一体化方向发展,汽车电子产 业也很有可能成为依托整车制造业和用车提升配置而快速成为新的增长点;二是 汽车开始向电子化、多媒体化和智能化方向发展,使其不仅作为一种代步工具、 同时能具有交通、娱乐、办公和通讯等多种功能。无容置疑,电子信息化人才的培养不论是在
13、国外还是国内,都开始重视起来, 主要表现在大学生的各种大型的创新比赛,比如:亚洲广播电视联盟亚太地区机 器人大赛(abu robcon).全国大学生“飞思卡尔”杯智能汽车竞赛等众多重要 竞赛都能很好的培养大学生对于机电一体化的兴趣与强化机电一体化的相关知 识。但很现实的状况是,国内不论是在机械还是电气领域,与国外的差距还是很 明显的,所以作为电子信息化学生,必须加倍努力,为逐步赶上国外先进水平并 超过之而努力。为了适应智能控制的发展在汽车智能化方向的发展要求,提出简 易智能小车的构想,廿的在于:通过独立设计并制作一辆具有简单智能化的简易 小车,获得项目整体设计的能力,并掌握多通道多样化传感器综
14、合控制的方法。 所以立“智能寻迹小车” 一题作为尝试。此项设计是在以腾芯zn02智能小车为基础,采用stc89c52rc单片机作为控 制核心,实现能够口主识别黑色引导线并根据黑线走向实现快速稳沱的寻线行 驶。1.1课题提出的背景智能寻迹机器人采用现在较为流行的8位单片机作为系统大脑。以8052系 列家族屮的89c52rc为主芯片。40脚的dip封装使它拥有32个完全 io(gpio通用输入输出)端口,通过对这些端口加以信号输入电路,控制电路, 执行电路共同完成寻迹机器人。p0.0, p0. 1, p0.2, p0. 3分别通过lg9110驱 动电机来驱使电机1和电机2o用电机的正转和反转去完成
15、机器人的前进,后 退,左转,右转,遇遮挡物绕行,避开悬崖等一系列的动作。在机器人前进时如 果前方有遮挡物体,由红外发射探头发岀的红外信号被反射回红外接收管,及将 此信息通过p3.7传送入 芯片中,主芯片通过c代码进行机器人的绕物操作, 同时cpu将p3.7的信号状态通过p2.5的 指示灯显示出来。机器人前进时能 通过p3.5与p3.6的红外接收探头来进行探测。如果行到悬崖时,p3.5或 p3.6会收到一个电信号,这个电平信号会通过指定入口传送到主芯片中,主芯 片通过c代码执行机器人的避悬崖动作。此时p3.5与p3.6的状态将通过 p2. 6/p2. 7显示出來。在机器人的左转,右转,后退的过程
16、,可以通过观看以 p2. 0/p0. 7为指示灯的运行状态。p0.4为机器人的声控检测端口,在运行为前 进状态时,可以能过声控(如拍手声)來控制它的运行与停止。p0.6为机器人的声音输出端。在机器人遇到障碍物时。进行绕障碍物与 避悬崖 时可以通过此端口控制蜂鸣器发岀报警声。当为白天或黑夜时可以通 p0.5端口屮的光敏电阻来进行判断,以方便完成机器人夜间自动照明等功能。 两个按键以查询/中断两种不同的方式来展现按键操作。你可以按下s1键来进 行机器的停止。再按下s2键来进行机器人的运行。这个按键的信息分别被 p3.2, p3.4接收到。ir1为红外遥控接收器,这就为机器人进行远程遥控创造 了可能
17、。这个红外遥控接收头接收到红外信号时将信号经p3. 3送入到主芯片, 主芯片对其进行解密后以不同的方式对机器人进行控制。同时将用户的按键信息 通过p2端口上led数码管显示出来。p3. 0、p3. 1中com端口的加入,让你 完全可以用电脑对其进行控制。你可以通过对串口发送数据,数据会被显示到 led数码管中,并让机器人执行相应的功能。电脑的串口软件要求波特率为9600。 8位数据位,这时你就可以快乐的用电脑来对它进行你的完全控制了。图1. 1濟能寻迹机器人实物图图1.2智能寻迹机器人实物图1.2智能寻迹机器人的研究意义智能寻迹机器人z所以能够寻迹,主耍是由前方的两对红外发射与接收探头 来完成
18、的。我们知道光有反射的特性。所以说当前防的红外发射出来的光线遇到 物体时,就会形成反射的光线,而这个经反射的红外光线刚好被红外接收探头接 收到。当红外接收探头接收到信号后,再将信号送到单片机,由单片机内部的程 序來控制机器人的运行情况。那么如何知道是黑线还是白线了?原來这样的,红 外光线有一反射的特性。但对于不同的物体反射特性是不一样的,特别是对门色 的物体,红外光线的反射量将会多一点。而对于黑色的物体,红外反射量将会大 量的减少。那么我们就可以利用这个特性來完成黑与白的判断。通过电路的合理 安装,可以将这种接收到的红外光线变化量转换为电压值传送到主芯片中。从而 单片机就可以进行各种智能化的控
19、制了。例如,完成黑线的寻迹利白线的寻迹功 能。图1.3智能寻迹机器人实物图1.3课题研究方法1.3.1智能寻迹机器人的原理正前方的对红外发射与接收探头,可以良好的完成前方是否有障碍物的判 断,当前外无障碍物时没有红外光线被反射机器人按原来路线行走。当有红外光 线反射时,机器人会根据内部的智能程序来实现不同的功能。前下方的寻迹探头门色为:红外发射探头(连续的发射红外光线)黑色为:红外接收探头(接收反射回来的红外光线)u t u t ltr1r8r6r5r322015k22015k220图1. 4红外发射与接收探头相关的匹配电阻220电阻:红外发射器的降压与限流电阻(完成对红外发射器的保护)。15
20、k电阻:红外接收器的光信号变电信号电阻(完成将反射冋來的光信号转 变为电信号)。vi红外发射器:主要完成红外光线的发射。v2红外接收器:主要完成将反射回来的红外光线接收到后再由电阻转换为 电压信号。经过以上的原理说明与实物参照,我们可以看出红外光线是通过电阻将光信 号转变为电信号的。这里我们采用的15k的电阻,并且在进行寻变时建议将红外 接收探头用黑色的套管套住,以免多余的光线进入,影响程序的正常判断。如果 需要对红外采集信号的灵敏度进行调整,可以将红外发射与红外接收的距离进行 与地面距离的调整。另一种方法可以用來将那个用于红外接收探头的15k电阻进 行调整,以使灵敏度适合自己的需求。在进行实
21、际的智能寻迹时,如果是第一次 使用,建议先将具他的软件功能关闭,只留寻迹功能来进行测试,完毕后再添加 更多的功能到寻迹框架屮,来发挥它更多的功能。在寻迹功能不能很好的完成时, 也应考虑到太阳光线或者其他多余的光线的影响,最好在室内较暗的进行,等测 试完毕后再转到正常光线下运行。图1.5智能寻迹机器人实物图1.3.2智能寻迹机器人功能说明a:探照灯采用了左右两个led灯來表示,在程序可以通过软件代码的编写 来模拟汽车的照明与转向灯。更可以在实现寻迹功能时来表示前方探头的探测情 况。b:前方智能防撞采用了红外光线反射原理,可以很好的检测到前方能够反 光的白色物体,从而实现绕障碍物与防撞的功能。c:
22、智能寻迹红外对射头采用红外光线对黑色两色反光程度不同的原理,可 以用来检测黑线与白线,实现智能寻迹的功能。同时也可以根据这种方法来实现 避悬崖及其他更多的高级功能。d:电机齿轮箱采用齿轮转动装置,为机器人的运行加入了力屋。让高速的 屯机运动变的稳定可靠,增大了屯机的转动力矩。e:智能机器人转动轮,可以完成机器人的前进、后退、左转、右转等功能。f:机器人电池座采用了屯池的安装方式,更好的完成了多次复用及易用的 特点。易更换的特点为机器人的连续运行增加了可靠性。g:直流电机驱动采用简单易管理的l9u0驱动芯片,主程序有充分时间去 处理其他更多功能。此步进行电机驱动更简单,更省主芯片效率。h:声控装
23、置一一话筒采用了模拟电路数字电路的有机结合,声控使机器人 更有趣,模拟电路的建立有效的滤除了多余的朵波,运行更可靠。i:机器人主芯片釆用stc单片机系列,完全实现isp/iap在线编程,无需 编程器,程序下载更容易。同时完全兼容at89系列芯片与avr、pic相关的系列 十ll 心j: 8位led指示灯直接连接端口屯路,能完全自由控制。充分发挥程序状 态指示灯、跑马灯、流水灯、花样灯等更变幻多样的功能。k:按键采用了电平触的方式,可以较好的学习按键中断与按键查询等功能, 掌握键盘扫描原理与查询方法。1.4智能寻迹机器人的国内外发展概况从第一台工业机器人产生到现在,机器人的范i韦i已经涉及电子、
24、机械、家电、 运输、航空、航海等领域。这些年机器人的智能化越來越先进,并且迅速地改变 着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人 劳动的机器一直是人类的梦想。随着科学技术的发展,机器人的感系统,相对视觉的许多技术來说图像处理 技术已经很发达,但关于图像的理解技术确很滞后,小车视觉经过大量的计算也 只能分辨少许结构化比较简单的环境。视觉传感器的重耍元件是摄像管或ccd, 冃前的ccd可以做到自动聚焦。但ccd的费用、犬小与使用方法确不占优势,所 以在不需要清晰图像而只要大概感觉的系统中可以使用接近觉传感器是觉传感 器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要
25、部件。视觉的典型 应用领域为自主式智能导航一种实用有效的方法。现智能小车发展很快,从智能玩具到其它各行业都有实质成果。其基木可实 现循迹、避障、检测贴片、寻光入库、避崖等基本功能,这几节的电了设计大赛 智能小车又在向声控系统发展。比较出名的飞思卡尔智能小车更是走在前列。我 此次的设计主要实现循迹避障这两个功能。2系统的需求分析与方案选择智能循迹机器人现在应用于许多领域,但是智能机器人技术也是一项近年来 兴起的,且不人为人所知的新技术。在我国以及其他国家都有大量的学者正在研 究z中,不断的提高机器人的智能化,以便更好的为人们服务,达到人机一体化。2.1可行性分析在拥有电动车的条件下,加装光电检测
26、器,完成对小车的速度、运行、位置 状态的实时监控,而口将获得数据传达到单片机进行处理,而后由芯片根据所收 到的齐种数据完成对小车的控制。这种方法能够完成对小车的运动状态进行实时 检测,控制灵活、可靠,精度高,能够实现对系统的诸项要求。2.1.1技术可行性小车循迹原理是小车在贴有黑胶带的地板上行驶,曲于黑色和门色对光线的 反射系数不同,可根据接收到的反射光的强弱来判断“道路”一黑线。在该模块 中利用了简单、应用也比较普遍的检测方法红外检测法。红外检测法,即利用红外线在不一样颜色的表而拥有不一样的反射特性。在 智能车运动过程中连续的向地面发射红外线,如果红外光遇到白色地面就产生漫 发射,反射光线被
27、接收管接收到;假如遇到黑线那么红外光被吸收掉,那么小车 上的接收管就收不到信号。2.1.2操作可行性运用单片机为整个系统的核心部分,用它控制行驶中的小车,来完成其既定 的性能日标。简单分析我们的系统,其屮关键在于完成小车的白动控制,在这一 点上,单片机就突显出来它的优势一一控制简单、快捷、容易。这样,单片机就 能够充分发挥它资源丰富、拥有比较强人的控制功能和可位寻址操作功能、价格 便宜等好处。所以,此种方法是一种比较理想的方案。根据本设计特点一一多开关量输入的复朵控制系统,需要能够处理多开关量 的单片机,但是不能用精简i/o 口与程序存储器的小体积的单片机,d/a、a/d 功能也无需应用。依据
28、这些根据,我选择了 stc89c52单片机作为本设计的主控设 备,51系列单片机具有功能强人的位操作指令,i/o 口都可按位寻址,程序空间 高达8k,对于本设计的运行也足够了。在综合考虑了传感器、対部电机的驱动等诸多因素后,我们决定采用一片单 片机,充分利用stc89c52单片机的资源。2.2需求分析2.2.1应用程序的功能需求分析本设计主要有三个模块包括信号检测模块、主控模块、电机驱动模块。信号 检测模块采用红外光对管,用以对黑线进行检测。主控电路采用宏晶公司的8051 核心的stc89c52单片机为控制芯片。电机驱动模块采用意法半导体的l298n专 用电机驱动芯片,单片控制与传统分立元件电
29、路相比,使整个系统有很好的稳定 性。信号检测模块将采集到的路况信号传入stc89c52单片机,经单片机处理过 后对l298发出指令尽心相应的调整。小车速度由单片机输岀的pwm波控制。控 制电动小车的速度及转向,从而实现自动循迹的功能。2.2.2开发环境需求分析2. 2. 2.1硬件环境(1)信号检测模块为了防止因传感器太少引起的误动作,因而在车体前段安装了 5个红外光对 管,有效的减小了误动作的发生,减小了小车冲出跑道的儿率。图2路光对管(2)主控电路木模块主要是对采集信号进行分析,同时控制电机起停、正反转。该模块包括电源模块,串口电平转换模块,以及i/o 口扩展模块。电源模块 为系统提供稳定
30、的电源,串口电平转换模块可以将电脑与单片机串口和连从而实 现程序的卜载以及串口打印debug调试功能。t/0扩展排针将单片机的管脚引出, 可以实现灵活的扩展功能。图2.2电源电路(3)驱动电路本模块主要是对单片机传送过來的高低电平信号进行处理,控制电机起停、智能小车采用前轮驱动,前轮左右两边各用一个电机驱动,调制前面两个轮 子的转速起停从而达到控制转向的冃的,后轮是万向轮,起支撑的作用。将循迹 光对管分别装在车体下的左右。当车身下左边的传感器检测到黑线时,主控芯片 控制左轮电机停止,车向左修正,当车身下右边传感器检测到黑线时,主控芯片 控制右轮电机停止,车向右修正。出于系统采用模块化结构,各个
31、模块之间采用 杜邦线连接l=二三吕三s当溯聊珅ia=#=电机驱动电路图2.4最小系统图2.5电机驱动电路2. 2. 2. 2软件环境(1) 软件配置原则能够满足该软件的可用性,可靠性和安全性的耍求(2) 系统软件的配置选择 配置工作能力有持续性、稳定性高、集成度也高的开放式标准的操作系 统,如 windowsxp, unix, window7, linux 等。 使用符合ansi/iso标准的程序设计编辑器(keil)和烧写软件isp。 使用c程序设计语言进行软件的编写。3研究方案及技术路线3.1智能循迹机器人方案智能寻迹机器人采用现在较为流行的8位单片机作为系统。以8051系列家 族中的st
32、c89c52/stc89c52为主芯片。40脚的dip封装使它拥有32个完全 io(gpio-通用输入输出)端口,通过对这些端口加以信号输入电路,控制电路, 执行电路共同完成寻迹机器人。p0.0, p0. 1, p0.2, p0.3分别通过lg9110电机 來驱动电机1与电机2。用电机的正转和反转來完成机器人的前进,后退,左转, 右转,遇遮挡物绕行,避悬崖等基木动作。在机器人前进时如果前方有遮挡物,由红外发射探头发射的红外线反射给红 外接探头,红外接探头将这信号通过p3.7传送到stc89c52中,cpu通过c代 码进行机器人的绕物操作,于此同时cpu将p3. 7的信号状况用p2. 5的led
33、 灯展示出来。小车行驶时会通过p3.5与p3.6的红外接收管来进行检测。当走 到崖处时,p3.5或p3.6将收到一个电平信号,此电平信号将通过相应端口传 送入主芯片中,主芯片通过内部代码完成机器人的避悬崖操作。同时p3.5与 p3. 6的信号状态将通过p2. 6/p2. 7显示出来。在机器人的左转,右转,后退的 过程,可以通过观看以p2. 0/p0. 7为指示灯的运行状态。p0.4为机器人的声控 检测端口,在运行为前进状态时,可以能过声控(如拍手声)來控制它的运行与 停止°p06为机器人的声音输出端。在机器人遇到障碍物时。进行绕障碍物 与避悬崖时可以通过此端口控制蜂鸣器发出报警声。当
34、为白天或黑夜时可以通过 p0.5端口中的光敏电阻来进行判断,以方便完成机器人夜间自动照明等功能。两个按键以查询/中断两种不同的方式来展现按键操作。你可以按下s1键来进 行机器的停止。再按下s2键来进行机器人的运行。这个按键的信息分别被p3. 2, p3.4接收到。ir1为红外遥控接收器,这就为机器人进行远程遥控创造了可能。 这个红外遥控接收头接收到红外信号时将信号经过p3.3送入到主芯片,主芯片 对其进行解密后以不同的方式对机器人进行控制。同时将用户的按键信息通过 p2端口上led数码管显示出来。p3.0、p3. 1中com端口的加入,讣你完全可 以用电脑对其进行控制。你可以通过对串口发送数据
35、,数据会被显示到led数码 管中,并让机器人执行相应的功能。电脑的串口软件要求波特率为9600o 8位 数据位,这时你就可以快乐的用电脑来对它进行你的完全控制了。3. 2使用技术3.2. 1继电器开关控制采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行 调整此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命 较短,可靠性不高。3.2.2三极管输出控制采用功率三极管作为功率放人器的输出控制直流电机。线性型驱动的电路结 构和原理简单,加速能力强,采用由达林顿管组成的h型桥式电路(如图2-4)。 用单片机控制达林顿管使之工作在占空比可调的开关状态卜,精确调整电动机转
36、 速。这种电路曲于工作在管子的饱和截止模式下,效率非常高,h型桥式电路保 证了简单的实现转速和方向的控制,屯子管的开关速度很快,稳定性也极强,是 一种广泛采用的pwm调速技术。图3. 1 h桥式电路3.2.3单片机逻辑控制单片机乂被称为单片微控制器,单片机不是完成某个逻辑功能的芯片,它是 把一个计算机系统集成到一个芯片上。总的來说:一块芯片就好比一台屯脑。单 片机的体积小、价格较便宜、质量很轻、使学习更加便利而且花钱少。同时,学 习单片机是学习计算机原理和结构的最好选择。单片机也用与电脑功能相似的模块,比如cpu,内存,并行总线,还有与硬 盘相同作用的存储器,与之不同的是单片机的这些元件性能相
37、比我们的电脑弱很 多,不过价钱也较低,-般不超过15元即可 用它来做一些控制电器一类 不是很复杂的工作足够了。我们现在用的全自动滚筒洗衣机、排烟罩等等的家电 里而都可以看到单片机的身影!单片机主要是作为控制部分的核心部件。它是 一种在线式控制计算机,在线式也就是现场控制,需耍的是有比较强的抗干扰能 力和较低的成本,这也是和离线式计算机的(比如家用pc)的主要区别。单片机是靠程序的,而且能够修改。通过不同的程序实现不一样的功能,特 别是特殊的独特的某些功能,这是其他器件需要花费大力气才能办到的,有些则 是花犬力气也很难办到的。一个比较简单的功能要是用美国50年代开发的74 系列,或60年代的cd
38、4000系列这些纯硬件來工作的话,电路必定是一块人pcb 板!但是要是用美国70年代开始投放市场的系列单片机,结果就会有天壤之别! 只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!由于单片机对成本是敏感的,所以现在占主要地位的语言还是最低级汇编语 言,这是除开二进制机器码以外最低的语言了,这么低级怎么还要用它呢?许多 高级编程语言己到达了可视化的编程高度怎么不用它们呢?其实很简单,那是单 片机无家里用的电脑那样的cpu,而且无似便盘这样人量的存储器。某个可视化 高级程序语言写的程序里哪怕只有一个按钮,也会达到几十k的大小!对于家用 电脑的硬盘来讲没什么,但是对于单片机来讲是
39、不可以的。单片机硬件资源的 利用率一定耍很高才行,因此汇编即使原始但还是在大量使用。同样的道理,要 是把巨型计算机上的操作系统和应用软件安装到个人计算机上來运行,那么它也 是满足不了的。可以说,二十世纪跨越了三个电的时代,一是电气时代、二是电子时代与现 已进入的电脑时代。不过,这种屯脑,通常是指个人计算机,简称pc机。它由 主机、键盘、显示器等组成。另外一类计算机,大多数人不怎么熟悉。这种计算 机就是把智能给予各种机械的单片机(亦称微控制器)。这种计算机的最小系统 只用了一块集成电路,就是完成简单运算和控制。由于它体积小,通常都藏在被 控机械的内部。它在整个装置中,起着犹如人类大脑的作用,它出
40、了问题,整个 设备就不能正常运行了。现在,单片机的使用范围已十分广泛,像实时工控、智 能仪表、导航系统、家用电器、通讯设备等。这些产品一旦用上了单片机,就会 起到让产品升级换代的作用,常在产品名称前用以形容词一一“智能型”,像智 能型宇调等。现在许多工厂的技术人员或其它业余电子开发者设计出来的一些产 品,要么屯路太复杂,要么功能太简单r和极易被仿制。追究到底,或许就卡在 产品未使用单片机或其它可编程元器件上。stc89c52是一种带8k字节闪烁可编程可擦除只读存储器(fperom-fbsh programablc and erasable read only memory )的低电压,高性能
41、c0m0s8 的 微处理器,俗称单片机。该器件采用高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。db96o3938373635343332vcc3456l.ouf278o.lufvccv+gndc1-tloutc2+rimc2-rloutv -1 lint2outt2inr2inr2outmax232161514亘tt to9212223242526272813叵1130"图32 stc89c52电路图poop01p02p03p04p05p06p07p20p21p22p23p24p25p26p27intirxdtxd_ alejppiorrp11jt
42、p123 4 5 61a 11 1a 11 p p p pintot1 _to eatvpxix2f-esetrdwrpsen丄2345678153?19181716-74系统的概要设计本章主耍介绍系统的结构设计的流程以及系统各模块的功能及相关原理。4.1应用程序的总体结构设计图循迹红外对管stc89c51电机驱动电源电路图4.1总体结构图4. 2实验原理图q歸q貂q晩q劉q跻q跻q貂dir1swk 11co;黑图4. 2实验原理图 xtal1 i xtauvccpooado po 1ao1 p0 2ao2 po3ad3po4ad4 p0l5ad5 p0 6adepq7ad7p1 0/t2p1
43、.1/t2expi 2ci pi xcexo4. 3各模块功能概述4.3.1程序状态指示灯模块4.3.1. 1实现功能本程序重点实现了一个最简程序的基本结构,它从顺序、判断、循环的形式 表现程序的基本结构,此程序通过闪灯不断的闪动,及闪灯闪动的快慢来表示程 序不不同工作状态。它也是常数字设备屮进行状态表示的方法之一。4.3. 1.2程序代码include <at89x51. h>sdefine led plvoid delay(unsigned int dclaytimc)while(dclaytimc-);void main ()unsigned int countdata=0;
44、while (1)if (countdata<30)delay(60000);else if(countdata<60)delay(30000);else if(countdata<90)delay(10000);else if(countdata<120)countdata=0;countdata=countdata+1;led=led;i4.3.1.3运行效果开机后程序以慢速闪动,一段时间斤速度开始加快,再等待时间,闪灯的速 度达到最快,z后一段时间后,闪动将回到开始状态。4. 3. 2流水灯模块4.3.2. 1实现功能本程序全面的表现了子程序的用法,它从对几个子程
45、序的操作,显示不同的 流灯技术,流水灯的不同需要不同的表现的形式,而这里主要介绍了移位操作和 内部数据存储及读入操作。延时函数采用可重入标志,可进行函数的递归调用。 4. 3. 2. 2程序代码ttincludc <at89x51. h>#define led plunsigned int code btom = 0x7e,0x3c, 0x18, 0x00;unsigned int code mtob = 0xe7, 0xc3, 0x81, 0x00;void delay() reentrant unsigned int delaytime=10000;while(delaytim
46、e-);void lefttoright()unsigned char tcmpcount二0;led=0xfe;/定义从左边到右边显示函数定义显示次数变量/定义初步显示数据for(tempcount=0;tempcount<8;tempcount+)delay ();lcd=led<<l;return;void righttoleft() unsigned char tempcount=0;lcd=0x7f;for (tempcount=0;tempcount<8;tempcount+)delay ();led=led>>l;return;void bot
47、htomid() unsigned char tempcount=0;led=0xff;for (tcmpcount二0;tempcount5;tcmpcount+) delay ();led=btomtempcount;return;void midtoboth()unsi gned char tempcount=0;lcd=0xff;for (tempcount二0;tempcount<5;tempcount+)delay ();led=mtobtempcount;return;void main ()whi.le (1) lefttoright();righttoleft();bo
48、thtomido ;midtoboth ();4. 3. 2. 3运行效果开机后,指示灯向从左向右依次点亮,从右向左依次点亮,由两边向屮间依 次点亮,由中间向两边依次点亮。4. 3. 3数码管模块4.3.3. 1实现功能本程序通过对端口s的置数操作,展示了数码管的应用技术,数码管是将 发光二极管通过一定的形式封装在一个数字的外壳屮,可以通过不同的点亮方式 来显不同的数字符号。4. 3. 3. 2程序代码ttinclude <at89x51. h>typedef unsigned int uint;typedef unsigned char uchar;/包含头文件重命名整数类型关键
49、字/重命名字符类型关键字*uchar code ledshowdata = 0x9f, 0x25, oxod, 0x99, 0x49,/ 定义固定存储显示字符0x41, oxlf, 0x01, 0x19, 0x03 ; /i, 2, 3, 4, 5, 6, 7, 8, 9, 0void delay ()uint temptime=20000;while(temptime一一);voi d main ()uchar countda.ta=0;while (1)p2=ledshowdatacountdata;countdata+;if (countdata>=10)countdata=0;d
50、elay ();i4. 3. 3. 3运行效果程序运行效果为:程序下载后,数码管将从1-9依次显示,最后将显示数字0.4.3.4数码管及跑马灯模块4.3.4. 1实现功能本程序主要是将数码管及跑马灯放在一起显示,它主要说明了,如何将在单 系中运行多个看似并行运行的子系统本程序在此将跑马灯子程序放入到一个头 文件小,对于一个大的工程这样将有益于程序文件的管理。4. 3. 4. 2程序代码ttincludc <at89x51. h>/包含端口定义头文件unsigned char code ledshowdata = 0x9f, 0x25, oxod, 0x99, 0x49, /定义数码
51、管显示字符0x41, oxlf, 0x01, 0x19, 0x03 ; /l, 2, 3, 4, 5, 6, 7, 8, 9, 0#define led plunsigned char countdata二0;unsigned int code btom = 0x7e, 0x3c, 0x18, 0x00;unsigned int code mtob = 0xe7, 0xc3, 0x81, 0x00; void delay() reentrant unsigned int delaytime=10000;while (dclaytimc-);p2=ledshowdatacountdata;cou
52、ntdata+;if (countdata>=10)counidata二0;include跑马灯.h>void main()wh订c (1) lefttorighto ;righttoleft ();bothtomido ;mi dtoboth ();/包含显示方式头文件/主程序入口/无穷循环开始./从左到右进行显示从右到左进行显示/由两边到中间进行显示/由中间到两边进行显示void lefttoright()unsigned char tempcount=0;led=0xfe;/定义从左边到右边显示函数/定义显示次数变量/定义初步显示数据*for (tcmpcount=0;tcm
53、pcount<8;tcmpcount+) /通过循环进行数据显示delay ();led=led<<l;return;void righttoleft() unsigned char tempcount二0;lcd=0x7f;/延时,用在每次移动数据开始处/由右边向左边移动数据/空返冋语句,表明此子程序的结束./定义从右边到左边显示函数/定义显示次数变量/定义初步显示数据for (tempcount=0 ;tempcount<8;tempcount+) /通过循环进行数据显示delay ();led=led>>l;return;/延时,用在每次移动数据开始处
54、/由左边向右移动数据/空返语句,表明此子程序的结束.void bothtomid()/定义由两边到屮间显示子程序 unsigned char tempcount二0;led二oxff;for (t empcoun t=o;t empcount<5; t empcoun t+) / 通过循环依次进行次数 运行delay ();led=btomtempcount;return;void midtobothounsi gned char tempcount=0;lcd=0xff;/延时,在每次运行前./读入当次显示数据./空返冋,表明此了程序的结束./定义出中间到两边子程序/定义临时次数变量for (tempcount=0 ;tempcount<5 ;tempcount+) /通过循环进行数据显示delay ();led=mtobtempcount;return;4. 3. 4. 3运行效果本程序运行后,可以看到跑马灯按,从左到右,从右到左,从两边到中 间,从屮间到两边将依次运行。并但在运行过程屮,可以看到数码管依次从 1-9-0的顺序显示数字符号。4.3.5串口通信程模块4.3.5. 1实现功能木程序通过数码管,led指示灯的闪亮来表示当前串口通信的结果,串口通 信使单片机与电脑之间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络工程师考试知识准备与2025年试题答案指南
- 如何看待社会暴力与政治冲突的关系试题及答案
- 未来问题西方政治制度的治理理论与实践试题及答案
- 西方的公民权利与政治参与机会试题及答案
- 软考网络工程师重点考点试题及答案
- 机电工程模拟实习题目试题及答案
- 2024年独立运行风力发电机组控制器及逆变器资金申请报告代可行性研究报告
- 西方女性在政治中的影响试题及答案
- 机电工程市场需求试题及答案
- 网络安全问题的应对措施与试题及答案
- 2023-2024学年山东省潍坊市小学语文 2023-2024学年六年级语文期末试卷期末评估试卷
- 挤压工试卷合集
- GB/T 3101-1993有关量、单位和符号的一般原则
- 尿动力学检查操作指南2023版
- GB/T 2624.1-2006用安装在圆形截面管道中的差压装置测量满管流体流量第1部分:一般原理和要求
- 2023年上海高考语文试卷+答案
- 危大工程管理台账
- 小学数学西南师大六年级下册五总复习 列方程解决问题D
- 破产管理人工作履职报告(优选.)
- 景观园林设计收费的标准
- 递进式流程通用模板PPT
评论
0/150
提交评论