大佬救命!!这题怎么弄
cc2530吧
全部回复
仅看楼主
level 3
小土豆
楼主
新建 IAR 工程文件,完成按键控制 Zigbee 单片机上的 LED 的亮灭功能,模拟酒店楼道灯的控制效果,考核选手 ZigBee 单片机基础知识的掌握。具体任务要求如下: 程序开始运行; D4 灯闪烁,D3、D5、D6 灯灭; 按下模块上的“SW1”键松开后,实现 D5、D6 灯亮 2 秒后自动熄灭(期间再次按下后,顺延亮); 重复上述第二个步骤。
2021年12月14日 04点12分
1
吧务
level 14
gfy521666
一般的板子都是三个灯,你这六个灯的话,得附加说明灯的情况啊
2021年12月14日 05点12分
2
小土豆
只有4个灯
2021年12月14日 07点12分
level 3
小土豆
楼主
2021年12月14日 07点12分
4
吧务
level 14
gfy521666
你这个是考试题,结束了么?如果还需要的话,留言😂
2021年12月14日 08点12分
5
小土豆
需要,嘻嘻
2021年12月14日 10点12分
gfy521666
@小土豆
看看
2021年12月16日 03点12分
小土豆
@gfy521666
看什么
2021年12月16日 10点12分
吧务
level 14
KING_涅磐
#include <ioCC2530.h>
typedef unsigned char uchar;
typedef unsigned int uint;
#define LED3 P1_0 // P1.0口控制LED3
#define LED4 P1_1
#define LED5 P1_3
#define LED6 P1_4
#define KEY1 P1_2 // P1.2口控制Sw1
/****************************************************************************
* 名 称: DelayMS()
* 功 能: 以毫秒为单位延时,系统时钟不配置时默认为16M(用示波器测量相当精确)
* 入口参数: msec 延时参数,值越大,延时越久
* 出口参数: 无
****************************************************************************/
void DelayMS(uint msec)
{
uint i,j;
for (i=0; i<msec; i++)
for (j=0; j<535; j++);
}
/****************************************************************************
* 名 称: InitLed()
* 功 能: 设置LED相应的IO口
* 入口参数: 无
* 出口参数: 无
****************************************************************************/
void InitLed(void)
{
P1DIR |= 0x01; // P1.0定义为输出
LED3 = 1; // LED1灯熄灭
LED5 = 1;
LED6 = 1;
}
/****************************************************************************
* 名 称: InitKey()
* 功 能: 设置按键相应的IO口
* 入口参数: 无
* 出口参数: 无
****************************************************************************/
void InitKey(void)
{
P1SEL &= ~0x04;
P1DIR &= ~0x04;
P1INP &= ~0x04;
}
/****************************************************************************
* 名 称: KeyScan()
* 功 能: 读取按键状态
* 入口参数: 无
* 出口参数: 0为抬起 1为按键按下
****************************************************************************/
uchar KeyScan(void)
{
if (KEY1 == 0)
{
DelayMS(10);
if (KEY1 == 0)
{
while(!KEY1); //松手检测
return 1; //有按键按下
}
}
return 0; //无按键按下
}
/****************************************************************************
* 程序入口函数
****************************************************************************/
void main(void)
{
InitLed(); //设置LED1相应的IO口
InitKey(); //设置S1相应的IO口
while(1)
{
if (KeyScan()) //按键按下则改变LED状态
{
LED5 = ~LED5;
LED6 = ~LED6;
DelayMS(2000);
LED5 = ~LED5;
LED6 = ~LED6;
}
}
}
2021年12月15日 11点12分
6
259898h
要顺延亮 感觉要加计时器
2022年11月16日 06点11分
吧务
level 14
KING_涅磐
两个地方不明确,闪烁频率和顺延的次序。你自己修改下吧,框架差不多,吧内前面也发了好多例子了,自己参照下就可以了
2021年12月15日 11点12分
7
小土豆
嘿嘿,ヽ( ̄▽ ̄)و好哒我写啦滴但是不能循环,还有就是在能在灯亮的情况下才可以运行我的程序,所以我就发帖看看
2021年12月16日 10点12分
level 1
贴吧用户_aN8eUQ4
#include <iocc2530.h>#
define D3 P1_0
#define D4 P1_1#
define D5 P1_3
#define D6 P1_4#
define SW1 P1_2#define SW2 P0_1unsigned char F_LED =1;unsi
2022年04月04日 04点04分
8
level 2
不想搭理李
大佬这个程序还有没,我想康康
2022年06月08日 12点06分
9
小土豆
你现在还需要嘛
2022年06月16日 07点06分
1