Zigbee LED 灯闪烁实验

合集下载

无线点灯实验报告

无线点灯实验报告

一、实验目的本次实验旨在通过Zigbee无线通信技术,实现无线点灯功能。

通过实验,加深对Zigbee无线通信协议的理解,掌握无线点灯系统的搭建与调试方法,并了解其应用前景。

二、实验原理Zigbee是一种低功耗、低成本、低速率的无线通信技术,广泛应用于智能家居、工业控制等领域。

本实验采用CC2530芯片作为Zigbee模块,通过编程实现无线点灯功能。

实验原理如下:1. Zigbee节点盒:包括LED1、LED2、SW1、CC2530芯片等。

节点盒的功能是控制LED1、LED2的亮灭,并接收Zigbee模块发送的信息。

2. Zigbee模块:包括D4、D3、D6、D5、CC2530芯片等。

模块的功能是接收节点盒发送的信息,并控制LED1、LED2的亮灭。

3. 无线通信:Zigbee节点盒与Zigbee模块之间通过无线信号进行通信。

4. 程序控制:通过编程实现LED1、LED2的亮灭状态,以及流水灯状态。

三、实验器材1. CC2530无线节点盒模块1套2. CC2530无线模块1套3. LED灯2个4. 按键开关2个5. 电阻、电容等电子元器件6. 仿真软件(如Proteus)7. 连接线若干四、实验步骤1. 搭建实验电路:将CC2530无线节点盒模块、CC2530无线模块、LED灯、按键开关等元器件按照电路图连接好。

2. 编写程序:在仿真软件中编写Zigbee节点盒和Zigbee模块的程序。

程序主要实现以下功能:(1)节点盒程序:控制LED1、LED2的亮灭,并接收Zigbee模块发送的信息。

(2)模块程序:接收节点盒发送的信息,并控制LED1、LED2的亮灭。

3. 调试程序:将编写好的程序烧录到CC2530芯片中,进行调试。

4. 实验测试:观察LED1、LED2的亮灭状态,以及流水灯状态,验证实验结果。

五、实验结果与分析1. 当程序开始运行时,Zigbee节点盒上的LED1、LED2灯亮,Zigbee模块上的D4、D3、D6、D5灯亮。

Zigbee Sensor实验

Zigbee Sensor实验

一、往模块里下载程序:1,先安装光盘根目录下的------------软件工具\Flash Programmer 1.11.1里面的软件,双击它,一路默认安装即可完成安装。

2,在程序菜单打开该软件。

如下图:以上画面中有2530,是因为我已经把2530模块通过仿真器连接到电脑。

3,在smartrf软件中的上边,把标签切换到,flashimage处选择如下,点击右边有三个小点的按钮,定位到资料光盘根目录下的相关目录下的Exe 文件夹,并打开里面的CollectorEB.Hex文件。

然后Actions处选择如图:然后点击软件下面的按钮,过一会会显示:请记住这个模块就是采集器模块。

另外一个模块也如法炮制,只不过在选择hex文件的时候是定位到如下文件夹:选择这个文件夹里的SensorEB.hex文件,然后,完成之后,请记住这个模块就是传感器模块。

模块跳帽图:二、操作模块:1,安装ZigBee Sensor Monitor 1.2.0。

进入光盘根目录下的--------软件工具\ZigBee Sensor Monitor 1.2.0\文件夹下,双击里面的文件,一路默认安装即可完成安装。

2,先将采集器模块通过usb数据线连接到电脑,相信各位看了这个图片,应该知道怎么用usb转串口板连接模块到电脑了吧。

如果usb转串口板的驱动还没安装,请看无线测温说明文档的第三页。

3,在程序菜单里打开ZigBee Sensor Monitor软件,这里我的usb专串口板占用的是COM1按钮,点击软件左上角上的绿色向右箭头。

