CC2530定时器1中断实现定时1-3

源码

#include "iocc2530.h"//引用CC2530头文件int t1_Count=0;  //定时器1溢出次数计数void Init_Led(void){
/*******************LED1初始化部分******************/P1SEL &=~ 0x01;       //设置P1_0口为通用I/O口P1DIR |= 0x01;        //设置P1_0口为输出口P1_0=0;               //熄灭LED1
/**************************************************/
}
void Init_T1(void){
/*****************定时器1初始化部分****************/T1CTL |=0x0C;         //定时器1时钟频率128分频T1CC0L = 0x12;        //设置最大计数值的低8位T1CC0H = 0x7A;        //设置最大计数值的高8位T1IE = 1;             //使能定时器1中断T1OVFIM = 1;          //使能定时器1溢出中断EA = 1;               //使能总中断T1CTL |= 0x03;        //定时器1采用正计数/倒计数模式/**********************************************/
}
void main(void){Init_Led();Init_T1();while(1); //程序主循环
}
/**************************************************************
函数名称:T1_INT
功  能:定时器1中断处理函数
入口参数:无
出口参数:无
返 回 值:无
**************************************************************/
#pragma vector = T1_VECTOR
__interrupt void T1_INT(void)
{T1STAT &= ~0x20;      //清除定时器1溢出中断标志位t1_Count++;           //定时器1溢出次数加1,溢出周期为0.5sif(t1_Count == 3)     //如果溢出次数到达3,说明经过了1.5s{P1_0 = 1;           //点亮LED1}
if(t1_Count == 4)       //如果溢出次数到达4,说明经过了2秒{P1_0 = 0;           //熄灭LED1t1_Count = 0;       //清零定时器1溢出次数}
}

源码讲解

#include "iocc2530.h"//引用CC2530头文件

int t1_Count=0;  //定时器1溢出次数计数

