新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 凌陽16位單片機之定時器中斷

        凌陽16位單片機之定時器中斷

        作者: 時間:2016-11-20 來源:網絡 收藏
        首先先計算好想要的時間,基本上就是 *P_TIMEA_Data = 0xffff-你想要的時間頻率。然后*P_INT_Ctrl = 允許相應的中斷允許接受中斷,然后__asm();

        然后等到溢出的時候進入相應的中斷,

        本文引用地址:http://www.104case.com/article/201611/318710.htm

        說一下*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;
        }
        }



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 合阳县| 株洲县| 扶风县| 宝应县| 高平市| 永寿县| 黎城县| 鹤山市| 洛川县| 巴里| 禹州市| 织金县| 凉城县| 邵武市| 襄樊市| 舒城县| 固始县| 扶沟县| 普陀区| 漠河县| 敖汉旗| 堆龙德庆县| 政和县| 彭水| 平昌县| 昆山市| 和田县| 驻马店市| 耿马| 岳阳县| 秦安县| 大冶市| 西安市| 邯郸县| 滨州市| 叶城县| 宁安市| 鄂托克前旗| 公安县| 郎溪县| 嵊泗县|