ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:146.87KB ,
资源ID:14752127      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14752127.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(智能小车嵌入式系统设计分析Word下载.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

智能小车嵌入式系统设计分析Word下载.docx

1、拥有 7组 GPIO,可配置为输入、输出、开漏、弱上拉等模式。4个 32位 Timer,每个都个拆分为 2个独立子定时器。6路 16位 PWM,通过 CCP管脚能产生高达 25Mhz的方波。自制车架 车轮用步进电机精确控制,步进电机用放大电路驱动,受 PWM信号控制。锂离子电池给放大电路和开发板供电。车架前方有红外探头,通过即时返回数据进行判断实现自动避障。开发板外接红外线接收头,实现红外线人工控制。编程开发平台 IAR Embedded Workbench IAR 是 LM3S系列适配的开发平台之一,适合用 C 语言和库函数进行编程,操作简单,较易上手。3.可行性论证 LM3S1138芯片的

2、资源比较丰富,自带 Timer产生 PWM方波。智能小车的速度要求低于步进电机的最高速度,并能通过步进电机实现精准控制,每个脉冲转动一个固定角度,因此步进电机适合作为驱动。红外线控制通过芯片对突发接收的信号进行解码,获取红外遥控的控制信息,红外解码使用流行的方案。车架前方装有四个探头,四路信号的触发顺序可作为障碍判断的依据。二、软件编程 1.PWM模块#include#include#include#include#include#include#include#include#include#include#include“LM3S1138_PinMap.H”/*定义按键*/#define

3、KEY_PORT SYSCTL_PERIPH_GPIOG#define KEY_PIN GPIO_PORTG_BASE,GPIO_PIN_5#define keyGet()GPIOPinRead(KEY_PIN)/定义全局的系统时钟变量 unsigned long TheSysClock=12000000UL;/*Function name:jtagWait *Descriptions:防止 JTAG 失效,KEY=PG5 *input parameters:无*output parameters:无 *Returned value:无 *Created by:张伟杰*Created Date

4、:2014.05.15*/void jtagWait(void)SysCtlPeripheralEnable(KEY_PORT);/*使能 KEY 所在的 GPIO 端口*/GPIOPinTypeGPIOInput(KEY_PIN);/*设置 KEY 所在管脚为输入*/if(keyGet()=0 x00)/*如果复位时按下 KEY,则进入*/for(;);/*死循环,以等待 JTAG 连接*/SysCtlPeripheralDisable(KEY_PORT);/*禁止 KEY 所在的 GPIO 端口*/*Function name:Timer_0_Init *Descriptions:初始化

5、Timer0 *input parameters:2014.05.15*/void Timer_0_Init(void)SysCtlPeripheralEnable(CCP0_PERIPH);/*使能 CCP0所在的 GPIO 端口 PB0*/GPIOPinTypeTimer(CCP0_PORT,CCP0_PIN);/*配置 CCP0管脚为 PWM输出*/SysCtlPeripheralEnable(CCP1_PERIPH);/*使能 CCP1所在的 GPIO 端口 PF6*/GPIOPinTypeTimer(CCP1_PORT,CCP1_PIN);/*配置 CCP1管脚为 PWM输出*/Sy

6、sCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);/*使能定时器模块*/TimerConfigure(TIMER0_BASE,TIMER_CFG_16_BIT_PAIR|TIMER_CFG_A_PWM|TIMER_CFG_B_PWM);/*配置定时器为双 16位 PWM*/TimerControlLevel(TIMER0_BASE,TIMER_BOTH,false);/*控制 PWM输出反相*/*Function name:Timer_0_Level_1 *Descriptions:左右轮一档 *input parameters:2014.05.15*/vo

7、id Timer_0_Level_1(void)/TimerPrescaleSet(TIMER0_BASE,TIMER_BOTH,99);/*设置预分频值*/TimerControlLevel(TIMER0_BASE,TIMER_BOTH,true);TimerLoadSet(TIMER0_BASE,TIMER_BOTH,60000);/*设置定时器初值,AB 均为 50Hz*/TimerMatchSet(TIMER0_BASE,TIMER_A,6000);/*设置 TimerA 的 PWM匹配值*/TimerMatchSet(TIMER0_BASE,TIMER_B,6000);/*设置 Ti

8、merB 的 PWM匹配值*/TimerEnable(TIMER0_BASE,TIMER_BOTH);/*使能定时器计数,PWM开始输出*/系统初始化 void SystemInit(void)SysCtlLDOSet(SYSCTL_LDO_2_50V);/设置 LDO 输出电压 SysCtlClockSet(SYSCTL_USE_OSC|/系统时钟设置,采用主振荡器 SYSCTL_OSC_MAIN|SYSCTL_XTAL_6MHZ|SYSCTL_SYSDIV_1);/*SysCtlLDOSet(SYSCTL_LDO_2_75V);/配置 PLL 前须将 LDO 电压设置为 2.75V Sys

9、CtlClockSet(SYSCTL_USE_PLL|/系统时钟设置,采用 PLL SYSCTL_OSC_MAIN|/主振荡器 SYSCTL_XTAL_6MHZ|/外接 6MHz晶振 SYSCTL_SYSDIV_10);/分频结果为 20MHz*/TheSysClock=SysCtlClockGet();/获取系统时钟,单位:Hz int main(void)jtagWait();/*防止 JTAG 失效,重要!*/SystemInit();Timer_0_Init();/*定时器初始化*/Timer_0_Level_1();for(;2.红外接收器模块#include#include#inc

10、lude#include#include#include#include#include#include#include#include#include“LM3S1138_PinMap.H”/*定义按键*/#define KEY_PORT SYSCTL_PERIPH_GPIOG#define KEY_PIN GPIO_PORTG_BASE,GPIO_PIN_5#define keyGet()GPIOPinRead(KEY_PIN)#define IR_PORT SYSCTL_PERIPH_GPIOF#define IR_PIN GPIO_PORTF_BASE,GPIO_PIN_1 /定义全局的

11、系统时钟变量 unsigned long TheSysClock=12000000UL;unsigned IR_flag=0;unsigned long IR_code_3232;unsigned long IR_code_8=0;unsigned a;int Time_Get();void Delay_100_us();IR_Int_Init *Descriptions:初始化 IR 端口和中断 *input parameters:2014.05.18*/void IR_Int_Init(void)SysCtlPeripheralEnable(IR_PORT);GPIOPinTypeGPIOInput(IR_PIN);GPIOIntTypeSet(IR_PIN,GPIO_LOW_LEVEL);GPIOPinIntEnable(IR_PIN);IntEnable(INT_GPIOF);IntMasterEnable();/系统初始化 void SystemInit(void)SysCtlLDOSet(SYSCTL_LDO_2_50V);/分频结果为 20MHz*/TheSysClock=SysCtlClockGet()

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1