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-07-05feign默认connecttimeout和readtimeout是多少-icode9专业技术文章分享
- 2024-07-05idea控制台,日志太多,导致部分想看得日志被刷走 搜不到-icode9专业技术文章分享
- 2024-07-05The server selected protocol version Tls10 is not accepted by client preferences [TLs12]-icode9专业技术文章分享
- 2024-07-05怎么清理项目缓存-icode9专业技术文章分享
- 2024-07-04安装 Eyoucms详细图文教程-icode9专业技术文章分享
- 2024-07-04ueditor 复制文章时,图片的链接是一个下载图片地址,该如何处理?-icode9专业技术文章分享
- 2024-07-04怎样判断host有没有对wordpress有缓存呢-icode9专业技术文章分享
- 2024-07-04具有编译功能的系统make后,无法ssh连接-icode9专业技术文章分享
- 2024-07-04make后如何升级ssh-icode9专业技术文章分享
- 2024-07-03微信支付提示下单账户与支付账户不一致-icode9专业技术文章分享