CC2530控制LED闪烁
2021/9/7 23:10:32
本文主要是介绍CC2530控制LED闪烁,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
CC2530控制LED闪烁
- CC2530 控制LED闪烁
- 电路图
- 知识点
- CC2530有两个高频时钟
- 输入输出配置
- 程序及注释
CC2530 控制LED闪烁
CC2530拥有21个数字I/O(输入/输出)引脚,可以配置为通用数字I/O。
除了两个高驱动输出口P1.0和P1.1各具备20 mA的输出驱动能力之外,所有的输出口均具备4 mA的驱动能力。
寄存器PxSEL(其中x为端口的标号0~2)用来设置每个端口引脚为通用I/O或者是外部设备I/O信号。作为缺省的情况,每当复位之后,所有的数字输入/输出引脚都设置为通用输入引脚
电路图
根据官方的开发板,这里也采用同样的IO口:
知识点
CC2530有两个高频时钟
16MHz RC和32MHz晶体振荡器,默认情况下使用内部的16MHz RC振荡器。
输入输出配置
在任何时候,要改变一个端口引脚的方向,使用寄存器PxDIR来设置每个端口引脚为输入或输出即可。只要设置PxDIR中的指定位为1,其对应的引脚口就被设置为输出了。
程序及注释
/******************************************************************************* * OSC = Default (reset) 16MHz RC ******************************************************************************** * 编译器: * IAR Assembler for 8051 10.01A/W32 * IAR C/C++ Compiler for 8051 10.01A/W32 * * 文 件 名: main.c * 目标器件: cc2530 * 编 写: Luke * 修 订: 2021年9月7日 * 版 本: 1.0 * 描 述: * DTD253_EMK. 开发板例程。 * 让开发板上的两个LED闪烁。 * *******************************************************************************/ #include "ioCC2530.h" // 申明该文件中用到的头文件 void delay(void); /****************************************************************************** * @fn main * * @brief * Main function of application example. Flash 2 LEDs * * Parameters: * @param void * @return void ******************************************************************************/ void main( void ) { P0DIR |= 0x01; // 设置P1.0为输出方式 P2DIR |= 0x01; // 设置P2.0为输出方式 while(1) { P0_0 = 0; // 点亮LED P2_0 = 0; delay(); // 延时 P0_0 = 1; // 熄灭LED P2_0 = 1; delay(); } } // end of main() /****************************************************************************** * @fn delay * * @brief * 延时函数. * * Parameters: * * @param void * * @return void * ******************************************************************************/ void delay(void) //延时时间约400ms { unsigned int i; unsigned char j; for(i=0;i<1500;i++) { for(j=0;j<200;j++) { asm("NOP"); asm("NOP"); asm("NOP"); } } } // the end
这篇关于CC2530控制LED闪烁的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享