CC2530 LED灯控制
有三个寄存器
分别是功能寄存器、方向寄存器、配置寄存器
功能寄存器
通用
I/O口
说的就是一般的I/O口,可以输出高低电平
为外设IO
例如摄像头或者打印机他们具体实现某些功能(拍照或打印文档),单片机要控制这些外部设备,一般的来说单片机的I/O口与这些外设的引脚相连,通过I/O引脚实现对外部设备的控制,让它们完成我们要求的功能。
通用I/O的使用
//既然IO有分两种。那么我们就需要设置指定的IO引脚是什么类型的。
//已知0为设置为通用IO,1为外设IO
功能寄存器PxSEL的配置
例如我们要设置P0_1口为通用IO,只需写以下代码
P0SEL &=~(1<<1);
如果是外设IO呢?我后面也会细讲,这里讲个大概的
P0SEL |=1<<1;
方向寄存器PxDIR的配置
这个是干嘛用呢?其实也非常简单,就是设置该IO口是输入还是输出用的。所以它的配置也相当简单
/*P0_1设置为输入IO引脚*/
P0DIR&=~(1<<1);
/*P0_1设置为输出IO引脚*/
P0DIR|=1<<1;
实验控制led灯
通过上面两个寄存器的设置就可以实现简单的LED灯闪烁的功能了。
大概思路是这样子的,如何控制灯亮呢?
给它一个高电平/低电平
这里我假设是高电平,怎么给它高电平呢?
首先配置IO口是通用IO还是外设IO,由于此灯不需要复杂的功能,所以我们只需要将它设置为通用IO即可。接着就是它为输出模式就好了
/*定义LED1*/
#define LED1 P0_1
void Delay(int n)
{
int z=n;
for (int i = 0; i < 125; i++)
for (int j = 0; j < n; i++);
}
void IOinit()
{
P0SEL&=~(1<<1);//配置通用IO
PODIR |=1<<1; //方向输出模式
}
void LEDinit()
{
LED1=1;//LED初始化
}
void main()
{
IOinit();
LEDinit();
while(1)
{
LED1=~LED1;//让灯闪烁
Delay(1000);
}
}
CC2530 LED灯控制的更多相关文章
- 基于TINY4412的Andorid开发-------简单的LED灯控制【转】
本文转载自:http://www.cnblogs.com/pengdonglin137/p/3857724.html 基于TINY4412的Andorid开发-------简单的LED灯控制 阅读 ...
- [转] 基于TINY4412的Andorid开发-------简单的LED灯控制
阅读目录 一.编写驱动程序 二.编写代码测试驱动程序 三.编写HAL代码 四.编写Framework代码 五.编写JNI代码 六.编写App 参考资料: <Andriod系统源代码情景分析> ...
- 基于TINY4412的Andorid开发-------简单的LED灯控制
参考资料: <Andriod系统源代码情景分析> <嵌入式Linux系统开发完全手册_基于4412_上册> 作者:彭东林 邮箱:pengdonglin137@163.com 平 ...
- 【转载】基于TINY4412的Andorid开发-------简单的LED灯控制
阅读目录(Content) 一.编写驱动程序 二.编写代码测试驱动程序 三.编写HAL代码 四.编写Framework代码 五.编写JNI代码 六.编写App 参考资料: <Andriod系统源 ...
- android驱动例子(LED灯控制)
本例子,讲述在android2.1上完全自已开发一个驱动去控制硬件口并写应用测试该驱动,通过这样一个例子,解析android下的驱动开发流程的应用调用流程,可以说是很好的入门引导 要达到的效果:通过a ...
- 让USB键盘的LED灯听你的!(不干扰使用)
最近在研究一个课题,如何能利用键盘的led灯通道进行有效通信,那么首先要做的就是尝试能否在不影响键盘的情况下控制LED灯(num lock ,caps lock ,scroll lock)的使用. 首 ...
- CC2530学习路线-基础实验-GPIO 控制LED灯亮灭(1)
目录 1.前期预备知识 1.1 新大陆ZigBee模块LED灯电路 1.2 CC2530相关寄存器 1.3 寄存器操作技巧 1.4 CPU空转延时 1.4 操作流程图 2.程序代码 The End 1 ...
- 嵌入式Linux学习入门:控制LED灯
记录自己linux学习过程,让自己能够一直坚持下去 1.原理图分析: nLED_1, nLED_2, nLED_4, 给低电平则对应LED灯亮,高电平则对应LED灯灭, S3C2440芯片GPF4-G ...
- arduino 蓝牙控制RGB LED灯
/* 日期:2016.9.2 功能:arduino 蓝牙控制RGB LED灯 元件: 跳线公公头 * 8 rgbled, 220欧电阻 蓝牙模块 接线: 蓝牙模块VCC,GND分别接5V,GND;TX ...
随机推荐
- console和chrom-tool
资料整理自网络 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...
- InnoDB的视图
视图(View)是一个命名的虚表,它由一个查询来定义,可以当做表使用.与持久表(permanent table)不同的是,视图中的数据没有物理表现形式. 视图的作用 视图在数据库中发挥着重要的作用.视 ...
- Java GC 垃圾回收算法 内存分配
垃圾回收(Garbage Collection, GC)是Java不同于c与c++的重要特性之一. 他帮助Java自动清空堆中不再使用的对象. 由于不需要手动释放内存,程序员在编程中也可以减少犯错的机 ...
- Android OpenGL教程-第六课【转】
第六课 纹理映射: 在这一课里,我将教会你如何把纹理映射到立方体的六个面. 激动的时刻来了,加载图片了. 复习一下android加载图片的知识.放一个png到drawable里面. (图片文件名:ne ...
- 【转】让Entity Framework不再私闯sys.databases
这里的“私闯sys.databases”是指Entity Framework默认发起的查询:SELECT Count(*) FROM sys.databases WHERE [name]=N'数据库名 ...
- VS中自定义C#快速简写代码
首先在VS中找到工具——代码片段管理器——语言选择(CSharp)——Visual C#——赋值路径——根据路径找到对应的代码片段用VS打开 修改: Title——标题 ShortCut——缩写 D ...
- node错误集合
1.端口被占用 node .\app.js events.js:167 throw er; // Unhandled 'error' even 解决办法:8888端口被占用了,更改一个端口就好 2. ...
- 记DateTime.Now.ToString()遇到的一个坑
最近在编写一个程序中遇到的 程序的简要逻辑就是一个timer控件 1.获取当前时间的短时间,例如 13:15 2.使用获取到的短时间去一个列表中查询是否有匹配的,列表中是一串短时间,类似 {" ...
- php分页实例及其原理
Part1:实例 /** * 取得上次的过滤条件 * @param string $param_str 参数字符串,由list函数的参数组成 * @return 如果有,返回array('filter ...
- 分布式ID生成器PHP+Swoole实现(上) - 实现原理
1.发号器介绍 什么是发号器? 全局唯一ID生成器,主要用于分库分表唯一ID,分布式系统数据的唯一标识. 是否需要发号器? 1)是否需要全局唯一. 分布式系统应该不受单点递增ID限制,中心式的会涉及到 ...