之后,变化如下图4,再打开传感器模块的电源开关,此时采集器和传感器模块都是LED1、LED2闪烁,那么先那下采集器模块的up键,之后,采集器模块的LED2闪烁,LED1、LED3一直亮,而传感器的LED1、LED2、LED3一直快速闪烁,此时再按下采集器模块的RT键也就是右键,采集器的LED2会一直亮,然后,在按下传感器模块的down 键,也就是下键,那么Zigbee Sensor 软件变化如下图:至此这个实验就做到这里,呵呵。

单片机led灯闪烁实验报告

单片机led灯闪烁实验报告

单片机led灯闪烁实验报告1. 实验目的:掌握单片机控制LED灯闪烁的方法,了解单片机数字输入输出端口的使用。

2. 实验材料:STM32F103C8T6开发板、杜邦线、LED灯3. 实验原理:在单片机中,数字输入输出口(IO口)是实现数字输入输出的重要接口。

在单片机中,IO口除了可以做通用输入输出口以外,还有很多专用功能口,如SPI 口、I2C口等。

单片机控制LED灯闪烁的原理就是利用IO口的输出功能,通过改变输出口的电平信号来控制LED的亮灭。

当IO口输出高电平时,控制LED为亮状态;当IO 口输出低电平时,控制LED为灭状态。

4. 实验步骤:(1)将LED灯的正极连接到单片机的GPB5号引脚(即B端口的5号引脚),将LED的负极连接到地。

(2)在Keil中新建工程,并配置IO口为输出口。

(3)编写程序,利用GPIO_WriteBit函数对GPB5号引脚进行高低电平控制,实现LED灯的闪烁。

(4)将程序下载到开发板中,观察LED灯的闪烁情况。

5. 实验代码:#include "stm32f10x.h"void Delay(uint32_t nCount) {for(; nCount != 0; nCount);}int main(void) {GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure);while(1) {GPIO_SetBits(GPIOB, GPIO_Pin_5);Delay(0xFFFFF);GPIO_ResetBits(GPIOB, GPIO_Pin_5);Delay(0xFFFFF);}}6. 实验结果:当程序下载到开发板中时,LED灯会以一定频率闪烁。

用Zigbee协议栈来进行按键控制LED灯的亮灭实验

用Zigbee协议栈来进行按键控制LED灯的亮灭实验

用Zigbee协议栈来进行按键控制LED灯的亮灭实验本实验是基于ZStack-CC2530-2.5.1a版本的协议栈来进行实验的,整个实验需要改动hal_board_cfg.h、hal_board_cfg.h、hal_key.c、hal_key.h和自己定义的Coordinator.c这5个文件。

注意:添加自己的按键时尽量不要修改协议栈里面的按键程序,自己另行添加即可。

