LPC1114_外部中断程序_MDK编译环境

发布者:Qingfang最新更新时间:2015-07-10 来源: 51hei关键字:LPC1114  外部中断  MDK  编译环境 手机看文章 扫描二维码
随时随地手机看文章
main.c
#include "LPC11XX.h"
#include "gpio.h"
#include "timer16.h"
#include "main.h"
#include "Key.h"
#include "LCD.h"
 
void Delay_Sec(unsigned char Time)                    //1s*Time延时函数
{
 u16 i;
    while(Time)
  {
   for(i=0;i<3000000;i++);
   Time--;
  }
}
void Delay_Ms(unsigned int Time)                    //1Ms*Time延时函数
{
 u16 i;
 while(Time)
 {
  for(i=0;i<3000;i++);
  Time--;
 }
}
void Delay_Us(unsigned int Time)                    //1Us*Time延时函数
{
 u8 i;
 while(Time)
 {
  for(i=0;i<3;i++);
  Time--;
 }
}
int main(void)
{
 //SystemInit();                            //系统初始化--主要是设置主时钟
 //GPIOInit();                              //IO口初始化--主要是开启GPIO时钟
 
 
 
 //GPIOSetDir( 0, 3, 1 );                   //设置P0.3为输出(LPC1114单片机,输出需设置为1,输入需设置为0)
 LPC_GPIO0->DIR |= (0x1<<3);                //设置P0.3为输出
 LPC_GPIO2->DIR |= (0x1<<9);
 
 Key_GPIO_Init();
 Key_Intrrupt_Init();
 
 while(1)
 {
  //GPIOSetValue( 0, 3, 0 );             //给P0.3位写0
  //LPC_GPIO0->DATA &= ~(0x1<<3);        //给P0.3位写0
  LCD_RW_High;
  //for(i=0;i<0xFFFFF;i++);              //延时
  
  Delay_Ms(100);                         //延时
  
  //GPIOSetValue( 0, 3, 1 );             //给P0.3位写1
  //LPC_GPIO0->DATA |= (0x1<<3);         //给P0.3位写1
  LCD_RW_Low;
  //for(i=0;i<0xFFFFF;i++);              //延时
  Delay_Ms(100);                         //延时
  }
}
 
 
 
key.c
#include "LPC11XX.h"
#include "gpio.h"
#include "main.h"
#include "Key.h"
void Key_GPIO_Init(void)
{
 LPC_GPIO1->DIR &= ~(0x1<<8);            //设置P1.8为输入
}
void Key_Intrrupt_Init(void)
{
 /*********配置中断*********/
 GPIOSetInterrupt(1,8,1,0,0);           //P1.8低电平触发中断
 
 /*********使能中断*********/
 GPIOIntEnable(1,8);
 
 /*********使能中断入口*********/
 NVIC_EnableIRQ(EINT1_IRQn);
}
 
 
 
 gpio.c
#include "LPC11xx.h"   /* LPC11xx Peripheral Registers */
#include "gpio.h"
void PIOINT1_IRQHandler(void)
{
  uint32_t regVal;
  gpio1_counter++;
  regVal = GPIOIntStatus( 1, 8 );
  if ( regVal )
  {
  LPC_GPIO0->MASKED_ACCESS[(1<<3)] = (0<<3);
  Delay_Ms(2000);
  LPC_GPIO0->MASKED_ACCESS[(1<<3)] = (1<<3);
  Delay_Ms(2000);
  LPC_GPIO0->MASKED_ACCESS[(1<<3)] = (0<<3);
  Delay_Ms(2000);
  LPC_GPIO0->MASKED_ACCESS[(1<<3)] = (1<<3);
  Delay_Ms(2000);
  
  //GPIOSetValue( 0, 3, 0 );             //给P0.3位写0
  //Delay_Ms(1000);
  //GPIOSetValue( 0, 3, 1 );             //给P0.3位写0
  //Delay_Ms(1000);
  
   GPIOIntClear( 1, 8 );
  }  
  return;
}
关键字:LPC1114  外部中断  MDK  编译环境 引用地址:LPC1114_外部中断程序_MDK编译环境

上一篇:LPC1114_Timer16_0中断程序_MDK编译环境
下一篇:基于ARM9的高精度生化分析仪温度控制系统设计

推荐阅读最新更新时间:2024-03-16 14:24

