通过定时器T1查询方式控制LED1周期性闪烁(正计数/倒计数)

简介: 通过定时器T1查询方式控制LED1周期性闪烁(正计数/倒计数)宏定义与函数声明初始化主函数


宏定义与函数声明



/**************************************/
/*         CC2530例程             */
/*例程名称:定时器(查询方式)        */
/*建立时间:2016/05/1                 */
/*描述:通过定时器T1查询方式控制LED1周期性闪烁
**************************************/
#include <ioCC2530.h>
#define uint unsigned int
#define uchar unsigned char
#define LED1 P1_0    //定义LED1为P1_0口控制
//函数声明
void InitLed(void);   //初始化P1口
void InitT1();                  //初始化定时器T1
//初始化程序
/*****************************/


初始化



void InitLed(void)
{
    P1DIR |= 0x01;    //P1_0定义为输出
    LED1 = 0;       //LED1灯初始化熄灭
 }
//定时器初始化
void InitT1() //系统不配置工作时钟时默认使用内部RC振荡,即16MHz
{
  T1CTL = 0x0F;          //128分频,模模式
  T1CC0L=0x12;
  T1CC0H=0x7A;
  T1CCTL0 |= 0x04;      //开启通道0的输出比较模式
}


主函数



/***************************
* 函数名称:main
 * 功    能:main函数入口
 * 入口参数:无
 * 出口参数:无
 * 返 回 值:无
***************************/
void main(void)
{
    uchar count;
    InitLed();    //调用初始化函数
    InitT1();
    while(1)
    {       
      if((T1STAT&0x21)==0x21)
      {
        T1STAT&=~0x21; //清除溢出标志
        ++count; 
      }      
      if(count == 3)   //如果溢出次数到达3说明经过了1.5秒
      {
        LED1 = 1;        //点亮LED1
      }
      if(count == 4)   //如果溢出次数到达8说明经过了2秒
      {
        LED1 = 0;        //熄灭LED1
        count=0;
      }
   }
}
相关文章
|
JavaScript Java 测试技术
基于Java的图书馆管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的图书馆管理系统的设计与实现(源码+lw+部署文档+讲解等)
226 1
|
7月前
|
开发工具 Android开发 iOS开发
flutter 环境配置
flutter 环境配置
1358 63
|
运维 Linux
Linux查找占用的端口,并杀死进程的简单方法
通过上述步骤和命令,您能够迅速识别并根据实际情况管理Linux系统中占用特定端口的进程。为了获得更全面的服务器管理技巧和解决方案,提供了丰富的资源和专业服务,是您提升运维技能的理想选择。
807 1
|
SQL 存储 监控
MySQL 内置的监控工具介绍及使用篇(一)
MySQL 内置的监控工具介绍及使用篇
2898 0
|
负载均衡 Java API
深度解析SpringCloud微服务跨域联动:RestTemplate如何驾驭HTTP请求,打造无缝远程通信桥梁
【8月更文挑战第3天】踏入Spring Cloud的微服务世界,服务间的通信至关重要。RestTemplate作为Spring框架的同步客户端工具,以其简便性成为HTTP通信的首选。本文将介绍如何在Spring Cloud环境中运用RestTemplate实现跨服务调用,从配置到实战代码,再到注意事项如错误处理、服务发现与负载均衡策略,帮助你构建高效稳定的微服务系统。
370 2
|
存储 负载均衡 NoSQL
Tomcat 9.X(9.0.74)集群实现Session共享(基于redisson)
本文主要介绍了tomcat集群环境下基于redis+Redisson实现session共享,分享给大家,供广大从业者学习和参考。
13069 4
|
安全 算法 中间件
CentOS7下rpm包方式升级openssl到安全版本1.1.1n
CentOS7下rpm包方式升级openssl到安全版本1.1.1n
5679 0
CentOS7下rpm包方式升级openssl到安全版本1.1.1n
|
安全 NoSQL Redis
服务器又被攻击了,我这样做...
近期遭遇阿里云服务器频繁报警,经分析发现是由于测试服务器所有端口对公网开放,导致自动化程序对其扫描。黑客可能利用类似Redis的未授权访问漏洞进行攻击。为避免此类问题,建议:1. 不开放不必要的端口;2. 避免以root权限运行服务;3. 设置服务器IP白名单;4. 定期更换密码。保持良好安全习惯可保障服务器安全。
4007 4
服务器又被攻击了,我这样做...
|
JSON 前端开发 数据格式
关于JWT令牌和过滤器以及拦截器的实现流程
JWT令牌用于验证用户请求合法性,登录时通过Filter或Interceptor校验账号密码,生成JWT并返回给前端保存。请求时,后端通过解析令牌检查其完整性、时效性和合法性。Filter在请求处理前检查是否携带JWT,Interceptor的preHandle方法同样用于此目的。两者选择其一即可,拦截器配置更精确但稍复杂。
|
缓存 编译器 程序员
C/C++编译器并行优化技术:并行优化针对多核处理器和多线程环境进行优化,以提高程序的并行度
C/C++编译器并行优化技术:并行优化针对多核处理器和多线程环境进行优化,以提高程序的并行度
1113 0