1、hal_key.h在/* Switches (keys) */下面添加自己的按键定义#define HAL_KEY_SW_8 0x80----------------------------------------------------------------------------------------2、hal_board_cfg.h在/* S6 */#define PUSH1_BV BV(1)#define PUSH1_SBIT P0_1#if defined (HAL_BOARD_CC2530EB_REV17)#define PUSH1_POLARITY ACTIVE_LOW#elif defined (HAL_BOARD_CC2530EB_REV13)#define PUSH1_POLARITY ACTIVE_LOW#else#error Unknown Board Indentifier#endif下面模仿/* S6 */下的程序定义自己的按键值:/* S8 */#define PUSH8_BV BV(4)#define PUSH8_SBIT P0_4#if defined (HAL_BOARD_CC2530EB_REV17)#define PUSH8_POLARITY ACTIVE_LOW#elif defined (HAL_BOARD_CC2530EB_REV13)#define PUSH8_POLARITY ACTIVE_LOW#else#error Unknown Board Indentifier#endif------------------------------------------------------------------------------------------------------------- 在/* ----------- Push Buttons ---------- */#define HAL_PUSH_BUTTON1() (PUSH1_POLARITY (PUSH1_SBIT)) #define HAL_PUSH_BUTTON2() (PUSH2_POLARITY (PUSH2_SBIT)) #define HAL_PUSH_BUTTON3() (0)#define HAL_PUSH_BUTTON4() (0)#define HAL_PUSH_BUTTON5() (0)#define HAL_PUSH_BUTTON6() (0)下定义自己的按键函数#define HAL_PUSH_BUTTON8() (PUSH8_POLARITY (PUSH8_SBIT))---------------------------------------------------------------------------------------------------------------- 在/* SW_6 is at P0.1 */#define HAL_KEY_SW_6_PORT P0#define HAL_KEY_SW_6_BIT BV(1)#define HAL_KEY_SW_6_SEL P0SEL#define HAL_KEY_SW_6_DIR P0DIR/* edge interrupt */#define HAL_KEY_SW_6_EDGEBIT BV(0)#define HAL_KEY_SW_6_EDGE HAL_KEY_FALLING_EDGE/* SW_6 interrupts */#define HAL_KEY_SW_6_IEN IEN1 /* CPU interrupt mask register */#define HAL_KEY_SW_6_IENBIT BV(5) /* Mask bit for all of Port_0 */#define HAL_KEY_SW_6_ICTL P0IEN /* Port Interrupt Control register */#define HAL_KEY_SW_6_ICTLBIT BV(1) /* P0IEN - P0.1 enable/disable bit */#define HAL_KEY_SW_6_PXIFG P0IFG /* Interrupt flag at source */下模仿/* SW_6 is at P0.1 */建立自己的按键函数#define HAL_KEY_SW_8_PORT P0#define HAL_KEY_SW_8_BIT BV(4) //修改#define HAL_KEY_SW_8_SEL P0SEL#define HAL_KEY_SW_8_DIR P0DIR/* edge interrupt */#define HAL_KEY_SW_8_EDGEBIT BV(0)#define HAL_KEY_SW_8_EDGE HAL_KEY_FALLING_EDGE/* SW_8 interrupts */#define HAL_KEY_SW_8_IEN IEN1 /* CPU interrupt mask register */#define HAL_KEY_SW_8_IENBIT BV(5) /* Mask bit for all of Port_0 */#define HAL_KEY_SW_8_ICTL P0IEN /* Port Interrupt Control register */#define HAL_KEY_SW_8_ICTLBIT BV(4) //修改#define HAL_KEY_SW_8_PXIFG P0IFG /* Interrupt flag at source */-------------------------------------------------------------------------------------------------------------注意:将void HalKeyPoll (void)中的// if ((HAL_KEY_JOY_MOVE_PORT & HAL_KEY_JOY_MOVE_BIT)) /* Key is activeHIGH */// {// keys = halGetJoyKeyInput();// }/* If interrupts are not enabled, previous key status and current key status * are compared to find out if a key has changed status.*/// if (!Hal_KeyIntEnable)// {// if (keys == halKeySavedKeys)// {/* Exit - since no keys have changed */// return;// }/* Store the current keys for comparation next time */// halKeySavedKeys = keys;// }// else// {/* Key interrupt handled here */全部注释掉,因为它会对我们设定的按键产生干扰,具体情况我也不知道...然后再在内添加if (HAL_PUSH_BUTTON8()){keys |= HAL_KEY_SW_8;}-------------------------------------------------------------------------------------------------------------最后再在Coordinator.c中的uint16 GenericApp_ProcessEvent( uint8 task_id, uint16 events )添加事件及其处理函数case KEY_CHANGE:GenericApp_HandleKeys( ((keyChange_t *)MSGpkt)->state, ((keyChange_t *)MSGpkt)->keys );再在static void GenericApp_HandleKeys( uint8 shift, uint8 keys ){zAddrType_t dstAddr;if ( keys & HAL_KEY_SW_1 ){if ( keys & HAL_KEY_SW_2 ){}if ( keys & HAL_KEY_SW_3 ){}if ( keys & HAL_KEY_SW_4 ){}if ( keys & HAL_KEY_SW_6 ) //添加自己的按键及其处理函数{HalLedSet(HAL_LED_1, HAL_LED_MODE_FLASH);}}最后烧到开发板中即可,祝大家实验成功。

