#include <ioCC2530.h>
#define uint unsigned int
#define uchar unsigned char
//定义控制灯的端口
#define LED1 P1_0 //定义LED1为P10口控制
#define LED2 P1_1 //定义LED2为P11口控制
#define LED3 P0_4 //定义LED3为P04口控制
#define KEY1 P0_1 //定义按键S1为P01口控制
//函数声明
void Delay(uint); //延时函数声明
void Initial(void); //初始化函数声明
void InitKey(void); //初始化按键函数声明
uchar KeyScan(void); //按键扫描函数声明
uchar Keyvalue = 0 ; //定义变量记录按键动作
uint KeyTouchtimes = 0 ; //定义变量记录按键次数
/****************************
//延时
*****************************/
void Delay(uint n)
{
uint i;
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
}
/****************************
//初始化按键为中断输入方式
*****************************/
void InitKeyINT(void)
{
P0INP |= 0x02; //上拉
P0IEN |= 0X02; //P01设置为中断方式
PICTL |= 0X01; //下降沿触发
EA = 1;
IEN1 |= 0X20; // P0设置为中断方式;
P0IFG |= 0x00; //初始化中断标志位
}
/****************************
//初始化程序,将P10、P11、P04定义为输出口,并将LED灯初始化为灭
*****************************/
void InitIO(void)
{
P1DIR |= 0x03; //P10、P11定义为输出
P0DIR |= 0x10; //P04定义为输出
LED1 = 1;
LED2 = 1;
LED3 = 1; //LED灯初始化为灭
}
/****************************
//中断处理函数
*****************************/
#pragma vector = P0INT_VECTOR
__interrupt void P0_ISR(void)
{
if(P0IFG>0) //按键中断
{
P0IFG = 0;
Delay(100);
if(P0IFG==0) //按键中断
{
Delay(100);
KeyTouchtimes = KeyTouchtimes+1; //每次中断发生时记录按键次数加1
}
}
P0IF = 0; //清中断标志
}
/***************************
//主函数
***************************/
void main(void)
{
InitIO();
InitKeyINT(); //调用初始化函数
while(1)
{
if(KeyTouchtimes == 1) //按键设置为LED3,LED2,LED1倒序流水闪烁
{
LED3 = !LED3;
Delay(30000);
LED2 = !LED2;
Delay(30000);
LED1 = !LED1;
Delay(30000);
KeyTouchtimes = 0;
}
}
}
zc????
- 粉丝: 2
- 资源: 25
最新资源
- 2025阿里云客服专项客服条件检测认证考试试题及答案.docx
- 2025阿里云与淘宝云客服认证考试劳务报酬及税收知识考试题及答案.docx
- 2025保密知识竞赛题库及答案.docx
- 2025安全生产月知识试题题库(附答案).docx
- 2025安全生产法知识考试题及答案.docx
- 2025病案编码员资格证试题库(附含答案).docx
- 2025财政知识竞赛题库及答案(通用版).docx
- 2025产科和成人门诊免疫规划年度培训试题及答案.docx
- 2025初级保安员考试题库与答案.docx
- 2025初级保育员理论知识考试题库(含答案).docx
- ISP 算法源码:Bayer、坏像素矫正、颜色插值、噪声去除、边缘增强、白平衡、 色彩矫正、gamma 校正、色彩空间转等
- STM32 bootloader使用can进行通讯,将hex文件数据通过can下载flash里面,附源代码以及通讯协议(STM32cubeIDE工程) 也是适合初学者参考can通讯
- 1 公司薪酬数据分析表.xlsx
- 2 公司年度薪酬分析图表.xlsx
- 3 各部门薪酬成本变动分析(以月度同比分析为例).xlsx
- 6 员工薪酬分析表带统计图表带蓝绿两种风格.xlsx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