gpio输出控制实验报告4篇

时间:2022-12-27 08:15:06 来源:网友投稿

gpio输出控制实验报告4篇gpio输出控制实验报告  实验四:GPIO输出控制实验  一、实验目的1.掌握LPC21XX专用工程模板的使用;2.掌握EasyJTAG仿真器的安装和使用;3下面是小编为大家整理的gpio输出控制实验报告4篇,供大家参考。

gpio输出控制实验报告4篇

篇一:gpio输出控制实验报告

  实验四:GPIO输出控制实验

  一、实验目的1.掌握LPC21XX专用工程模板的使用;2.掌握EasyJTAG仿真器的安装和使用;3.能够在EasyARM21XX开发板上运行第一个程序(无操作系统);4.熟悉LPC2000系列ARM7微控制器的GPIO控制。二、实验设备硬件:PC机一台、EasyARM2103开发板一套软件:Windows98/XP/2000系统,ADS1.2集成开发环境三、实验内容

  控制EasyARM2103开发板上的LED闪烁形成流水灯效果。四、实验预习要求

  仔细阅读《EasyARM2103》手册第4章的内容,熟悉GIPO的设置。仔细阅读《EasyARM2103》第2章的内容,了解EasyARM2103开发板的硬件结构,注意LED灯的相关控制电路。仔细阅读《EasyARM2103》第3章的内容,了解ADS1.2集成开发环境、LPC2200专用工程模板、EasyJTAG仿真器的应用。五、实验原理如何在EasyARM2103上运行第一个程序。安装ADS1.2(PC)了解ADS1.2(PC)连接EasyJTAG仿真器和EasyARM2103开发板(硬件)安装EasyJTAG驱动程序(PC)添加工程模板(PC)用工程模板建立第一个工程(PC)仿真调试第一个工程(PC+硬件)说明:(PC)----------------属于在PC机上操作,即软件的操作(硬件)--------------属于开发板硬件操作(PC+硬件)--------属于在PC机上进行软件操作,硬件上要连接或跳线操作六、实验步骤1.连接EasyJTAG仿真器和EasyARM2103开发板,然后安装EasyJTAG仿真器的驱动程序(若已经安装过,此步省略)。2.为ADS1.2增加LPC2103专用工程模板(若已增加过,此步省略)。3.启动ADS1.2,使用ARMExecutableImageforlpc2103工程模板建立一个工程BeepCon_C。4.建立C源文件BeepCon.c,编写实验程序,然后添加到工程的user组中。5.选用DebugInRAM生成目标,如图3.9所示,然后编译连接工程。

  图3.9选择生成目标

  6.将EasyARM2103开发板上的JP4跳线短接。

  7.选择【Project】->【Debug】,启动AXD进行JTAG仿真调试。

  8.全速运行程序,程序将会在beepcon.c的主函数中停止(因为main函数起始处默认设置

  有断点)。

  9.单击ContextVariable图标按钮(或者选择【ProcessorViews】->【Variables】)打开变量观

  察窗口,通过此窗口可以观察局部变量和全局变量。选择【SystemViews】->【Debugger

  Internals】即可打开LPC2100系列ARM7微控制器的片内外设寄存器窗口。

  10.可以单步运行程序,可以设置/取消断点,或者全速运行程序,停止程序运行,观察变量

  的值,判断LED控制是否正确。

  11.实验结束后,在AXD中设置仿真器为片外RAM调试方式的设置,以便于后面实

  验的正确操作。、

  12.更改程序实现流水等的功能,一秒亮一盏灯,从左向右,一直循环。

  七、实验参考程序

  选择低速GPIO,控制LED灯闪烁,示例程序如程序清单4.1所示。此示例操作需要短接

  JP4的P0.17,输出控制LED1。

  程序清单4.1GPIO控制LED闪烁

  #include"config.h"#defineLED11<<17

  /*P0.17控制LED1

  */

  /****************************************************************************

  **函数名称:DelayNS

  **功能描述:延时函数

  **入口参数:uiDly值越大,延时时间越长

  **出口参数:无

  ****************************************************************************/

  voidDelayNS(uint32uiDly)

  {

  uint32i;

  for(;uiDly>0;uiDly--){

  for(i=0;i<50000;i++);

  }

  /***************************************************************************/

  **函数名称:main

  **功能描述:跳线JP4短接,LED1闪烁

  **入口参数:无

  **出口参数:无

  ****************************************************************************/

  intmain(void)

  {

  PINSEL1=PINSEL1&(~(0x03<<2));

  /*将P0.17设置为GPIO*/

  IO0DIR=LED1;

  /*设置LED控制口为输出*/

  IO0SET=LED1;

  /*LED1熄灭

  */

  while(1){

  IO0SET=LED1;

  /*LED1熄灭

  */

  DelayNS(50);

  /*延时

  */

  IO0CLR=LED1;

  /*LED1点亮

  */

  DelayNS(50);

  /*延时

  */

  }

  return0;

  }

  3.4.8思考

  为什么这个实验的工程不需要设置连接地址?(提示:LPC2200专用工程模板已集成了起

  动代码、编译选项和连接地址设置等等)

  在实验参考程序中,如何控制蜂鸣器报警的速度?

  在LPC2000系列ARM7微控制器中,有哪两个管脚作GPIO输出时需要外接上拉电阻?

篇二:gpio输出控制实验报告

  GPIO实验报告

  齐鲁理工学院实验报告课程名称:微型计算机控制技术时间:20XX年.10.22地点:D203班级:20XX年级机制3班姓名:杨帆学号:*****4实验项目名称:GPIO端口实验实验指导教师:赵保华实验成绩评定:一、实验目的ü通过实验掌握ARM芯片使用GPIO端口。ü掌握GPIO端口控制LED显示。ü掌握系统时钟的配置。ü掌握库开发原理及方法。二、实验设备ü通过实验掌握ARM芯片使用GPIO端口。ü掌握GPIO端口控制LED显示。ü掌握系统时钟的配置。ü掌握库开发原理及方法。三、实验内容控制信盈达Cotex-M3实验平台的发光二极

  1/6

  管LED1、LED2、LED3、LED4,使它们有规律的点亮,具体顺序如下:LED1亮-LED2亮-LED3亮-LED4亮,如此反复。

  四、实验原理如图所示,LED1-4分别与PB5PE5PA5PA6相连,通过PB5PE5PA5PA6引脚的高低电平来控制发光二极管的亮与灭。当这几个管脚输出高电平的时候发光二极管熄灭,反之,发光二极管点亮。

  GPIO管脚的每个位可以由软件配置成如下几种模式:1.输入浮空:浮空输入状态下,IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。做按键,是要读取电平状态,这种配置抗干扰性差,但是是处理信号方面一般是配置这个功能。如测试一个波形,这时候可以配置这个功能。2.输入上拉:经过电阻连接到VCC,能让IO口在没有连接信号时候有一个确定的高电平,并且也能从VCC处获得比较大的驱动电流。3.输入下拉:经过电阻连接到GND,能让IO口在没有连接信号时候有一个确定的低电平。4.模拟输入:芯片内部外设专用功能(ADC,DAC对应的IO口功能)5.开漏输出:IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。6.推挽式输出:IO输出0接GND,IO输出1接VCC,

  2/6

  拥有比较强的驱动能力,如接led,或三极管。7.推挽式复用功能:GPIO口被用作第二功能时的配置情况

  (即并非作为通用IO口使用),比如像片上外设的的UART,SPI模块对应的输出数据线。UART发送线就是复用功能,并且是输出方向。

  8.开漏复用功能:GPIO口被用作第二功能时的配置情况(即并非作为通用IO口使用),比如像片上外设的的IIC模块对应的数据线和时钟线,使用时候要外接上拉电阻。如IIC总线的数据线和时钟线就要配置这种模式。

  我们使用IO口输出一个电压值来控制LED灯亮灭,因此选择推挽输出工作模式。

  五、软件程序设计1)配置系统时钟RCC,打开PB、PE、PA端时钟。

  2)配置GPIO口PB5、PE5、PA5、PA6为推挽输出工作模式。3)IO口输出低电平控制灯亮,输出高电平控制灯灭。参考程序:main.c参考程序:#include“stm32f10x.h“//芯片寄存器映射头文件#include“led.h“//自己写的led头文件staticvoidDelay(u32i);//延时函数的声明/*主函数*/intmain(void){GPIO_LED_Init();//LED灯初

  3/6

  始化while(1){GPIO_ResetBits(GPIOB,GPIO_Pin_5);//PB5管脚置

  0,LED1亮Delay(*****);//延时GPIO_SetBits(GPIOB,GPIO_Pin_5);

  //PB5管脚置1,LED1灭Delay(*****);//延时

  GPIO_ResetBits(GPIOE,GPIO_Pin_5);//PE5管脚置0,LED2亮

  Delay(*****);//延时GPIO_SetBits(GPIOE,GPIO_Pin_5);//PE5管脚

  置1,LED2灭Delay(*****);GPIO_ResetBits(GPIOA,GPIO_Pin_5);

  Delay(*****);GPIO_SetBits(GPIOA,GPIO_Pin_5);Delay(*****);

  GPIO_ResetBits(GPIOA,GPIO_Pin_6);

  Delay(*****);

  GPIO_SetBits(GPIOA,GPIO_Pin_6);Delay(*****);}}/*延时函数*/

  staticvoidDelay(u32i){for(;ii--);}led.c参考程序:

  /****************************************************函数名:

  GPIO_LED_Init形参:无返回值:无函数功能:对4个LED灯

  进行初始化,并且关闭所有的led灯

  ****************************************************/#include

  “stm32f10x_gpio.h“voidGPIO_LED_Init(void){GPIO_InitTypeDef

  GPIO_InitStructure;//对GPIOB口的时钟打开

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2P

  eriph_GPIOA|RCC_APB2Periph_GPIOE,ENABLE);//把IO口配置为

  输出模式,输出速度50MhzGPIO_InitStructure.GPIO_Mode=

