




免费预览已结束,剩余32页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能寻迹遥控避障小车 攀枝花学院本科毕业设计(论文)智能寻迹遥控避障小车 学生姓名: XXXXXXX 学生学号: XXXXXXXXXXXX 院(系): 数学与计算机学院 年级专业:09级信息与计算机科学 指导教师:XXXXXX 讲师 二?一三年六月摘 要 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。 本设计主要应用STC89C52RC作为控制核心,与显示器、驱动电路等相结合的系统。基于单片机设计。利用单片机STC89C52RC作为报警装置的控制器,能充分发挥STC89C52RC的数据处理和实时控制功能。使系统工作处于最佳状态,提高系统的灵敏度。当产生信号驱动小车前进时,通过寻迹模块里的红外对管是否寻到黑线产生的电平信号再返回到单片机,单片机根据程序设计要求做出相应的判断送给电机驱动模块.控制小车让其在黑线上实现前进后退以及转向。关键词 单片机,寻迹,红外,电机驱动ABSTRACT Embedded 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 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 includes two parts: hardware and software. The hardware includes a processor and microprocessor, memory and peripheral devices and I / O ports, such as graphics controller. The software includes operating system software OS the requirement of real-time and multi-task operation and application programming. 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 driver 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 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 module,it controls the car turning back forward of running on the black line. Key words:SCM,Tracing,Level 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继电器开关控制123.2.2三极管输出控制123.2.3单片机逻辑控制124 系统的概要设计154.1 应用程序的总体结构设计图154.2 实验原理图154.3各模块功能概述164.3.1 程序状态指示灯模块164.3.1.1 实现功能164.3.1.2程序代码164.3.1.3运行效果174.3.2 流水灯模块174.3.2.1 实现功能174.3.2.2程序代码174.3.2.3运行效果194.3.3数码管模块194.3.3.1 实现功能194.3.3.2程序代码194.3.3.3运行效果204.3.4 数码管及跑马灯模块204.3.4.1 实现功能204.3.4.2程序代码204.3.4.3运行效果234.3.5串口通信程模块234.3.5.1 实现功能234.3.5.2程序代码244.3.4.3运行效果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 绪 论 当今世界,传感器技术和自动控制技术正在飞速发展,机械、电气和电子信息已经不再明显分家,自动控制在工业领域中的地位已经越来越重要,“智能”这个词也已经成为了热门词汇。现在国外的自动控制和传感器技术已经达到了很高的水平,特别是日本,比如日本本田制作的机器人,其仿人双足行走已经做得十分逼真,而且具有一定的学习能力,还据说其智商已达到6岁儿童的水平。 作为机械行业的代表产品?汽车,其与电子信息产业的融合速度也显著提高呈现出两个明显的特点:一是电子装置占汽车整车(特别是轿车)的价值量比例逐步提高,汽车将由以机械产品为主向高级的机电一体化方向发展,汽车电子产业也很有可能成为依托整车制造业和用车提升配置而快速成为新的增长点;二是汽车开始向电子化、多媒体化和智能化方向发展,使其不仅作为一种代步工具、同时能具有交通、娱乐、办公和通讯等多种功能。 无容置疑,电子信息化人才的培养不论是在国外还是国内,都开始重视起来,主要表现在大学生的各种大型的创新比赛,比如:亚洲广播电视联盟亚太地区机器人大赛(ABU ROBCON)、全国大学生“飞思卡尔”杯智能汽车竞赛等众多重要竞赛都能很好的培养大学生对于机电一体化的兴趣与强化机电一体化的相关知识。但很现实的状况是,国内不论是在机械还是电气领域,与国外的差距还是很明显的,所以作为电子信息化学生,必须加倍努力,为逐步赶上国外先进水平并超过之而努力。为了适应智能控制的发展在汽车智能化方向的发展要求,提出简易智能小车的构想,目的在于:通过独立设计并制作一辆具有简单智能化的简易小车,获得项目整体设计的能力,并掌握多通道多样化传感器综合控制的方法。所以立“智能寻迹小车”一题作为尝试。 此项设计是在以腾芯ZN02智能小车为基础,采用STC89C52RC单片机作为控制核心,实现能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。 1.1 课题提出的背景 智能寻迹机器人采用现在较为流行的8 位单片机作为系统大脑。以8052系列家族中的 89C52RC为主芯片。40 脚的 DIP 封装使它拥有 32 个完全 IOGPIO?通用输入输出 端口,通过对这些端口加以信号输入电路,控制电路,执行电路共同完成寻迹机器人。P0.0,P0.1,P0.2,P0.3 分别通过 LG9110驱动电机来驱使电机1 和电机 2。用电机的正转和反转去完成机器人的前进,后退,左转,右转,遇遮挡物绕行,避开悬崖等一系列的动作。在机器人前进时如果前方有遮挡物体,由红外发射探头发出的红外信号被反射回红外接收管,及将此信息通过 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 显示出来。在机器人的左转,右转,后退的过程,可以通过观看以P2.0/P0.7 为指示灯的运行状态。P0.4 为机器人的声控检测端口,在运行为前进状态时,可以能过声控 如拍手声来控制它的运行与停止。 P0.6 为机器人的声音输出端。 在机器人遇到障碍物时。 进行绕障碍物与避悬崖 时可以通过此端口控制蜂鸣器发出报警声。当为白天或黑夜时可以通P0.5端口中的光敏电阻来进行判断,以方便完成机器人夜间自动照明等功能。两个按键以查询/中断两种不同的方式来展现按键操作。你可以按下 S1 键来进行机器的停止。 再按下S2 键来进行机器人的运行。 这个按键的信息分别被P3.2,P3.4接收到。IR1 为红外遥控接收器,这就为机器人进行远程遥控创造了可能。 这个红外遥控接收头接收到红外信号时将信号经P3.3 送入到主芯片,主芯片对其进行解密后以不同的方式对机器人进行控制。同时将用户的按键信息通过P2 端口上 LED 数码管显示出来。P3.0、P3.l 中 COM 端口的加入,让你完全可以用电脑对其进行控制。你可以通过对串口发送数据,数据会被显示到LED数码管中,并让机器人执行相应的功能。电脑的串口软件要求波特率为9600。8 位数据位,这时你就可以快乐的用电脑来对它进行你的完全控制了。图1.1 智能寻迹机器人实物图图1.2智能寻迹机器人实物图1.2 智能寻迹机器人的研究意义 智能寻迹机器人之所以能够寻迹,主要是由前方的两对红外发射与接收探头来完成的。我们知道光有反射的特性。所以说当前防的红外发射出来的光线遇到物体时,就会形成反射的光线,而这个经反射的红外光线刚好被红外接收探头接收到。当红外接收探头接收到信号后,再将信号送到单片机,由单片机内部的程序来控制机器人的运行情况。那么如何知道是黑线还是白线了?原来这样的,红外光线有一反射的特性。但对于不同的物体反射特性是不一样的,特别是对白色的物体,红外光线的反射量将会多一点。而对于黑色的物体,红外反射量将会大量的减少。那么我们就可以利用这个特性来完成黑与白的判断。通过电路的合理安装,可以将这种接收到的红外光线变化量转换为电压值传送到主芯片中。从而单片机就可以进行各种智能化的控制了。例如,完成黑线的寻迹和白线的寻迹功能。 图 1.3智能寻迹机器人实物图 1.3 课题研究方法1.3.1 智能寻迹机器人的原理 正前方的一对红外发射与接收探头,可以良好的完成前方是否有障碍物的判断,当前外无障碍物时没有红外光线被反射机器人按原来路线行走。当有红外光线反射时,机器人会根据内部的智能程序来实现不同的功能。 前下方的寻迹探头 白色为:红外发射探头(连续的发射红外光线) 黑色为:红外接收探头(接收反射回来的红外光线) 图1.4红外发射与接收探头相关的匹配电阻 220电阻:红外发射器的降压与限流电阻(完成对红外发射器的保护)。 15K电阻:红外接收器的光信号变电信号电阻(完成将反射回来的光信号转变为电信号)。 V1红外发射器:主要完成红外光线的发射。 V2红外接收器:主要完成将反射回来的红外光线接收到后再由电阻转换为电压信号。 经过以上的原理说明与实物参照,我们可以看出红外光线是通过电阻将光信号转变为电信号的。这里我们采用的15K的电阻,并且在进行寻变时建议将红外接收探头用黑色的套管套住,以免多余的光线进入,影响程序的正常判断。如果需要对红外采集信号的灵敏度进行调整,可以将红外发射与红外接收的距离进行与地面距离的调整。另一种方法可以用来将那个用于红外接收探头的15K电阻进行调整,以使灵敏度适合自己的需求。在进行实际的智能寻迹时,如果是第一次使用,建议先将其他的软件功能关闭,只留寻迹功能来进行测试,完毕后再添加更多的功能到寻迹框架中,来发挥它更多的功能。在寻迹功能不能很好的完成时,也应考虑到太阳光线或者其他多余的光线的影响,最好在室内较暗的进行,等测试完毕后再转到正常光线下运行。图 1.5智能寻迹机器人实物图1.3.2 智能寻迹机器人功能说明 A:探照灯采用了左右两个LED灯来表示,在程序可以通过软件代码的编写来模拟汽车的照明与转向灯。更可以在实现寻迹功能时来表示前方探头的探测情况。 B:前方智能防撞采用了红外光线反射原理,可以很好的检测到前方能够反光的白色物体,从而实现绕障碍物与防撞的功能。 C:智能寻迹红外对射头采用红外光线对黑色两色反光程度不同的原理,可以用来检测黑线与白线,实现智能寻迹的功能。同时也可以根据这种方法来实现避悬崖及其他更多的高级功能。 D: 电机齿轮箱采用齿轮转动装置,为机器人的运行加入了力量。让高速的电机运动变的稳定可靠,增大了电机的转动力矩。 E:智能机器人转动轮,可以完成机器人的前进、后退、左转、右转等功能。 F:机器人电池座采用了电池的安装方式,更好的完成了多次复用及易用的特点。易更换的特点为机器人的连续运行增加了可靠性。 G:直流电机驱动采用简单易管理的L9110驱动芯片,主程序有充分时间去处理其他更多功能。此步进行电机驱动更简单,更省主芯片效率。 H:声控装置-话筒采用了模拟电路数字电路的有机结合,声控使机器人更有趣,模拟电路的建立有效的滤除了多余的杂波,运行更可靠。 I:机器人主芯片采用STC单片机系列,完全实现ISP/IAP在线编程,无需编程器,程序下载更容易。同时完全兼容AT89系列芯片与AVR、PIC相关的系列芯片。 J:8位LED指示灯直接连接端口电路,能完全自由控制。充分发挥程序状态指示灯、跑马灯、流水灯、花样灯等更变幻多样的功能。 K:按键采用了电平触的方式,可以较好的学习按键中断与按键查询等功能,掌握键盘扫描原理与查询方法。 1.4 智能寻迹机器人的国内外发展概况 从第一台工业机器人产生到现在,机器人的范围已经涉及电子、机械、家电、运输、航空、航海等领域。这些年机器人的智能化越来越先进,并且迅速地改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。 随着科学技术的发展,机器人的感系统,相对视觉的许多技术来说图像处理技术已经很发达,但关于图像的理解技术确很滞后,小车视觉经过大量的计算也只能分辨少许结构化比较简单的环境。视觉传感器的重要元件是摄像管或CCD,目前的CCD可以做到自动聚焦。但CCD的费用、大小与使用方法确不占优势,所以在不需要清晰图像而只要大概感觉的系统中可以使用接近觉传感器是觉传感器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要部件。视觉的典型应用领域为自主式智能导航一种实用有效的方法。 现智能小车发展很快,从智能玩具到其它各行业都有实质成果。其基本可实现循迹、避障、检测贴片、寻光入库、避崖等基本功能,这几节的电子设计大赛智能小车又在向声控系统发展。比较出名的飞思卡尔智能小车更是走在前列。我此次的设计主要实现循迹避障这两个功能。 2 系统的需求分析与方案选择 智能循迹机器人现在应用于许多领域,但是智能机器人技术也是一项近年来兴起的,且不大为人所知的新技术。在我国以及其他国家都有大量的学者正在研究之中,不断的提高机器人的智能化,以便更好的为人们服务,达到人机一体化。2.1 可行性分析 在拥有电动车的条件下,加装光电检测器,完成对小车的速度、运行、位置状态的实时监控,而且将获得数据传达到单片机进行处理,而后由芯片根据所收到的各种数据完成对小车的控制。这种方法能够完成对小车的运动状态进行实时检测,控制灵活、可靠,精度高,能够实现对系统的诸项要求。2.1.1技术可行性 小车循迹原理是小车在贴有黑胶带的地板上行驶,由于黑色和白色对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”?黑线。在该模块中利用了简单、应用也比较普遍的检测方法?红外检测法。 红外检测法,即利用红外线在不一样颜色的表面拥有不一样的反射特性。在智能车运动过程中连续的向地面发射红外线,如果红外光遇到白色地面就产生漫发射,反射光线被接收管接收到;假如遇到黑线那么红外光被吸收掉,那么小车上的接收管就收不到信号。2.1.2操作可行性 运用单片机为整个系统的核心部分,用它控制行驶中的小车,来完成其既定的性能目标。简单分析我们的系统,其中关键在于完成小车的自动控制,在这一点上,单片机就突显出来它的优势?控制简单、快捷、容易。这样,单片机就能够充分发挥它资源丰富、拥有比较强大的控制功能和可位寻址操作功能、价格便宜等好处。所以,此种方法是一种比较理想的方案。 根据本设计特点?多开关量输入的复杂控制系统,需要能够处理多开关量的单片机,但是不能用精简I/O口与程序存储器的小体积的单片机,D/A、A/D功能也无需应用。依据这些根据,我选择了STC89C52单片机作为本设计的主控设备,51系列单片机具有功能强大的位操作指令,I/O口都可按位寻址,程序空间高达8K,对于本设计的运行也足够了。 在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采用一片单片机,充分利用STC89C52单片机的资源。2.2 需求分析2.2.1应用程序的功能需求分析 本设计主要有三个模块包括信号检测模块、主控模块、电机驱动模块。信号检测模块采用红外光对管,用以对黑线进行检测。主控电路采用宏晶公司的8051 核心的STC89C52单片机为控制芯片。电机驱动模块采用意法半导体的L298N专用电机驱动芯片,单片控制与传统分立元件电路相比,使整个系统有很好的稳定性。信号检测模块将采集到的路况信号传入STC89C52单片机,经单片机处理过后对L298发出指令尽心相应的调整。小车速度由单片机输出的PWM波控制。控制电动小车的速度及转向,从而实现自动循迹的功能。2.2.2 开发环境需求分析2.2.2.1 硬件环境 1信号检测模块 为了防止因传感器太少引起的误动作,因而在车体前段安装了5个红外光对管,有效的减小了误动作的发生,减小了小车冲出跑道的几率。 图 2.1 路光对管 2 主控电路 本模块主要是对采集信号进行分析,同时控制电机起停、正反转。 该模块包括电源模块,串口电平转换模块,以及I/O口扩展模块。电源模块为系统提供稳定的电源,串口电平转换模块可以将电脑与单片机串口相连从而实现程序的下载以及串口打印debug调试功能。I/O扩展排针将单片机的管脚引出,可以实现灵活的扩展功能。 图 2.2 电源电路 3 驱动电路 本模块主要是对单片机传送过来的高低电平信号进行处理,控制电机起停、正反转。 图 2.3 驱动电路 4 总体设计 智能小车采用前轮驱动,前轮左右两边各用一个电机驱动,调制前面两个轮子的转速起停从而达到控制转向的目的,后轮是万向轮,起支撑的作用。将循迹光对管分别装在车体下的左右。当车身下左边的传感器检测到黑线时,主控芯片控制左轮电机停止,车向左修正,当车身下右边传感器检测到黑线时,主控芯片控制右轮电机停止,车向右修正。由于系统采用模块化结构,各个模块之间采用杜邦线连接 图 2.4 最小系统图 2.5 电机驱动电路2.2.2.2 软件环境 1软件配置原则 能够满足该软件的可用性,可靠性和安全性的要求 2系统软件的配置选择 配置工作能力有持续性、稳定性高、集成度也高的开放式标准的操作系统,如WindowsXP,UNIX,Window7,Linux等。 使用符合ANSI/ISO标准的程序设计编辑器(Keil)和烧写软件ISP。 使用C程序设计语言进行软件的编写。 3 研究方案及技术路线 3.1 智能循迹机器人方案 智能寻迹机器人采用现在较为流行的8位单片机作为系统。以8051系列家族中的 STC89C52/STC89C52为主芯片。40脚的DIP封装使它拥有32个完全IOGPIO?通用输入输出 端口,通过对这些端口加以信号输入电路,控制电路, 执行电路共同完成寻迹机器人。P0.0,P0.1,P0.2,P0.3分别通过 LG9110电机来驱动电机1与电机2。用电机的正转和反转来完成机器人的前进,后退,左转,右转,遇遮挡物绕行,避悬崖等基本动作。 在机器人前进时如果前方有遮挡物,由红外发射探头发射的红外线反射给红外接探头,红外接探头将这信号通过 P3.7 传送到 STC89C52中,CPU通过C代码进行机器人的绕物操作, 于此同时CPU将P3.7 的信号状况用 P2.5 的 LED 灯展示出来。小车行驶时会通过 P3.5 与 P3.6 的红外接收管来进行检测。当走到崖处时, P3.5 或 P3.6 将收到一个电平信号,此电平信号将通过相应端口传送入主芯片中, 主芯片通过内部代码完成机器人的避悬崖操作。 同时P3.5 与 P3.6的信号状态将通过 P2.6/P2.7 显示出来。在机器人的左转,右转,后退的过程,可以通过观看以P2.0/P0.7 为指示灯的运行状态。P0.4 为机器人的声控检测端口,在运行为前进状态时,可以能过声控 如拍手声来控制它的运行与停止。P0.6为机器人的声音输出端。 在机器人遇到障碍物时。 进行绕障碍物与避悬崖时可以通过此端口控制蜂鸣器发出报警声。当为白天或黑夜时可以通过P0.5端口中的光敏电阻来进行判断,以方便完成机器人夜间自动照明等功能。两个按键以查询/中断两种不同的方式来展现按键操作。你可以按下 S1 键来进行机器的停止。再按下S2 键来进行机器人的运行。这个按键的信息分别被P3.2,P3.4接收到。IR1为红外遥控接收器,这就为机器人进行远程遥控创造了可能。这个红外遥控接收头接收到红外信号时将信号经过P3.3 送入到主芯片,主芯片对其进行解密后以不同的方式对机器人进行控制。同时将用户的按键信息通过P2 端口上LED 数码管显示出来。P3.0、P3.l 中 COM 端口的加入,让你完全可以用电脑对其进行控制。你可以通过对串口发送数据,数据会被显示到LED数码管中,并让机器人执行相应的功能。电脑的串口软件要求波特率为9600。8 位数据位,这时你就可以快乐的用电脑来对它进行你的完全控制了。 3.2 使用技术3.2.1继电器开关控制 采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整.此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高。3.2.2三极管输出控制 采用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的H型桥式电路(如图2-4)。用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高,H型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采用的 PWM调速技术。 图 3.1 H桥式电路3.2.3单片机逻辑控制 单片机又被称为单片微控制器,单片机不是完成某个逻辑功能的芯片,它是把一个计算机系统集成到一个芯片上。总的来说:一块芯片就好比一台电脑。单片机的体积小、价格较便宜、质量很轻、使学习更加便利而且花钱少。同时,学习单片机是学习计算机原理和结构的最好选择。 单片机也用与电脑功能相似的模块,比如CPU,内存,并行总线,还有与硬盘相同作用的存储器,与之不同的是单片机的这些元件性能相比我们的电脑弱很多,不过价钱也较低,一般不超过15元即可用它来做一些控制电器一类不是很复杂的工作足够了。我们现在用的全自动滚筒洗衣机、排烟罩等等的家电里面都可以看到单片机的身影!单片机主要是作为控制部分的核心部件。 它是一种在线式控制计算机,在线式也就是现场控制,需要的是有比较强的抗干扰能力和较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。 单片机是靠程序的,而且能够修改。通过不同的程序实现不一样的功能,特别是特殊的独特的某些功能,这是其他器件需要花费大力气才能办到的,有些则是花大力气也很难办到的。一个比较简单的功能要是用美国50年代开发的74系列,或60年代的CD4000系列这些纯硬件来工作的话,电路必定是一块大PCB板!但是要是用美国70年代开始投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性! 由于单片机对成本是敏感的,所以现在占主要地位的语言还是最低级汇编语言,这是除开二进制机器码以外最低的语言了,这么低级怎么还要用它呢?许多高级编程语言已到达了可视化的编程高度怎么不用它们呢?其实很简单,那是单片机无家里用的电脑那样的cpu,而且无似硬盘这样大量的存储器。某个可视化高级程序语言写的程序里哪怕只有一个按钮,也会达到几十K的大小!对于家用电脑的硬盘来讲没什么,但是对于单片机来讲是不可以的。 单片机硬件资源的利用率一定要很高才行,因此汇编即使原始但还是在大量使用。同样的道理,要是把巨型计算机上的操作系统和应用软件安装到个人计算机上来运行,那么它也是满足不了的。 可以说,二十世纪跨越了三个电的时代,一是电气时代、二是电子时代与现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。另外一类计算机,大多数人不怎么熟悉。这种计算机就是把智能给予各种机械的单片机(亦称微控制器)。这种计算机的最小系统只用了一块集成电路,就是完成简单运算和控制。由于它体积小,通常都藏在被控机械的内部。它在整个装置中,起着犹如人类大脑的作用,它出了问题,整个设备就不能正常运行了。现在,单片机的使用范围已十分广泛,像实时工控、智能仪表、导航系统、家用电器、通讯设备等。这些产品一旦用上了单片机,就会起到让产品升级换代的作用,常在产品名称前用以形容词?“智能型”,像智能型空调等。现在许多工厂的技术人员或其它业余电子开发者设计出来的一些产品,要么电路太复杂,要么功能太简单且和极易被仿制。追究到底,或许就卡在产品未使用单片机或其它可编程元器件上。 STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。图 3.2 STC89C52电路图4 系统的概要设计 本章主要介绍系统的结构设计的流程以及系统各模块的功能及相关原理。 4.1 应用程序的总体结构设计图图 4.1总体结构图4.2 实验原理图图4.2 实验原理图4.3各模块功能概述4.3.1 程序状态指示灯模块4.3.1.1 实现功能 本程序重点实现了一个最简程序的基本结构,它从顺序、判断、循环的形式表现程序的基本结构,此程序通过闪灯不断的闪动,及闪灯闪动的快慢来表示程序不不同工作状态。它也是常数字设备中进行状态表示的方法之一。4.3.1.2程序代码 #include #define LED P1 void Delayunsigned int DelayTime whileDelayTime-; void main unsigned int CountData0; while1 ifCountData30 Delay60000; else ifCountData60 Delay30000; else ifCountData90 Delay10000; else ifCountData120 CountData0; CountDataCountData+1; LEDLED; 4.3.1.3运行效果 开机后程序以慢速闪动,一段时间后速度开始加快,再等待时间,闪灯的速度达到最快,之后一段时间后,闪动将回到开始状态。4.3.2 流水灯模块4.3.2.1 实现功能 本程序全面的表现了子程序的用法,它从对几个子程序的操作,显示不同的流灯技术,流水灯的不同需要不同的表现的形式,而这里主要介绍了移位操作和内部数据存储及读入操作。延时函数采用可重入标志,可进行函数的递归调用。4.3.2.2程序代码 #include #define Led P1 unsigned int code BToM0x7E,0x3C,0x18,0x00; unsigned int code MToB0xE7,0xC3,0x81,0x00; void Delay reentrant unsigned int DelayTime10000; whileDelayTime-; void LeftToRight unsigned char TempCount0; Led0xFE; /定义从左边到右边显示函数 /定义显示次数变量 /定义初步显示数据 forTempCount0;TempCount8;TempCount+ Delay; LedLed1; return; void RightToLeft unsigned char TempCount0; Led0x7F; forTempCount0;TempCount8;TempCount+ Delay; LedLed1; return; void BothToMid unsigned char TempCount0; Led0xFF; forTempCount0;TempCount5;TempCount+ Delay; LedBToMTempCount; return; void MidToBoth unsigned char TempCount0; Led0xFF; forTempCount0;TempCount5;TempCount+ Delay; LedMToBTempCount; return; void main while1 LeftToRight; RightToLeft; BothToMid; MidToBoth; 4.3.2.3运行效果 开机后,指示灯向从左向右依次点亮,从右向左依次点亮,由两边向中间依次点亮,由中间向两边依次点亮。4.3.3数码管模块4.3.3.1 实现功能 本程序通过对端口s的置数操作, 展示了数码管的应用技术, 数码管是将发光二极管通过一定的形式封装在一个数字的外壳中,可以通过不同的点亮方式来显不同的数字符号。4.3.3.2程序代码 #include typedef unsigned int uint; typedef unsigned char uchar; /包含头文件 /重命名整数类型关键字 /重命名字符类型关键字 *uchar code LedShowData0x9F,0x25,0x0D,0x99,0x49,/定义固定存储显示字符 0x41,0x1F,0x01,0x19,0x03; /1,2,3,4,5,6,7,8,9,0 void Delay uint TempTime20000; whileTempTime-; void main uchar CountData0; while1 P2LedShowDataCountData; CountData+; ifCountData10 CountData0; Delay; 4.3.3.3运行效果 程序运行效果为:程序下载后,数码管将从 1-9 依次显示,最后将显示数字 0.4.3.4 数码管及跑马灯模块4.3.4.1 实现功能 本程序主要是将数码管及跑马灯放在一起显示,它主要说明了,如何将在单系中运行多个看似并行运行的子系统.本程序在此将跑马灯子程序放入到一个头文件中, 对于一个大的工程这样将有益于程序文件的管理。4.3.4.2程序代码 #include /包含端口定义头文件 unsigned char code LedShowData0x9F,0x25,0x0D,0x99,0x49, /定义数码管显示字符 0x41,0x1F,0x01,0x19,0x03; /1,2,3,4,5,6,7,8,9,0 #define Led P1 unsigned char CountData0; unsigned int code BToM0x7E,0x3C,0x18,0x00; unsigned int code MToB0xE7,0xC3,0x81,0x00; void Delay reentrant unsigned int DelayTime10000; whileDelayTime-; P2LedShowDataCountData; CountData+; ifCountData10 CountData0; #include 跑马灯.h void main while1 LeftToRight; RightToLeft; BothToMid; MidToBoth; /包含显示方式头文件 /主程序入口 /无穷循环开始. /从左到右进行显示 /从右到左进行显示 /由两边到中间进行显示 /由中间到两边进行显
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 桡骨骨折护理
- 2025年数据分析师初级面试技巧与模拟题答案详解
- 2025年大学教授招聘笔试模拟题及答案
- 2025年医疗器械销售代表产品推广方向招聘面试预测题集
- 2025年仓库管理员理论知识考试试题与答案
- 2025年财务经理招聘模拟题及答案
- 2025年验船师考试(C级船舶检验专业实务)综合练习题及答案二
- 2025年(公需科目)人工智能与健康考试题库试题及答案
- 2025年注册验船师考试(A级船舶检验专业基础安全)复习题及答案一
- 2026届上海市同济大学一附中化学高一上期中达标测试试题含解析
- 物业管家培训 课件
- 征兵文化考试试题及答案
- 2025-2030年中国高速公路行业市场深度调研及前景趋势与投融资研究报告
- 保安证考试题库及答案2025年
- 2025年山西省公务员录用考试《行测》真题及答案解析
- T/CAQI 27-2017中小学教室空气质量规范
- 病原微生物实验室安全课件
- 私人光伏安装合同协议
- 2025年生猪屠宰兽医卫生检疫人员考试题(附答案)
- 实验室危险化学品管理与职责
- 2025秋季美术教学方法与计划
评论
0/150
提交评论