ATMega16单片机外部中断的使用
// Crystal: 7.3728M Hz ,功能:学习外部中断0的程序 #include iom16v.h #include macros.h #define LED _COM PORTA ^= (1 PA6) // void port_init(void) { PORTA = 0x40; DDRA = 0x40; PORTB = 0x00; DDRB = 0x00; PORTC = 0x00; //m103 output only DDRC = 0x00; PORTD = 0x04; DDRD = 0x00;
[单片机]
STM32 外部中断/事件控制器EXTI
EXTI(External interrupt/event controller)—外部中断/事件控制器,管理了控制器的20个中断/事件线。每个中断/事件线都有一个边缘检测器,可以实现对输入信号的上升沿或下降沿检测。EXTI可以实现对每个中断/事件线进行单独的配置,可以单独配置为中断或者事件,以及触发事件的属性。 如下图所示,为EXTI的功能框图。EXTI有两个功能,一个是产生中断,一个是产生事件,下面我们将对这两个功能进行讲解。 1.中断产生 如上图所示,红色虚线指示的是一个产生中断的线路,最终流入到NVIC中断控制器内。 编号1是输入线,可以指定到任意的GPIO,也可以是一些外设事件,输入线一般是存在电平变化的信号
[单片机]
STM32 <font color='red'>外部中断</font>/事件控制器<font color='red'>EXTI</font>
S3C2440之MMU驱动代码模板(RealView MDK
好记心不如烂笔头,为方便以后查看代码及代码重复利用,这里贴出自己写的S3C2440 MMU代码库。使用友善MINI2440开发板,开发环境为RealView MDK 4.22。 该源码结构简单明了,原始工程下载地址: 点击打开链接 Register 0, ID code register: unsigned int MMU_ReadID(void) { unsigned int id; __asm( mrc p15, 0, id, c0, c0, 0 ); return id; } Register 0, cache type register: unsigned int
[单片机]
STM32_EXTI外部中断学习笔记
参考资料:《STM32F4xx中文参考手册》系统配置控制器以及中断和事件章节。 EXTI( External interrupt /evet controller) 之前接触过51单片机的都了解到51单片机有两个外部中断 ,分别为外部中断0、1。用来实时地处理外部事件的一种内部机制。当某种外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理;中断处理完毕后.又返回被中断的程序处,继续执行下去。而STM32的则有与之功能相同的外部中断事件控制器。外部中断/事件控制器(EXTI)管理了控制器的 23个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的
[单片机]
STM32_<font color='red'>EXTI</font><font color='red'>外部中断</font>学习笔记
STM32F407-外部中断
一.基本概念 STM32F4的每个IO都可以作为外部中断输入。 STM32F4的中断控制器支持22个外部中断/事件请求: EXTI线0~15:对应外部IO口的输入中断。 EXTI线16:连接到PVD输出。 EXTI线17:连接到RTC闹钟事件。 EXTI线18:连接到USB OTG FS唤醒事件。 EXTI线19:连接到以太网唤醒事件。 EXTI线20:连接到USB OTG HS(在FS中配置)唤醒事件。 EXTI线21:连接到RTC入侵和时间戳事件。 EXTI线22:连接到RTC唤醒事件。 每个外部中断线可以独立的配置触发方式(上升沿,下降沿或者双边沿触发),触发/屏蔽,专用的状态位。
[单片机]
STM32F407-<font color='red'>外部中断</font>
基于S3C6410的ARM11学习(十六) 外部中断
中断的过程如下: 中断源检测中断信号产生,然后将中断信号发送给中断控制器,中断控制器判断该中断是否被屏蔽,从而决定该中断信号是否要发送给CPU。中断信号发送给CPU后,CPU对中断进行处理,也就是调用中断函数。 上述过程,基本上是嵌入式的通过中断处理过程,只是不同的嵌入式在这三部分配置有区别而已。 S3C6410共有64个中断源。 上图是S3C6410的中断控制器,这里就关心红色框部分。这两个是中断控制器,分别管理各自的32个中断。 这里,就截取了一部分的图。总共有64个中断,每个中断有自己的标号,以及自己的所属组,也是属于哪个中断控制器控制。标号是指在对应的中断控制器寄存器的哪一位或者是哪一个寄存器对应自己
[单片机]
基于S3C6410的ARM11学习(十六) <font color='red'>外部中断</font>
从LCD电极读数的单片机接口技术
   摘要 以测量仪表中常见的时分割驱动法驱动的段式LCD显示器为例,分析LCD显示器的电极连接结构和驱动信号波形;介绍单片机读取仪表LCD读数的接口电路。此接口电路应用于笔者开发的自动血压监控仪的研制及临床应用项目中,由8031单片机读取血压计的收缩压、舒张压、心率以及充气和放气时瞬时压强。实验证明,此接口电路工作稳定、可靠。   通过测量仪表拾取被测信号是单片机前向通道设计中常用的数据采集方式。通常,接口电路从仪表电路中取得相关的模拟信号,经过A/D转换或V/F 转换送入单片机;或者取得一个频率信号,经整形后送入单片机 。然而,有些测量仪表电路中可能找不到这样的信号。以电容式压力传感器血压计为例,尽管从其振荡电路中可以取得一
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved