汽车智能车灯及雨刮系统设计毕业论文PPT课件.docx_第1页
汽车智能车灯及雨刮系统设计毕业论文PPT课件.docx_第2页
汽车智能车灯及雨刮系统设计毕业论文PPT课件.docx_第3页
汽车智能车灯及雨刮系统设计毕业论文PPT课件.docx_第4页
汽车智能车灯及雨刮系统设计毕业论文PPT课件.docx_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

汽车智能车灯及雨刮系统设计前言汽车工业是国民经济发展的支柱产业之一,现代汽车正从一种单纯的交通工具朝着满足人们需求、安全、节能和环保的方向发展。为了满足人们对汽车日益提高的要求,汽车研发及生产机构必然要将越来越多的电子产品引入到汽车上,智能控制系统也成为汽车革新的主要内容。随着现代汽车的迅猛发展和电子技术的日新月异,汽车电子设备不断增多,从发动机控制到传动系统控制,从行驶、制动、转向系统控制到安全保证系统及仪表报警系统,从电源管理到为提高舒适性而作的各种努力,使汽车综合控制系统越来越复杂。目前以微控制器为代表的汽车电子在整车电子系统中应用广泛,汽车控制正由机电控制系统转向以分布式网络为基础的智能化系统。CAN总线是一种支持分布式和实时控制的串行通信网络,以其高性能和高可靠性在自动控制领域广泛应用。本设计主要针对基于CAN总线的汽车电子系统的设计,包括汽车车灯和汽车车窗和汽车雨刮等控制系统的总体设计思想、方法和硬件设计,介绍如何实现用CAN总线完成汽车控制系统的控制。1CAN总线1.1CAN简介CAN(ControllerAreaNewtork)即控制器局域网,是一种先进的串行通信协议,属于现场总线范围。CAN总线是最初由德国Bosch公司在80年代初期,为了解决现代汽车中众多的控制与测试一起之间的数据交换而开发的一种串行数据通信协议,目的是通过较少的信号线将汽车上的各种电子设备通过网络连接起来,并提高数据在网络中传输的可靠性,CAN总线具有较强纠错能力,支持差分收发,因而适合高噪声环境,并具有较远的传输距离,特别适合于中小型分布式测控系统,目前己在工业自动化、建筑物环境控制、机床、医疗设备等领域得到广泛应用。CAN总线具有以下几个重要特点:1)结构简单,只有两根线与外部相连,且内部含有错误探测和管理模块。2)通信方式灵活。可以多种方式工作,网络上任意一个节点均可在任意时刻主动的向网络上的其他节点发送信息,而不分主从。3)可以点对点、点对多点及全局广播方式发送和接受数据。4)网络上的节点信息可分成不同的优先级,可以满足不同的实时要求。5)CAN通讯格式采用短帧格式,每帧字节数最多为8个,可满足通常工业领域中控制命令、工作状态和测试数据的一般要求。同时,8个字节也不会占用总线时间过长,1四川师范大学成都学院本科毕业设计从而保证了通讯的实时性。6)采用非破坏性总线仲裁技术。当两个节点同时向总线上发送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可以不受影响继续传输数据,这大大地节省了总线仲裁冲突时间,在网络负载很重的情况下也不会出现网络瘫痪。7)直接通讯距离最大可达1k0m(速率在5kbS以下),最高通讯速率可达1Mbs(此时距离最长为40m)。节点数可达110个,通信介质可以是双绞线、同轴电缆或光导纤维。8)CAN总线通讯接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。9)CAN总线采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。1.2CAN总线协议的报文帧结构形式在报文传输时,不同的帧具有不同的传输结构,下面将分别介绍四种传输帧的结构,只有严格按照该结构进行帧的传输,才能被节点正确接收和发送。(1)数据帧由七种不同的位域(BitField)组成:帧起始(Startof)、仲裁域(ArbitrationField)、控制域(ControlField)、数据域(DataField)、CRC域(CRCField)、应答域(ACKField)和帧结尾(Endof)。数据域的长度可以为08个字节。1)帧起始(SOF):帧起始(SOF)标志着数据帧和远程帧的起始,仅由一个“显性”位组成。在CAN的同步规则中,当总线空闲时(处于隐性状态),才允许站点开始发送(信号)。所有的站点必须同步于首先开始发送报文的站点的帧起始前沿(该方式称为“硬同步”)。2)仲裁域:仲裁域由标识符和RTR位组成,标准帧格式与扩展帧格式的仲裁域格式不同。标准格式里,仲裁域由1l位标识符和RTR位组成。标识符位有ID28IDl8。扩展帧格式里,仲裁域包括29位标识符、SRR位、IDE(IdentifierExtension,标志符扩展)位、RTR位。其标识符有ID28IDO。为了区别标准帧格式和扩展帧格式,CANl012版本协议的保留位r1现表示为IDE位。IDE位为显性,表示数据帧为标准格式;IDE位为隐性,表示数据帧为扩展帧格式。在扩展帧中,替代远程请求(SubstituteRemoteRequest,SRR)位为隐性。仲裁域传输顺序为从最高位到最低位,其中最高7位不能全为零。RTR的全称为“远程发送请求(RemoteTransmissionRequest)”。RTR位在数据帧里必须为“显性”,而在远程帧里必须为“隐性”。它是区别数据帧和远程帧的标志。3)控制域:控制域由6位组成,包括2个保留位(r0、r1同于CAN总线协议扩展)2四川师范大学成都学院本科毕业设计及4位数据长度码,允许的数据长度值为08字节。4)数据域:发送缓冲区中的数据按照长度代码指示长度发送。对于接收的数据,同样如此。它可为08字节,每个字节包含8位,首先发送的是MSB(最高位)。5)CRC校验码域:它由CRC域(15位)及CRC边界符(一个隐性位)组成。CRC计算中,被除的多项式包括帧的起始域、仲裁域、控制域、数据域及15位为0的解除填充的位流给定。此多项式被下列多项式X15+X14+X10+X8+X7+X4+X3+1除(系数按模2计算),相除的余数即为发至总线的CRC序列。发送时,CRC序列的最高有效位被首先发送接收。之所以选用这种帧校验方式,是由于这种CRC校验码对于少于127位的帧是最佳的。6)应答域:应答域由发送方发出的两个(应答间隙及应答界定)隐性位组成,所有接收到正确的CRC序列的节点将在发送节点的应答间隙上将发送的这一隐性位改写为显性位。因此,发送节点将一直监视总线信号已确认网络中至少一个节点正确地接收到所发信息。应答界定符是应答域中第二个隐性位,由此可见,应答间隙两边有两个隐性位:CRC域和应答界定位。7)帧结束域:每一个数据帧或远程帧均由一串七个隐性位的帧结束域结尾。这样,接收节点可以正确检测到一个帧的传输结束。2CAN总线在奥迪A6汽车车灯上的应用简介:灯光控制系统是保证汽车安全行驶的一个重要系统。传统的灯光控制系统多采用继电器和独立模式控制,这使得车内线束过多且布线复杂,会引起严重的电磁干扰,使系统的可靠性下降。CAN(ControllerAreaNetwork)数据总线是一种适用汽车环境的汽车局域网。它能够很好的解决这个问题,它具有较高的传输速度,主要是针对汽车中对实时性要求很高的动力系统而设计的。利用CAN总线,不仅能简化线束,而且还能大大降低车辆的故障率。基于CAN总线的灯光控制系统,就很好用利用CAN总线的优势,发挥车灯的最大性能。本设计利用CAN总线通信协议建立汽车灯光(前照灯)控制系统的局域网(对于汽车其他灯光可以按照同样道理设计而成,只需要多加几个通信的节点),控制的灯光有:远光灯、近光灯、示宽灯、雾灯、转向灯。通过CAN总线实现上述灯光的开和闭的控制。2.1灯光控制系统的网络硬件设计对于传统的灯光控制系统如图2.1-1所示。3四川师范大学成都学院本科毕业设计图2.1-1传统的灯光控制系统图从图一可以看出,传统供电系统是所谓的并行结构,一个用电器赔一跟电力线和一个开关,开关置于驾驶员旁,由驾驶员控制开关通断,控制灯(或其他用电器)工作。这种结构缺点是若用电设备越多,电力线就越多,这无疑是加大了汽车的负担而且容易收到干扰,导致器件不能正常运行。对于CAN总线的灯光控制系统如图2.1-2所示。它利用CAN总线,能够有效的减小电力线的数量,减少干扰,实现优化控制。4四川师范大学成都学院本科毕业设计图2.1-2CAN总线的灯光控制系统如图我们可以直接在(图2.1-2)中增加CAN总线收发器,及其MCU控制电路,这样就能实现更多的车灯控制系统。2.2MCU的选择本设计选用AT89C51单片机作为灯光控制节点MCU。P89C51单片机是一个8位高性能微控制器。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位的单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2.3CAN通讯控制器本设计采用SAJ1000独立CAN控制器。PHILIPS公司的PCA82C200是符合CAN2.0A协议的总线控制器,SJA1000是它的替代产品,它是应用于汽车和一般工业环境的独立CAN总线控制器。具有完成CAN通信协议所要求的全部特性。经过简单总线连接的SJA1000可完成CAN总线的物理和数据链路层的所有功能。其硬件与软件设计和PCA82C200的基本CAN模式(BesicCAN)兼容。同时,新增加的增强CAN模式(PeliCAN)还可支持CAN2.0B协议。2.4CAN总线收发器本文世纪采用CAN总线收发器82C250。PCA82C250是CAN协议控制器和物理总线之间的接口,该器件对总线提供差动发送能力并对CAN控制器提供差动接收能力。如在ISO11898标准中描述的,它们可以用高达1Mbit/s的位速率在两条有差动电压的总线电缆上传输数据。这是全世界使用最广泛的CAN收发器之一。图2.4为车灯控制系统硬件电路图,它的工作原理为:CAN总线控制器与单片机连通,由单片机的程序给予初始化,并选通控制器,当单片机P1.0P1.4其中一个管脚开关按下时,立刻把数据传送到CAN控制器SJA1000,利用CAN总线收发器82C250将信号发出,通过CANH,CANL两个管脚传输数据,当控制对象(车灯)系统中的收发器收到信号时,其系统中的CAN总线控制器发出中断,使车灯系统的MCU执行相关程序,控制车灯驱动电路,使其相应的车灯完成控制目的。(注意图中的发光二极管为车灯的驱动电路,驱动车灯的亮和灭)5四川师范大学成都学院本科毕业设计图2.4车灯控制系统硬件电路图微处理器AT89C51负责SJA1000的初始化,通过控制SJA1000实现数据的接受和发送等通讯任务。SJA1000的AD0AD7连接到单片机的P0.0P0.7口,SJA1000的CS连接到89c51的P2.0,P2.0为0时片外存储器地址可选中SJA1000,CPU通过这些地址可对SJA1000执行相应的读/写操作。SJA1000的RD,WR,ALE分别与89c51的引脚相连,INT接INT0。82c250与CAN总线的接口采用了一定的完全和抗干扰措施。一般情况下,若CAN总线系统干扰很强烈,为了增强CAN总线节点的抗干扰能力,SJA1000的TX0和RX0并不是直接与82C250的TXD和RXD相连,而是通过高速光耦6N137后与82c250相连,且光耦部分电路VCC和VDD完全隔离,这样就可以实现总线上各节点间的电气隔离。2.5系统的软件设计系统软件设计的关键是通讯程序的设计。本设计的通讯软件程序主要由3部分组成:初始化程序、中央处理器程序、车灯控制程序。编写主要运用KEIL的C语言对AT89C51进行软件程序设计。2.6CAN控制初始化程序初始化程序主要是通过对CAN控制器控制段中的寄存器写入控制字,从而确定CAN6四川师范大学成都学院本科毕业设计控制器的工作方式等。有3种方式进入初始化程序:一是上电复位;二是硬件复位;三是软件复位,即运行期间通过给CAN控制器发一个复位请求,置复位请求为1。在复位期间,必须初始化的寄存器有:MR模式寄存器、CDR时分寄存器、ACR接收代码寄存器、AMR屏蔽寄存器、BTR总线定时定时器及OCR输出控制寄存器等。需要注意的是,这些寄存器仅能在复位期间写访问。因此,在对这些寄存器初始化前,必须确保系统进入了复位状态。图2.5流程图如下:图2.5SJA1000初始化流程图2.7中央处理器程序设计中央处理器程序包括初始MCU,以及初始化CAN控制器。通过查询,判断是否有开关信号发出。若有,将此信号发送到CAN控制器,CAN控制器经处理后发送到CAN收发器。程序流程图如下:7四川师范大学成都学院本科毕业设计图2.7中央MCU控制程序图中央处理器程序如下#include#defineucharunsignedchar#defineuintunsignedintucharsj8;#defineTIM0-50000sbitcs=P20;#defineMyAddr1#defineCAN_DATAP0#defineCAN_CR0/控制8四川师范大学成都学院本科毕业设计#defineCAN_CMR#defineCAN_SR#defineCAN_IR#defineCAN_ACR#defineCAN_AMR12345/命令/状态/中断/验收/屏蔽/时序0/时序1/输出/发送缓冲/接收缓冲/分频#defineCAN_BTR06#defineCAN_BTR17#defineCAN_OCR#defineCAN_TXB#defineCAN_RXB#defineCAN_CDR8102031ucharpdataCAN32_at_(0);voidCAN_INI()CANCAN_CR=0x01;CANCAN_ACR=MyAddr;CANCAN_AMR=0x00;CANCAN_BTR0=0x07;CANCAN_BTR1=0xff;CANCAN_OCR=0x1A;CANCAN_CR=0x02;voiddelay(uintx)uinty;for(y=x;y0;y-);voidCAN_SEND()/*发送数据部分*/uchari,p;p=CANCAN_SR;if(p&0x04)/状态寄存器的内容给p/检查第三位即发送缓冲器的状态,为1CPU可以向发送缓冲器写9/*初始化部分*/进入复位模式,允许访问各个寄存器/验收,表示接收的数据中第一位为1。/屏蔽;00表示不屏蔽,8位全有效。/总线时序0/总线时序1/0xaa,0xd2,0xfa输出控制/接收中断使能,否则不能接收/延时部分四川师范大学成都学院本科毕业设计报文p=CAN_TXB;/*p指向发送缓存首址*/for(i=0;i8;TR0=1;器,-50000equsFFFF3CB0;TH0=B0,TL0=3CEX0=1;ET0=1;EA=1;PX0=1;while(1)if(P0&0xff)!=0xff)delay(10000);if(P0&0xff)!=0xff)10/启动0号计数四川师范大学成都学院本科毕业设计sj0=P00;sj1=P01;sj2=P02;sj3=P03;sj4=P04;sj5=1;sj6=1;sj7=1;CAN_SEND();voidTimer1()interrupt1using1TH0=TIM0&0XFF;TL0=TIM08;TR0=1;2.8车灯控制程序当CANH,和AL,有数据传来时,经过CAN总线数据接受器接受到的数据,发送给11四川师范大学成都学院本科毕业设计SJA1000控制器,控制器接受完毕后发出中断请求,MCU接受中断请求,发生中断随之处理中断程序。图2.8程序框图如下:图2.8车灯控制系统MCU程序车灯控制程序如下#include#defineucharunsignedchar#defineuintunsignedint#defineTIM0ucharsj8;ucharCANBUS=0;sbitcs=P20;12-50000四川师范大学成都学院本科毕业设计sbitqd1=P01;sbitqd0=P00;sbitqd2=P02;sbitqd3=P03;sbitqd4=P04;sbitqd5=P05;sbitqd6=P06;sbitqd7=P07;#defineMyAddr1#defineCAN_DATAP0#defineCAN_CR#defineCAN_CMR#defineCAN_SR#defineCAN_IR#defineCAN_ACR#defineCAN_AMR012345/控制/命令/状态/中断/验收/屏蔽/时序0/时序1/输出/发送缓冲/接收缓冲/分频#defineCAN_BTR06#defineCAN_BTR17#defineCAN_OCR#defineCAN_TXB#defineCAN_RXB#defineCAN_CDR8102031ucharpdataCAN32_at_(0);voidCAN_INI()CANCAN_CR=0x01;CANCAN_ACR=MyAddr;CANCAN_AMR=0x00;CANCAN_BTR0=0x07;CANCAN_BTR1=0xff;CANCAN_OCR=0x1A;CANCAN_CR=0x02;/进入复位模式,允许访问各个寄存器/验收,表示接收的数据中第一位为1。/屏蔽;00表示不屏蔽,8位全有效。/总线时序0/总线时序1/0xaa,0xd2,0xfa输出控制/接收中断使能,否则不能接收13/*初始化部分*/四川师范大学成都学院本科毕业设计voidmain()P0=0xff;EA=0;cs=0;EX0=0;PX0=0;ET0=0;CAN_INI();IT0=1;/外中断请求信号方式控制位:1脉冲方式(后沿负跳有效),0电平方式(低电平有效)TH0=TIM0&0XFF;TL0=TIM08;TR0=1;器,-50000equsFFFF3CB0;TH0=B0,TL0=3CEX0=1;ET0=1;EA=1;PX0=1;/启动0号计数while(1);voidCAN_INT()interrupt0using1/*接收中断*/uchari,p;p=CANCAN_IR;if(p&0x01)/中断寄存器的低一位为一:RXFIFO不空且中断寄存器的RIE(接收中断使能)位置114四川师范大学成都学院本科毕业设计p=CAN_RXB;/接收数据的首地址给pfor(i=0;i8;TR0=1;3CAN总线在奥迪A6雨刮器上的应用3.1系统的总体设计本设计为奥迪A6汽车雨刮控制系统,由左右节点构成。左节点主控制单元,两节点基本相同,区别仅在于左节点多出开关命令模块。以左节点为介绍内容,它包括雨量检测模块、电源模块、开关控制模块、CAN通信模块、处理器模块。可实现停止、低速、15四川师范大学成都学院本科毕业设计高速、点动、间歇、自动五种刮水模式。左节点工作时,开关控制命令输入到控制器模块,雨量检测模块将雨量信息输入控制模块供自动模式使用,控制器由开关信号和雨量信号作出判断,输出命令到输出驱动模块和CAN通信模块。右节点经CAN通信模块获得动作命令,输出驱动命令到输出驱动模块。电源模块为左右节点供电。左节点开关控制模块雨量检测模块CAN通信右节点电源ECCAN通信ECU电源输出驱动模块输出驱动模块图3.1-1汽车雨刮控制系统左右控制点图图3.1-2系统整体电路图16四川师范大学成都学院本科毕业设计3.2系统硬件电路设计雨量检测模块3.2.1图3.2.1-1雨量检测电路图图3.2.1-2红外传感器检测原理图雨量检测采用红外雨水传感器,红外光受外界环境影响小,且易于检测。把半导体发光元件和感光元件配成一对,从发光元件发出的光信号,如果在光路途中遇到雨滴落下,由于光的散射,光强减弱,可利用检测光强的衰减信号来控制雨刮器的动作。由此雨量检测部分由红外光发射电路和红外光接收电路组成,如图3.2.1-1所示。图中左半部分为红外发射电路,红外发射管采用硅光电二极管,它具有暗电流小、噪声低、受温度影响小、价格便宜等优点。红外发射管三个并联,三极管驱动,利用单片机定时器定时中断在P5.0口产生38kHz的频率脉冲控制发射管的通断,采用这种方式可以减少发射电路的功耗。电路中D1用来指示红外发射管是否在正常工作中。右半17四川师范大学成都学院本科毕业设计部分为红外接收电路,采用Vishay公司的红外专用集成接收芯片TK1838,该芯片将光接收二极管、放大电路、带通滤波器、检波电路封装在一起,以实现接收脉冲编码信号调制的红外光信号,塑料封装可滤除可见光,使得电路简单,体积也比较小。TK1838芯片共有3个引脚:l脚为输出,2脚为接地,3脚电源接+5V,内部集成了放大、滤波、解调及其控制电路,1脚直接输出高低电平。TK1838只有接收到38kHz的脉冲信图3.2.4-1输出驱动控制继电器电路图3.2.5雨刮电动机本设计采用永磁电动机,通过改变电枢电流方向控制器正反转,通过改变正负电刷间串联绕组匝数控制转速。主控器输出命令控制继电器动作,有不同的继电器组合动作可以选择电枢电流方向和电刷间匝数。自动停位滑片随电动机转动,当刮水片不在风窗19四川师范大学成都学院本科毕业设计下缘位置时保持通电,当刮水片正好停在风窗下缘位置时,电动机与电源断开。1电枢2永久磁铁磁极3蜗杆4蜗轮5自动停位滑片图3.2.5-1雨刮电动机原理图3.3系统软件设计图3.3-1系统软件设计图软件流程设计如图所示,单片机初始化程序包括初始化I/O端口的输入输出状态,设置定时计数器的参数和中断优先级等。逐个按键检测输入信号,经控制器处理后输出20四川师范大学成都学院本科毕业设计控制命令到本地控制驱动装置,然后初始化CAN通信模块,发送命令信号到其他节点。循环检测按键状态进行控制。其中的点动信号为短暂通电信号,电动机短暂工作后停止;间歇信号为延时一段时间后电动机工作之后再延时,电动机再工作;自动控制信号使电机根据雨量检测信号的大小来选择电动机转动速度。具体代码:#include#includesja_reg_def.hunsignedcharxdataCAN_SJA_BaseAdr_at_0xfa00;/定义SJA1000的片选基址:根据实际电路确定unsigned指针指向空charxdata*SJA_CS_Point;/unsignedcharSend_CAN_Filter8=0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff;/存放SJA1000滤波器参数unsignedcharSend_CAN_Data8;/待发送的数据,具体数据由发送前确定unsignedcharRec_CAN_Data8;于接收数据unsignedchar帧头标识码unsignedcharBTR0,BTR1;/用于雨量检测时的脉冲计数/用于标记雨量大小Send_CAN_Info_ID5=0x88,0x00,0x00,0x00,0x00;/用unsignedlongintnum=0;unsignedcharflag_zidong=0;sbitKEY_Diandong=P10;sbitKEY_ZidongsbitKEY_JianxiesbitKEY_HighsbitKEY_LowsbitKEY_StopsbitStartRainsbitRainSignal=P11;=P12;=P13;=P14;=P15;=P16;=P17;/点动,按下键得低电平/自动/间歇/高速/低速/停止/启动雨量检测/接收雨量信号21四川师范大学成都学院本科毕业设计sbitMC_frontsbitMC_backsbitMC_choose=P20;=P21;=P22;/正:0,0;反;1,1;停:1,0/输出高速:1;输出高速:0/*延时函数*/voidDelayms(unsignedintxms)unsignedinti,j;for(i=xms;i0;i-)for(j=110;j0;j-);/*CAN总线初始化*/voidCan_Sja_Init()SJA_CS_Point=&CAN_SJA_BaseAdr;定基址指针BTR0=0x00;BTR1=0x14;置为1M波特率通信/SJAEntryResetMode();*(SJA_CS_Point+REG_CAN_MOD)|=0X01;入复位模式/进/设/确/WriteSJAReg(REG_CAN_CDR,0xc8);*(SJA_CS_Point+REG_CAN_CDR)=0X08;配置时钟分频寄存器,选择PeliCAN模式/WriteSJAReg(REG_CAN_MOD,0x01);*(SJA_CS_Point+REG_CAN_MOD)=0X01;配置模式寄存器,选择双滤波、正常模式/WriteSJARegBlock(16,Send_CAN_Filter,8);22/四川师范大学成都学院本科毕业设计*(SJA_CS_Point+REG_CAN_ACR0)=Send_CAN_Filter0;配置验收代码/屏蔽寄存器*(SJA_CS_Point+REG_CAN_ACR1)=Send_CAN_Filter1;*(SJA_CS_Point+REG_CAN_ACR2)=Send_CAN_Filter2;*(SJA_CS_Point+REG_CAN_ACR3)=Send_CAN_Filter3;*(SJA_CS_Point+REG_CAN_AMR0)=Send_CAN_Filter4;*(SJA_CS_Point+REG_CAN_AMR1)=Send_CAN_Filter5;*(SJA_CS_Point+REG_CAN_AMR2)=Send_CAN_Filter6;*(SJA_CS_Point+REG_CAN_AMR3)=Send_CAN_Filter7;/WriteSJAReg(REG_CAN_BTR0,BTR0);*(SJA_CS_Point+REG_CAN_BTR0)=BTR0;置总线定时器0等于0x00/WriteSJAReg(REG_CAN_BTR1,BTR1);*(SJA_CS_Point+REG_CAN_BTR1)=BTR1;置总线定时器1等于0x14/WriteSJAReg(REG_CAN_OCR,0x1a);*(SJA_CS_Point+REG_CAN_OCR)=0X1a;配置输出管脚/SJAQuitResetMode();*(SJA_CS_Point+REG_CAN_MOD)&=0Xfe;/配/配/*MCU外部中断初始化*/voidInit_Cpu()PX0=1;IT0=1;EX0=1;EA23/外部中断0高优先级/下降沿触发/允许外部中断/允许总中断=1;四川师范大学成都学院本科毕业设计/*CAN发送函数*/voidCan_Sja_Send()unsignedcharsr,i;EA=0;间不接受新的请求dosr=*(SJA_CS_Point+REG_CAN_SR);状态寄存器while(sr&0x0c)!=0x0c);待接收完、上一次发送完、缓冲器开锁/等/读/发送期for(i=0;i5;i+)*(SJA_CS_Point+16+i)=Send_CAN_Datai;/写标识码,第16个地址为帧头标识码开始地址for(i=0;i8;i+)*(SJA_CS_Point+21+i)=Send_CAN_Datai;/写数据,第21个地址为发送缓冲开始地址*(SJA_CS_Point+REG_CAN_CMR)=0x01;使能发送请求EA=1;送完可以接收新的请求/发/*中断CAN接收函数*/voidReceive_Int1()interrupt2接收中断采用外部中断124/四川师范大学成都学院本科毕业设计unsignedcharir,i;EA=0;收期间关中断doir=*(SJA_CS_Point+REG_CAN_IR);中断寄存器while(ir&0x01)!=0x01);/读/接for(i=0;i5;i+)Rec_CAN_Datai=*(SJA_CS_Point+16+i);/接收标识码for(i=0;i8;i+)收数据*(SJA_CS_Point+REG_CAN_CMR)=0x04;释放接收缓冲区*(SJA_CS_Point+REG_CAN_IR)=*(SJA_CS_Point+REG_CAN_ALC);释放仲裁随时捕捉寄存器,读出即可清除*(SJA_CS_Point+REG_CAN_IR)=*(SJA_CS_Point+REG_CAN_ECC);释放错误代码捕捉寄存器,读出即可清除*(SJA_CS_Point+REG_CAN_IER)=0X01;接收中断使能EA=1;复中断/*雨刮停止工作函数*/voidStop()MC_front=1;25Rec_CAN_Datai=*(SJA_CS_Point+21+i);/接/恢四川师范大学成都学院本科毕业设计MC_front=0;/*雨刮间歇工作函数*/voidJianxie()while(!KEY_Jianxie)MC_choose=0;MC_frontMC_back=0;=0;/低速运转/正转200msDelayms(200);MC_frontMC_back=0;=0;/100ms后机械归位/停止1000ms/反转Delayms(100);MC_front=1;MC_back=0;Delayms(1000);/*雨刮高速工作函数*/voidHigh()while(!KEY_High)MC_choose=1;MC_frontMC_back=0;=0;/高速运转/正转100msDelayms(100);MC_frontMC_back=0;=0;26/反转100ms四川师范大学成都学院本科毕业设计Delayms(100);/*雨刮低速工作函数*/voidLow()while(!KEY_High)MC_choose=0;MC_frontMC_back=0;=0;/低速运转/正转200msDelayms(200);MC_frontMC_back=0;=0;/反转200msDelayms(200);/*雨刮点动工作函数*/voidDiandong()MC_choose=0;MC_frontMC_back=0;=0;/低速运转/正转200msDelayms(200);MC_frontMC_back=0;=0;/反转100ms后机械归位Delayms(100);Stop();27/停止四川师范大学成都学院本科毕业设计/*雨刮自动工作函数*/voidZidong()TMOD=0X62;TH0=0XF4;TL0=0XF4;TH1=0xE8;TL1=0XE8;ET0=1;TR0=1;/开定时器0中断/启动定时器0/计数频率为38Khz/定时器0模式2,计数器1模式2/定时器0定时76Khz(产生38khz脉冲信号)while(!KEY_Zidong)if(flag_zidong=0)Stop();elseif(flag_zidong=1)Low

温馨提示

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

评论

0/150

提交评论