led闪烁实验报告

led闪烁实验报告

led闪烁实验报告LED闪烁实验报告引言LED(Light Emitting Diode)是一种半导体器件,可以将电能转化为光能。

在现代科技中,LED被广泛应用于各种设备中,如电视、手机、车灯等。

LED的闪烁频率和亮度对其在各种设备中的使用起着至关重要的作用。

本实验旨在研究LED的闪烁频率和亮度之间的关系,以便更好地了解LED的工作原理。

实验目的1. 研究LED的闪烁频率与输入电流之间的关系;2. 探究LED的亮度与输入电流之间的关系;3. 了解LED的工作原理。

实验材料1. LED灯2. 电源3. 电阻4. 示波器5. 万用表6. 电线实验步骤1. 将LED灯连接到电源和电阻上,通过示波器观察LED的闪烁频率;2. 调节电源的输入电流,记录LED的闪烁频率和亮度;3. 使用万用表测量LED的电压和电流,计算LED的功率;4. 分析实验数据,得出LED的闪烁频率、亮度和功率之间的关系。

实验结果通过实验数据的分析,我们得出了以下结论:1. LED的闪烁频率与输入电流成正比关系,输入电流越大,LED的闪烁频率越高;2. LED的亮度与输入电流也成正比关系,输入电流越大,LED的亮度越高;3. LED的功率与输入电流的平方成正比关系,输入电流越大,LED的功率增加得更快。

结论通过本实验,我们深入了解了LED的工作原理,了解了LED的闪烁频率、亮度和功率之间的关系。

这些结果对于LED在各种设备中的应用具有重要的指导意义,也为LED的进一步研究提供了有益的参考。

总结LED的闪烁实验为我们提供了深入了解LED工作原理的机会,通过实验数据的分析和结论的总结,我们对LED的闪烁频率、亮度和功率之间的关系有了更清晰的认识。

希望通过这些研究,能够更好地应用LED技术,推动LED技术的发展,为人类的生活带来更多的便利和创新。

14Zigbee实验报告《无线点灯》

14Zigbee实验报告《无线点灯》

2019——2020学年第二学期
专业
班级
学号
姓名
日期
2019——2020学年第二学期
专业
班级
学号
姓名
日期
实训5-2 无线点灯.rar
第二页
实验内容与步骤一.配置路由:
1,取出J-1ink仿真器,将转接口插到J-1ink仿真器的JTAG端,通过转接线将J-1ink与转接板连接,通过10pin转接线将转接板与节点连接,通过J-1ink的标配USB线,
,将转接口插到J-1ink仿真器的JTAG端Zigbee 模块
2.将转接板与节点相连,将路由器代码下载到Zigbee模块中
二.配置协调:
将转接板与节点相连,将协调器代码下载到Zigbee模块中。

三.先给协调器上电,再上电路由器。

四.在节点上按SW1按键可让另一节点的指示灯亮。

五.再按一-sW1按键,灯灭。

第三页。

led闪烁实验报告

竭诚为您提供优质文档/双击可除led闪烁实验报告篇一:单片机实验--LeD灯闪烁实验实验报告课程名称实验项目20XX年3月13日【实验目的】1.掌握51单片机开发板的使用步骤;2.掌握51单片机开发板所需软件的安装过程;3.以LeD灯闪烁为例子,掌握软件KeIL3的使用方法。

熟悉51单片机开发板的使用【实验环境】1.实验仪器、设备计算机、51单片机开发板2.软件usb驱动程序、KeLL开发软件3.实验过程51单片机开发板的使用步骤1)安装usb驱动程序;2)安装KeIL开发软件3)在KeIL环境中编写和调试程序4)用程序烧录软件,将单片机程序烧录到单片机51单片机开发板所需软件的安装过程1)安装usb驱动程序2)设置串口LeD灯闪烁的程序的编写、调试和烧录。

