机械毕业设计53课程设计智能小汽车_第1页
机械毕业设计53课程设计智能小汽车_第2页
机械毕业设计53课程设计智能小汽车_第3页
机械毕业设计53课程设计智能小汽车_第4页
机械毕业设计53课程设计智能小汽车_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数理与信息工程单片机原理及应用期末课程设计 智能小汽车 1 目录 第 1 节 引 言 .3 1.1 智能小汽车 系统 概述 .3 1.2 本设计任务和主要 内容 3 第 2 节 系统主要 硬件电路设计 4 2.1 系统方案论证与比较 4 2.2 单片机主机系统电路 5 2.2.1 时钟电路 5 2.2.2 复位电路 6 2.3 电机的选择与论证 6 2.4 电机驱动方案与电路 6 2.5 探测障碍物方案与 电路 8 2.6 光源检测方案 与电路 9 2.7 显示部分方案 与电路 9 2.8 电源方案 与 PCB电路 .10 2.9 入库前后声音提示方案 与电路 .11 2.10 拦栅控制电路 .12 2.11 车速检测模块 电路 .13 第 3 节 系统的软件设计 .14 3.1 系统主程序设计 .14 3.2 小车行使程序 .32 第 4 节 结束语 .39 参考文献 .40 附录 .41 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 2 智能小汽车 第 1 节 引 言 题目要求设计一智能小汽车,小车能够准确寻找到光源,并随着光源的引导,能够顺利地进入车库,同时在行程过程中能准确地显示小车的行使路程的总时间。根据要求本设计用两个电机来控制小车的转向,用红外对管传感器来检测障碍物,用光敏电阻来检 测光源,用夜晶来显示小车的行使时间和 车库 拦栅上升的时间、高度以及 当前温度 等。与此同时通过语音电路来实现人性化的人机互动。作品可以作为高级智能玩具,也可以作为大学生学习嵌入式控制的强有力的应用实例, 该系统将会有更广阔的开发前景。 1.1 智能小汽车 系统 概述 本设计制作了一款具有智能判断功能的小车,功能强大。小车具有以下几个功能:自动避障功能(避免撞到车库的 三块木板) ;趋光功能(寻找前方的点光源并行驶到位、寻找车库门);显示小车行走的总时间以及车库 拦栅上升的时间、高度以及 当前温度,同时在小车准备入库时和入库后 进行语音提示。在小车行走控制中作品以两直流电动机为主驱动,通过各类传感器件来采集各类信息,送入主控单元 AT89C51 单片机,处理数据后完成相应动作,以达到自动控制。在开启和关闭车库 拦栅时用步进 电机来控制,并通过单片机来实现相应动作。直流电机驱动电路采用三极管 8550、 8050 组成的 H 桥型驱动电路 及应用光藕芯片对两路电源进行分离。步进电机采用 L298N 和 IN5408 来驱动,其中避障采用红外对管收发来完成;趋光部分通过两路光敏电阻对光源信号的采集,再将信号送到单片机处理去判别方向,并由控制单元处理数据后完成相应 动作,实现了无人控制即可完成一系列动作,相当于简易机器人。 1.2 本设计任务和 主要 内容 本论文主要研究单片机控制的 智能小汽车 系统,小车控制技术及系统设备的软、硬件各个部分进行了研究。 主要内容如下: 根据小车的特点,进行 智能小汽车 控制系统的整体研究与设计。 对其设计进行了深入的研究,重点研究小车入库控制方式。 LCD 显示 小车行走的总时间以及车库 拦栅上升的时间、高度以及 当前温度,同时在小车准备入库时和入库后进行语音提示。 第 2节 系统主要 硬件电路设计 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 3 2.1 系统方案论证与比较 方案一:采用 各类数字电路来组成小车的控制系统,对外围避障信号,各路趋光信号进行处理,车库 拦栅上升下降控制,温度显示等 。本方案电路复杂,灵活性高,效率低,不利于小车智能化的扩展,对各路信号处理比较困难。 方案二:采用 AT89C51 单片机来作为整机的控制核心单元。红外线探头采用市面上通用的发射管与及接收头,经过单片机调制后发射。车库 拦栅控制部分用步进机来驱动再将采集到的各类信号送往单片机进行综合分析处理,实现准确有效的动作, 此系统比较灵活,采用软件方法来解决复杂的硬件电路部分使系统硬件简洁化,各类功能易于实现,能很 好地满足题目的要求,并容易扩展功能。 比较以上两种方案的优缺点,方案二简洁、灵活、可扩展性好,能达到题目 的设计要求,因此采用方案二来实现。 本系统可由图 2-1所示的几个部分组成。 单 片 机M C S 5 1电 机 驱 动障 碍 物 检 测寻 找 光 源红 外 管 发 射红 外 管 接 收声 光 提 示拦 栅 控 制计 程 脉 冲L C D 液 晶 显 示温 度 测 量图 2-1 单片机控制系统原理框图 其中传感器原理框图如图 2-2所示。 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 4 图 2-2 传感器原理框图 2 2 单片机主机系统电路 AT89C51单片机是 51系列单片机的一个成员,是 8051单片机的简化版。内部自带 2K 字节可编程 FLASH 存储器的低电压、高性能 COMS 八位微处理器,与Intel MCS-51 系列单片机的指令和输出管脚相兼容。由于将多功能八位 CPU 和闪速存储器结合在单个芯片中,因此, AT89C51 构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的 RAM、 ROM 和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。 图 2-3 单片机主机系统图 2.2.1 时钟电路 单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通 常用两种电路形式得到 :内部振荡和外部振荡。 MCS-51单片机内部有一个用于 构成振荡器的高增益反向放大器,引脚 XTALl 和 XTAL2分别是此放大电器的输 入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实 际使用中常采用这种方式,如图 2-3所示在其外接晶体振荡器 (简称晶振 )或陶 瓷谐振器就构成了内部振荡方式,片内高增益反向放大器与作为反馈元件的片外 石英晶体 或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲。 图 2-3中外接晶体以及电容 C2和 C1构成并联谐振电路,它们起稳定振荡频 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 5 率、快速起振的作用,其值均为 30P左右,晶振频率选 12MHz。 2.2.2 复位电路 为了初始化单片机内部的某些特殊功能寄存器,必须采用复位的方式,复位 后可使 CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。 单片机的复位是靠外电路来实现的,在正常运行情况下,只要 RST引脚上出现两 个机器周期时间以上的高电平,即可引起系统复位,但如果 RST引脚上持续 为 高电平,单片机就处于循环复位状态。复位后系统将输入 /输出 (1/0)端口寄存 器置为 FFH,堆栈指针 SP置为 07H, SBUF内置为不定值,其余的寄存器全部 清 0,内部 RAM的状态不受复位的影响,在系统上电时 RAM的内容是不定的。复 位操作有两种情况,即上电复位和手动 (开关 )复位。本系统采用上电复位方式。 图 2-3中 R9和 Cl组成上电复位电路,其值 R取为 10K, C取为 22pF。 2.3 电机的选择与论证 方案一:采用普通的直流电机。直流电动机具有优良的调速特性,调速平滑、方便,调整范围广,过载 能力强,能承受频繁的冲击负载,可实现频繁的无数快速启动、制动和反转。 方案二:采用步进电机。步进电机的一个显著特点是具有快速的启停能力,如果负荷不超过步进电机所能提供的动态转矩值,就能够立即使步进电机启动或反转。另一个显著特点是转换精度高,正转反转控制灵活。 考虑到时间的限制,同时普通的直流电机电路设计相对简单且容易获得,所以在设计小车行走过程中采用选择方案一的现成的直流电机作为动力驱动。在 车库 拦栅控制部分,采用 方案二的步进电机来进行控制。 2.4 电机驱动方案与电路 方案一:采用继电器对电动机的开或关进 行控制,通过控制开关的切换速度实现对小车的速度进行调整。这个电路的优点是电路结构简单,其缺点是继电器的响应时间长,易损环,寿命短,可靠性不是很高。 方案二:小车行走 电路采用两对互补型晶体管 8550( PNP)型和 8050 型( NPN)接成桥式电路。用 AT89C51软件编程来控制各晶体管导通,分别对应电机的正转与反转,同时为了达到效果我将控制电路电源和电动机电源隔离开来,在桥式电路之前加了光电耦合器( U5B TP521-2),该电路的优点是电路简单,通过单片机的软件控制互补型晶体管的导通与截止,方便的调整电动机的 运动状态。缺点是当两个输入端都为高电平时,驱动电路的三极管同时导通,容易烧坏晶体管。 方案三:( 1) 车库 拦栅控制部分采用集成电路 L298N和二极管 IN5408组成的电路来作为驱动,其原理如同 方案二,同样利用 晶体管的导通与截止来驱动电机的转动。 L298N内部包含 4通道逻辑驱动电路。是一种二相和四相电机的专用数理与信息工程单片机原理及应用期末课程设计 智能小汽车 6 驱动器,即内含二个 H桥的高电压大电流双全桥式驱动器,接收标准 TTL逻辑电平信号,可驱动 46V、 2A 以下的电机。 1 脚和 15 脚可单独引出连接电流采样电阻器,形成电流传感 ,因此对步进机来说,可以非常好的对其驱动。 ( 2)采用驱动步进机专用芯片 ULN2003A,该芯片电路简单,容易控制,但驱动力比较大。 在本次设计中的小车行走 电路,由于 继电器对设计中的种种限制,所以采用方案二中的 8050和 8550组成的桥电路。对车库 拦栅控制部分,因为题目要求电机能够自如提起放下拦栅(重量比较重), 由于没能找到 达林顿管 ULN2003A,因此我们采用驱动力比较大的 L298N来驱动,因此采用 方案三( 1)。 12DJC O N 2Q38 5 5 0 Q48 5 5 0D3I N 4 1 4 8D1I N 4 1 4 8D2I N 4 1 4 8D4I N 4 1 4 8C10 .1U FR33 .3KR43 .3KV C CR50 .1KR20 .1KR84 .7KL1L E D 3L2L E D 3R14 7 05VAR74 .7K5VR64 7 0BQ18 0 5 0Q28 0 5 0U1O P T O I S O 1 _ 1U2O P T O I S O 1 _ 112J1C O N 2AB图 2-4 电动机 PWM驱动电路 该电路的工作原理如下所示:电动机驱动由单片机两路输入,可分为四种情况讨论: ( 1)当 A端输入为低电平 、 B端输入为高电平时,使 Q1、 Q4管截止, Q2、Q3管导通,电动机正转。 ( 2)当 A端、 B端输入都为高电平时,经过光电传输,使 Q1、 Q2、 Q3、 Q4管都截止,电动机不运转。 ( 3)当 A端输入为高电平、 B端输入为低电平时,使 Q1、 Q4管导通、 Q2、Q3管截止,电动机反转。 ( 4)当 A端、 B端输入都为低电平,经过光电传输,使 Q1、 Q2、 Q3、 Q4管都导通,这在电路中是不允许出现的现象 . 考虑到电动机的启动时电流很大,而且电动机波动较大,容易造成电压不稳、等干扰,我运用了 P521光耦集成块,将控制部分与电动 机的驱动电路隔离开来,确保安全。 2.5 探测障碍物方案与 电路 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 7 方案一:采用超声波测距障碍。超声波测距模块利用其测距原理可以可靠地判断小车前方是否有障碍物,如果传感器接收到反射回来的超声波,则通过单片机来控制小车前进路线。但是 超声波受环境影响较大,电路复杂,而且地面对超声波的反射,会影响系统对障碍物的判断。 方案二:采用红外对管。电路中带有集成锁相环路解码器 LM567 或使用LM393 。当红外发射管检测到障碍物时, LM567 输出端输出低电平,否则输出高电平,并将信号传给单片机来控制小车避障和前行的动作。 利 用单片机来产生信号对红外线发射管进行调制发射,发射出去的红外线遇到避障物的时候反射回来,红外线接收管对反射回来信号进行解调,输出 TTL电平。外界对红外信号的干扰比较小,且易于实现,价格也比较便宜。 通过比较以及材料够得的容易情况,选择了方案二中红外对管电路比较合理。 在此模块中是使用红外对管和集成电路 LM393,通过红外发射管是否检测到障碍物情况,经过 LM393输出端输出电平的高低,将此信号送给单片机,使之执行相应的动作,其电路原理图如图 2-5所示。 R11 0 0 RD1L E DQ19 0 1 4R21 0 KR31 0 0 KR71KD2P H O T OC11 0 UR64 .7K3261 574U1L M 7 4 1C21 0 4R41 0 0 KC31 0 3O U T8G N D7Ct6Rt5O f i l1L f i l2IN3V+4U2L M 5 6 7R81KC41 0 4C61 0 4C51UD3L E DR51K123J1C O N 3V C C图 2-5 避障检测的电路原理图 2.6 光源检测方 案 与电路 方案一:利用光敏电阻组成的电路。当光敏电阻检测到光源时,光敏电阻对是否接受到光源时会产生高低不同的信号脉冲,这样将信号传给单片机从而控制小车向光源行使到达车库。 方案二:利用红外发射、接收器组成的电路,具有可大幅度减少外界干扰,灵敏度高,信噪比强等优点 ,但是,电路复杂、调试难度大。另外,电动车进入数理与信息工程单片机原理及应用期末课程设计 智能小汽车 8 车库后,要求小汽车能够立即停车,通过红外发射、接收器检测车库障碍物,然后通过单片机动作使电动车立即刹车。但容易车身压线,不符合题目要求。因此,不采用此方案。 基于上述理论分析,选择方案一。 设计中,在车头 安装了两个光敏电阻,把电动车引到有光源的车库,原理是这样的:当左边的光敏电阻检测到光源时,小车会往左转,当左边的光敏电阻检测到光源时,小车会往左转。加上其他传感器的信息采集,从而让小车准确如库,其电路原理图如图 2-6所示。 D24 1 0 0D1光敏电阻(射到 R 增加)R14 . 7 KR24 . 7 KC11 0 4R34 . 7 KV C CD44 1 0 0D3光敏电阻(射到 R 增加)R54 . 7 KR64 . 7 KC21 0 4R74 . 7 KV C C12J1C O N 2V C C12J2C O N 2O U T 1O U T 2Q4N P NB2C3E1Q1N P N Q2N P NB2C3E1Q3N P NQ5N P NB2C3E1Q6N P NR8P O T 111W233R4P O T 1图 2-6 光源检测电路原理图 2.7 显示部分方案 与电路 方案一:采用 LED 数码管显示小车行驶的时间和路程以及 拦栅上升时间和高度 ,在本系统中要用到 10 只 LED 数码管进行动态显示即可达到要求。其优点是价格便宜,寿命长;缺点是只能显示 0 9 的数字和一些简单的字符,电路设计繁锁,且占用 空间。 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 9 方案二:采用 LCD( 12864)液晶显示,其优点是能显示更多的字符,工作电流比 LED小,故其功耗低,且可以有良好的人机界面,直观,显示效果漂亮,体积小。综合考虑选择此方案。 由于 12864 液晶不仅可以显示数字,而且可以显示汉字和图象,这样设计产生的效果非常直观,具有人性化设计。在本设计中采用 12864作为显示部分,电路原理图如图 2-7 所示: E A / V P31X119X218R E S E T9RD17WR16I N T 012I N T 113T014T115P 1 01P 1 12P 1 23P 1 34P 1 45P 1 56P 1 67P 1 78P 0 039P 0 138P 0 237P 0 336P 0 435P 0 534P 0 633P 0 732P 2 021P 2 122P 2 223P 2 324P 2 425P 2 526P 2 627P 2 728P S E N29A L E / P30T X D11R X D10U18 0 5 112345678J8C O N 812345678J9C O N 812345678J 1 0C O N 8P 1 0P 1 1P 1 2P 1 3P 1 4P 1 5P 1 6P 1 7P 0 0P 0 1P 0 2P 0 3P 0 4P 0 5P 0 6P 0 7P 2 0P 2 1P 2 2P 2 3P 2 4P 2 5P 2 6P 2 7R11 0 K+C31 0 u FV C CP 1 0P 1 1P 1 2P 1 3P 1 4P 1 5P 1 6P 1 7P 0 0P 0 1P 0 2P 0 3P 0 4P 0 5P 0 6P 0 7P 2 0P 2 1P 2 2P 2 3P 2 4P 2 5P 2 6P 2 7P 3 3P 3 2P 3 5P 3 4P 3 7P 3 6P 3 0P 3 1P 0 7P 0 6P 0 5P 0 4P 0 3P 0 2P 0 1P 0 012345678J 1 1C O N 812345678J5C O N 8P 3 0P 3 1P 3 2P 3 3P 3 4P 3 5P 3 6P 3 7C1C A PC2C A PY1C R Y S T A LS1S W - P B12J1C O N 2V C CG N D123J2C O N 3E A / V PA L EP S E NE A / V PA L EP S E N12345678910111213141516J 1 81 6 0 2G N DV C CXZP 2 0P 2 1P 2 2P 0 0P 0 1P 0 2P 0 3P 0 4P 0 5P 0 6P 0 7V C CG N D8877665511223344D S 1 3 0 2J P 1D S 1 3 0 2R54 .7kC4C A PC3C A P C5C A PP 2 3P 2 4P 2 5123J 2 0D S 1 8 B 2 0P 2 7图 2-7 显示、单片机最小系统模块的电路原理图 2.8 电源方案 与 PCB 电路 方案一:采用双电源供电。用两个电源分别给控制系统和电机系统供电,将两个系统 完全隔离,利用光电耦合器传输信号,将电动机驱动所造成的干扰彻底消除,这样就提高了系统的稳定性。 方案二:用单电源给电机系统供电,但是控制系统对电流需求量大,因为电机启动瞬间电流会很大,会造成控制系统电压不稳,干扰较大,严重时可能造成单片机系统掉电。 综上所述,采用方案二且用 5节 1.5V的干电磁组成 7.5V的电源或使用蓄电池给电机系统供电,用 1 节 9V 的干电磁与 7805 组成输出恒为 5V 的电源给控制系统供电。 本设计考虑到小车所能承受的压力有限,所以采用比较简单的由 7805组成的电源对小车系统进行供电。其电路图如 图 2-8所示。 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 10 图 2-8 电源供电模块 PCB图 2.9 入库前后声音提示方案 与电路 方案一:采用 74LS04非门组成的普通电路,由单片机产生不同的频率信号来完成声音提示,此方案易于实现,成本也不高,能完成声音提示功能,可给人以提示的可懂性比较差。 方案二:采用 ISD1420 可分段录放音模块,能够给人以直观的提示,但IDS1420录放音模块价格比较高,也可以采用此方案来处理,但由于该芯片最大录音时间为 20S,可读性比较好,具有人性化的操作,对题目设计来说可能达不到要求。 方案三:采用 ISD2560 录放音模块,同样能够给人以直观的提示,价格也比较高,同时该芯片最大录音时间为 60S,可读性很好,具有人性化的操作,可以满足题目要求。 综上所述:方案一对一般的报警可以达到要求,但在设计中要求做到人性化的要求,因此放弃方案一,对方案二和方案三采用录音时间长的 ISD2560 来实现,这样更能保证设计的可靠性和有效性。 此模块有三部分电路组成,可以独立地完成各自的功能,语音播放功能可以达到直观,具有人性化的服务。声光电路结构简单,主要用以报警提示。温度检测电路利用 DS18B20 温度传感器 的特点,可以准确地检测到周围环境的温度。其原理图如图 2-9所示。 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 11 A01A12A23A34A45A56A67A78A89A910C E /23PD24P / R /27E O M /25O V F /22X C L K26V C C D28V C C A16V S S D12V S S A13S P +14S P -15A U X I N11A N A I N20A N A O U T21M I C R E F18M I C17A G C19A1I S D 2 5 6 0L S 1S P E A K E RM K 1M I C R O P H O N E 2C10 .1UC20 .1UC42 2 UC74 .7UC32 2 UC60 .1UR25 .1KR12K R41 0 KR34 7 0 KV C CC52 2 UC82 2 0 UV C C123J3C O N 312345678910J2C O N 1 012345678910J1C O N 1 012J4C O N 21 2J 2 A7 4 L S 0 712J1C O N 2L1L E D 3 _ 1R1R E S 2D1D I O D EL S 1S P E A K E R12J2C O N 2v c c1 2 3J3C O N 3R2R E S 2123J4C O N 3 图 2-9 声光、语音提示检测模块 2.10 拦栅控制电路 电路主要是步进机驱动电路,由于拦栅有一定的重量,所以驱动电动机的驱动力就必须大,因此采用驱动力大的专用芯片 L298N来驱动。其原理图如图2-10所示。 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 12 S e A1O u t 12O u t 23Vs4I n t 15E n A6I n t 27G n d8V s s9I n t 310I n t 412O u t 313O u t 414S e B15E n B11U4L 2 9 8V C CR 1 31 R / 2 WR 1 41 R / 2 W+ 1 2 V12345J 1 0四相步进电机C61 0 4D9I N 4 0 0 7D 1 3I N 4 0 0 7D 1 4I N 4 0 0 7D 1 5I N 4 0 0 7D 1 6I N 4 0 0 7D 1 0I N 4 0 0 7D 1 1I N 4 0 0 7D 1 2I N 4 0 0 7+ 1 2 V+ 1 2 VC71 0 41234J8C O N 412J7C O N 2V C C12J9C O N 2V C C + 1 2 VD0D1D2D3图 2-10 拦栅控制电路 2.11 车速检测模块 电路 在车轴上固定安装一对红外对管,在车轮圆周上粘贴一段白纸条。当车轮转动时,遮光条通过红外对管,使其得到通断相间的高低电平信号。得到的信号经过由 LM393组成的过压比较器,使输出电压规范到两个标准值,在发送至单片机分析处理,以实现车速和薄铁片距离的计算。具体路如图 2-11所示。 设计中,我们将红外对管安装在后轮上,因为前轮要完成转弯的功能,如果将红外对管安装在前轮,转弯的灵活性就变差了,而且测的数据不够准确。 D1L E DQ1P N P - P H O T OQ39 01 3Q29 01 3R45 0KR53 00 KR11KR21 0KR35 .1K1 2U 1A 4 01 06V C CO U T123J1C O N 3图 2-11 车速检测的电路原理图 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 13 第 3 节 系统的软件设计 系统软件设计主要包括 :主程序设计,小车驱动子程序设计,显示子程序。 3 1 系统主程序设计 开 始 准 备以 一 定 速 度 行 使检 测 光 源使 向 车 库拦 栅 上 升语 音 提 示显 示 全 程 时 间 ,路 程 ,温 度拦 栅 上 升 , 下 降 时 间检 测 障 碍 物YN进 入 车 库停 靠 完 毕拦 栅 下 降语 音 提 示结 束图 3-1 主程 序流程图 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 14 根据设计要求,可得本系统的程序流程图如图 3-1所示。本系统的控制器采用常用的 AT89C51,因为控制小车比较模块化,所以使用汇编语言进行软件编写。 ;12864(带字库汉字显示演示程序) RS EQU P2.0 RW EQU P2.1 E EQU P2.2 PSB EQU P2.3 DI BIT P2.4 ;DS18B20 输入端 RST EQU P2.5 DIR_RD EQU P3.0 ;- COUNT EQU 31H LCD_DATA EQU 36H LCD_DATA1 EQU 37H LCD_DATA2 EQU 38H STORE EQU 39H DAT EQU 2EH ;DS18B20、液晶数据暂存 TEMPH EQU 3AH TEMPL EQU 3BH ;- ORG 0000H LJMP START ORG 001BH LJMP TIM1 ORG 0100H ;- START: MOV SP,#70H MOV 2AH,#00 ;上升时间用定时器 2 MOV 2BH,#00 ;高度 MOV 2CH,#00 MOV 20H,#00 ;储存上升时间 MOV 21H,#00 MOV 40H,#00 ;储存上升高度 MOV 41H,#00 MOV 42H,#00 MOV 43H,#00 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 15 MOV TEMPH,#00H MOV TEMPL,#00H SETB P2.6 ;片选端 (语音) CLR P2.7 ;复位端 SETB P3.1 ;声光端 MOV TMOD,#00010000B MOV TH1,#HIGH(65536-50000) MOV TL1,#LOW(65536-50000) MOV IE,#10001000B MOV R5,#20 CLR RS CLR RW CLR E LCALL DS18B20 ;DS18B20 先转换一次 SETB DI CLR TR1 CLR RST ;复位 LCALL DELAY4 SETB RST NOP SETB PSB ;通讯方式为 8位数据并口 ;*液晶初始化 * LGS0: MOV A,#34H ;34H-扩充指令操作 LCALL SEND_I ;写指令子程序 MOV A,#30H ;30H-基本指令操作 LCALL SEND_I MOV A,#01H ;清除显示 LCALL SEND_I MOV A,#06H ;指定在资料写入或读取时,光标的移动方向 LCALL SEND_I ;DDRAM 的地址计数器 (AC)加 1 MOV A,#0CH ;开显示 ,关光标 ,不闪烁 LCALL SEND_I ;* ; 显示字符 ;* 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 16 XSZF: MOV DPTR,#TAB1A ;显示汉字和字符 MOV COUNT,#08H ;地址计数器设为 16。 MOV A,#80H ;第一行起始地址 LCALL SEND_I LCALL QUSHU MOV DPTR,#TAB1B ;显示汉字和字符 MOV COUNT,#10H ;地址计数器设为 16。 MOV A,#90H ;第二行起始地址 LCALL SEND_I LCALL QUSHU MOV DPTR,#TAB1C ;显示汉字和字符 MOV COUNT,#08H ;地址计数器设为 16。 MOV A,#88H ;第三行起始地址 LCALL SEND_I LCALL QUSHU MOV DPTR,#TAB1D ;显示汉字和字符 MOV COUNT,#08H ;地址计数器设为 16。 MOV A,#98H ;第四行起始地址 LCALL SEND_I LCALL QUSHU MOV DPTR,#TAB1E0 ;显示汉字和字符 MOV COUNT,#2H ;地址计数器设为 16。 MOV A,#9FH ;第四行起始地址 LCALL SEND_I LCALL QUSHU ;温度 ;* ; 按键操作 ; 升 降 停按键 ;* N0:JB P3.7,N1 SETB TR1 CLR P2.6 CLR P2.7 MOV A,#8DH LCALL SEND_I MOV A,#18H LCALL SEND_D 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 17 CALL TIM1 JMP SHANGSHENG N1:JB P3.5,N2 CLR TR1 SETB P2.6 SETB P2.7 CALL TIM1 JMP STOP03 N2:JB P3.6,N0 SETB TR1 SETB P2.6 MOV A,#8DH LCALL SEND_I MOV A,#19H LCALL SEND_D CALL TIM1 JMP XIAJIANG ;* ; 上升子程序 0 ;* SHANGSHENG :JB P3.5,ST CLR TR1 SETB P2.6 SETB P2.7 CALL TIM1 JMP STOP03 ST:MOV R0,#00H START1:MOV A,R0 MOV DPTR,#TABLE MOVC A,A+DPTR JZ SHANGSHENG MOV P0,A CALL DELAY1 INC R0 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 18 LJMP START1 RET ;* ; 上升子程序 1 ;* SHANGSHENG1 :JB P3.6,ST1 MOV 2AH,#00H MOV 2BH,#00H MOV 2CH,#00H SETB TR1 SETB P2.6 MOV A,#8DH LCALL SEND_I MOV A,#19H LCALL SEND_D CALL TIM1 JMP XIAJIANG0 ST1:MOV R0,#00H START11:MOV A,R0 MOV DPTR,#TABLE MOVC A,A+DPTR JZ SHANGSHENG1 MOV P0,A CALL DELAY1 INC R0 LJMP START11 RET ;* ;停止子程序 1 (上升下降停止键无效 P3.4有效并且进行软件复位) ;* STOP: JB P3.6,STOP00 SETB TR1 SETB P2.6 MOV A,#8DH LCALL SEND_I MOV A,#19H 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 19 LCALL SEND_D CALL TIM1 JMP XIAJIANG0 STOP00:JB P3.7,STOP0 MOV 2AH,#00H MOV 2BH,#00H MOV 2CH,#00H SETB TR1 CLR P2.6 CLR P2.7 MOV A,#8DH LCALL SEND_I MOV A,#18H LCALL SEND_D CALL TIM1 JMP SHANGSHENG1 STOP0: MOV R0,#00H STOP1: MOV A,R0 MOV DPTR,#TABLF MOVC A,A+DPTR MOV P0,A CALL DELAY1 INC R0 JZ STOP JMP QQ QQ: RET ;* ; 停止子程序 2 下降 ;* STOP2:JB P3.6,STOP02 SETB TR1 SETB P2.6 CALL TIM1 JMP XIAJIANG STOP02: MOV R0,#00H STOP12: MOV A,R0 MOV DPTR,#TABLF 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 20 MOVC A,A+DPTR JZ STOP2 MOV P0,A CALL DELAY1 INC R0 RET ;* ; 停止子程序 3 上升 ;* STOP3:JB P3.7,STOP03 SETB TR1 CLR P2.6 CLR P2.7 CALL TIM1 JMP SHANGSHENG STOP03: MOV R0,#00H STOP13: MOV A,R0 MOV DPTR,#TABLF MOVC A,A+DPTR JZ STOP3 MOV P0,A CALL DELAY1 INC R0 RET ;* ; 下降子程序 0 ;* XIAJIANG:JB P3.5,XX CLR TR1 SETB P2.6 CALL TIM1 JMP STOP2 XX: MOV R0,#00H XIAJIANG1:MOV A,R0 MOV DPTR,#TABLG MOVC A,A+DPTR JZ XIAJIANG 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 21 MOV P0,A CALL DELAY11 INC R0 LJMP XIAJIANG1 RET ;* ; 下降子程序 1 ;* XIAJIANG0:JB P3.7,XX1 MOV 2AH,#00H MOV 2BH,#00H MOV 2CH,#00H SETB TR1 SETB TR0 CLR P2.6 CLR P2.7 MOV A,#8DH LCALL SEND_I MOV A,#18H LCALL SEND_D CALL TIM1 JMP SHANGSHENG1 XX1: MOV R0,#00H XIAJIANG10:MOV A,R0 MOV DPTR,#TABLG MOVC A,A+DPTR JZ XIAJIANG0 MOV P0,A CALL DELAY11 INC R0 LJMP XIAJIANG10 RET ;* ; 自动计时 1 ;* TIM1: PUSH ACC PUSH PSW 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 22 MOV TH1,#HIGH(65536-50000) MOV TL1,#LOW(65536-50000) DJNZ R5,X3 MOV R5,#20 CALL CLOCK CALL DISP CALL RTEMP CALL WORK CALL GAODU CALL DISP1 X3: POP PSW POP ACC RETI ;*运行时间 * CLOCK: MOV A,2AH ADD A,#01 DA A MOV 2AH,A CJNE A,#05H,X5 MOV 2AH,#00H MOV 2BH,#00H MOV 2CH,#00H CLR TR1 SETB P2.6 CLR P2.7 CLR P3.1 CALL DELAY3 CALL DELAY3 CALL DELAY3 SETB P3.1 CALL DELAY3 CALL DELAY3 CALL DELAY3 CLR P3.1 CALL DELAY3 CALL DELAY3 CALL DELAY3 SETB P3.1 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 23 CALL DELAY3 CALL DELAY3 CALL DELAY3 CLR P3.1 CALL DELAY3 CALL DELAY3 CALL DELAY3 SETB P3.1 CALL STOP LJMP N0 X5: RET ;* ; 储存并显示运行时间 ;* DISP: MOV R1,#20H MOV A,2AH MOV B,#10H DIV AB MOV R1,B INC R1 MOV R1,A MOV A,#86H LCALL SEND_I MOV A,21H ADD A,#30H LCALL SEND_D MOV A,20H ADD A,#30H LCALL SEND_D RET ;* ; 运行高度 ;* GAODU: MOV A,2BH ADD A,#01 数理与信息工程单片机原理及应用期末课程设计 智能小汽车 24 DA A MOV 2BH,A CJNE A,#01H,X4 MOV 2BH,#00 MOV A,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论