LED不停地实现闪烁(一亮一灭)
1、开发环境
IAR继承开发环境(安装IAREmbedded Workbench软件 )
版本:IAR Embedded Workbench for 80517.60.1 (7.60.1.40026))
主要包括: IAR Assembler for 8051 7.60.1 (7.60.1.40026)
IAR C/C++ Compiler for 80517.60.1 (7.60.1.40026)
IAR Library Builder4.61T (4.61.20.0)
IAR XLIB 4.61T/386 (4.61.20.0)
2、编辑
创建一个新Tool Chain 8051 Empty project工程
在工程上新建Led.h Led.c main.c三个文件并添加工程。
//Led.h
#ifndef __LED_H_
#define __LED_H_
#include<ioCC2530.h>//该文件包含CC2530的一些寄存器定义
#define LED1 P1_0 //LED1接单片机的P10端口
#define Led1_On() LED1=1;
#define Led1_Off() LED1=0;
//extern 声明2个外部函数,函数实现放在Led.c文件中
extern void Led_Init(void);
extern void Delay(unsigned int time);
#endif
//Led.c
#include<ioCC2530.h>//该文件包含CC2530的一些寄存器定义
#include "led.h"
void Led_Init(void){
P1SEL &=~(1 << 0); //将p1_0设置为GPIO口
P1DIR |=(1<<0); //将p1_0设置为输出模式
Led1_Off();
}
void Delay(unsigned int time)
{
unsigned int i,j;
for(i=0;i<time;i++)
for(j=0;j<10000;j++)
;
}
//main.c
#include "Led.h"
void main(void){
Led_Init();
while(1)
{
Led1_On();
Delay(10);
Led1_Off();
Delay(10);
}
}
上面的Device选的是CC2530F256.i51,这个文件包含了下面几个宏,并给定了对应的寄存器地址。
P1SEL &=~(1 << 0); //将p1_0设置为GPIO口
P1DIR |=(1<<0); //将p1_0设置为输出模式
上面的路径是:$TOOLKIT_DIR$\config\devices\Texas Instruments\lnk51ew_cc2530F256.xcl
4、源文件编译
5、仿真调试与下载
仿真调试器驱动的安装(Usb Debug Adapter仿真器)
6、程序仿真调试
7、总结:主要是使用IAR集成开发环境进行ZigBee的基本开发流程(工程的建立、源文件的添加、编译、仿真调试)。
头文件(.h):提供外界调用的模块内接口函数或接口变量。
实现文件(.c):对.h文件中声明的外部函数进行具体的实现。
本文参考自:《ZigBee无线传感器网络设计与实现》 王小强等人编著 化学工业出版社