中断测试例子


//==========================================//
// 中断设置
//以下案例分别介绍了T16中断、外部IO中断
//T16中断:计数器溢出触发中断
// 例中reload_T16计数超过中断源时溢出
//外部IO中断:上升缘和下降缘触发中断
// 例中PA.0的状态从0到1或者从1到0都会触发中断
//==========================================//
#include "extern.h"
//注:只需要开启需要的中断,不需要的中断可以删除。
//========T16中断设置========
word reload_T16;
BIT LED1 : PA.3;
BIT LED2 : PA.4;
void T16_init(void)
{
$ T16M SYSCLK,/1,bit8; //T16的时钟源选择,内部的时钟分频器,中断源选择(当选择位由低到高或者由高到低时,发生中断事件);
//时钟源选择可以选择STOP, SYSCLK, PA4_F, IHRC, ILRC, PA0_F;分频器可选择/1, /4, /16, /64
//中断源可选择BIT8, BIT9, BIT10, BIT11, BIT12, BIT13, BIT14, BIT15
// $ T16M stop; //关闭T16时钟,即关闭T16中断
reload_T16 = 0;
stt16 reload_T16; //设

该文介绍了一种中断测试的例子,包括T16定时器中断和外部IO中断(PA0)。通过设置T16计数器溢出和PA0状态变化触发中断,利用中断服务函数实现LED翻转,验证中断功能。实验中,可以通过关闭PA0中断,仅开启T16中断来单独测试T16中断功能。
最低0.47元/天 解锁文章
1117





