1.按键初始化

按键K1——PD7

按键K2——PF4

按键K3——PA3

按键K4——PA2

    //// key1 init// SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);已经在LED init写过了,不然也是要写的   GPIOPinTypeGPIOInput(GPIO_PORTD_BASE, GPIO_PIN_7);

也就是说,按键初始化只需要(外部设备使能和)设置管脚类型为输入两个步骤。

2.中断使能

三个步骤:设置端口中断类型,使能端口中断,为端口注册一个中断处理句柄

    //// interrupt enable--key1//
    GPIOIntTypeSet(GPIO_PORTD_BASE,GPIO_PIN_7,GPIO_FALLING_EDGE);    //设置PD7中断类型为下降沿触发GPIOIntEnable(GPIO_PORTD_BASE,GPIO_PIN_7);        //使能PF4中断GPIOIntRegister(GPIO_PORTD_BASE, Key1IntHandler);  //为PF4注册一个中断处理句柄        

void Key1IntHandler(){GPIOPinWrite(GPIO_PORTD_BASE,GPIO_PIN_6,0<<6);//红灯亮GPIOIntClear(GPIO_PORTD_BASE,GPIO_INT_PIN_7);//清除key1}

特别注意的是,中断处理句柄中最后要清除按键状态,表示这个中断已经处理完毕

void Key34IntHandler(){uint32_t IntStatus_raw;IntStatus_raw = GPIOIntStatus( GPIO_PORTA_BASE, 0); //读GPIORIS寄存器if(IntStatus_raw & GPIO_INT_PIN_3)  // PA3引脚有中断事件
    {GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_0,0<<0);//蓝灯亮GPIOIntClear(GPIO_PORTA_BASE,GPIO_INT_PIN_3);//清除key3
    }if(IntStatus_raw & GPIO_INT_PIN_2)  // PA2引脚有中断事件
    {GPIOPinWrite(GPIO_PORTD_BASE,GPIO_PIN_6,1<<6);//灭灯GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_4,1<<4);//灭灯GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_0,1<<0);//灭灯GPIOIntClear(GPIO_PORTA_BASE,GPIO_INT_PIN_2);//清除key4
    }}

一个模块需要共用一个中断入口,所以按键3和4需要合在一起写

转载于:https://www.cnblogs.com/pursuit1996/p/4912520.html

单片机TM4C123学习(二):中断与按键控制相关推荐

  1. K_A08_013 基于 STM32等单片机驱动大功率MOS管模块按键控制直流电机加减速启停

    目录 一.资源说明 二.基本参数 参数 引脚说明 三.驱动说明 大功率MOS模块驱动 对应程序: 四.部分代码说明 接线说明 STC89C52RC+大功率MOS模块 STM32F103C8T6+大功率 ...

  2. 51单片机:利用外部中断实现按键按一下数码管数字加1直到加到99,另一个按键实现清零

    51单片机:利用外部中断实现按键按一下数码管数字加1直到加到99,另一个按键实现清零 题目要求: 利用外部中断实现按键按一下数码管数字加1,实现00-99的循环,另一个按键实现清零,不管数码管数字是多 ...

  3. 51单片机中断--一个按键控制一个led的亮与灭

    #include "reg52.h" typedef unsigned int u16; typedef unsigned char u8; sbit LED1=P2^0; sbi ...

  4. cc2530 按键中断实验——按键控制LED灯的亮灭

    在本次学习中,主要通过外部中断来控制LED的亮灭. 首先,先查看相关电路图.由图可知,当CC2530端口1的1号引脚输出低电平时,LED3将被点亮,当按键31按下时,端口1的1号引脚将为低电平,抬起时 ...

  5. CC2530的中断操作----按键控制led灯亮灭

    中断使能主要有四个步骤: (1)使.EA 位为 1,开中断. (2)设置寄存器 IEN0.IEN1和IEN2中相应中断使能位为1. (3)如果需要,则设置P0.P1.P2各引脚对应的各中断使能位为1. ...

  6. Arduino学习笔记-新的按键控制方式

    目录 基本概念 运行与操作 基本概念 这里按下按钮,LED灯,就亮,再按,LED就熄灭. 这里有2个宏要注意: INPUT为普通的输入,一般用这个要用下拉电阻,来操作. 而这个宏INPUT_PULLU ...

  7. 03独立按键控制LED移动

    51单片机学习记录04 一.独立按键控制LED单向移动 单项右移 单项左移 二.独立按键控制LED移动 总结 一.独立按键控制LED单向移动 代码分为两个部分:"主函数"+&quo ...

  8. 《蓝桥杯CT107D单片机竞赛板》:独立按键模块

    独立按键模块 实验简介 实验原理图 实验原理 实验程序 按下独立键盘上每一个键,对应LED状态取反 按键值在数码管上显示 S4长按显示4,短按显示0,其他显示原来的键值 实验简介 CT107D单片机开 ...

  9. 51单片机入门学习篇-led灯、按键、数码管、中断

    文章目录 前言 一.Proteus仿真 二.Keil代码编写 1.流水灯 2.来回点灯 3.按键操作 4.中断操作 5.数码管 6 动态数码管 三. 练习题 总结 前言 本文用来记录博主学习单片机的过 ...

  10. 51单片机按键控制数码管0~9_51单片机外部中断

    前面为大家介绍的点亮LED灯.数码管.按键只用到了51单片机的IO资源,我们要是仅仅用单片机点灯.操作数码管,那可真是大才小用了.这些都只是51单片机资源的冰山一角,51单片机还有好多的功能,我后面将 ...

最新文章

  1. 京东某员工因加班太多引女友不满,下定决心离职:不想被迫加班!
  2. IDEA快捷键(修改成eclipse版)+Templates
  3. 常见数学符号:等号、不等号、算术运算符号、几何符号、三角函数、指数、对数、微分、积分符号、集合符号、逻辑符号
  4. Py之nltk:nltk包的简介、安装、使用方法、代码实现之详细攻略
  5. javascript规范以及设计原则
  6. 微软Azure AspNetCore微服务实战第2期(内附PPT下载)
  7. 如何解决IE6双边距问题?
  8. 汽车距离报警系统c语言编程,基于单片机的超声波汽车报警系统的设计
  9. Oracle修改实例名SID
  10. 8.6 归纳式迁移学习
  11. Android setOnPageChangeListener 过时解决
  12. apache 支持.htaccess 解决Internal Server Error The server 错误
  13. BackgroundWorker使用总结
  14. Unity 导入原神人物模型
  15. AI读书笔记:《剑桥五重奏—机器能思考吗?》
  16. matlab 贪吃的蛇,贪吃的蛇教案
  17. 前端常用属性知识点--文档
  18. Qt音视频开发27-Onvif设备搜索
  19. JRebel has expired Jrebel过期解决!!
  20. 机器人自动化中的通讯手段

热门文章

  1. 【cf-edu-round72: C 】The Number Of Good Substrings(思维)
  2. java 邮箱的代接收服务_Java开源网络验证系统专门为中小企业提供-verify
  3. 查看AWS中Identity and Access Management(IAM)的Access Key和Secret Access
  4. 农村三资管理平台app_古劳农村“三资”管理规范化、系统化、数字化引来江门日报关注报道...
  5. oracle数据库创建检查点,Oracle数据库通过检查点和RBA信息确定恢复范围
  6. 轻量级神经网络ShuffleNet
  7. 168.Excel表列名称
  8. RMSProp均方根反向传播法
  9. 在构造函数中释放对象本身
  10. 求一个容器的最值的索引_初中几何最值——瓜豆原理模型分析