一.前言

今天,我来教大家如何点亮led,这也是学习开发板最基础的步骤了。

二.原理分析

cc2530芯片跟虽然是51的内核,但是它跟51单片机还是有区别的,51单片机不需要对IO口进行配置,而cc2530芯片却需要对IO口进行配置,才能对它进行赋值,需要配置的寄存器有PXSEL,PXDIR,PXINP,x可以代表任意IO口,如P1SEL。

下面介绍PXSEL的功能:

下面介绍PXDIR的功能:

下面介绍PXINP的功能:

通过配置以上寄存器的,就可以控制IO口德输入输出状态,是否做为普通IO口。

三.程序

#include <ioCC2530.h>

#define uint unsigned int #define uchar unsigned char

#define LED1 P1_0    //定义P1_0口为LED1控制端 #define LED2 P1_1    //定义P1_1口为LED2控制端

#define LED3 P1_4    //定义P1_4口为LED3控制端

/* 函 数 名  : IO_Init  功能描述  : LED_IO初始化函数  输入参数  :

NONE   输出参数  : NONE  返 回 值  : NONE */

void IO_Init(void)

{     P1DIR |= 0xff;       //P1端口定义为输出

LED1 = 0;            //点亮LED1

LED2 = 0;            //点亮LED2

LED3 = 0;            //点亮LED3 }

/* 函 数 名  : Delayms  功能描述  : 毫秒延时  输入参数  : xms:延时时间,如 i=xms 即延时i毫秒  输出参数  : none  返 回 值  : none */

void Delayms(uint xms) {

uint i,j;

for(i=xms;i>0;i--)

for(j=587;j>0;j--); }

/* 函 数 名  : main  功能描述  : LED测试(通用IO的输出使用)  输入参数  : NONE   输出参数  : NONE  返 回 值  : NONE */

void main ( void )

{   IO_Init ();       //调用初始化程序

Delayms ( 2000 );   //延时2s

while ( 1 )   {

LED1 = ~ LED1;

LED2 = ~ LED2;

LED3 = ~ LED3;

Delayms ( 500 );   //延时0.5s           }   }

四.总结与分析

主函数中先执行初始化程序,配置IO口相关的寄存器,其他两个寄存器的默认值满足我们的要求,我们只要配置P0DIR即可,是P1口做为输出口,然后通过延时函数,实现灯闪烁的效果。

转载于:https://www.cnblogs.com/sjsxk/p/5291324.html

zigbee学习之路(二)点亮LED相关推荐

  1. DSP(TMSF280049C)学习笔记2:点亮LED灯

    DSP(TMSF280049C)学习笔记2:点亮LED灯 实验目的:点亮Texas InstrumentsTMSF280049C开发板,LED0与GPIO23相连,下载到FLASH,具体代码如下: # ...

  2. Arduino学习(三)点亮LED灯

    本篇开始,学习用Arduino控制各种外部电子元器件.传感器等,学习如何搭建相关电路. 用Arduino搭建电路有两种方式: 方式1: 购买并使用Arduino现成的模块:由于模块本身已经做好了电路, ...

  3. 前端Vue学习之路(二)-Vue-router路由

    Vue学习之路 (二) Vue-router(基础版) 一.增加静态路由 二.动态路由+路由嵌套+404页面 三. 编程式导航 四.命名路由 五.命名视图 六.重定向和起别名 1.重定向 2.起别名 ...

  4. Hive学习之路(二):Hive表操作详讲

    操作内容简介 一.操作前的准备 二.Hive表操作详讲 1. 创建数据库 2. 查看所有数据库/表 3. 在Hive上直接操作HDFS 4. 在Hive上直接执行终端命令 5. 创建数据表/查看表的信 ...

  5. ESP-12S学习(2)--点亮LED

    跨过前面的一个烧录大坑,终于迎来自己的第一个小实验 一.工程下创建文件夹 这是我在调试的时候遇到的一个问题,串口打印的问题 我在调用uart_init()的时候报错没有定义,但是我明明就已经导入了ua ...

  6. python 剑指offer 学习之路(二)

    剑指offer 学习之路 合并两个排序的链表 树的子结构 顺时针打印矩阵 包含min函数的栈 从上往下打印二叉树 二叉搜索树的后序遍历序列 二叉树中和为某一值的路径 复杂链表的复制 数组中出现次数超过 ...

  7. proteus学习笔记一:点亮LED

    最近想学习下C51单片机,懒得折腾硬件了,就用proteus软件学习下,把过程记录下,希望能够帮助到想学习C51的人吧. 一.软件安装 1)proteus 8.13安装,请看这里:https://ww ...

  8. Spring Boot 学习之路二 配置文件 application.yml

    一.创建配置文件 如图所示,我们在resources文件夹中新建配置文件application.yml 结构图 二.一些基本配置 server: port: 8090 //配置端口session-ti ...

  9. ZigBee学习笔记——(二)IEEE 802.15.4无线传感器网络通信标准

    第二章 IEEE 802.15.4无线传感器网络通信标准 一.IEEE 802.15.4标准概述 二.网络组成和拓扑结构 1.网络组成 2.拓扑结构 ①星状网络 ②点对点网络 三.IEEE 802.1 ...

最新文章

  1. (多图) 基于Verilog HDL的FIR数字滤波器设计与仿真
  2. python与编码方式
  3. MATLAB从入门到精通系列之如何实现KNN算法
  4. opentesty--luasocket 安装
  5. 006-筛选分类排序搜索查找Filter-Classificatio-Sort-Search-Find-Seek-Locate
  6. wingdows安装psutil_python 第一步
  7. php测试号推送消息失败,信息发送失败是什么原因
  8. 三元操作符(即条件表达式)
  9. Win2008r2 由ESXi 转换到 HyperV的处理过程
  10. 富途证券招股书解读:近2个月客户资产下降
  11. deeping linux安装安卓,给Deeping Linux系统官方的一封信,希望官方看到
  12. 【bzoj1143: [CTSC2008]祭祀river】有向无环图的最长反链
  13. 计算机窗口闪屏,电脑玩游戏闪屏是什么原因(对应的解决方法)
  14. 云计算实战应用案例精讲-【深度学习】多模态融合(论文篇四)
  15. redis IO模型的演进
  16. Error from chokidar (C:\): Error: EBUSY: resource busy or locked, lstat ‘D:\DumpStack.log.tmp
  17. 四川大学计算机专业调剂,2019年四川大学计算机学院(软件学院)考研调剂信息
  18. 一摞烙饼的排序(搜索树)
  19. 笑话理解之Devil
  20. 2020,中国互联网的后高光时刻

热门文章

  1. java byte 正数最大_为什么Java byte 类型的取值范围是-128~127
  2. linux 安装 zookeeper 管理端, dubbo-admin 访问 404
  3. libevent java_libevent简介
  4. 网站推广期间出现排名异常网站推广专员应如何应对?
  5. 影响网站权重的关键性因素有哪些?
  6. 浅析网站SEO优化用户体验值包括什么后续又该如何进行提升?
  7. linux端口转发到windows,Linux及Windows基于工具的端口转发
  8. python对话框机制_Chromium 新的弹窗机制以及 HTML 的 dialog 元素
  9. r软件linux 安装失败,R语言在Linux环境下安装Curl出错问题的解决
  10. numpy 深复制 切片创建视图