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

阅读: 评论:0

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

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

首先先计算好想要的时间,基本上就是 *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;
    }
}

本文发布于:2024-02-03 05:05:03,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170690790548837.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:定时器   单片机   凌阳
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23