【实验内容】1.内容一1.1操作过程(1)将单片机开发板的电源与pc的usb口相连;(2)在pc机上安装usb_Driver驱动程序的安装,具体安装步骤,请参见《文件驱动程序安装说明.pdf》;设置串口,请参见《设置串口.pdf》;(3)在pc机上安装KeILV3软件,具体安装步骤,请参见《安装说明.TxT》;(4)运行KeIL3软件,软件的具体使用方法,请参见请参见《keil入门.pDF》文件;(5)在KeIL软件中,创建内容如下的c程序,文件名为学生自己的学号:(6)编译和调试,修改程序错误;(7)使用软件《pZIsp自动下载软件.exe》将程序烧录到单片机中,观察现象是否与正常;(8)再在原来程序的基础上,修改程序,实现功能较复杂的程序。

(9)编写内容如下的汇编程序,文件名为学生学号.asm:1.2操作结果程序下载成功后,则单片机开发板上的8个LeD灯将闪烁。

下图为LeD灯电路图。

1.3结果分析主程序中有:(1)p2=0x00;(2)delay(600);(3)p2=0xff;(4)delay(600);第一条程序为置p0口为低电平,点亮p2口8个LeD;,第二条程序为调用延时程序,等待一段时间熄灭,第三条程序为置p0口为高电平,熄灭p2口8个LeD灯;最后一条程序为调用延时程序。

CC2530基础例程实验手册

-2-
CC2530 基础实验
1 输入输出 I/O 控制实验
1.1 CC2530 基础实验 1:自动闪烁
实验介绍 本次实验的目的是让用户学会使用CC2530 的I/0 来控制外设,本例以LED 灯为外设,用CC2530 控
制简单外设时,应将I/O 设置为输出。实验现象LED 闪烁。 实验设备:仿真器 1 台,电池板(或液晶板)1 块,ZigBee 模块1 块,USB 连接线1 根。 实验相关寄存器 实验中操作了的寄存器有 P1,P1DIR,没有设置而是取默认值的寄存器有: P1SEL,P1INP。-3--4-PSEL (P1 功能选择寄存器)
实验相关函数 void Delay(uint n);函数原型是 void Delay(uint n)
{ uint tt; for(tt = 0;tt<n;tt++); for(tt = 0;tt<n;tt++); for(tt = 0;tt<n;tt++); for(tt = 0;tt<n;tt++); for(tt = 0;tt<n;tt++); }
4 AD 实验......................................................................................................................................................... - 30 4.1 CC2530 基础实验 10:片内温度..................................................................................................... - 30 4.2 CC2530 基础实验 11:1/3AVDD.....................................................................................................- 39 4.3 CC2530 基础实验 12:AVDD..........................................................................................................- 40 -

单片机实验--实验报告-LED灯闪烁实验

单片机实验--实验报告-LED灯闪烁实验
为了深入了解单片机,本次实验我们选取LED灯闪烁实验,研究单片机控制LED闪烁
的原理。

经过这次实验,初步了解了单片机实验的基本设备及操作步骤,掌握了单片机语
言操控LED进行简单应用。

实验做法如下:
一、设计流程:
1.实验目的
本次实验的目的是了解单片机的原理,掌握单片机语言的基本使用方法,编制可控制LED灯闪烁的程序,完成LED灯闪烁的控制。

2.实验设备
实验设备主要包括:单片机51系列主控板,51单片机芯片,备有LED等硬件。

3.原理描述
本次实验主要是利用单片机来实现LED灯发出的闪烁效果,将单片机的P0作为一个
数据口出口实现闪烁的控制,这里使用一个定时器定时,通过程序实现数据口的翻转,可
以实现LED的闪烁效果。

二、实验步骤:
1.硬件的准备及接线
准备所需要的硬件,将单片机的芯片插入51系列主控板,将LED灯接线到主控板上。

