合泰单片机之时基中断

  时基中断(Time Base Interrupt)是一种基于硬件定时器的周期性中断机制,由特定定时器的溢出信号触发。在合泰单片机中,主要通过TB0和TB1两个定时器模块实现时基中断功能。

具体工作流程如下:

  1. 定时器溢出触发:

    • 当TB0/TB1定时器计数达到预设周期时,会产生溢出信号
    • 此时对应的中断请求标志位(TB0F或TB1F)被硬件自动置位
  2. 中断使能控制:

    • 总中断使能位EMI必须为1(使能状态)
    • 相应时基中断使能位(TB0E或TB1E)需设为1
    • 例如:设置TB0E=1允许TB0定时器中断
  3. 中断响应过程:

    • 满足上述条件时,CPU会暂停当前程序
    • 将程序计数器PC值压入堆栈
    • 跳转到对应的中断向量地址(如TB0中断向量地址为0x0008)
    • 执行中断服务子程序(ISR)
  4. 中断标志管理:

    • 进入ISR后,硬件自动清除TBnF标志
    • EMI位被清零,暂时禁止其他中断嵌套
    • 典型应用场景:需要周期性执行的任务(如LED闪烁、数据采样等)
  5. 中断返回:

    • ISR执行完毕后通过RETI指令返回
    • 恢复EMI位状态
    • 从堆栈恢复PC值继续主程序

注意:使用时基中断时需确保堆栈空间足够,避免堆栈溢出导致程序异常。

时基中断的目的时提供一个固定周期的中断信号。其时钟源来自内部时钟源fTB.fTB输入时钟首先经过分频器,分频率由程序设置TBC寄存器相关位获取合适的分频值以提供更长的时基中断周期。不同来源的时钟源fTB依次控制时基中断周期。

首先我们需要设置时基中断,通过上面示意图,我们需要进行以下几步:

  1. 选择时钟源
  2. 选择合适的分频器
  3. 编写中断处理函数
  4. 开启中断包括EMI、TBnE、TBON;

参考代码如下:

该功能主要实现了通过时基中断设置一个周期为1.024ms的中断,然后通过累加计数方式实现LED灯不断闪烁,周期为1.024s。

c 复制代码
#include "HT66F0185.h"



#define u8 unsigned char
#define u16 unsigned int

#define CLED _pa3

void delay_ms(u16 ms)
{
	while(ms--)
	{
		GCC_DELAY(2000);//编译器自带延时指定个周期,在主频8Mhz下,一个指令周期为0.5us	
		GCC_CLRWDT();
	}
}


void main()
{
	_wdtc=0xa8;//关闭看门狗
	_pac3=0;//设置为输出
	_cos=1;//设置pa3管脚为IO,而不是比较器输出

	_tbon = 1;	//enable TBC
	_tbck = 1;	//Ftb = Fsys/4

	_tb02 = 0;
	_tb01 = 1;
	_tb00 = 1;	//2^11/Ftb 2024/2000000 = 1.024ms
	
	_emi = 1;
	_tb0e = 1;
	

	while(1)
	{

	}
}


DEFINE_ISR(tb0,0x1c)
{
	static u16 ms = 0;
	if(++ms > 1000)
	{
		ms = 0;
		CLED = ~CLED;
	}
}
相关推荐
FreakStudio9 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
✎ ﹏梦醒͜ღ҉繁华落℘14 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
u1521096484914 天前
S.S.Audio PRO A2音频隔离器
嵌入式硬件·音视频·实时音视频·视频编解码·视频
zd84510150014 天前
RS485 总线详解
单片机·嵌入式硬件
半条-咸鱼14 天前
【STM32】I2C协议原理、HAL读写与OLED显示操作
嵌入式硬件·c·信息与通信
wohoo_wangzi14 天前
苏州晟雅泰电子:关于W25Q128JVSIQ这个芯片物料的参数,规格及应用领域
嵌入式硬件
✎ ﹏梦醒͜ღ҉繁华落℘14 天前
编程基础 --高内聚,低耦合
c语言·单片机
科芯创展14 天前
1A,1MHz,30VIN,XZ4115,降压恒流LED驱动芯片
单片机·嵌入式硬件
集芯微电科技有限公司14 天前
四通道2A输出集成功率电感降压模块专为紧凑型方案设计
人工智能·单片机·嵌入式硬件·生成对抗网络·计算机外设
踏着七彩祥云的小丑14 天前
嵌入式测试学习第 37 天:异常场景测试:断电、拔插、干扰、非法指令
单片机·嵌入式硬件·学习