void Init_Led(void){
/*******************LED1初始化部分******************/


  P1SEL &=~ 0x01;    
  //设置P1_0口为通用I/O口

  P1DIR |= 0x01;      
 //设置P1_0口为输出口


  P1_0=0;               //熄灭LED1
/**************************************************/


}
void Init_T1(void){
/*****************定时器1初始化部分****************/
  


  T1CTL |=0x0C;        

//定时器1时钟频率128分频

  T1CC0L = 0x12;      
 //设置最大计数值的低8位

  T1CC0H = 0x7A;        
//设置最大计数值的高8位

  T1IE = 1;    
外部中断配置流程表3.5 IEN1寄存器的描述      

  //使能定时器1中断

  T1OVFIM = 1;        

定时器 1、定时器 3 和定时器 4 还分别拥有一个计数溢出中断屏蔽位,

分别是T1OVFIM、T3OVFIM和T4OVFIM。当这些位被设置成1时,对应定时器的计数溢出中断便被使能,这些位都可以进行位寻址。不过一般用户不需要对其进行设置,因为这些位在CC2530上电时的初始值就是1。如果要手工设置,可以用以下代码实现。T1OVFIM=1; //使能定时器1溢出中断最后要使能系统总中断EA。

 //使能定时器1溢出中断

  EA = 1;        
IEN0寄存器的描述     
//使能总中断

  T1CTL |= 0x03;        
//定时器1采用正计数/倒计数模式

/**********************************************/
}
void main(void){
  Init_Led();
  Init_T1();
  while(1); //程序主循环
}
/**************************************************************
函数名称:T1_INT
功  能:定时器1中断处理函数
入口参数:无
出口参数:无
返 回 值:无
**************************************************************/
#pragma vector = T1_VECTOR
__interrupt void T1_INT(void)
{


  T1STAT &= ~0x20;    
 //清除定时器1溢出中断标志位
T1STAT寄存器的描述

  t1_Count++;           //定时器1溢出次数加1,溢出周期为0.5s
  if(t1_Count == 3)     //如果溢出次数到达3,说明经过了1.5s
  {
    P1_0 = 1;           //点亮LED1
  }
if(t1_Count == 4)       //如果溢出次数到达4,说明经过了2秒
  {
    P1_0 = 0;           //熄灭LED1
    t1_Count = 0;       //清零定时器1溢出次数
  }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/442293.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软考越来越难了,2024年软考究竟还值不值得考?

最近不少同学沟通,聊到软考现在越来越难了,考了两三次都没过,也有不少新同学咨询软考考试的一些福利政策,投入大量的物力,财力,精力,那么到底软考值不值得考呢? 01 / 关于软考 软考…

Leetcode 10. 正则表达式匹配

1.题目基本信息 1.1.题目描述 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。 ‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素 所谓匹配,是要涵盖 整个 字符串 s 的,而不是部分…

k8s的控制节点不能访问node节点容器的ip地址

master控制node服务器添加容器后,访问不了该node服务器容器的ip,只能在node服务器访问 排查后发现是k8s的master服务器和node节点的网址网段和k8s初始化时提示的ip网段不一致 我之前是192.168.137.50, 实际上master主机期望的是192.168.1.50 解决方案: 1.删除服务器后重建ma…

python爬虫 - 进阶requests模块

🌈个人主页:https://blog.csdn.net/2401_86688088?typeblog 🔥 系列专栏:https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、SSL证书问题 (一)跳过 SSL 证书验证 &#xff0…

Vue3中提到的Tree-shaking

我们知道,Vue3中提到一个叫Tree-shaking的东西,其实也并不是一个新的东西,有人称之为"摇树优化",什么意思? 按照作者的原话解释,Tree-shaking其实就是:把无用的模块进行“剪枝”&…

【Linux】进程间通信——System V消息队列和信号量

一、消息队列 1.1 概念 进程间通信的原理是让不同进程看到同一份资源,资源种类的不同就决定了通信方式的差异。如果用管道通信,则资源是文件缓冲区;如果用共享内存,则资源是内存块 消息队列是由操作系统提供的资源,…

postman自动化实战总结

Postman实战总结 简介 本次实战内容主要包括如下几点: l 背景介绍 l Postman使用,侧重于自动化实现,基础使用不做介绍 l 可视化Newman介绍 l 框架特色 l 实战中的坑 背景 随着国内软件技术的高速发展,越来越多的手工测试…

解决谷歌浏览器在安卓手机上的常见问题

在使用安卓手机浏览网页时,谷歌浏览器无疑是许多用户的首选。然而,在使用过程中,用户可能会遇到一些常见问题,如搜索图片困难、缓存积累过多导致浏览器卡顿,以及无法下载视频等。本文将针对这些问题,提供详…

【Linux】详解Linux下的工具(内含yum指令和vim指令)

文章目录 前言1. Linux下软件安装的方式2. yum2.1 软件下载的小知识2.2 在自己的Linux系统下验证yum源的存在2.3 利用yum指令下载软件2.4 拓展yum源(针对于虚拟机用户) 3. vim编辑器3.1 vim是什么?3.2 如何打开vim3.2 vim各模式下的讲解3.2.1…

【C语言】猜数字小游戏

😂个人主页: 起名字真南 🤣个人专栏:【数据结构初阶】 【C语言】 【C】 目录 1 随机数的生成1.1 rand1.2 srand1.3 time1.4 设置随机数范围 2 猜数字游戏实现 前言:我们学习完前面的循环以后可以写一个猜数字小游戏 1 随机数的生成 想要完成…

新生培训 day1 C语言基础 顺序 分支 循环 数组 字符串 函数

比赛地址 b牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ C语言数据类型 字符 整型数 int 2e9 long long 9e18 浮点数 代码示例 /** Author: Dduo * Date: 2024-10-8* Description: 新生培训day1 */ #include <stdio.h>int main() {// 定义变量in…

QT-空窗口主窗口对话框

1. QMainWindow QMainWindow 用来创建主窗口 主窗口包含&#xff1a; 标题栏&#xff08;Window title&#xff09;、菜单栏&#xff08;MenuBar&#xff09;、工具栏&#xff08;ToolBar&#xff09;、状态栏&#xff08;StatusBar&#xff09;、停靠部件&#xff08;DockWid…

Ansible学习之ansible-pull命令

想要知道ansible-pull是用来做什么的&#xff0c;就需要了解Ansible的工作模&#xff0c;Ansible的工作模式有两种&#xff1a; push模式 push推送&#xff0c;这是Ansible的默认模式&#xff0c;在主控机上编排好playbook文件&#xff0c;push到远程主机上来执行。pull模式 p…

RISC-V知识点目录

分支预测 分支预测概述https://blog.csdn.net/zhangshangjie1/article/details/136947089?sharetypeblogdetail&sharerId136947089&sharereferPC&sharesourcezhangshangjie1&spm1011.2480.3001.8118分支指令的方向预测https://blog.csdn.net/zhangshangjie1/a…

如何革新源代码保密?七大方法教你应对!

在数字化时代&#xff0c;源代码的安全保密对于企业而言至关重要&#xff0c;它不仅关系到企业的核心竞争力&#xff0c;还涉及到知识产权的保护。源代码一旦泄露&#xff0c;可能会给企业带来无法估量的损失。因此&#xff0c;采取有效的源代码保密措施&#xff0c;是每个企业…

【电路】1.3 电功率和能量

1.3 电功率和能量 电是一种能量存在形式。 1.3.1 电压的定义 将单位正电荷由A点移动至B点&#xff0c;电场力所做的功是 w w w&#xff0c;则 u A B d w d q u_{AB}\frac{dw}{dq} uAB​dqdw​&#xff0c; w w w是功&#xff0c; q q q是电荷量从A到B&#xff0c;沿着任意路…

D3.js中国地图可视化

1、项目介绍 该项目来自Github&#xff0c;基于D3.js中国地图可视化。 D3.js is a JavaScript library for manipulating documents based on data. It uses HTML, SVG, and CSS to display data. The full name of D3 is "Data-Driven Documents," which means it a…

C++11--列表初始化和声明

统一的列表初始化 { } 初始化 C11引入了统一的 列表初始化&#xff08;Uniform Initialization&#xff09;&#xff0c;这是一种使用大括号 { } 初始化变量和对象的新语法&#xff0c;旨在简化初始化过程并提高代码的可读性和一致性。 这种初始化方式适用于几乎所有类型&am…

轻松掌握IP代理服务器设置方法,网络冲浪更自如

在数字化时代&#xff0c;互联网就像是一片浩瀚的海洋&#xff0c;而IP代理服务器就如同我们在这片海洋中航行的指南针。通过使用代理IP&#xff0c;我们可以更方便地访问全球网络资源&#xff0c;提升网络安全性。本文将为您详细介绍IP代理服务器的设置方法&#xff0c;让您在…

Library介绍(四)

标准单元描述 标准单元主要由以下几个部分构成&#xff0c;分别是引脚电容、power、timing组成。其中引脚电容主要包含input/output pin的电容值。 power主要包含每个pin的leakage power和internal power。 timing主要包括cell的input pin到output pin的rise delay和fall del…