STC12C5A60S2定时器配置
快速导航
STC12已封装好的函数库
宏定义系统时钟
#define MAIN_Fosc 11059200L //宏定义主时钟HZ
//#define MAIN_Fosc 12000000L
timer0_ISR.c
#include "config.h"
#include "timer0_ISR.h"uint SetTime_us;//设置定时时间//当前定时器工作模式为1T工作模式
//注释掉这行则当前定时器工作模式为12T
#define MODE1T#ifdef MODE1T
#define T1MS (65536-MAIN_Fosc/SetTime_us)//1T模式下
#else
#define T1MS (65536-MAIN_Fosc/12/SetTime_us)//12T模式下
#endif/****************************************函数名称:void Timer0Init(uint8 time_us)*函数功能:定时器0初始化*输入 :uint8 time定时时间,单位us; *返回 :无***************************************/
void Timer0Init(uint time_us)
{SetTime_us = time_us;#ifdef MODE1TAUXR |= 0x80;//定时器0速度是8051定时器的速度,即12分频//定时器0为1T模式
#endifTMOD |= 0x01;//定时器0设置为定时方式,工作模式为16位自动重装模式TL0 = T1MS; TH0 = T1MS >> 8; TR0 = 1; //定时器0开始计时ET0 = 1; //使能定时器0的溢出中断允许位EA = 1; //使能总中断
}/**************************************
功能描述:定时器0中断服务程序
入口参数:无
返回值:无
***************************************/
void tm0_isr() interrupt 1 using 1
{TL0 = T1MS;TH0 = T1MS >> 8;//以下为用户处理程序
}
timer0_ISR.h
#ifndef _TIMER0_ISR_H
#define _TIMER0_ISR_Hextern uint SetTime_us;//设置定时时间//定时器0初始化
void Timer0Init(uint time_us);#endif
timer1.ISR.c
#include "config.h"
#include "timer1_ISR.h"uint SetTime_us;//设置定时时间//当前定时器工作模式为1T工作模式
//注释掉这行则当前定时器工作模式为12T
#define MODE1T#ifdef MODE1T
#define T1MS (65536-MAIN_Fosc/SetTime_us)//1T模式下
#else
#define T1MS (65536-MAIN_Fosc/12/SetTime_us)//12T模式下
#endif/****************************************函数名称:void Timer1Init(uint time_us)*函数功能:定时器1初始化*输入 :uint8 time定时时间,单位us; *返回 :无***************************************/
void Timer1Init(uint time_us)
{SetTime_us = time_us;#ifdef MODE1TAUXR |= 0x40;//定时器1速度是8051定时器的速度,即12分频//定时器1为1T模式
#endifTMOD |= 0x01;//定时器0设置为定时方式,工作模式为16位自动重装模式TL0 = T1MS; TH0 = T1MS >> 8; TR0 = 1; //定时器0开始计时ET0 = 1; //使能定时器0的溢出中断允许位EA = 1; //使能总中断
}/**************************************
功能描述:定时器1中断服务程序
入口参数:无
返回值:无
***************************************/
void tm0_isr() interrupt 3 using 1
{TL0 = T1MS;TH0 = T1MS >> 8;//以下为用户处理程序
}
timer1_ISR.h
#ifndef _TIMER1_ISR_H
#define _TIMER1_ISR_Hextern uint SetTime_us;//设置定时时间//定时器1初始化
void Timer1Init(uint time_us);#endif
还有一个便捷生成定时器代码的方法:可以使用单片机精灵自动生成你想要的定时器,STC-ISP也有定时器计算器
STC12C5A60S2定时器配置相关推荐
- 【Arduino学习笔记】系列1 - 定时器配置
目录 一.Arduino定时器简介 二.定时器基本概念 定时器速度(HZ) = Arduino时钟速度(16MHz) / 预分频器系数 中断频率(Hz)=(Arduino时钟速度16MHz)/(预分频 ...
- arduino定时器函数如何使用_Arduino定时器配置(Timer0,Timer1,Timer2)
定时器基本概念: 定时器速度(HZ) = Arduino时钟速度(16MHz) / 预分频器系数 中断频率(Hz)=(Arduino时钟速度16MHz)/(预分频器*(比较匹配寄存器+ 1) 比较匹配 ...
- 【转载】外设使用Tips之MPC574xP系列汽车级MCU的SWT看门狗定时器配置与使用
外设使用Tips之MPC574xP系列汽车级MCU的SWT看门狗定时器配置与使用 原创 2017-09-13 胡恩伟 汽车电子expert成长之路 内容提要 引言 1. SWT的功能概述 2. SWT ...
- java定时执行bat_windows定时器配置执行java jar文件的方法详解
##创建测试类 新建Java工程创建测试类如下代码:(创建文件验证定时器是否执行) package makeFile; import java.io.File; import java.io.IOEx ...
- STM32定时器配置(TIM1、TIM2、TIM3、TIM4、TIM5、TIM8)高级定时器+普通定时器,定时计数模式下总结
STM32定时器配置(TIM1.TIM2.TIM3.TIM4.TIM5.TIM8)高级定时器+普通定时器,定时计数模式下总结 文章结构: --> 一.定时器基本介绍 --> 二.普通定时器 ...
- 瑞萨e2studio(15)----外部中断定时器配置输入捕获测量频率
瑞萨e2studio.15--外部中断&定时器配置输入捕获测量频率 概述 视频教学 csdn课程 完整代码下载 样品申请 硬件准备 开发板 新建工程 工程模板 保存工程路径 芯片配置 工程模板 ...
- STM32CubeMX——定时器配置
基于STM32CubeMX的定时器配置 说明 定时器简介 基本定时器功能(TIM6.TIM7): 通用定时器(TIM2~TIM5)的主要功能: 高级定时器(TIM1,TIM8)的主要功能: STM32 ...
- 增量式编码器定时器配置和速度计算的处理方法
MCU定时器的CNT寄存器一般是16位的,使用定时器的编码器正交接口功能,计数周期有两种配置方法: 1.计数周期与编码器脉冲数相等 TIM_TimeBaseStructure.TIM_Period = ...
- 【STM32】【STM32CubeMX】STM32CubeMX的使用之六:定时器配置输出PWM,实现变色呼吸灯
文章目录 0.前言 1.硬件设计 2.CubeMX配置 3.软件设计 下载工程文件: https://gitee.com/Joseph_Cooper/stm32-cube-mx-stm32-l ...
- 【STM32】高级定时器、通用定时器和基本定时器---配置寄存器产生PWM
文章目录 1.高级定时器和通用定时器 2.配置产生PWM 1.高级定时器和通用定时器 高级定时器:TIM1.TIM8 Tips:黄色词条为高级定时器相对于通用定时器的功能. 通用定时器:T ...
最新文章
- Servlet Mapping 中/ 和 /*的区别
- 三座”大山“或让谷歌无人机送货项目被冻结
- 热议:这样的开源项目,你会支持吗?
- 编写一程序,有2个文本框,在第一个文本框中输入一个整数,当焦点从第一个文本框离开时,第二个文本框将显示这个数的绝对值(使用FocusListener)。
- 第三次学JAVA再学不好就吃翔(part30)--继承
- python时间序列数据分析统计服_python数据分析之:时间序列二
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 基于数据库资源的多语言实现...
- 多种方式99.9%解决从PDF复制文字后乱码问题
- 有道翻译API接口的服务开通与使用Python进行接口调用实例演示,有道智云·AI开放平台
- 【SCI】【计算机视觉】【图像处理】一二三四区期刊推荐(自用版本)
- execl表格同时打开多个独立窗口编辑
- 关于百度云订阅无法正常查看订阅者分享的解决办法
- 远程控制 - 手机完全控制电脑之TeamViewer
- 掘金chrome插件安装失败怎么办?
- 关于ttyS与ttySAC
- 计算机入门模拟试卷c卷,《计算机入门》模拟卷C答案-华东师范大学.doc
- 让理科生沉默,让文科生落泪的题
- 【MySQL综合练习1】
- 华为手机 绑定MAC 无法上网
- 车易加:今日油价|油价上涨10元/吨,油价又要重新上涨?
热门文章
- 关于sql server中isnull(值,值)是什么意思
- java 将海外时区转换为北京时区
- 自动驾驶-YOLOV5目标检测
- cmake出错:Building inplace are not allowed. You should create a separate directory for Building.
- N4110解决WIN10黑屏问题
- python学完基础后实践练习:阿拉伯数字金额转人名币大写
- OA项目之我的审批(会议查询会议签字)
- STM32个人笔记--GPIO框图
- 学员心声--元气少女缘结华为
- Cisco ASA 的telnet设置