#include "iocc2530.h"#define LED1 P1_1       #define sw1 P0_1unsigned char h = 0;
unsigned char flag = 0;
unsigned char a=1;  //a = 1渐亮,a=2渐灭//初始化
void Init()
{P1SEL &= ~0x02;           //11100000P1DIR |= 0x02;            //00011011LED1=1;P0SEL &=~0X02;//按键P0DIR |=0X02;PERCFG=0x40;       //定时器1选择外设位置2T1CCTL1=0x64;       //定时器1通道2向上比较,比较模式 T1CC1L=0xff;         //0~255   0000 1111T1CC1H=h;
}void delay(int n)
{int s = 1000;int i = 0;for(i = 0;i < n;i++)while(s--);
}void ss()  //呼吸灯
{if((T1STAT&0x02)>0)      {     T1STAT=T1STAT&0xfd;   //清除中断标志   if(a==1)      //渐亮           h=h+1;           else          //渐灭           h=h-1;T1CC1L=0xff;  //重装比较值         T1CC1H=h;if(h>=254)     //最大亮度            a=2;       //设为渐灭if(h==0)       //最小亮度a=1;        //设为渐亮}
}
void scan_key()
{if(sw1 == 0){delay(2);if(sw1 == 0){while(sw1==0);//等待按键松开if(flag == 0) //第一次按下{flag = 1;T1CTL |= 0x01;//定时器1时钟频率1分频,自由运行模式P1SEL|=0x02; //设置灯的引脚为外设功能}else //第二次按下{ flag = 0;T1CTL &=~0X03;//关闭定时器P1SEL &=~0X02;//灯的引脚设置为普通IOLED1 = 1;}}}
}void main()
{Init(); while(1){scan_key();if(flag){ss();}}
}

通过按键控制呼吸灯的开启和关闭,需要注意的是,灯设置为外设功能时,直接熄灭等不起作用。因此熄灭灯之前需要将灯的初始化改为普通IO。

CC2530按键控制呼吸灯相关推荐

  1. FPGA—按键控制呼吸灯的时间

    一.概括 呼吸灯,就是和人们的呼吸频率一样的一种led灯亮灭的表现.平时我们见到的基本都是一瞬间的开启和关闭,当然其也有一定开启和关闭时间,只是我们肉眼无法分辨,所以我们此次实验其主要难点在使我们的l ...

  2. cc2530按键控制LED灯

    我平多多买的板子商家没给我原理图,我很无语,然后今天学按键控制终于找到了一个原理图: 不知道你们是否遇到寄存器设置值的事情,设置某位为输入或输出,通用IO或外部IO以及上拉电阻等等,我总结的方法可能很 ...

  3. CC2530学习笔记(2)—— IO端口基本操作实验(按键控制亮灯)

    CC2530学习笔记(2)-- IO端口基本操作(按键控制亮灯) 关于CC2530的IO端口基本知识.IO端口有关寄存器的介绍和描述请参照:CC2530学习笔记(1)--  IO端口 电路原理图如图1 ...

  4. CC2530开发-----按键控制流水灯暂停

    CC2530开发-按键控制流水灯 今天所要实现的效果如下 一.导入CC2530的包以及定义按键和LED的位置 #include "iocc2530.h" #define D3 P1 ...

  5. Arduino程序设计(二) 按键控制LED灯

    按键控制LED灯程序设计 前言 一.按键控制LED灯--内部上拉(基础) 二.按键控制LED灯--外部上拉(基础) 三.按键控制LED灯(进阶) 总结 参考文献 前言 本文主要介绍三种按键控制LED灯 ...

  6. FPGA(1)基础入门 -- 按键控制led灯

    目录 效果说明 1.配置输入输出变量 2.变量赋值 3.配置引脚(输入输出变量) 代码 效果说明 key1按键按下,led1被点亮. key2按键按下,led2被点亮. 1.配置输入输出变量 inpu ...

  7. led计数电路实验报告_「正点原子FPGA连载」第八章 按键控制LED灯实验

    1)实验平台:正点原子开拓者FPGA开发板 2)本实例源码下载:请移步正点原子官网 第八章 按键控制LED灯实验 按键是常用的一种控制器件.生活中我们可以见到各种形式的按键,由于其结构简单,成本低廉等 ...

  8. 基于Verilog的按键控制LED灯

    按键控制LED灯 原理图 程序设计 `timescale 1ns / 1psmodule key_led( input sys_clk, input sys_rst_n, input [3:0] ke ...

  9. 四、 按键控制流水灯的运行与暂停

    按键控制流水灯的运行与暂停 项目要求: [1]程序开始时,4个LED灯全亮一会,然后,再全灭一会,开始进入跑马灯. [2]跑马灯过程为:D4灯亮,其余熄灭,延时,D3灯亮,其余熄灭,延时,D6灯亮, ...

  10. 记录1——stm32f411CEU6之点亮一盏LED灯+按键控制LED灯

    文章目录 前言 一.准备工作 二.点亮一盏LED灯 1.配置工程 2.代码实现 3.程序烧录注意 三.按键控制LED灯 1.配置工程 2.代码实现 按键控制 按键进阶1: 按键进阶2 3.基于自己理解 ...

最新文章

  1. ZendStudio导入一个已有的网站
  2. java sort reverse_Java ArrayList sort() 方法
  3. 用css来设置table的border
  4. python测试用例图_pytest以函数形式的测试用例
  5. GNU make manual 翻译(七十三)
  6. PythonGIS可视化—Matplot basemap工具箱
  7. 前端技术-调试工具(上)
  8. 单片机位寻址举例_单片机学习:51单片机寻址方式详解
  9. antlr 语言 库_关于ANTLR的通用库的需求:使用反射来构建元模型
  10. linux中nodejs后台运行工具forever
  11. ICCV 2019 Oral 端到端任意形状场景文字识别
  12. MYSQL 批量Insert ID顺序生成(仿雪花算法)
  13. android service 本地 远程 总结
  14. 字体 素材_4个网站,涵盖几乎所有素材,字体、设计、图片各种资源管够
  15. Java POI 读取Excel-从开始到实例
  16. GitLab CI 中激活Anaconda环境
  17. java中用Executor代替Thread的四大理由
  18. 数据库原理及应用教程(陈志泊主编)
  19. 假短信截图在线生成器_10个超好玩的自动生成器
  20. (C#.net)CAD二次开发 polyline多段线/line直线/曲线 break打断的方法

热门文章

  1. sql脚本 windows导出 linux乱码,mysql query browser中文乱码的解决方法
  2. 配置无线AP 采用POE供电模块怎么配置无线AP没有POE交换机
  3. 51单片机程序下载失败原因排查
  4. html禁止查看图片,强看被屏蔽微信朋友圈
  5. c语言全局变量6,C语言全局变量定义方法
  6. 将pem证书转换为crt和key
  7. TongLinkQ消息中间件使用(c语言)
  8. matlab中全局变量的作用域,在simulink中使用全局变量的方法
  9. ionic3 m3u8在线播放工具,在线播放
  10. 中国五千年统一与分裂