您的位置 首页 观点

凌阳16位单片机之定时器中止

首先先计算好想要的时间,基本上就是*P_TIMEA_Data=0xffff-你想要的时间频率。然后*P_INT_Ctrl=允许相应的中断允许接受中断,然…

首要先核算好想要的时刻,基本上便是 *P_TIMEA_Data = 0xffff-你想要的时刻频率。然后*P_INT_Ctrl = 答应相应的中止答应承受中止,然后__asm();

然后比及溢出的时分进入相应的中止,

说一下*P_INT_Ctrl的含义,他有两个操作,一个是读操作一个写操作,刚开始或许仅仅看书了解有点难,其实读操作和写操作便是两码事,就像你指令一个人拿东西相同,第一次规则了怎样拿可是下一次拿的时分就不必再告知怎样拿了,之所以叫做读操作是因为不必写(/这句话看似是废话可是想想仍是能够的)即每次铲除的不是写操作而读操作,

*P_TimerA_Ctrl代表舱位什么频率的中止,*P_TimerA_Data 是初始到溢出的方位

#include “SPCE061A.H”
unsigned Output = 0x0000;
void IRQ1()__attribute__((ISR));
void IRQ1()
{
*P_INT_Clear = 0x1000;
Output=~Output;
*P_IOA_Data=Output;
}
int main()
{
__asm(“INT OFF”);
*P_IOA_Dir = 0x00ff;
*P_IOA_Attrib = 0x00ff;
*P_IOA_Data = 0x0000;

*P_INT_Ctrl = 0x1000;
*P_TimerA_Ctrl = 0x000d;
*P_TimerA_Data = 0xffff-1024;
__asm(“INT IRQ”);
while(1)
{
*P_Watchdog_Clear=C_WDTCLR;
}
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/guandian/263956.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部