s3c2440外部中断

发布者:天涯拾遗最新更新时间:2016-05-30 来源: eefocus关键字:s3c2440  外部中断 手机看文章 扫描二维码
随时随地手机看文章
         上文用到了pwm控制蜂鸣器,实现了蜂鸣器频率的改变,有一点不好就是蜂鸣器一直响,可以用一个交互的方式来关闭蜂鸣器。这里就选择按键,开发板上一共4个按键,对应这4个外部中断EINT0,EINT1,EINT2和EINT4(为什么不是EINT0~3呢,让人蛋疼)

    要使用外部中断,首先要初始化外部中断。外部中断跟外部引脚F和G复用。要把相应的引脚配置为中断模式:

s3c2440外部中断
 

 

 

    配置完引脚后,还需要配置具体的中断功能。我们要打开某一中断的屏蔽,这样才能响应该中断,相对应的寄存器为INTMSK  有些位对应着多个外部中断;

s3c2440外部中断

s3c2440外部中断
 

 

 

   由于存在位对应着多个外部中断,如上图 EINT4~7  EINT8~23 对应INTMSK一个屏蔽位,所以要精确打开某一个外部中断就要配置EINTMASK。下图只列出了一部分,对于EINT4~23都适用。

s3c2440外部中断

 

 


 

 

   外部中断也要有一个触发的方式,选择低电平、高电平、上升沿、下降沿触发等方式 ,这个要配置EXTINT寄存器

s3c2440外部中断

 

 

 

         如前面博文 gun-ucos 的s3c2440处理器 中断部分  所述,因为中断来的时候硬件会把SRCPND和INTPND置1,所以需要把相应的位清零(通过置1来清零),对于外部中断还要判断具体是哪个外部中断,这就要看EINTPEND寄存器了。这个寄存器同样也要通过置1来清零。


 

 

下面给出段代码,当系统启动后开始蜂鸣,如果按下key2 那么设置GPB0位输出模式,并且输出低电平,蜂鸣器停止!

 

void init_key(void)
{
	rGPFCON	&= ~0x33f;
	rGPFCON	|= 0x22a;

	rINTMSK &= ~( (1<<0)|(1<<1)|(1<<2)|(1<<4));		/// enable eint
	rEINTMASK	&= ~(1<<4);				/// enable eint4

	rEXTINT0	&= ~0x70777;
	rEXTINT0	|= 0x20222;

	pIRQ_EINT0	= (uint32)key_int0;
	pIRQ_EINT1	= (uint32)key_int1;
	pIRQ_EINT2	= (uint32)key_int3;
	pIRQ_EINT4_7	= (uint32)eint4_7;
}

  其中 key_int  0 1 3都是空函数(这里的对应关系没验证,比如按开发板上的K1不一定执行到key_int1函数)。 

 

  按键2由eint4_7处理,在这个函数里面清除 rEINTPEND,关闭蜂鸣器:

 