2.软件编译
打开Keil软件,创建一个单片机工程文件,然后调用单片机库函数,建立用于控制LED灯闪烁的相关函数。

3.程序下载
编译、链接生成hex文件,将hex文件下载到单片机芯片上,运行程序(此处使用51编程器),完成LED的闪烁控制。

4.程序调试
完成程序的编写、下载即可实现LED的闪烁,对程序做个完整的测试,保证程序的可
靠性。

led闪烁控制灯设计与实现嵌入式实验报告

led闪烁控制灯设计与实现嵌入式实验报告引言随着人们对智能化生活的需求不断增加,嵌入式系统作为实现智能化的关键技术之一越来越受到关注。

本实验旨在设计与实现一个led闪烁控制灯,通过嵌入式系统的编程和硬件实现,使得灯能够产生闪烁效果。

本实验报告将详细讨论设计与实现过程,并总结实验的结果和经验。

设计和实现步骤1. 准备工作在开始设计与实现前,需要进行一些准备工作。

首先,确定使用的开发板或嵌入式系统平台。

其次,收集所需的硬件组件,包括LED、电阻、连接线等。

最后,配置开发工具和环境,例如Keil、Arduino IDE等。

2. 电路设计根据硬件组件的特性和实验要求,设计电路图。

首先,将电源与开发板连接,确保供电正常。

然后,连接LED到开发板的GPIO管脚,通过电阻限流,以保护LED和开发板。

设计电路时,应注意电源电压、电流等指标,确保电路的稳定性和安全性。

3. 程序编写根据硬件设计的结果,开始编写程序。

以C语言为例,使用开发工具进行代码编写。

首先,包含所需的头文件,例如GPIO控制、定时器等。

然后,定义引脚和变量,进行初始化设置。

接下来,编写闪烁控制函数,实现LED的闪烁效果。

最后,主函数中调用闪烁控制函数,使得LED实际产生闪烁效果。

4. 烧写和调试将编写好的程序通过烧写工具,如ST-Link、AVR ISP等,将程序烧写到开发板中。

然后,通过串口或其他调试工具,连接开发板,以便实时监测和调试程序的执行情况。

在调试过程中,可以通过打印调试信息、断点调试等方式,逐步排除程序中的错误,保证程序正常运行。

5. 测试和修改完成烧写和调试后,进行功能测试。

通过控制开关或通过输入信号,观察LED的闪烁效果。

在测试过程中,需要关注LED的亮灭频率、占空比等参数,确保符合实验要求。

如果存在问题或改进的空间,及时修改程序和电路设计,直至满足预期效果。

实验结果和分析通过以上设计与实现步骤,成功实现了led闪烁控制灯。

经过测试,LED能够按照预期的频率和占空比闪烁,实现了设计要求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Zigbee LED闪烁实验
罗汉江
LED闪烁实验
1.前言:简单介绍这个实验的应用
2.实验现象:闪烁LED1 闪烁
3.实验讲解:对LED 部分原理图、寄存器、代码、编程方法详细讲解
4.实验步骤:实验的流程。

LED闪烁实验
1.前言: 通过LED灯的闪烁实验能让你对编译环境和程序
架构有一定的认识,为以后的学习和更大型的程序
打下基础,增加信心。

2.实验现象:通过程序实验闪烁LED1。

LED闪烁实验
3.实验讲解:对LED 部分原理图、寄存器、代码详细讲解
LED
闪烁实验
CC2530 的IO 口配置我们需要配置三个寄存器P1SEL 、P1DIR 、P1INP 。

IO 口功能如下表所示:
3.实验讲解:对LED 部分原理图、寄存器、代码详细讲解
LED闪烁实验
3.实验讲解:对LED 部分原理图、寄存器、代码详细讲解
* P1SEL (0:普通IO 口1:第二功能)
* P1DIR (0:输入1:输出)
* P1INP (0:上拉/下拉1:三态)
按照表格寄存器内容,我们对LED1,也就是P1_0 口进行配置,当
P1_0 输出低电平时LED1 被点亮。

