《北京工业大学BJUT光电1队技术报告(共73页).doc》由会员分享,可在线阅读,更多相关《北京工业大学BJUT光电1队技术报告(共73页).doc(73页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上第四届“飞思卡尔”杯全国大学生智能汽车竞赛技 术 报 告学 校: 北京工业大学队伍名称: BJUT光电一队参赛队员: 赵鹏程 张浩龙 马龙带队教师: 贾惠忠专心-专注-专业关于技术报告和研究论文使用授权的说明 本人完全了解第四届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。参赛队员签名: 带队教师签名: 日 期: 目录第一章 引言1第二章 模型车的主要
2、设计思路和技术方案概要2第三章 模型车机械设计3第四章 电路设计说明4第五章 软件控制设计10第六章 开发工具和制作调试过程113第七章 主要技术参数14第八章 结论15参考文献III附录A:代码V第一章 引言1.1 摘要本文将从机械结构、电路设计以及软件算法三方面介绍北京工业大学BJUT光电1队的智能汽车制作情况。智能车的硬件平台采用清华大学的MC9S12XS128处理器开发板,软件平台为CodeWarrior IDE开发环境。在报告中着重介绍了智能小车控制系统的软硬件设计结构和开发流程。涉及车模机械结构的设计、激光和红外传感器电路设计及汇编控制算法和本队的特色创新多个方面。1.2 关联文献
3、综述孙同景著的Frescale 9S12 十六位单片机原理及嵌入式开发技术,在汇编语言程序设计上讲解的很清晰,在汇编程序的编写上多是参照这本书。卓晴编辑的学做智能车挑战“Frescale杯”,有很多第一届全国比赛参赛队的技术报告,前人参赛的经验对我们队在车体和电路设计上有很大的参考价值。其它三本参考文献作为辅助的资料,主要参考了汇编程序的历程和指令寄存器的进一步解释。1.3 关键字智能车、红外传感器 、激光传感器、汇编语言第二章 模型车的主要设计思路和技术方案概要设计的总体思路上分为三部分进行,车体结构,硬件结构,和软件结构。软件结构上的设计即描绘驾驶员的操作驾驶水平,硬件结构和车体结构的设计
4、通称车辆的性能,分别反映在控制的稳定性能和竞速性能。2.1 车体结构虽然轮胎、驱动电机、舵机和电池等车模主要结构不能作改动,但是一些机械结构上的细节仍然会对小车性能产生影响。在硬件电路板的安装上本着压低智能车的重心为原则。在光电传感器的安装上,也是在检测距离尽量长和车体长度尽量短的两者之间权衡。2.2 硬件结构本智能车的定位系统采用13个光电探头采集车辆前方的道路信息。后轮的差速器上装入速度传感器,用于实时检测智能车的当前速度。数码管用于显示时间、速度、红外传感器的AD值。2.3 软件结构本队智能汽车竞赛的程序均用汇编语言编写。软件策略就是查表,通过大量的实验得出几张表,再配合一些简单的运算,
5、以及从速度传感器获知的当前信息对舵机和电机施以合适的控制。2.4 车模设计特色与创新1. 异常判别方法,用同一种算法判别道路标志及非正常寻线以外的状况2. 激光和红外传感器的混合使用,为了增加探测距离。两边用激光探头,中间使用红外传感器,用AD采集信息。3. 使用汇编语言编程。为了更方便在线调试,掌握更真实控制过程。4. 激光传感器的发射接收具有调制解调功能,红外传感器经软件控制可自适应现场光照强度。第三章 模型车机械设计本次比赛以竞速为唯一的评判准则,车模由“飞思卡尔杯”智能车竞赛组统一提供,车模轮胎,后轮驱动电机,前轮转向舵机,电池等在竞赛规则的限制下,无法做进一步的改动。3.1 车体的重
6、心作为竞速赛车,车辆的的重心要尽量低。我们在电路板的安装与制作时尽可能的做到小巧紧凑和降低车身。如图3.1图3.13.2 轮胎轮胎的着地力对于直道加速、直道进弯道时候的刹车和过弯道速度的提高非常重要。着地力如果过小,车模直道加速时会打滑使直道速度加不上去,刹车时会产生侧滑,增加拐弯的不确定性也会影响过弯时间。保持赛道的洁净和轮胎的潮湿会提供更大的着地力,另外,平时大量的调试赛车,对轮胎造成很大的磨损,定期还需要更换新的轮胎。3.3 传感器支架 支架的制作既要保证光电探头的前瞻性,又要兼顾检测的稳定性。我们组做了两层的支架,考虑到只做一层的话,走坡道时会产生颠簸,影响探头的检测,两层支架即保证了
7、检测的稳定,又使智能车整体结实坚固。第四章 电路设计说明4.1 总体电路描述 我们组智能车的电路分为以下几个模块:传感器采集、数码管显示、驱动电机、舵机以及测速装置。单片机选用freescale公司的16位单片机PC9S12XS128,主频为8MHz。单片机与各模块的连接上通过IO、ECT、PWM、AD端口。IO端口的连接有:10组激光传感器,数码管显示的8根数据线以及驱动模块的使能控制端。ECT端口的连接到了测速光耦的信号线。AD端口的连接到了3组红外传感器。PWM端口的连接到舵机模块和驱动电机模块的两根控制线。其中舵机模块的连接用到两个PWM端口的级联。电路系统的总框图如下图4.1所示。详
8、细的电路描述在本章的后续章节,具体的端口配置在本章最后一节列有表格。 传感器数码管显示舵机S12Xs128测速MC33886电机图4.14.2 系统电源模块全部硬件电路的电源由7.2V可充电镍镉电池提供。5V电压为单片机、光电传感器,测速光耦供电。为防止单片机和光电传感器之间的串扰,用两个低压差的稳压芯片分别供电。7.2V电压为电机驱动和舵机供电。电池电压 7.2VLM2940MC33886舵机LM2940传感器电机测速光耦S12Xs128图4.24.3 电机驱动模块选择并联了两片MC33886,两路PWM波信号,一路接到IN1,另一路接到IN2,IN1输入一定占空比的PWM波,IN2输入占空
9、比为0的PWM波,实现电机的正转加速。反之,电机倒转达到智能车制动的效果。电机控制原理图如图4.3图4.34.4 数码管显示模块我们组用的是四位的带小数点的共阳数码管,共有12根管脚,8根数据线和4根选通控制线。所以需要软件上实现动态扫描,同一时刻只有一位数码管点亮,利用数码管的余辉和人眼的视觉暂留特性,实现连续稳定的显示。点亮的时间间隔越短,数码管亮度会越暗,间隔越长,会发生闪烁。图4.4为两片四位数码管的连接图。 图4.44.5 传感器选型和电路设计我们组在寻线传感器采集方面共用到了13个道路检测传感器,其中中间3个为红外传感器,外侧左右各5个激光传感器。红外传感器接到CPU内部的A/D端
10、口上,细化中间黑线值的采集范围,高精度控制智能车模的直道寻线行驶。激光传感器接到CPU的数据IO端口。外侧的十个激光探头,用于检测道路的弯曲程度,以便控制舵机调整前面转向轮的行驶角度。传感器的实物图见下图4.5。图4.54.5.1 红外传感器发射管发出红外线,接收管相当于一个受到信号强弱控制的可调电阻,信号强度越强,阻值越小。即检测到黑线时,输出电压高。红外传感器电路简单,但是受环境灯光影响很大。换到很亮的环境,会对黑线的检测产生很大的影响,调节电位器的阻值改善不大,通过增长红外传感器套管的长度,能够很好的检测到黑线。电路原理图见图4.6图4.64.5.2 激光传感器发射电路端,集成的调制芯片
11、上电后,会输出100kHz的方波,接入NPN三极管的基极,使三极管处于100kHz的通断状态,这样激光头即已100kHz的频率发射出信号。接收电路端,100kHz的解调芯片,接受到黑线信息时,输出低电平。激光管具有检测距离长,方向性好,不受环境影响等优点。电路原理图见图4.7图4.74.5.3 红外与激光传感器的混合使用红外传感器与激光传感器的结合可以充分发挥两者的优势,使赛道检测更加可靠,适应性更强,能够从容应对长直道和各种变化弯道。本模型车共用10组激光传感器和3组红外传感器。红外传感器设置在车前方的正中间,3组传感器的宽度与赛道上黑色路径的宽度一致,红外传感器的优势在于其输出是模拟量,便
12、于在直道时更精确的控制,使直道行驶更加平稳。10组激光传感器设在两侧如图4.5,靠中间的传感器间距较小而靠外侧的间距较大,这样安排能更灵敏地检测到黑色路径的较小变化,及时改变模型车的姿态。两侧的传感器只有在曲率较大处才会检测到黑色路径,此时路径变化较大,由于车速较快,即使两侧传感器的间距相对较大,也不会影响到路径检测和及时调整。4.6 测速电路 选用光耦传感器测量车模后轮的差速装置齿数,主从传动轮的齿数比为18:76。后驱动轮转动1周,光耦测出76个齿,通过信号线接入单片机的ECT模块,进而间接的获知智能车的行驶速度。测速的安装如下图4.8。图4.84.7 核心控制板端口设置表 4.1A/D模
13、块PAD3,PAD4,PAD5红外传感器采集信号ECT模块PT7速度传感器信号PWM模块PP0,PP1(级联)舵机控制信号 PP1输出PP3,PP7电机控制信号I/O模块PA0PA74位数码管数据线PB0PB7LED灯PE2,PE3,PE5,PE64位数码管控制线PH26 PS26 激光传感器采集信号PM0激光传感器开关PM333886使能控制PK0,PK4,PK5,PK7速度与调试的开关第五章 软件控制设计5.1 寻线策略在寻线方面,最根本的思路就是越靠近外侧的探头探测到黑线,则舵机转向相应方向越大,越靠近中间的探头探测到黑线,则舵机转向越接近正直。我们实现上述思想的主要策略就是查表,通过大
14、量实验得出一张表,以探头采集信息作为偏移量,取得舵机占空比值,再配合上一些简单的比较跳转、加减法和逻辑运算,控制舵机转向寻线。5.2程序总框图速度控制,多刹少加结束返回时间显示测速获取光电头的信息据探头信息查表获取所需速度判断当前是直道还是弯道判断是否有异常道路信息定时中断根据探头信息的变化速度,PID算法计算当前的舵机值开始图5.15.3 异常的判断异常就是除了正常行驶的道路以外的所有情况的总称。异常共分为6种,即交叉线、停车线、坡道、正三角、反三角和跑道外的蓝色地板。我们根据不同异常的特点分别进行识别。当小车发现现在不是正常道路后开始记录道路的信息,直到又回到正常道路为止,然后对刚才记录的
15、整个过程进行分析,分析的主要依据有两个,第一是跑道黑色部分的总面积,第二是跑道黑色部分的分布方式。由这两点就可以得出刚才所经过的是何种异常,进而决定以后的控制策略。异常判断的程序流程如图5.2图 5.25.4 速度控制在控速方面,我们的主要思想是“看路选速,多刹少加”,即依据探头采集的路面状况选择当前应该达到的速度,再由测速装置检测当前实际速度,如果大于了我所需要的速度就执行刹车,小于则加速。在刹车方面,根据路面情况我们一共有三种刹车方式可供选择。第一种是给很小的电机前进占空比,靠电机固有的阻力刹车,类似于开车时的“松油门”,主要用于直道的减速。第二种是分多次给出持续时间很断,倒转力度很小的电
16、机倒转占空比,类似于开车时的轻微刹车,主要用于S弯道的减速。第三种是分多次给出持续时间较长、倒转力度较大的电机倒转占空比,类似于开车时的狠刹车,主要用于高速直道突然进入弯道时的减速。5.5 红外传感器的AD采集处理在寻线传感器中,采用了三个红外传感器,以AD采集的方式提取信号。利用红外传感器的渐变过程,可精确地控制车模的微小调整。尤其是在走直线的过程。由于红外传感器对现场的光线要求高,所以采用自动调节的方式。在车辆正常行驶前,对于AD采集数据进行自动校正。自动校正计算函数的公式如下standart2=(max-min)/2 公式5.5.1standart1=(max-min)/4 公式5.5.
17、2standart3=(max-min)*3/4 公式5.5.3公式中的standart1、standart2、standart3是将AD采集的模拟量数字化的比对值, max为在搜索阶段AD采集到的最大值,min为搜索阶段AD采集到的最小值。我们使用两个bit位来描述1个AD采集到的红外探头的数据,具体bit位分配方式公式如下表:表5.5.1采集到的AD值bit1bit0ADstandart100Standart1ADstandart201Standart2ADstandart311第六章 开发工具和制作调试过程6.1 开发工具CodeWarrior IDE6.2 红外探头的调试红外传感器受环
18、境影响很大,所以试车前的调试很是重要,由于我们组红外传感器接入了单片机内部的AD转换电路,所以通过4位的数码显示就能很好的调试。0到255表示接受信号的强弱。信号越强,数码显示的值越低。故检测到黑线时,信号越弱,对应的数码显示的值越大。当外界光线强时,检测到信号极强。此时区别不出黑线与白色赛道的信息。此时通过增加套管的长度,降低外界光线对探头的影响。6.3 汇编的在线调试我们的调试主要依靠BDM,可以分为两部分。一是在部分程序编写完成后,检验程序的各个部分代码是否可以正常运行,能否得到预期的结果。这部分的检验主要依靠检查内存中变量的数值以及在程序中设置中断检验程序流程来完成的。二是在整体程序基
19、本编写完成,可以基本实现寻线跟踪,控制速度,异常判别等功能后,调试程序运行中的各个参数,以尽可能提高速度和稳定度。在调试过程中,如果出现错误,我们都会按照以下步骤进行检查。首先确认所有的硬件和电路是工作正常的。其次认清楚错误现象,包括发生的时间、环境,是固定发生还是随机发生等等。然后对错误进行分析,判断错误可能产生的原因和位置,并对分析结果进行检验。最后确定程序产生错误时的执行路线,对错误区域进行仔细检查,排除错误,最后再用实验验证程序是否正确。第七章 主要技术参数表7.1项目参数路径检测方法(赛题组)光电组车模几何尺寸(长、宽、高)(毫米)38023885车模轴距/轮距(毫米)轴距198 前
20、轮距137 后轮距138车模平均电流(匀速行驶)(毫安)1120电路电容总量(微法)1550传感器种类及个数激光头10 红外头 3,光电测速1个新增加伺服电机个数无赛道信息检测空间精度(毫米)2赛道信息检测频率(次/秒)500主要集成电路种类/数量单片机1 电源稳压 2 电机驱动1车模重量(带有电池)(千克)101第八章 结论8.1 模型汽车制作概述与技术指标8.1.2 技术指标 直道速度能达到2.5m/s,平均速度接近2m/s。最终,本队在华北赛区的比赛中以31.623秒的成绩位列第11位。8.1.1 制作概述本队此次参加飞思卡尔杯全国大学生智能汽车竞赛,从2009年2月寒假开始第一次接触至
21、8月中旬参加完全国总决赛,历时6个月,指导老师以及三位队员花费了大量的精力和物力。从简单的手工焊接电路到印刷电路板,从几百行的语句到8kB多的程序,从只能沿简单的圆跑到能准确识别规定的复杂线路,我们从一无所知到熟练掌握、从理论探讨到实验验证、从一次次失败到成功,参加智能汽车竞赛对于我们是一次难得的锻炼机会。在这里我们要感谢智能汽车组委会,感谢指导老师贾惠忠,感谢你们对大赛以及模型汽车制作中提供的帮助与指导。8.2 问题与改进8.2.1 分析机械参数对模型汽车的具体影响 组委会提供的模型汽车可以调整部分机械参数,如后轮轮距、前轮倾斜角度等。可以设计一些实验观察调整各个参数对高速跑动中的模型汽车有
22、什么影响。这样对模型汽车的机械特性会有一个更深入的了解,对整个模型汽车的调试和提速将会有很大帮助。8.2.2 外加伺服电机制动用外加伺服电机是否可以提高制动效果,使模型汽车在到达弯道时更灵活的转弯,同时可以在直道时提高速度。8.2.3 光电传感器优化 在传感器前瞻性、放置位置、检测方法上还可以继续做实验。比如,改变光电传感器的放置位置会改变整个模型汽车的重心,从而对模型汽车的各种动作效果会产生影响。曾加前瞻性可以提前检测到前方路线,策略运算会更从容。8.2.4 舵机闭环控制算法优化我们组舵机控制不是闭环的,即从探头获取路面信息后,直接控制舵机转向,而对于转向后的效果不再关心。这样做可以大大降低
23、程序的复杂度,但也因此导致舵机控制值是离散的,且过于死板,不能根据实际情况做出最合适的决策。此部分程序较为复杂,相关参数较多,由于时间原因,在尝试了几次后,我们不得不放弃了。8.2.5 驱动电机闭环控制算法优化在速度控制过程中,虽然我们程序引入了闭环控制,但效果并不理想,跟踪速度的调节时间往往很长,而且有可能振荡。这里也是仍需要改进的地方,可以使用PID的方法进行控制。8.2.6 刹车方法的优化目前的刹车方法可以总结为1、测速,2、决定是否刹车,3、电机倒转一段时间,4、返回到第一步。由于测速装置安装在后轮,在刹车时如果轮胎与路面发生滑动,则会导致测速装置测得一个假速度,这样很难精确控制刹车的
24、时间。目前我们的刹车时间是经过多次实验得到的经验参数,不是很理想。所以我们考虑可以从硬件和软件同时改进刹车。参考文献1学做智能车挑战“飞思卡尔”杯卓晴 黄开胜 邵贝贝著 北京航空航天大学出版社2Freescale 9S12 十六位单片机原理及嵌入式开发技术孙同景 陈桂友著 机械工业出版社3 单片机嵌入式应用的在线开发方法 邵贝贝著 清华大学出版社4 大学生智能汽车设计 基础与实践吴怀宇 程磊 章政著 电子工业出版社5 嵌入式系统使用HCS12微控制器的设计与应用王宜怀 刘晓升著 北京航天航空大学出版社附录A:程序源代码 ABSENTRY Entry ; for absolute assembl
25、y: mark this as application entry point INCLUDE MC9S12XS128.incCNTStart EQU $2200 ;计数器段起始地址 DATAStart EQU $2400 ;数据段 STACKStart EQU $2900 ;堆栈段起始地址IOSTART EQU $3800 ;输入输出函数入口变量和返回值段首地址MIDStart EQU $3900 ;中间变量寄存段起始地址REGStart EQU $3950 ;虚拟寄存器段起始地址ROMStart EQU $4000 ;代码段起始地址,此段可存放程序代码和常量CONSTANT_Start E
26、QU $A050 ;常量段起始地址,包括变量地址段ADR_DATA_Start EQU $A000 ;此处常量存储所有变量和部分变量的首地址,因为汇编语言中没有直接获取地址的指令;*变量段* ORG RAMStartANSWER DS.W $4 ;16进制转换为10进制的中间变量 ORG RAMStart+$0020DISP DS.B $4 ;LED显示内容存储变量,其值必须先经过16变10的进制转换SPEED DS.W $10 ;此段变量用于存放采集的最近的10个速度数据,地址$24-$43SPEED_P DS.W $1 ;地址$44RESULT_ATD3 DS.B $1 ;地址$46,存放
27、同时采集到的5个AD的数据,通道3RESULT_ATD4 DS.B $1 ;地址$47,通道4RESULT_ATD5 DS.B $1 ;地址$48,通道5RESULT_ATD6 DS.B $1 ;地址$49,通道6RESULT_ATD7 DS.B $1 ;地址$4A,通道7RESERVED1 DS.B $1 ;增加保留变量,为了使下一个字变量的起始地址是偶数TIMER DS.W $1 ;地址$4C,存放时间,从上电开始计时显示时间LEFT_STEER_REG DS.B $1 ;左转弯寄存器,存储AD和普通IO口的加权值,$4ERIGHT_STEER_REG DS.B $1 ;右转弯寄存器,$4
28、FLEFT_STEER1 DS.B $1 ;$50LEFT_STEER2 DS.B $1 ;$51LEFT_STEER3 DS.B $1 ;$52LEFT_STEER4 DS.B $1 ;$53LEFT_STEER5 DS.B $1 ;$54LEFT_STEER6 DS.B $1 ;$55LEFT_STEER7 DS.B $1 ;$56LEFT_STEER8 DS.B $1 ;$57LEFT_STEER9 DS.B $1 ;$58LEFT_STEER10 DS.B $1 ;$59RIGHT_STEER1 DS.B $1 ;$5ARIGHT_STEER2 DS.B $1 ;$5BRIGHT_ST
29、EER3 DS.B $1 ;$5CRIGHT_STEER4 DS.B $1 ;$5DRIGHT_STEER5 DS.B $1 ;$5ERIGHT_STEER6 DS.B $1 ;$5FRIGHT_STEER7 DS.B $1 ;$60RIGHT_STEER8 DS.B $1 ;$61RIGHT_STEER9 DS.B $1 ;$62RIGHT_STEER10 DS.B $1 ;$63MAX_RESULT_AUTO_SEEK3 DS.B $1 ;$64MIN_RESULT_AUTO_SEEK3 DS.B $1 ;$65MAX_RESULT_AUTO_SEEK4 DS.B $1 ;$66MIN_R
30、ESULT_AUTO_SEEK4 DS.B $1 ;$67MAX_RESULT_AUTO_SEEK5 DS.B $1 ;$68MIN_RESULT_AUTO_SEEK5 DS.B $1 ;$69MAX_RESULT_AUTO_SEEK6 DS.B $1 ;$6AMIN_RESULT_AUTO_SEEK6 DS.B $1 ;$6BMAX_RESULT_AUTO_SEEK7 DS.B $1 ;$6CMIN_RESULT_AUTO_SEEK7 DS.B $1 ;$6DSTANDART1 DS.B $1 ;$6E,AD判定的三个标准STANDART2 DS.B $1 ;$6FSTANDART3 DS.
31、B $1 ;$70LEFT_SIGN DS.B $1 ;$71,左转弯标志位,表明当前车辆处于左转弯状态RIGHT_SIGN DS.B $1 ;$72,右转弯标志位,表明当前车辆处于右转弯状态STRAIGHT_SIGN DS.B $1 ;$73,直行标志位,表明当前车辆处于直行状态STOP_SIGN DS.B $1 ;$74,停车标志位,表明当前车辆处于刹车状态,此时的电机和舵机的值均由STOP函数给出,主函数中的相应函数失效STOP_STANDARD DS.B $1 ;$75,刹车阈值TRANSLATE_IO_1 DS.W $1 ;$76,TRANSLATE_IO_2 DS.W $1 ;$7
32、8,SPECIAL_CASE DS.B $1 ;$7ABRAKE_SIGN DS.B $1 ;$7B,刹车标志位M1_STOP_SIGN DS.B $1 ;$7CM2_STOP_SIGN DS.B $1 ;$7DACROSS_SIGN DS.B $1 ;$207EMAX_SPEED DS.B $1 ;$207FFIRST_AID_SIGN DS.B $1 ;$2080DANGER_SPEED_SIGN DS.B $1 ;$2081SAFE_SPEED DS.B $1 ;$2082TURN_SIGN DS.B $1 ;$2083TURN_SPECIAL_SIGN DS.B $1 ;$2084SP
33、ECIAL_BRAKE_SIGN DS.B $1 ;$2085FLOAT_SIGN DS.B $1 ;$2086SEC_2_BRAKE DS.B $1 ;$2087FIRST_AID_COMPLETE_SIGN DS.B $1 ;$2088TRIANGLE_SIGN DS.B $1 ;$2089TRIANGLE_PRESIGN DS.B $1 ;$208ATRIANGLE_BRAKE_FIRST DS.B $1 ;$208BTRI_IN_WHEEL3 DS.B $1 ;$208CTRI_IN_WHEEL7 DS.B $1 ;$208DUNTRIANGLE_SIGN DS.B $1 ;$208E
34、UNTRIANGLE_PRESIGN DS.B $1 ;$208FTRIANGLE_BRAKE_SIGN DS.B $1 ;$2090GET_AD_COMPLETE_SIGN DS.B $1 ;$2091ACROSS_PRESIGN DS.B $1 ;$2092ACROSS_NEW_SIGN DS.B $1 ;$2093STOP_PRESIGNSTOP_NEW_SIGN DS.B $1 ;$2094ST_BRAKE_REQUEST_SIGN DS.B $1 ;$2095FIRST_STRAIGHT_BRAKE DS.B $1 ;$2096TURN_BRAKE_REQUEST_SIGN DS.B
35、 $1 ;$2097FIRST_TURN_BRAKE DS.B $1 ;$2098TURN_BRAKE_SIGN DS.B $1 ;$2099STRAIGHT_BRAKE_SIGN DS.B $1 ;$209ASTRAIGHT_LINE_SIGN DS.B $1 ;$209BTURN_LINE_SIGN DS.B $1 ;$209CWAIT_FIRST_SIGN DS.B $1 ;$209DSPECIAL_F3_FIRST_SIGN DS.B $1 ;$209EP_LEFT_DATA DS.B $1 ;$209FP_RIGHT_DATA DS.B $1 ;$20A0SPECIAL_SIGN D
36、S.B $1 ;$20A1FIRST_SIGN DS.B $1 ;$20A2DISPLAY_AD_SIGN DS.B $1 ;$20A3SPECIAL_COMPLETE_SIGN DS.B $1 ;$20A4SLOPE_SIGN DS.B $1 ;$20A5ZERO_FIRST DS.B $1 ;$20A6HAVE_HERE DS.B $1 ;$20A7STEER_SIGN DS.B $1 ;$20A8LEFT_ALARM_SIGN DS.B $1 ;$20A9RIGHT_ALARM_SIGN DS.B $1 ;$20AAADD_SIGN DS.B $1 ;$20ABDEC_SIGN DS.B $1 ;$20ACS_LEFT_FIRST DS.B $1 ;$20ADS_RIGHT_FIRST DS.B $1 ;$20AES_SIGN DS.B $1 ;$20AFNARROW_SIGN DS.B $1 ;$20B0S_S