void eint4_7(void)
{
	UINT32 eintpnd;
	UINT8	index;

	eintpnd	= rEINTPEND;

	for(index = 4;index < 24;index ++){
		if(eintpnd & (1<

关键字:s3c2440  外部中断 引用地址:s3c2440外部中断

上一篇:中断之外部中断
下一篇:s3c2440的USB主机控制器

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

#C51按键处理(外部中断的应用)
前言 了解外部中断触发方式及响应处理 样例:外部中断INT0 && INT1处理按键事件 提示:以下是本篇文章正文内容,下面案例可供参考 一、场景 样例功能:INT0按下计数+1,INT1按下计数-1,显示范围0~9999 二、编程实现 1.主函数: 开机界面显示默认初值1234,3s后进入按键检测,默认0000 变量PowerOnTimeCnt 在T0定时中断服务函数中执行++ void main() { INIT(); EA = 1; while(PowerOnTimeCnt 3000) //开机画面1234后开始显示0000,按键处理 { P1 = 0Xfe; //t
[单片机]
#C51按键处理(<font color='red'>外部中断</font>的应用)
51单片机学习笔记5 -- 外部中断
1.外部中断概念 外部中断是单片机实时地处理外部事件的一种内部机制。当某种外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理;中断处理完毕后.又返回被中断的程序处,继续执行下去。 2.引脚功能复用 51单片机芯片内部有很多外设,这些外设的引脚都是与IO口复用的。也就是说,一个IO口如果可以复用为内置外设的功能引脚,那么当这个IO口作为内部外设使用的时候,就叫做复用(一般来说,当某个引脚作为复用功能使用时,它将不能作为其他复用功能和普通IO来使用,即单个引脚只能作为普通IO或单个复用功能来使用)。 51单片机也有引脚具备复用功能,如下图P3端口的引脚可复用成串口收发或外部中断 3.中
[单片机]
51单片机学习笔记5 -- <font color='red'>外部中断</font>
S3C2440 音频解码芯片WM8976声卡驱动移植 (三十一)
本节学习: 分析linux中的OOS声卡系统 修改s3c2410-uda1341.c的控制部分,移植wm8976声卡 使用madplay应用程序播放mp3 本节常用英语单词: volume:音量,dsp:数字信号处理(Digital Signal Processing),mixer:混音器,unit:单位,个体 1、声音三要素 采样频率 音频采样率是指录音设备在一秒钟内对声音信号的采样次数,常用的采样率有: 8KHz ---电话所用采样率,对于人的说话已经足够清楚 22.05KHz ---无线电广播所用采样率 32KHz ---miniDV数码视频、DAT所用采样率 44.1KHz ---音频CD,也常用于
[单片机]
<font color='red'>S3C2440</font> 音频解码芯片WM8976声卡驱动移植 (三十一)
键盘接口程序设计之加减运算
/* 程序效果:1、开机时显示899 2、按键key0一次数字加1,按键key1一次数字减1。 加到999时再加1归零,减到000时再减1得999。 3、按住键key2不放实现连加功能,前3s每0.2s加1,以后每0.1s加1. 4、按住键key3不放实现连减功能,前3s每0.2s减1,以后每0.1s减1. 5、版权所有:http://www.51hei.com/ 转帖须保留 */ ORG 0000H LJMP START ORG 0013H //外部中断1 LJMP IN1 ORG 0030H START:SETB IT1 //设置为下降沿触发 SETB EX1 //打开外部中断1 SE
[单片机]
基于MDK+jlink平台s3c2440裸机程序
硬件:mini2440 编译器:MDK3.50 调试工具:J-LINK 此工程只能在SDRAM中调试,不能脱机运行(如何烧写到NAND中运行,等续)。 1、建立MDK工程 A.在你的工作目录下建立S3c2440-Beep文件夹,在此文件夹下建立Obj文件夹。 B.打开MDK,在project菜单下点击 New uvision Project ,输入工程名称为S3C2440-Beep,保存, C.选择CPU, Samsung - S3C2440A ,点击OK, D.弹出是否将S3C2440启动代码添加进Project,选择“是”。 2、配置 A.在C:\Keil\ARM\Boards\Samsung\S3C244
[单片机]
STM32F4开发板----外部中断(003)
外部中断 1 初始化参数 /** * @brief EXTI Init Structure definition */ typedef struct { uint32_t EXTI_Line; /*! Specifies the EXTI lines to be enabled or disabled. This parameter can be any combination value of @ref EXTI_Lines */ EXTIMode_TypeDef EXTI_Mode; /*! Specifies the mode for the EX
[单片机]
stm8l051的外部中断
stm8l051,如果打开全局中断后再去设置外部中断,在仿真情况下观察寄存器没有被设置,即使直接向中断控制寄存器写值也无效。关闭总中断后,再去设置相应的外部中断,则中断相关寄存器设置成功,程序运行正常。 代码如下: disableInterrupts(); EXTI_DeInit(); EXTI_SetPinSensitivity(EXTI_Pin_6, EXTI_Trigger_Falling); GPIO_Init( GPIOC, GPIO_Pin_6, GPIO_Mode_In_FL_IT ); ITC_SetSoftwarePriority(EXTI6_IRQn,ITC_PriorityLevel_3);
[单片机]
基于S3C2440微处理器的工业超声探伤仪设计
  超声探伤仪广泛应用在航空航天、石油化工、冶金造船等行业,用于检测金属或非金属内部缺陷以及分析材质,是无损检测领域重要的检测仪器之一。   超声探伤时,应用得最多的是A型显示,如图1所示。在A型显示中,横坐标代表被测物的深度,纵坐标代表回波信号的幅度。   目前同内生产的数字式超声探伤仪仍主要以单片机为核心,单片机固有的性能瓶颈制约了仪器的性能指标和功能扩展,与国外先进水平相比,国产产品技术水平仍有较大的差距。   本文介绍的新型嵌入式数字超声探伤仪以32位RISC CPUS3C2440为控制中心,以高性能FPGA Spartan3为信号采集及处理核心,并辅以功能强大的Linux操作系统和MiniGUI图形库,实现了一
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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