/*
如果按键按下时间小于1秒,则切换灯的闪烁效果
如果按键按下时间大于1秒,则不切换灯的闪烁效果
*/
#include <ioCC2530.h>
#define D3 P1_0
#define D4 P1_1
#define SW1 P1_2
#define D5 P1_3
#define D6 P1_4
unsigned char flag=0;
void inline delay(unsigned int time) //因为中断调用了此函数,
//所以要使用内联函数inline修饰
{
unsigned int i,j;
for(i=0;i<time;i++)
{
for(j=0;j<500;j++);
}
}
void main(void)
{
P1DIR |= 0x01<<0|0x01<<1|0x01<<3|0x01<<4;
IEN2 |= 1<<4; //使能P1中断
P1IEN |= 1<<2; //P1_2中断使能
PICTL |= 1<<1; //下降沿触发
EA = 1; //使能总中断
while(1)
{
if(flag==0)
{
D4=0;D3=0;D6=0;D5=0;
}
else
{
D4=~D4;D3=~D3;D6=~D6;D5=~D5;
delay(500);
}
}
}
#pragma vector=P1INT_VECTOR //vector小写,结尾不能加分号
__interrupt void P1INT(void)
{
// unsigned char i;
if(P1IFG&(1<<2)!=0) //P1IFG寄存器:P1口引脚中断标志位寄存器,
//当对应引脚有上升或下降沿后标志位变1
{
// for(i=0;i<10;i++)
// {
// delay(100);
// if(SW1==1) break;
// }
// if(i!=10)
// {
// flag = (flag+1)%2;
// }
flag = (flag+1)%2;
P1IFG &= ~(0x01<<2);//清除对应中断标志位
}
P1IF = 0; //P1IF位:为P1口中断申请标志位,
//当P1IFG中断标志寄存器有位为1,并且开启了此位的中断时,P1IF位变1
}
C__ren
- 粉丝: 0
- 资源: 1
最新资源
- 【企业文化分析模型-1】克拉克洪—斯托特柏克构架.docx
- 【企业文化分析模型-7】郑伯埙的VOCS量表.docx
- 【企业文化分析模型-3】弗恩斯·特朗皮纳斯的组织文化模型.docx
- 【企业文化分析模型-2】霍夫斯泰德的组织文化模型.docx
- 【范文】企业文化管理制度2.docx
- 【学习】如何创建学习型组织2.ppt
- 《华为的企业文化》-27页.ppt
- 【案例分析】惠普—康柏企业文化整合方案-29页 英文.ppt
- 【案例分析】沃尔玛的企业文化.ppt
- 【培训课件】华夏基石—企业文化落地与传播-68页.ppt
- 【培训课件】联想核心价值观培训(2006年)-75页.ppt
- 惠普-文化尽职调查研究-29页 英文版本.PPT
- 【培训课件】企業文化---培訓教材.ppt
- 前端技术实现圣诞树与飘雪花特效
- 【培训课件】中兴通讯-企业文化建设方案-42页.ppt
- 《白沙企业文化大纲》-21页.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