单片机第一次实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Cortex-M4原理与实践实验报告

实验一 GPIO 接口实验

一.实验目的

1. 掌握 Code Composer Studio 6.0(以下简称 CCS)的安装和配置步骤过程。

2. 了解 Cortex-M4 开发系统和计算机与目标系统的连接方法。

3. 了解 CCS 软件的操作环境和基本功能,了解 TM4C1294 软件开发过程。

1) 学习创建工程和管理工程的方法;

2) 了解基本的编译和调试功能;

3) 学会设置断点,注入和提取数据文件;

4) 学习使用观察窗口;

5) 了解图形功能的使用方法。

二.实验程序流程图

本实验通过多种方法来控制 GPIO 端口的读写,通过 GPIO 端口的读写来控制主板上两个独立的 LED 灯,D1、D2 的点亮和熄灭。主板上 D1、D2 、D3 对应的 GPIO 口分别为 PF1、 PF2、PF3。

三.实验代码、注释及现象

#include

#include

#include "inc/hw_memmap.h"

#include "inc/hw_types.h"

#include "driverlib/pin_map.h"

#include "driverlib/sysctl.h"

#include "driverlib/gpio.h"

int main(void)

{

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); //使能 GPIOF 口

GPIODirModeSet(GPIO_PORTF_BASE,GPIO_PIN_1,GPIO_DIR_MODE_OUT); //设置为输出模式

GPIOPadConfigSet(GPIO_PORTF_BASE,GPIO_PIN_1,GPIO_STRENGTH_8MA_SC,GPIO_PIN_TYPE_STD);

//进一步设置为 8mA、带转换速率控制的推挽输出

GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1, 0xff);//PF1 输出高电平

while(1)

{}; //LED_D1 on 简单LE

}

现象:LED1 被点亮

四.思考题

1.代码

#include

#include

#include "inc/hw_memmap.h"

#include "inc/hw_types.h"

#include "driverlib/pin_map.h"

#include "driverlib/sysctl.h"

#include "driverlib/gpio.h"

int main(void)

{

SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ |

SYSCTL_OSC_MAIN |

SYSCTL_USE_PLL |

SYSCTL_CFG_VCO_480), 10000000); //设置系统时间为10MHZ

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);//使能 GPIOF 口

GPIODirModeSet(GPIO_PORTF_BASE,GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3,GPIO_DIR_MODE_OUT); //设置为输出模式

GPIOPadConfigSet(GPIO_PORTF_BASE,GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3,GPIO_STRENGTH_8MA_SC,GPIO _PIN_TYPE_STD); //进一步设置为 8mA、带转换速率控制的推挽输出

while(1)

{

GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,0xff); //PF1输出高,点亮LED0

SysCtlDelay(100*(10000000/3000)); //延时n*1ms 100ms

GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,0); //PF1输出低,关闭LED0

GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2,0xff); //PF2输出高,点亮LED2

SysCtlDelay(100*(10000000/3000)); //延时n*1ms

GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2,0); //PF2输出低,点亮LED2

GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,0xff);//PF2输出高,点亮LED2

SysCtlDelay(100*(10000000/3000)); //延时n*1ms

GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,0);//PF2输出低,点亮LED2

};

}

2.实验现象:主板上LED0,LED1,LED2按照间隔时间顺序依次点亮

实验原理解读:主要利用延迟函数,按顺序点亮和关断LED1,LED2,LED3。

五.实验中遇到的问题及其解决方法

首先是没有按默认路径安装,然后配置一直不对,缺少文件,后来把软件卸载之后再重新安装在默认路径,问题就解决了。

相关文档
最新文档