#include "ioCC2530.h"
#define D1 P1_0
#define D2 P1_1
#define D3 P1_3
#define D4 P1_4
#define SW1 P1_2
#define SW2 P0_1
void Init_port()
{
P1SEL &= ~0x1F; //0001 1111 设置所有的端口为I/O功能
P1DIR |= 0x1B; //0001 1011 将D1,D2,D3,D4设为输出
P1DIR &= ~0x04; //0000 0100 将SW1设为输入
P0DIR &= ~0x02; //0000 0010 将SW2设为输入
P1INP &= ~0x04; //将SW1设置为上拉/下拉
P0INP &= ~0x02; //将SW2设置为上拉/下拉
P2INP &= ~0x60; //将P1和P0端口设置为上拉
P1 &= ~0x1B;
}
void Delay1(unsigned int t)
{
while(t--);
}
void checkLED()
{
P1 |= 0x1B;
Delay1(0xffff);
P1 &= ~0x1B;
Delay1(0xffff);
}
#if 1
unsigned int q=0;
void LED(int i)
{
switch(i)
{
case 1: {
D1=1;
D2=0;
D3=0;
D4=0;
}
break;
case 2:{
D1=0;
D2=1;
D3=0;
D4=0;
}
break;
case 3:{
D1=0;
D2=0;
D3=1;
D4=0;
}
break;
case 4:{
D1=0;
D2=0;
D3=0;
D4=1;
}
break;
}
}
void checkkeys()
{
if(SW1==0)
{
Delay1(20);
if(SW1==0)
{int i=q;
while(SW1==0)
{
do
{
LED(i);
Delay1(0x0fff);
i++;
}while(i<5);
}
switch(q)
{
case 1: LED(1);
break;
case 2: LED(2);
break;
case 3: LED(3);
break;
case 4: LED(4);
break;
}
while(1)
{
if(SW1==0)
{
Delay1(20);
if(SW1==0)
{
while(SW1==0);
break;
}
}
}
}
}
}
void Delay(unsigned int t)
{
while(t--)
{
checkkeys();
}
}
void main()
{
Init_port();
checkLED();
while(1)
{
for(int i=1;i<5;i++)
{
q=i;
LED(i);
Delay(0x0fff);
}
}
}
#else
unsigned int F=1;
unsigned int count=0;
void Delay(unsigned int t)
{
while(t--);
}
void key()
{
if(SW2==0)
{
Delay(20);
if(SW2==0)
{
while(SW2==0);
if(F==0)
{
F=1;
}else
{
F=0;
}
}
}
}
void liuLED()
{
Delay(20);
if(F==1){ count++;}
if(count<1500)
{
D1=1;
D2=0;
D3=0;
D4=0;
}else if(count<3000)
{
D1=0;
D2=1;
D3=0;
D4=0;
}else if(count<4500)
{
D1=0;
D2=0;
D3=1;
D4=0;
}else if(count<6000)
{
D1=0;
D2=0;
D3=0;
D4=1;
}else
{
count=0;
}
}
void main()
{
Init_port();
while(1)
{
liuLED();
key();
}
}
#endif
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
1.1~2.5题目代码文件.zip (83个子文件)
1.1~2.5题目代码文件
02-LED 跑马灯的实现
01-2.ewd 34KB
01-2.ewp 55KB
01-2.dep 2KB
Debug
List
Obj
Untitled1.r51 7KB
01-2.pbd 160B
Exe
01-2.d51 9KB
01-2.eww 158B
Untitled1.c 959B
settings
01-2.wsdt 3KB
01-2.cspy.bat 1KB
01-2.dbgdt 5KB
01-2.dni 808B
03-单按键控制灯光开关
01-3.ewp 55KB
01-3.ewd 34KB
01-3.eww 158B
01-3.dep 2KB
Debug
List
Obj
01-3.pbd 177B
Untitled1.r51 9KB
Exe
01-3.d51 10KB
Untitled1.c 1KB
settings
01-3.cspy.bat 1KB
01-3.dni 810B
01-3.wsdt 3KB
01-3.dbgdt 4KB
01-第一个 CC2530 工程
Untitled1-1.c 475B
01-1.ewp 55KB
01-1.ewd 34KB
01-1.eww 158B
Debug
List
Obj
01-1.pbd 173B
Untitled1-1.r51 5KB
Exe
01-1.d51 9KB
01-1.dep 2KB
settings
01-1.wsdt 3KB
01-1.dni 809B
01-1.cspy.bat 1KB
01-1.dbgdt 4KB
04-多按键联合控制灯光开关
01-4.dep 2KB
01-4.ewp 55KB
01-4.eww 158B
01-4.ewd 34KB
Debug
List
Obj
Untitled1.r51 12KB
01-4.pbd 181B
Exe
01-4.d51 11KB
Untitled1.c 2KB
settings
01-4.wsdt 3KB
01-4.dbgdt 4KB
01-4.dni 851B
01-4.cspy.bat 1KB
06-按键控制跑马灯的启动与暂停
按键题目.ewp 55KB
按键题目.ewd 34KB
one
按键.c 3KB
第一个.eww 189B
settings
第一个.wsdt 3KB
按键题目.dni 323B
按键题目.cspy.bat 1KB
01-6.ewp 55KB
按键题目.dep 2KB
01-6.dep 2KB
01-6.eww 158B
Debug
List
Obj
01-6.pbd 160B
Untitled1.r51 12KB
Exe
01-6.d51 11KB
Untitled1.c 2KB
settings
按键题目.dbgdt 63B
01-6.cspy.bat 1KB
按键题目.dni 123B
01-6.dbgdt 4KB
01-6.wsdt 3KB
按键题目.cspy.bat 1KB
01-6.dni 809B
01-6.ewd 34KB
05-按键电子计数器的实现
01-5.eww 158B
01-5.ewd 34KB
01-5.dep 2KB
01-5.ewp 55KB
Debug
List
Obj
01-5.pbd 179B
Untitled1.r51 14KB
Exe
01-5.d51 12KB
Untitled1.c 2KB
settings
01-5.dni 809B
01-5.wsdt 3KB
01-5.cspy.bat 1KB
01-5.dbgdt 4KB
共 83 条
- 1
资源评论
曦&渊
- 粉丝: 304
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功