篇三:gpio输出控制实验报告

  嵌入式系统GPIO-输入输出实验报告

  ————————————————————————————————作者:————————————————————————————————日期:

  2

  实验四GPIO输入实验

  一、实验目的

  1、能够使用GPIO的输入模式读取开关信号。2、掌握GPIO相关寄存器的用法和设置。3、掌握用C语言编写程序控制GPIO。

  二、实验环境

  PC机

  一台

  ADS1.2集成开发环境

  一套

  EasyARM2131教学实验平台

  一套

  三、实验内容

  1.实验通过跳线JP8连接KEY1与P0.16,程序检测按键KEY1的状态,控制蜂鸣器BEEP的鸣叫。按下KEY1,蜂鸣器鸣叫,松开后停止蜂鸣。(调通实验后,改为KEY3键进行输入)。

  2.当检测到KEY1有按键输入时点亮发光二极管LED4并控制蜂鸣器响,软件延时后关掉发光管并停止蜂鸣,然后循环这一过程直到检测按键没有输入。(键输入改为键KEY4,发光管改为LED6)。

  3.结合实验三,当按下按键Key1时,启动跑马灯程序并控制蜂鸣器响,软件延时后关掉发光管并停止蜂鸣,然后循环这一过程直到检测按键再次按下。

  四、实验原理

  当P0口用于GPIO输入时(如按键输入),内部无上拉电阻,需要加上拉电阻,电路图参见图4.2。

  进行GPIO输入实验时,先要设置IODIR使接口线成为输入方式,然后读取IOPIN的值即可。

  3

  图4.2按键电路原理图实验通过跳线JP8连接KEY1_P0.16,程序检测按键KEY1的状态,控制蜂鸣器BEEP的鸣叫。按下KEY1,蜂鸣器鸣叫,松开后停止蜂鸣。在这个实验中,需要将按键KEY1输入口P0.16设为输入口而蜂鸣器控制口P0.7设置为输出口。蜂鸣器电路如图4.3所示,当跳线JP6连接蜂鸣器时,P0.7控制蜂鸣器,低电平时蜂鸣器鸣叫。LED灯电路如图4.4所示,低电平时灯亮。

  图4.3蜂鸣器控制电路

  4

  图4.4LED控制电路程序首先设置管脚连接寄存器PINSEL0和PINSEL1,设置P0.16为输入,设置P0.7,P1.21为输出。然后检测端口P0.16的电平,对P0.7,P1.21进行相应的控制,流程图如图4.5所示,实现程序见程序清单4.1。

  图4.5按键输入实验流程图

  5

  五、实验步骤、源代码及调试结果内容1

  实验步骤①启动ADS1.2IDE集成开发环境,选择ARMExecutableImageforlpc2131工程模板建立一个工程BEEP_key。

  ②在user组里编写主程序代码main.c。③选用DebugInFLASH生成目标,然后编译链接工程。④将EasyARM教学实验开发平台上的相应管脚跳线短接。⑤选择Project->Debug,启动AXD进行JLINK仿真调试。⑥全速运行程序,程序将会在main.c的主函数中停止。如下图所示:

  6

  ⑦单击ContextVariable图标按钮(或者选择ProcessorViews->Variables)打开变量观察窗口,通过此窗口可以观察局部变量和全局变量。选择SystemViews->DebuggerInternals即可打开LPC2000系列ARM7微控制器的片内外寄存器窗口。

  通过变量窗口可以观察变量BEEP、KEY1等的值和ARM7微控制器的片内外寄存器窗口。如下图所示:

  7

  ⑧可以单步运行程序,先按下Key1,观察IO0PIN寄存器的值,然后断开Key1,观察IO0PIN寄存器的值。可以设置/取消断点;或者全速运行程序,停止程序运行,观察变量的值,判断蜂鸣器控制是否正确。如下图所示:

  图4.6未按下Key1时IO0PIN的值

  图4.7按下Key1时IO0PIN的值

  由上两图可知,当按下Key1时,IO0PIN寄存器的第16位由1变为0(F变为E),key1与P0.16相连,按下Key1时,P0.16管脚输出电平由1变为0,寄存器值变化,蜂鸣器响,说明控制是正确的。

  现象描述:按下KEY1,蜂鸣器鸣叫,松开后停止蜂鸣。源代码:

  #include"config.h"constuint32BEEP=1<<7;//P0.7控制蜂鸣器constuint32KEY1=1<<16;//P0.16连接KEY1

  (改为KEY3时,只需“constuint32KEY1=1<<16”改为“constuint32KEY3=1<<18”,其余不变。)/*********************************************************************************************函数名称:main()**函数功能:GPIO输入实验测试。**检测按键KEY1。KEY1按下,蜂鸣器蜂鸣,松开后停止蜂鸣。**跳线说明:把JP8的KEY1跳线短接,JP11连接蜂鸣器。*******************************************************************************************/intmain(void)

  8

  {PINSEL0=0x00000000;//所有管脚连接GPIOPINSEL1=0x00000000;IO0DIR=BEEP;//蜂鸣器控制口输出,其余输入while(1){if((IO0PIN&KEY1)==0)IO0CLR=BEEP;//如果KEY1按下,蜂鸣器鸣叫elseIO0SET=BEEP;//松开则停止蜂鸣}return0;}

篇四:gpio输出控制实验报告

  实验一输出控制实验(仿真)实验一GPIO输出控制实验(PROTEUS仿真)

  一、实验目的1.熟悉ADS1.2集成开发环境及ARMulator软件仿真。2.熟悉基于ARM7的PROTEUS仿真方法。3、基本掌握基于ARM的C语言程序设计方法。4.熟悉LPC2000系列ARM7微控制器的GPIO控制。二、实验设备1、硬件:PC机一台2、软件:Windows系统,ADS1.2集成开发环境,PROTEUS仿真软件。三、实验内容将LPC2131的P0.18引脚设置为GPIO,然后控制其外接的LED灯闪烁(时间自定),用Proteus软件仿真演示。四、实验预习要求1、仔细阅读教材中的LPC2131的引脚连接模块,GPIO模块等内容知识,特别是各个相关的寄存器。2、复习上个学期学习过得PROTEUS软件仿真方法,回顾课堂上讲过的基于LPC213X的PROTEUS软件仿真方法。五、实验步骤实验步骤1、启动PC机,打开PROTEUS软件,按照如下图画好仿真电路图。

  2、打开ADS1.2软件,用C语言编写一个驱动外接LED等闪烁的程序。3、按照PROTEUS仿真LPC2131的步骤仿真调试。五、思考题1、画出该程序的流程图和写出详细的C语言源代码(含注释);2、在程序中,如何控制LED等闪烁的速度;3、如何实现7个LED流水灯实验?写出主要思路即可。

推荐访问:gpio输出控制实验报告 输出 实验 控制

版权所有:振驰文档网 2021-2024 未经授权禁止复制或建立镜像[振驰文档网]所有资源完全免费共享

Powered by 振驰文档网 © All Rights Reserved.。京ICP备2021002390号-1