版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于磁场导航智能车控制器的设计目录第一章前言3第二章方案论证4第三章整体设计思路51) 、磁场检测原理2) 、系统整体结构3) 、定磁场放大电路4) 、交变磁场放大电路第四章单元电路 101) 、单片机最小统2) 、速度传感器模块3) 、磁场检测模块4) 、电机驱动模块5) 、舵机驱动模块6) 、LCD显示模块第五章软件设计 18第七章 结论 21附页、八 、亠前言在智能导航系统中,如无人驾驶飞机、无人驾驶汽车,目前 较为常用的导航方式为 GPS导航。而地球磁场的大小和方向是任 何人改变不了的,因此如何利用磁场导航具有很高的研究价值。磁导航智能车根据多给交变的磁场信息或是根据无法人为 改变的地
2、球磁场来判断方向及大小, 自行达到预期的目标并完成 导航任务。 当今机器人技术发展如火如荼, 其应用已涉及包括国 防等众多领域,工业自动化,神五、神六升天,无人探月飞船 无不得益于机器人技术的飞速发展。 智能小车应该说是最基本的 机器人雏形, 智能小车控制系统的研制将有助于推动智能机器人 等智能控制系统的发展。 实时采集传感器信号, 智能分析外部环 境、路径信息,自动实现方向控制及速度调节,是智能小车控制 的主要特点,其设计内容涵盖机械、汽车、电子、自动控制、计 算机、传感器技术等多个学科的知识领域。 作为一门新兴的综合 技术,可广泛应用于工厂自动料车、 固定场地搬运车等技术领域, 具有良好的
3、应用前景。本文设计一智能车 , 能够检测有磁引导的轨迹识别 , 及自行 检测当前地磁场 . 在有磁导航线路时 , 可跟踪线路磁场 , 自动寻找 轨迹 , 并迅速或按照规定速度前进 . 在水平面内确定方位角 , 当接 受到位置坐标和速度等命令后 , 智能车可再不受人干预的情况下 自行到达目标位置 . 实现对特定磁导航的智能循迹和地磁场的方 位角的测定 ,以实现水平面内的定位 , 用以实现导航 .第二章 方案论证 该项目的研究内容为首先对磁场导航相关的理论进行分析, 根据所分析的理 论设计导航模型。 利用单片机对磁场强度和方向进行测量。 在磁场测量方面主要 分为恒定磁场和变化的磁场, 对于恒定磁场
4、的测量, 可以采用霍尔元件进行测量; 对于变化的磁场可以利用电磁感应原理进行测量。不管是恒定的还是变化的磁 场,其产生的电信号都是很微弱的, 因此要采取相应的措施进行放大, 如利用放 大电路进行放大。放大之后的信号经过单片机采集分析,最终确定磁场的大小, 然后可以通过磁场的大小来判断磁场的方向,进而进行导航。( 1) 控制器选择( A) At89s52 是以款普及性很强的控制器,控制简单,入手容易,易 于操作,但此单片机结构较为简单,功能较少,速度相对也慢, 很难完成本项任务(B) Stc 单片机继承了 51 的诸多优点,同样含有多种功能模块运算速 度较快,能顺利完成CPU勺数据处理。(C)飞
5、思卡尔mc9s12xs128单片机是是基于速度更快的 CPU1初核的单片机系列,自身具有多个功能模块,其运行速度快,功能模块 性能强,对完成本课题设计可以说可以完全胜任, 只是价格较高, 需要购买专门下载器和编程软件,在此性价比不高。综上所述,我们选择方案 C( 2) 交变磁场信号放大电路( A)集成电路组成的交流放大器( B)分立式元器件组成放大电路综上所述,我们选择方案 B( 3) 定磁场检测第一级放大电路( A)采用差动放大电路,运用三个分立运放 LM324 组成的差动放大电路组成高输入阻抗完成微弱电信号的(B)单片集成芯片AD620,电路结构简单:一个 AD620, 个增益设置电阻Rg
6、,外加工作电源就可以使电路工作,设计周期短, 电路可靠性强。综上所述,我们选择方案 B第三章整体设计思路1)、磁场检测原理3.1.1:交变磁场检测原理本设计我们设计电磁车要检测的赛道环境是由通有20kHz、100mA左右交变电流的导线所产生的电磁场。电磁场检测是课题要解决的第一个关键技 术,需要首先对电磁场的特性进行分析,然后根据分析的结果选择合适的检 测原理,而后再选择相应的电磁传感器。通有20kHz、100mA左右交变电流的导线,其周围的电磁场如下图:导线周围磁场强度与距离的关系由上图,很容易看到导线周围磁场的强度分布图。上图磁场强度分布图 为垂直方向上距导线5cm高度的强度分布,圆上的磁
7、场强度大小相同,并随 着距离导线的半径r增加成反比下降。此时也是两者之间较线性的高度值。 因此,我们的传感器就安装在距导线垂直高度5-10cm处。导线周围的磁场强度一般为10-11GS左右,我们选用工字线圈来做磁场 强度检测元件,其检测的范围可以达到 10-11GS的数量级,同时它还具有原 理简单、价格便宜、体积相对较小、频率响应快等优点。实际选用电感值为10mH磁芯为镍锌材料的工字线圈作为电磁传感器, 其Q值较高,具有开放的磁芯,输出信号幅值大。3.1.2:地磁场检测原理地磁场的检测,我们在这认为其强度的恒定的,即方向和大小都不变。根据这样的特性,我们采用磁阻传感器,其原理如下上图左侧长条就
8、是一个磁阻传感器的测量原理,右图为整体的测量原2)、系统整体结构定系统组成框图系统组成框图中,我们能够看到系统的硬件单元主要有CPU磁检测电路、人机界面、舵机控制、电机驱动、测速单元等组成。本设计主要涉及磁传感器模块的设计及制作,其他模块较常见,只做简 单理论描述,详细模块在下文都将涉及到。3)、磁场放大电路3.3.1 一级放大电路定磁场一级放大本级放大电路将AD620微弱的差动信号进行放大,使幅值在+2V -2V 之间,在1脚和8脚之间的电阻决定了精密放大器的放大倍数,放大大小 为49.4/R+1,当前电路的放大倍数为100倍332二级放大电路本电路的主要功能为上级电信号的的电位提升,使检测
9、信号又正负 信号变成正电源信号,利于下一级模数转换。4)、交变磁场放大电路R151 OkMTR25. IkwC3/104 D2C2/104T1、1815P 150D1检波输出VoutOC4(k luf6R351kQLl1 DmllC16. 8nF此上电路为交变信号放大电路以及后面 的整流滤波电路,它决定了所需放大信号的大 小,左侧的电感电容并联决定了放大信号的通过 频率,即带通滤波电路根据电感值,电容值的大小即可决定当前所 要检测磁场的频率大小,对有用磁场进行选择。电感线圈外形csIIKmD1)、第四章单元电路单片机最小系统2PPI3rro.、ITtt?mfi?:円rnVDDF10PTi1:i
10、JPTUKGQ IJPho16mrn:pm 19MJppiTXIA IOC空诩I二 ICKPl卩氏 I.OC1 PWLKWPlPPlRXD E/1GCT TY、门晳書冈 FP9 IDC1 m IOC I FT IIQC2 PT2 IQC3 FT3VDCFP1;4IQC4PT-;PWM51OC5 PT P*%国IOC矗口 PW:lk.k MCSTCIIKGD 卩&3 pinPB2 PH 7 卩HiGSD-LUGNDT5%1l2X512S-RTjftji|vccVRI1 VDDA A?-r AN AN05 AK 0)270a(Vx=0tVya(Vx 0,Vy0) = 360-他潮峻恥 Vxa(Vx
11、Oyy0)= -(arctan)Vx n W ?80a(Vx 0J=伽-Cretan)Vx it在上图中可分析出其判断水平面内360角的大小。值得一提的是,接收到的检测信号是 05V之间的电压值,在程序中我 们都要对每次接收到数据做减2.5V的预处理,完成于上图的配合。4.3.2交变磁场检测1)交变磁场的检测电路较容易,在此主要注意几个问题:A) 本电路所选三极管为C1815其放大倍数为80-700,带宽为80MH完 全可以担任放大任务。三极管的性能直接决定了放大后的效果,放大倍数太小直接影响输出电压的复制;B)在设置基极偏置电压时,对基极电阻的调节和选三极管有恨大关系,调节此电阻使集电极静态
12、工作点在电源电压一半稍高即可,防止波形严重失真,导致无有效电压值;C)在最后整形滤波出,采用二极管 1819,其压降仅为0.2V可尽量减小 电压的损失;D)电阻于电容的选择关系到采集电路信息的时效性,准确性。2)电感线圈的排布分析:通电导线周围磁场的分布如图 3.1.1导线周围磁场强度与距离的关系, 根据通电导线周围的磁场分布可知,当线圈偏离导线较远时,感应电压值很 小,传感器感应的电势太小,不利于信号的处理。所以距车头同一距离处设 置两对电感线圈。为加大前沿性,我们在最前设置一对传感器,这样共两排 传感器,能够较好地完成寻迹。4)、电机驱动模块用场效应管搭建H桥来驱动电机。场效应管具有内阻极
13、小、开关速度快等 诸多优点。并且方便加散热片。场效应管是电压驱动器件,只要栅极电压稍高一点就能使管子导通,单片机直接输出的电压不太够,所以还要增加栅极驱动电 路,可以用emos与非门CD4011,场效应管P管用IRF4905 , N管用IRF3205, 受到P管电流限制,最大电流为 74A。实际电路我们想用两管子并联,提高本 驱动的驱动电流,最终为提高使用时间和寿命,我们四片并联实现电机驱动。5)、舵机驱动模块所选舵机外形:(OV)GND(+5V 丿 (PWM)仁号线舵机工作原理:5号1*冲宽度(掲期为20ms)蛇机输出轴转角靛机输出转角与输入馆号肠冲宽度的戋蔡原理介绍:舵机的控制信号为周期是
14、 20ms的脉宽调制(PWM信号,其中脉冲宽度从 0.5ms-2.5ms,相对应舵盘的位置为0 180度,呈线性变化。也就是说,给它提 供一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号, 它才会改变输出角度到新的对应 的位置上。舵机内部有一个基准电路,产生周期20ms宽度1.5ms的基准信号,有一个比较器,将外加信号与基准信号相比较,判断出方向和大小,从而产生电 机的转动信号。由此可见,舵机是一种位置伺服的驱动器,转动范围不能超过 180度,适用于那些需要角度不断变化并可以保持的驱动当中。6)、LCD显示模块丄ccJvAr-HUNT
15、*T.9卜w6o11IE15I十;fcr.re; dco1116d7o d丁c-IQ6d6d16 dGNI|GND1602原理图宇符壁的引詢定又编号符号引脚说明集号符号引脚说明1VSS电源地9D2Data I/O2VDD电源正扱10D3Data I/O3VL液晶显示侑压倍号11D4Data I/O斗RS数据/命令选择端(H/L)12D5Data I/O5R/W逮F写选择端(H/L)13D6Data I/O6E使能信号14D7Data I/O7DOData I/O15BLA背光诵正扱8DIhta I/O16BLK背光源负极液晶的使用方便调试中需要知道的数据的显示。在调试中,可以显示每个磁 传感器
16、的当前的AD值,速度反馈值,当前驱动电机及舵机的 PWM信号的频率 等信息,很直观地显示当前状态。这是比较简单使用的人机界面。第五章软件设计1)概述赛车控制系统的设计主要由赛道信息的采集与数据分析、方向控制、速 度控制着三个部分组成。框图如下:赛道信息的采集与数据分析转向控制=|HC9S12XS128速度控制图5.1系统框图由上图,我们就可以将系统细分为: AD采集赛道信息、数据分析、舵机 PW控制、定时测速、电机PW控制、起跑线检测这六个部分。将系统细分可 以让软件与底层硬件模块接口的配合更紧密,同时也是把软件系统的实现从具体的硬件中尽量抽象出来,使控制更方便,程序更易读,也是把团队分工 整
17、合起来的有效途径。2)赛道信息的采集与数据分析赛道信息的米集分为路况信息的米集和起跑线的米集这两个部分。路况信息的采集主要是由安装在赛车前面的多排感应线圈来完成。感应 线圈通过检测赛道上方的磁场,采集到的信号经过谐振、放大、检波,然后 直接送到单片机的AD口。单片机通过AE采样模块直接就可以得到感应线圈感 应到磁场信号的大小。另外,赛车安装完成后,感应线圈之间的距离以及对 地的高度都是恒定的,因此通过多次对比采集得到的感应线圈信号的大小即 可得到赛道中心相对于感应线圈的位置,为赛车的转向控制提供依据。起跑线的采集主要是由安装在车头上的一排干簧管来完成。由于干簧管 是连接在单片机的T3口上的,当
18、采集到起跑线时触发单片机的中断,然后使 赛车停止。数据处理方面要分别对采集的两部分信息进行处理。赛道信息的处理, 主要是对AC采样得到的数据进行归一化,以消除不同的感应线圈之间的差 异。而起跑线信号则主要是去抖动,防止因抖动而误动作。赛道信息的采集与数据分析的程序流程如上图所示:3) 转向控制赛车的转向主要是由舵机来完成的。赛车的转向控制就是对舵机的控制,并 考虑速度对于转向的影响。舵机的角度分配一般有两种方式:查表方式、PID方式。分析比赛的要求, 不难看出精确的转向控制是完成比赛的关键, 而我们采样得到的电压值也是连续 变化的,如果采用查表方式的话,还需要对数据进行模糊化的处理, 很难完成
19、精 控制的要求。实践也发现,采用查表方式时,舵机的转角会出现不连续的状况, 影响赛车的稳定性。而使用PID调节方式对舵机进行控制,该方式在不论是反应 速度,还是舵机转向连续以及转角预测上都优于查表方式,因此,在实际过程中,我们使用的是PID方式。方向的控制主要是根据预瞄区赛道中心的位置,初步确定舵机转角,并根据赛道变化 的趋势对舵机转角进行修正。简单的说,转向控制就是以偏离纠正的思想为原则。在实际的系统中,数据进行归一化的处理,一方面消除了传感器差异的影响;另一方面也为获得赛车与跑道的偏离度提供方便。下图为赛车与赛道偏离的示意图,ABCD表示赛车,Y轴是赛车的中轴线,EF为赛道的趋势线。在实际
20、的转向过程中,赛车的转向是靠 前轮来完成的。结合下图,传感器之间的距离以及安装的高度都是确定的,我们就可以将 赛车的偏离度简单的转化成车前方左右两边传感器电压的差值。并以电压差为输入量,用 增量式的PID控制算法直接计算,获得舵机的动作增量。de计算公式如下:u = Kpe Ki edt Kd 一pdt二 KpE(“ -E(k -1) K|E(k) KE(k) -2E(k -1) E(k -2)4)速度控制在正确检测跑道的前提下,速度是本设计的重要特性。由于赛道的情况是未知的,速度过高很可能会使赛车不稳定或者来不及转向而冲出赛道。在随动控制系统中,如果速度控制采用开环控制其鲁棒性很差,极易受到
21、扰动量的干扰使使 系统不稳定。赛车对稳定性和速度的要求都很高,因此要求系统的抗干扰性能很 强。所以开环控制不适合赛车的控制系统, 必须使用闭环控制。一般而言在采集 到实时的速度以后速度控制方式是对动力进行控制,当速度高于一定值的时候减小赛车的动力,而速度过小的时候需要增加赛车的动力。这种方法有很大的缺点, 它不能快速降低速度,可能会使赛车在直道进入弯道的时候因速度过高而转向不 及时。另外电磁前瞻距离很小,对赛道类型的判断也不能保证很准确, 为了稳中 求胜,我们在速度控制时只对速度进行了控制。此处的程序原理于方向的控制相似,利用 PID控制,快速、准确地控制速 度值。具体程序见附页。第六章 结论
22、本设计自参赛以来经过查找资料,设计机构,组装车模 , 分析问题,编写程 序阶段工作,直到系统成型, 一共经过了五个月的时间, 其间尝试了两路电感控 制,四路电感做差控制;六点感“二”字排法等算法 , 最后我们选择了六路传感 器作为最终的方案,能车控制系统的设计中所完成的工作如下:(1) 研究了传感器的排布对控制策略的影响,提出了合适的传感器排布方 式,提高了寻线的准确性。(2) 并在实验的基础上证明了在本系统中电机可以近似为一阶系统,并由此 完成了电机PID算法。(3) 在机构结构上进行了大量的理论分析及改进,并在此基础上完成了刹车 制动算法。由于水平有限, 并且时间不足, 有许多技术与算法都
23、没有深入的研究, 需要 在以后继续研究中不断的完善,总结如下:(1) 电机的PID并不能将电机的加速性能很好的表现出来。(2) 电路的可靠性,抗高频电磁干扰的性能有待提高。(3) 对路况信息的处理还有待提高,特别是有用信息的提取。附页:#include /* common defines and macros */#include derivative.h /* derivative-specific definitions */#include #include #include #include #pragma LINK_INFO DERIVATIVE MC9S12XS128#define
24、 Led5 PORTE_PE5#define Led6 PORTE_PE6#define KEY PORTB_PB3#define Led_left PORTB_PB5#define Led_right PORTB_PB7uchar n,r=0,z,flag,Flag=0;uchar count=0;static unsigned int waittime = 0;uchar FB=90,SH=45,SH1=45,V1=90,V2=90,V3=85,V4=150,V5=90,V6=90;unsigned int AD_1; /AD转换结果unsigned int AD_2; /AD转换结果un
25、signed int AD_3; /AD转换结果unsigned int AD_4; /AD转换结果unsigned int AD_5; /AD转换结果unsigned int AD_6; /AD转换结果signed int Speed,x1,x2,y,x11,x22; / 速度转换值 unsigned int time,numm,m;unsigned int numm_last0,numm_last1,numm_last2, num_last0,num_last1,num_last2;/ 延时子程序 /void delay(unsigned int xms) int a,b,c;for(c=
26、0;cxms;c+)for(a=0;a=50;a+) for(b=0;b90)sp=90;if(spFB);PWME_PWME0=0;PWME_PWME1=1; flag=0;Led_right=1;Led_left=1;/ 按键检测 /void KEY_SCAN(void)if(KEY=0)delay(10);if(KEY=0)while(!KEY);z+; if(z=1)FB=85;SH=45;SH1=45;V1=80;V2=80;V3=80;V4=150;V5=90;V6=80;Led_left=0;Led_right=1; delay(500);Led_left=1;if(z=2)FB
27、=90;SH=45;SH1=45;V1=85;V2=85;V3=80;V4=150;V5=90;V6=80;Led_right=0;Led_left=1;delay(500);Led_right=1; if(z=3)FB=100;SH=45;SH1=45;V1=95;V2=95;V3=90;V4=160;V5=100;V6=100; Led_right=0; Led_left=0; delay(500); Led_right=1; Led_left=1;if(z=4)z=0;FB=100;SH=45;SH1=45;V1=95;V2=95;V3=90;V4=170;V5=100;V6=100;L
28、ed_right=1;Led_left=0;delay(500);Led_left=1;/ 速度控制 /void Speed_con(void)等待当前队列转换完成 */while(!ATD0STAT0_SCF); /AD_1=ATD0DR0L;AD_2=ATD0DR1L;AD_3=ATD0DR2L;AD_4=ATD0DR3L;AD_5=ATD0DR4L;AD_6=ATD0DR5L;/ 斜坡检测 / /if(AD_190 & AD_490 | AD_150 & AD_43 | AD_43)x1=AD_2-82; / 中间左 x2=AD_3-82; / 中间右 if(AD_1AD_4)x1=-x
29、1;if(AD_4650)y=650;if(y40 | AD_440) / 弯道 if(flag=1 & FeedBackFB)if(AD_1AD_4)Led_left=0;PWMDTY23=numm;shacheV(SH);Sudu(V1);elseLed_right=0;PWMDTY23=numm;shacheV(SH1);Sudu(V2);elseSudu(V3);/保存 nummfi/if(5AD_215 | 5AD_350 & AD_350 & AD_540 & AD_640) / 斜坡检测 /if(AD_195 & AD_495 | AD_130 & AD_430) PWMDTY2
30、3=1570;Sudu(num_last2);elsePWMDTY23=1570;flag=1;Sudu(V4);num_last0=FeedBack;elseSudu(V5);numm_last1=numm_last0; numm_last2=numm_last1;elsePWMDTY23=numm_last2;Sudu(V6); num_last1=num_last0; num_last2=num_last1; if(num_last2=0) num_last2=100;/ 时钟初始化程序 /void SetBusCLK_64M(void)CLKSEL=0X00; /disengage P
31、LL to systemPLLCTL_PLLON=1; /turn on PLLSYNR =0xc0 | 0x07;REFDV=0x80 | 0x01;POSTDIV=0x00; /pllclock=2*osc*(1+SYNR)/(1+REFDV)=128MHz; _asm(nop); /BUS CLOCK=64M_asm(nop);while(!(CRGFLG_LOCK=1); /when pll is steady ,then use it; CLKSEL_PLLSEL =1; /engage PLL to system;/PWM 初始化程序 / void PWM_Init()PWME=0
32、;PWMPRCLK=0X53;/ 时钟预分频设置 A=4MHz B=2MHzPWMCLK=0x03; /PWMSCLA=0X02; /PWMPOL=0x0f; /PWMCAE=0x0f; /PWMDTY0=0x32;PWMDTY1=0x32; PWMDTY23=0;PWMPER0=0x64;PWMPER1=0x64;Frequency=SA/10=10KHzFrequency=SA/10=10KHzFrequency=B/10000=100Hz时钟源选择 SA,SA,B分频寄存器,时钟设置 SA=A/2PWMSCLA=1MHz极性设置,开始输出高电平 对齐方式选择 1 为中心对齐(通道关闭后才
33、能对其设 置)PWMCTL_CON23=1; /通道2,3 级联成一个16位的PWMB道/占空比设置/占空比设置/占空比设置/周期寄存器设置/周期寄存器设置PWMPER23=0x2710; / 周期寄存器设置PWMCNT0=0X00; / 通道 0 计数寄存器PWMCNT1=0X00; / 通道 1 计数寄存器PWME=0x0f;/ 电机驱动初始化 /void TheMotor_Init()PWME=0x00;PWMDTY0=0x00; /(5/50)*100PWMPER0=0x64;PWMDTY1=0x00;PWMPER1=0x64;PWMDTY23=0; /1.5ms PWMPER23=0
34、x2710;PWME=0x0f;/ATD 模块 / void ATD_Init()ATD0CTL1=0x00;ATD0CTL2=0X40; /ATD0CTL3=0Xb0; /ATD0CTL4=0X05; /8ATD0CTL5=0X30; /ATD0DIEN=0x0f; /使能AD清除标志*/队列长度为 6,依次存入结果寄存器, 继续转换 */ 位精度,总线频率 32 分频 */多通道转换 0 开始转换 */禁止数字输入/ 定时器初始化程序 /* void ECT_Init(void)TIOS =0x00; /TSCR1=0x80; /TSCR2=0x07;TIE=0b00000001; /EC
35、T初始化,使用输入捕捉功能设为输入捕捉 定时器使能开中断TCTL4=0b00000010; /0 ,1 触发电平 :TC0=888;*/口外部中断检测起跑线 *void PJ7_Init(void)/PPSJ = 0x00; /PIEJ = 0X80;PERJ = 0xff;下降沿DDRJ = 0X00; / PJ0 判断行同步脉冲到达 PPSJ = 0x80; /上升沿/PIT 初始化 /void Pit0_Init(void) PITCFLMT_PITE=0;PITCE_PCE0=1;PITMUX_PMUX0=0;PITMTLD0=0X0a;PITLD0=0Xff00;+ 1) /disa
36、ble PIT/enable timer channel 0/ch0 connected to micro timer 0/micro time base 0 equals 255 clock cycles /time-out period = (PITMTLD + 1) * (PITLD/Formaximum time时间计算example, for a 16 MHzbus clock, the/1 * 6400 * /64000000 = 0.0001s.PITINTE_PINTE0=1;PITCFLMT_PITE=1; /enable interupt channel 0/enable
37、PIT/*void Pit1_Init(void)PITCFLMT_PITE=0; PITCE_PCE1=1;PITMUX_PMUX1=0;PITMTLD1=0X0f ;/disable PIT/enable timer channel 1/ch1 connected to micro timer 1/micro time base 1 equals 255 clock cyclesPITLD1=0Xffff; /time-out period = (PITMTLD + 1) * (PITLD+ 1) /fbus/ 时间计算/For example, for a 16 MHzbus clock
38、, themaximum time/15 * 65536 * /64000000 =0.01536s.PITINTE_PINTE1=1;/enable interupt channel 1PITCFLMT_PITE=1;/enable PIT */PACNT 初始化 /void PACN_Init(void)PACTL=0x10; / PACNT =0x0000;PAFLG=0x01; /启动脉冲累加器 A脉冲数入1=IOC7-PT7,最大65536个脉冲PACTL=0x10|0x40; /16b 计数允许 /IO 口初始化 /void IO_Init(void)DDRA=0xFF;PORTA
39、=0x00;DDRB=0xFF;PORTB=0x00;DDRE_DDRE5=1; /* PTE5 as output */DDRE_DDRE6=1; /* PTE6 as output */DDRB_DDRB3=0; /* PTE6 as output */DDRB_DDRB5=1; /* PTE6 as output */DDRB_DDRB7=1; /* PTE6 as output */PORTE_PE5=1; /* LEDs off */PORTE_PE6=1; /* LEDs off */PORTB_PB3=1; /* LEDs off */ / 主程序 /void main(void
40、)DisableInterrupts;SetBusCLK_64M();ATD_Init();PACN_Init();Pit0_Init();PJ7_Init();IO_Init();jianche(30000); delay(2000);PWM_Init();TheMotor_Init();Led_left=1;Led_right=1; /Sudu(100);EnableInterrupts;asmnopfor(;)Speed_con();/KEY_SCAN();/PWMDTY23=1570;_FEED_COP(); /* feeds the dog */ 中断函数处理 /*#pragma CODE_SEG _NEAR_SEG NON_BANKEDvoid i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子元器件供应商配送流程协议说明(7篇)
- 小学主题班会课件:金秋感恩文明共建
- 市场营销推广经理电子商务行业绩效评定表
- 软件测试工程师测试用例编写量绩效考核表
- 财务预算编制与管理实战指南
- 林芝地区全国英语等级考试(PETS)二级仿真试题及答案解析(2025年下半年)
- 康复治疗技术三基考试题库练习题及答案
- 掘锚机维修钳工职业技能鉴定考试题及答案
- 工程电梯操作试题及答案
- 《春城花语:昆明翠湖与老街慢生活摄影及高原反应预防手册》
- 2026年及未来5年市场数据中国尼龙聚酰胺6(PA6)行业市场调研分析及投资战略规划报告
- 工程项目创新技术应用与实施方案
- 电商客服礼仪培训
- GB/T 6109.1-2025漆包圆绕组线第1部分:一般规定
- 2025年信阳固始县城区缺编学校选聘教师296人考试模拟试题及答案解析
- 防暑防汛的培训课件
- 内蒙古电力建设定额站2025年第二季度配电网设备材料编审指导价
- 全媒体运营师职业技能竞赛题(附答案)
- 车位抵账合同协议
- 医院临床医学带教老师培训
- 人教版八年级数学上册轴对称《最短路径问题》 教学课件
评论
0/150
提交评论