篇一:gpio输出控制led灯闪烁实验报告
______________________________________________________________________________________________________________
课
程
实
验
报
告
学院:
专业:2018年10月18日
姓
名
学
号
班
级
指导老师
课程名称
嵌入式系统原理与应用实验
成
实验名称
GPIO输出-流水灯
绩
1.
实验目的通过一个经典的跑马灯程序,了解STM32F1的IO口作为输出使用的方法。通过代码控制开发板上的4个LED灯交替闪烁,实现类似跑马灯的效果。
2.
实验内容
工程文件建立、程序的调试,编译、jlink驱动的安装与配置、程序下载、实验结果验证。
3.
实验环境
Windouws10KeiluVision54.
实验方法和步骤(含设计)
(1)实验硬件连接图
四个led灯如图连接到GPIO的6~9引脚上。
(2)软件分析
使用到的GPIO端口需配置为输出模式,使用推挽(PP)模式输出,IO口速度为50MHz。
(3)实验步骤
①建立工程文件:导入程序运行需要的库,加入主程序,调试运行环境,使程序可以成功被编译和运行且没有错误和警告。
②安装JLINK驱动程序,点击下载按钮将程序烧写进开发板中。
③检查led灯是否逐一顺序点亮,能够通过调整程序使点亮顺序改变。
(4)原函数
精品资料
______________________________________________________________________________________________________________6.实验分析与体会
如果4个LED灯是与A口的PA1、PA2、PA3、PA4相连,将led.c文件中的“GPIOC”改为“GPIOA”,并将Pin_X改为对应的1~4脚。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;GPIO_Init(GPIOC,&GPIO_InitStructure);GPIO_SetBits(GPIOC,GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9);
改为
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4;
5.
程序及测试结果
GPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_SetBits(GPIOA,GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4);
实验日期
:2018年10月18日
成绩评定
教师签名:
年
月
日
精品资料
______________________________________________________________________________________________________________
WelcomeToDownload
欢迎您的下载,资料仅供参考!
精品资料
篇二:gpio输出控制led灯闪烁实验报告
gpio输出控制led灯闪烁实验原理
gpio输出控制LED灯闪烁实验原理
引言:
在物联网时代,嵌入式系统的应用越来越广泛。而GPIO(GeneralPurposeInput/Output)是嵌入式系统中最常用的接口之一。本文将介绍如何利用GPIO输出控制LED灯的闪烁,并详细阐述实验原理。
一、实验材料准备:
1.RaspberryPi开发板
2.面包板
3.杜邦线
4.LED灯(带有长脚和短脚)
二、实验步骤:
1.将RaspberryPi开发板与面包板连接,确保连接牢固。
2.将LED灯的长脚连接到GPIO引脚17,短脚连接到GND引脚。
3.打开RaspberryPi开发板,并登录系统。
4.在终端中输入命令"gpioreadall",查看GPIO引脚的状态。
5.在终端中输入命令"gpiomode0out",将GPIO引脚0设置为输出模式。
6.在终端中输入命令"gpiowrite01",将GPIO引脚0输出高电平,LED灯亮起。
7.在终端中输入命令"gpiowrite00",将GPIO引脚0输出低电平,LED灯熄灭。
8.重复步骤6和7,LED灯将会不断闪烁。
三、实验原理:
在本实验中,我们利用GPIO输出控制LED灯的闪烁。GPIO引脚可以通过软件程序来控制其输出状态,从而控制连接在其上的外部设备。在RaspberryPi开发板上,GPIO引脚可以通过命令行工具gpio来进行控制。
LED灯是一种二极管,具有正极和负极。当正极接收到高电平信号时,LED灯会发光;当正极接收到低电平信号时,LED灯不发光。RaspberryPi开发板上的GPIO引脚可以输出高电平(3.3V)和低电平(0V),因此可以通过控制GPIO引脚的输出状态来控制LED灯的亮灭。
在本实验中,我们将GPIO引脚0设置为输出模式,并通过命令"gpiowrite01"将其输出高电平,LED灯亮起;通过命令"gpiowrite00"将其输出低电平,LED灯熄灭。通过不断重复这两个命令,LED灯就会不断闪烁。
四、实验应用:
本实验是一个简单的示例,演示了如何利用GPIO输出控制LED灯
的闪烁。在实际应用中,我们可以通过控制GPIO引脚的输出状态,实现更复杂的功能。例如,可以通过控制GPIO引脚的输出状态来控制电机的转动、传感器的采集等。
总结:
本实验通过GPIO输出控制LED灯的闪烁,演示了嵌入式系统中的GPIO接口的应用。通过控制GPIO引脚的输出状态,可以实现对外部设备的控制。在实际应用中,GPIO接口具有广泛的应用前景,可以用于控制各种外部设备,实现更多的功能。希望本实验对于读者理解GPIO输出控制LED灯闪烁的原理有所帮助。
篇三:gpio输出控制led灯闪烁实验报告
______________________________________________________________________________________________________________
课
程
实
验
报
告
学院:
专业:2018年10月18日
姓
名
学
号
班
级
指导老师
课程名称
嵌入式系统原理与应用实验
成
实验名称
GPIO输出-流水灯
绩
1.
实验目的通过一个经典的跑马灯程序,了解STM32F1的IO口作为输出使用的方法。通过代码控制开发板上的4个LED灯交替闪烁,实现类似跑马灯的效果。
2.
实验内容
工程文件建立、程序的调试,编译、jlink驱动的安装与配置、程序下载、实验结果验证。
3.
实验环境
Windouws10KeiluVision54.
实验方法和步骤(含设计)
(1)实验硬件连接图
四个led灯如图连接到GPIO的6~9引脚上。
(2)软件分析
使用到的GPIO端口需配置为输出模式,使用推挽(PP)模式输出,IO口速度为50MHz。
(3)实验步骤
①建立工程文件:导入程序运行需要的库,加入主程序,调试运行环境,使程序可以成功被编译和运行且没有错误和警告。
②安装JLINK驱动程序,点击下载按钮将程序烧写进开发板中。
③检查led灯是否逐一顺序点亮,能够通过调整程序使点亮顺序改变。
(4)原函数
精品资料
______________________________________________________________________________________________________________6.实验分析与体会
如果4个LED灯是与A口的PA1、PA2、PA3、PA4相连,将led.c文件中的“GPIOC”改为“GPIOA”,并将Pin_X改为对应的1~4脚。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;GPIO_Init(GPIOC,&GPIO_InitStructure);GPIO_SetBits(GPIOC,GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9);
改为
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4;
5.
程序及测试结果
GPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_SetBits(GPIOA,GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4);
实验日期
:2018年10月18日
成绩评定
教师签名:
年
月
日
精品资料
______________________________________________________________________________________________________________
WelcomeToDownload
欢迎您的下载,资料仅供参考!
精品资料
篇四:gpio输出控制led灯闪烁实验报告
嵌入式led控制实验报告
嵌入式LED控制实验报告
摘要:
本实验旨在通过嵌入式系统控制LED灯的亮度和闪烁频率,以及实现LED的颜色变换。通过实验,我们成功地使用嵌入式系统对LED进行了精确的控制,实现了灯光效果的多样化。
1.实验目的本实验的主要目的是掌握嵌入式系统对LED灯的控制方法,包括亮度控制、闪烁频率控制和颜色变换。通过实验,我们希望能够深入理解嵌入式系统的工作原理,并掌握在嵌入式系统中对外部设备进行精确控制的方法。
2.实验原理
在本实验中,我们使用了一款嵌入式系统开发板,通过该开发板的GPIO接口控制LED的亮度、闪烁频率和颜色。具体原理是通过控制GPIO口的输出电平和频率,来控制LED的亮度和闪烁频率,同时通过PWM信号来控制LED的颜色变换。
3.实验步骤
(1)搭建实验平台:将LED连接到开发板的GPIO口,并连接电源。
(2)编写控制程序:使用嵌入式系统的开发工具编写控制LED的程序,包括控制LED亮度、闪烁频率和颜色变换的代码。
(3)下载程序:将编写好的程序下载到嵌入式系统中。
(4)运行实验:通过控制程序,实现LED的亮度、闪烁频率和颜色的变换。
4.实验结果
通过实验,我们成功地实现了对LED的亮度、闪烁频率和颜色的精确控制。我们通过改变程序中的参数,可以实现LED灯的不同亮度、不同闪烁频率和不同颜色的变换。实验结果表明,嵌入式系统对外部设备的控制能力非常强大,可以实现多样化的灯光效果。
5.实验总结
本实验通过对嵌入式系统控制LED的实验,深入理解了嵌入式系统的工作原理,掌握了对外部设备进行精确控制的方法。通过实验,我们对嵌入式系统的应用有了更深入的了解,为今后的嵌入式系统开发工作奠定了基础。
结语
通过本次实验,我们不仅学会了如何使用嵌入式系统控制LED灯的亮度、闪烁频率和颜色,还深入了解了嵌入式系统的工作原理和应用。这将为我们今后的嵌入式系统开发工作提供重要的参考和指导。希望通过不断的实践和学习,我们能够更加熟练地掌握嵌入式系统的应用,为科技创新做出更大的贡献。
篇五:gpio输出控制led灯闪烁实验报告
GPIO实验
------10903070313_某某
一、实验目的:
⑴:熟悉ARM开发板基本组成电路,并通过配套教材熟悉ARM芯片特性。了解ADS1.2软件使用,并会用该软件编译调试开发板。
⑵:了解H—JTAG软件原理,利用教材中提供的LED测试程序,完成实验。
⑶:进一步掌握ADS1.2集成开发环境的使用方法。
⑷:掌握LPC2000专用工程模板的添加和使用。
⑸:能够在EasyARM2100教学实验开发平台上运行第一个程序(无操作系统)。
⑹:熟悉LPC2000系列ARM7微控制器的GPIO控制。
⑺:了解应用程序的固化方法。
二、实验内容及原理:
⑴:单LED闪烁
使用P0.25的输出功能,控制一个LED闪动。采用灌电流方式驱动LED,即输出地电平时LED点亮。程序首先设置PINSEL0,PINSEL1进行管教连线,然后由IO0DIR设置P0.25口为输出模式,即可通过对IO0SET和IO0CLR寄存器进行口线设置1或置0输出控制。
⑵:单键输入
GPIO是一个双向的I/O口,内部无上拉电阻,所以作于键盘输入时,要上拉电阻。进行GPIO输入时,先要设置IODIR使口线为输入方式,然后读取IOPIN的值即可。使用P0016口作按键的输入,每一次有效按键即对LED4进行取反控制。
⑶:多键多LED(选作)KEY1按下LED1取反,......,KEY4按下LED4取反,KEY5按下LED全灭,KEY6按下LED全亮。
⑷:模拟SPI数码显示
EasyARM2100开发实验板提供了一位静态数码管,由74HC595直接驱动。74HC595是一个串入并出的一位寄存器,三态输出口,可以通过SQH进行级连,支持100MHz时钟频
率。通过3个GPIO口模拟对74HC595进行控制,驱动数字数码管显示数字0~F。
⑸:LED及数码编码显示
程序驱动数码管循环显示16进制数0~F,并使用LED1~LED4指示当前数值,LED4表示高位(d3),LED1指示低位(d0),点亮为1,熄灭为0。
⑹多键及显示组合(选作)KEY1按下数码显示“1”,......,KEY6按下数码显示“6”,同时LED显示数据BCD编码。三、实验器材
PC机一台,周立功开发板一块(EasyARM2100)
四、实验预习与要求:
(1)认真复习LPC2000系列ARM7微控制器的GPIO控制机制以及LPC2100管脚连接
模块等内容。
(2)了解EasyARM2100教学实验开发平台的硬件结构,注意蜂鸣器的相关控制电路。
(3)了解EasyARM2100教学实验开发平台上的跳线。
(4)仔细阅读附带文档《ADS集成开发环境及仿真器应用》或其它相关资料,了解GPIO
的设置、74HC595时序、逻辑控制方法、LPC2000专用工程模板。
五、程序流程图
⑴:单LED闪烁
⑵:单键输入
⑶:模拟SPI数码显示
⑷:LED及数码编码显示
六、实验源程序为(C语言):
⑴:单LED闪烁
#include"config.h"#define
LEDCON
0x0040000voidDelayNS(uint32dly){
uint32i;
for(;dly>0;dly--)
for(i=0;i<50000;i++)
;}intmain(void){
PINSEL0=0x00000000;
PINSEL1=0x00000000;
IO0DIR=LEDCON;
while(1)
{
IO0SET=LEDCON;
DelayNS(30);
IO0CLR=LEDCON;
DelayNS(30);
}
return(0);}⑵:单键输入
#include"config.h"#define
LEDCON
0x00400000#define
KEY
0x0001000voidWaitKey(void){
uint32i;
while(1)
{
while((IO0PIN&KEY)!=0)
;
for(i=0;i<50000;i++)
;
if((IO0PIN&KEY)==0)
break;
}
while((IO0PIN&KEY)==0)
;}
intmain(void){
PINSEL0=0x00000000;
PINSEL1=0x00000000;
IO0DIR=LEDCON;
while(1)
{
IO0SET=LEDCON;
WaitKey();
IO0CLR=LEDCON;
WaitKey();
}
return(0);}⑶:模拟SPI数码显示
#include"config.h"#defineSPI_CS
0X2000010#defineSPI_DATA0x00000040#defineSPI_CLK
0x00000010#defineSPI_IOCON(SPI_CS|SPI_DATA|SPI_CLK)
voidDelayNS(uint32dly){
uint32i;
for(;dly>0;dly--)
for(i=0;i<50000;i++);}voidHC595_SendDat(uint8dat){
uint8i;
IO0CLR=SPI_CS;
for(i=0;i<8;i++)
{
IO0CLR=SPI_CLK;
if((dat&0x80)!=0)
IO0SET=SPI_DATA;
else
IO0CLR=SPI_DATA;
dat<<=1;
IO0SET=SPI_CLK;
}
IO0SET=SPI_CS;}
intmain(void){
Constuint8DISP_TAB[16]={0xC0,0xF9,0xA4,0xB0,0X99,0x82,0xF8,0x80,0x90,0x88,0x83,0x83,0xC6,0xA1,0x86,0x8E};
uint8i;
PINSEL0=0x00000000;
PINSEL1=0x00000000;
IO0DIR=SPI_IOCON;
while(1)
{
for(i=0;i<16;i++)
{
HC595_SendDat(DISP_TAB[i]);
DelayNS(50);
}
}
return(0);}⑷:LED及数码编码显示
#include"config.h"
#defineSPI_CS(1<<29)#defineSPI_DATA(1<<6)#defineSPI_CLK(1<<4)#defineBEEP(1<<7)#defineSPI_IOCON(SPI_CS|SPI_DATA|SPI_CLK)#defineLED_IOCON(0x0F<<22)
voidDelayNS(uint32dly){
uint32i;
for(;dly>0;dly--)
for(i=0;i<50000;i++);}
voidHC595_SendDat(uint8dat){
uint8i;
IO0CLR=SPI_CS;
for(i=0;i<8;i++)
{
IO0CLR=SPI_CLK;
if((dat&0x80)!=0)
IO0SET=SPI_DATA;
elseIO0CLR=SPI_DATA;
dat<<=1;
IO0SET=SPI_CLK;
}
IO0SET=SPI_CS;}
constuint8DISP_TAB[16]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};
intmain(void){
uint8i;
PINSEL0=0x00000000;
PINSEL0=0x00000000;
IO0DIR=SPI_IOCON|LED_IOCON|BEEP;
while(1)
{
for(i=0;i<16;i++)
{
HC595_SendDat(DISP_TAB[i]);
IO0SET=0x0F<<22;
IO0CLR=i<<22;
}
IO0CLR=BEEP;
DelayNS(50);
IO0SET=BEEP;
DelayNS(50);
}}return(0);七、实验步骤:
㈠、找到开发板的芯片及flash
1.计算机并口与开发板JTAG口相连接打开JTAG软件
H-JTAGServer在Flasher里面选择autodownload。
2.然后点击左上角的放大镜
看是否可以找到开发板CPU。
3.如果找到CPU,软件界面会出现ARM7字样以及芯片ID号。
4.如果找到CPU,在flashselection里选择LPC21145.configuration里设置晶振的频率为11.0592打开H-Flasher点击check,会出现ARM7相关字样,证明可以找到flash
㈡、编写程序代码仿真并验证结果
打开CodeWarriorforARMDevelopersuite编写相应的代码,测试没有语法错误后仿真并查看运行结果,对比是否与预期的是否相同。如果与结果存在出入,检查源程序是否存在逻辑上的错误,修改并知道实验结果正确。
八、实验结果:
单LED闪烁实验结果:实验电路板上的LED按一定周期快速闪烁。
单键输入实验结果:当按下EasyARM2100实验板的第一个按钮时对应的LED灯熄灭,再次按下时又点亮,实现按键取反的效果。
模拟SPI数码显示实验结果:程序驱动数字数码管显示数字0~F。
LED及数码编码显示实验结果:除了数字数码管显示数字0~F,四个LED灯显示对应的以点亮/熄灭分别代表1/0二进制数,并伴随蜂鸣。
经过实验,实验结果与预期结果基本吻合,表示实验成功。
九、实验结论:
通过本次试验在一定程度上,了解H—JTAG软件原理,熟悉了ARM开发板基本组成电路,并通过配套教材熟悉ARM芯片特性以及ADS1.2软件使用,并会用该软件编译调试开发板掌握了LPC2000专用工程模板的添加和使用。在老师的讲解下以及帮助下,能够在EasyARM2100教学实验开发平台上运行第一个程序。并熟悉了LPC2000系列ARM7微控制器的GPIO控制。了解了简单的应用程序的固化方法,并能根据教材提示完成实验。掌握了LPC2000系列ARM7微控制器的GPIO控制机制以及LPC2100管脚连接和模块等内容,了解了EasyARM2100教学实验开发平台的硬件结构,以及教学实验开发平台上的跳线。老师的教学态度很认真,对于实验的的改进方面的建议是,教学时可以照顾下水平低的同学,适当的降慢课程的讲解速度。实验课程,必要时使用一下软件视频教学。
篇六:gpio输出控制led灯闪烁实验报告
定时器控制led灯闪烁实验报告
实验目的:掌握使用定时器控制LED灯闪烁的方法,了解定时器的工作原理以及其在嵌入式系统中的应用。
实验材料:
1.MCU开发板
2.LED灯
3.面包板
4.连接线
5.电源
实验步骤:
1.连接电路:将LED的正极连接至MCU开发板的GPIO口,将LED的负极连接至地线。
2.编写程序:使用适当的程序开发工具,编写程序并上传至MCU开发板。程序中应包括以下内容:
-初始化定时器:设置定时器的工作模式、计数器的初始值和计数器的预设值。
-打开定时器中断:使能定时器中断,并设置中断优先级。
-配置GPIO口:将使用的GPIO口配置为输出模式。
-进入主循环:在主循环中不断检测定时器中断标志位,若中断发生,则将GPIO口状态翻转,从而控制LED的闪烁。
3.连接电源:将MCU开发板连接至电源,确保系统正常运行。
4.运行实验:观察LED灯是否按照预期进行闪烁,如果有问题,可检查代码和电路连接是否正确,并进行调试。
实验结果与分析:
根据实验步骤进行实验后,LED灯应该按照预期进行闪烁。定时器的中断周期决定了LED的闪烁频率,可以通过调整定时器的计数器值来改变LED闪烁的频率。通过这个实验,我们可以掌握使用定时器控制LED灯闪烁的方法,并了解了定时器在嵌入式系统中的应用。
实验拓展:
1.实现呼吸灯效果:通过调整定时器的计数器值和PWM功能,使得LED灯的亮度逐渐增加然后逐渐减小,形成呼吸灯效果。
2.多LED控制:使用多个GPIO口和定时器,控制多个LED灯的闪烁效果,可以实现不同频率、不同亮度的LED灯组合效果。
3.控制其他外设:除了LED灯,定时器还可以用来控制其他外设,比如蜂鸣器、电机等,可以进行相应的实验拓展。
篇七:gpio输出控制led灯闪烁实验报告
单片机闪烁实验报告
单片机闪烁实验报告
引言:
单片机是一种集成电路,具有微处理器核心、存储器和输入输出设备等功能。在现代电子技术中,单片机应用广泛,其灵活性和可编程性使其成为各种电子设备的重要组成部分。本实验旨在通过使用单片机控制LED灯的闪烁,探索单片机的基本原理和应用。
一、实验目的:
通过本实验,我们的目的是熟悉单片机的工作原理和编程方法,理解单片机控制LED灯闪烁的过程。同时,通过实际操作,培养我们的动手能力和团队合作精神。
二、实验器材:
1.单片机开发板
2.LED灯
3.连接线
4.电源
三、实验步骤:
1.将单片机开发板与电源连接,确保电源正常工作。
2.将LED灯连接到开发板上的GPIO引脚。
3.打开开发板上的编程软件,编写控制LED闪烁的程序。
4.将编写好的程序下载到单片机开发板上。
5.打开开发板上的电源,观察LED灯是否按照程序闪烁。
四、实验结果:
经过实验,我们成功地控制了LED灯的闪烁。在程序中,我们通过设置GPIO引脚的高低电平来控制LED灯的亮灭。通过调整程序中的延时时间,我们还可以控制LED灯的闪烁频率和亮度。这进一步验证了单片机的可编程性和灵活性。
五、实验总结:
通过本次实验,我们深入理解了单片机的工作原理和应用。单片机作为一种集成电路,不仅具有微处理器的功能,还可以通过编程实现各种功能。在实验中,我们通过控制LED灯的闪烁,体会到了单片机的实际应用价值。同时,实验过程中我们也发现了一些问题和挑战,例如程序编写的复杂性和调试的难度。这些问题提醒我们要不断学习和提升自己的技能,以更好地应对未来的挑战。
六、实验展望:
本次实验只是单片机应用的一个简单示例,单片机的应用领域非常广泛,包括家电、汽车、工业自动化等。未来,我们可以进一步研究单片机的高级应用,例如通过单片机控制温度、湿度等传感器,实现智能家居系统。这将有助于我们更好地理解和应用单片机技术,为未来的科技发展做出贡献。
结语:
通过本次实验,我们不仅学习了单片机的基本原理和应用,还培养了动手能力和团队合作精神。单片机作为现代电子技术的重要组成部分,将在各个领域发挥重要作用。我们要不断学习和探索,为单片机的应用和发展做出积极贡献。
篇八:gpio输出控制led灯闪烁实验报告
三、实验效果分析(包括仪器设备等使用效果)
一、实验效果分析
1、在进行实验时要严格按照实验步骤进行实验,否则试验程序出错则实验效果会发生偏差。
2、由于本实验属于硬件实验的范畴,所以实验起初时要先设定实验属于硬件实验,而不是直接进行。
3、经过一系列的调制修改,实验达到了要求的效果,实验成功。
教
师
评
语
指导老师
年
月
日
江西师范大学物理与通信电子学院
教学实验报告
通信工程
专业2013年11月26日
实验名称
GPIO控制实验
指导老师
姓
名
年级
11级
学号
成绩
一、预习部分
1、实验目的2、实验基本原理
3、主要仪器设备(含必要的元器件、工具)
一、实验目的:
1、了解GPIO片上外设2、掌握延时程序应用
3、用GPIO口实现LED指示灯控制。
二、实验基本原理:
通用目的输入输出片内外设提供了专用的通用目的引脚,可以配置位输入或输出。当配置为一个输出时,用户可以写一个内部寄存器以控制输出引脚上驱动的状态。当配置为输入引脚时,用户可以通过内部寄存器的状态检测到输入的状态。另外,GPIO片内外设可以用不同的中断/事件产生CPU中断和EDMA事件。一旦在GPIO使能寄存器被使能,GPIO引脚可以用作通用目的输入/输出。用户可以使用GPIO方向寄存器独立配置每条GPIO引脚为输入或输出。当配置为输出(GPXDIR位=1),GPIO值寄存器(GPVAL)的GPXVAL位的值就被送到相应的GPn引脚。当配置为输入(GPXDIR位=0)时,输入状态可以从相应的GPXVAL读取TMS320VC5502有1-位通用输出引脚XF和8-位通用I/O引脚GPIO[7:0],其中GPIO3、GPIO5与McBSP2复用引脚。SEED-DEC5502模板上这些引脚的使用情况如下:
XF用于点亮LED指示灯D1。XF=1,点亮;XF=0,熄灭。
GPIO[2:0]:经电平转换后连至外设扩展总线的备用引脚。
GPIO3:与McBSP2的CLKX2复用引脚,当配置为GPIO3时,用作COM1的。
GPIO4:经电平转换后连至外设扩展总线的备用引脚。
GPIO5:与McBSP2的FSX2复用引脚,当配置为GPIO5时,用作COM1的。
GPIO6:经电平转换后连至外设扩展总线的备用引脚。
GPIO7:用于点亮LED指示灯D5。XF=1,点亮;XF=0,熄灭。
通过本实验,要求掌握GPIO口的应用;熟悉延时程序的应用。
1、5502_GPIO.c:这是实验的主程序包含系统初始化,GPIO引脚点亮程序等;
2、vectors.s55:包含5502的中断向量表;
3、SEED_DEC5502.cmd:声明了系统的存储器配置与程序各段的连接关系。
三、主要仪器设备
计算机、ccs软件
二、实验操作部分
1、实验数据、表格及数据处理
2、实验操作过程(可用图表示)
3、结论
一、实验操作过程
1.打开CCS,进入CCS的操作环境。
2.装入DEC5502_GPIO.pjt工程文件,添加SEED_DEC5502.gel文件。
3.装载程序DEC5502_GPIO.out,进行调试。
4.在5502_LED.c程序的第69行“delay();”处,第72行“delay();”处,第75行“delay();”
处,第78行“delay();”处设置断点。
5.运行程序,程序会停在第一个断点处,关闭指示灯D1;
6.继续运行程序,程序每次都会停在第二个断点处,点亮指示灯D1;
7.继续运行程序,程序每次都会停在第三个断点处,点亮指示灯D5;
8.继续运行程序,程序每次都会停在第四个断点处,关闭指示灯D5;
9.也可直接执行程序,观察指示灯D1,D5的闪烁情况。
二、实验截图
推荐访问:gpio输出控制led灯闪烁实验报告 闪烁 输出 实验