中断是单片机实时地处理内部或外部事件的一种内部机制。当某种内部或外部事件发生时,单片机的中断系统将迫使cpu暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕后,又返回被中断的程序处,继续执行下去。
中断分外部中断和内部中断,cc2430共包含18个中断源。
开发板的电路图:
开发板上已把s1按键与p0.1相连,本实验想要达到的效果就是,通过按键s1触发p0.1的中断,进而在中断服务子程序中控制led1的亮/灭。
实验原理及流程图
实验流程图如下:
我们需要对单字节的sfr中的某一位赋值(0或1),以精确控制硬件设备。
有的sfr支持位寻址,比如说tcon、p0等,此时,对位的赋值非常简单,只需查询 iocc2430.h 头文件中 sfr bit access 部分的位定义即可:
p0_0 = 0; //对p0第一位赋值0
p0_0 = 1; //对p0第一位赋值1
但有的sfr并不支持位寻址,就如本实验中的 pictl,此时想要对其中的某一位赋值,语法如下:
pictl &= ~0x01; //对第1位赋值0
pictl |= 0x01; //对第1位赋值1
在一个程序中使用中断,一般包括、两个部分:中断服务子程序的编写、中断使能的开启。中断使能已在上面介绍过,下面简单介绍一下中断服务子程序的编写:
首先指定中断向量,可以在 iocc2430.h 头文件中的 interrupt vectors 部分查询,语法如下:
#pragma vector = 中断向量
然后紧跟着编写中断处理程序,结构如下:
__interrupt void 函数名(void)
{
//开中断
//中断处理
//中断标志清0
//关中断
}
苹果供应商富士康将与Fisker展开合作以生产电动汽车
变压互感器结构和匝数比案例基础知识
超声波水表的优缺点_超声波水表的通讯方式
雷特携超级旗舰新品:超智慧·全面屏 Super Panel 12S亮相2023光亚展
PK三星闪存 紫光2019年将量产64层3D NAND闪存
单片机开发板电路图及实验原理及流程图
USB风扇制作图解
STM32CubeMx计数器基本使用方法
ch32v307的rom和ram参数
用电池碳棒作电刷
845单端甲类功放电路图 (含电源电路)
未来制造业投资有望迎来恢复性增长 国内工业机器人需求或出现拐点
[组图]MC145152频率合成器及其应用
MSP430单片机实现PWM控制LED灯的设计
基于S3C2410开发板的U-BOOT移植解决方案
微差压气体压力传感器的功能特点及应用领域
iPhone8发布会今天来搞事情了
基于MSP430的传感器技术(2)
天阳科技加入欧拉开源社区 推动开源云生态快速发展
2018年度安全报告指出,众企业面临的网络安全风险日益增加