所以配置如下:
P1SEL &=~0x01; //作为普通IO 口P1DIR |= 0x01; //P1_0 定义为输出
P1INP &=~0X01; //打开上拉
由于CC2530 寄存器初始化时默认是:
P1SEL=0x00; P1DIR |= 0xff; P1INP =0X00;
所以IO 口初始化我们可以简化初始化指令:
P1DIR |= 0x01; //P1_0 定义为输出
LED闪烁实验
3.实验讲解:对LED 部分原理图、寄存器、代码详细讲解•Led.h
•#ifndef _LED_H_
•#define _LED_H_
•# include <ioCC2530.h>
•#define LED1 P1_0
•#define LED1_On() LED1=1;
•#define LED1_Off() LED1=0;
•extern void Led_Init(void);
•extern void Delay(unsigned int time);
•#endif
LED闪烁实验
3.实验讲解:对LED 部分原理图、寄存器、代码详细讲解•代码
•# include <ioCC2530.h>
•# include "Led.h"
•void Led_Init(void)
•{
•P1SEL &= ~(1 << 0); //设置P1_0为GPIO
•P1DIR |=(1<<0); //设置P1_0为输出模式
•LED1=0;
•}
•void Delay(unsigned int time)
•{
•unsigned int i,j;
•for(i=0;i<time;i++)
•for (j=0;j<10000;j++);
•}
LED闪烁实验
3.实验讲解:对LED 部分原理图、寄存器、代码详细讲解•Main()代码
•# include "Led.h"
•void main(void)
•{
•Led_Init();
•while(1)
•{
•LED1_On() ;
•Delay(10);
•LED1_Off() ;
•Delay(10);
•}
•}
LED闪烁实验4.实验步骤:实验的流程。

建立空白Test文件夹
建立空白新工程
另存到已经建立的文件夹,project 名称为Test (Test.ewp)
点击全部保存的图标
另存为同名的workspace文件
(Test.eww)
新建file
建立Led.h文件
Led.h •#ifndef _LED_H_
•#define _LED_H_
•# include <ioCC2530.h>
•#define LED1 P1_0
•#define LED1_On() LED1=1;
•#define LED1_Off() LED1=0;•extern void Led_Init(void);
•extern void Delay(unsigned int time);•#endif
#define LED1_On() LED1=1; #define LED1_Off() LED1=0;
将Led.h加入工程中
保存Led.h文件
保存Led.c文件
代码•# include <ioCC2530.h>
•# include "Led.h"
•void Led_Init(void)
•{
•P1SEL &= ~(1 << 0); //设置P1_0为GPIO
•P1DIR |=(1<<0); //设置P1_0为输出模式•LED1=0;
•}
•void Delay(unsigned int time)
•{
•unsigned int i,j;
•for(i=0;i<time;i++)
•for (j=0;j<10000;j++);
•}
写入main()代码,保存
加入工程中
Main()代码•# include "Led.h"
•void main(void)
•{
•Led_Init();
•while(1)
•{
•LED1_On() ;
•Delay(10);
•LED1_Off() ;
•Delay(10);
•}
•}
main.c加入工程
设置编译环境
未设置前
选中CC2530F256.i51
选好其他选项,near,large,PDAta stack reentrant
选择linker,config,勾选Override default,点击Linker command file,选择lnk51ew_cc2530F256.xcl
打开Debugger选项,setup,Driver 选择Texas Instruments
点击Device Description file,勾选Override default,选中
devices/_generic文件夹
选中io8051.ddf
设置output,打勾override default,修改为.hex, 选中Allow C-SPY-specific extra output file
进入单步调试状态
调试、排错、下载、实验、成功!
点击全速运行,红灯闪烁
挑战自己
•1、怎样修改参数,改变灯的闪亮速度?•2、
–#define LED1_On() LED1=1; 灯亮还是灭?
实验看看
•3、怎样让绿色灯闪亮?。

相关文档
最新文档