GOGOGO高清完整国语,GOGOGO在线观看免费观看完整版高清,GOGOGO免费高清完整,GOGOGO高清在线观看免费视频,GOGOGO日本高清国语完整,GOGOGO免费高清完整版

技術熱線: 4007-888-234
設計開發

專注差異化嵌入式產品解決方案 給智能產品定制注入靈魂給予生命

開發工具

提供開發工具、應用測試 完善的開發代碼案例庫分享

技術支持

從全面的產品導入到強大技術支援服務 全程貼心伴隨服務,創造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產品競爭力

新聞中心

提供最新的單片機資訊,行業消息以及公司新聞動態

microchip單片機DSPIC33F例程之TIMER1例程

更新時間: 2019-03-23
閱讀量:6152

十年專注單片機方案開發的方案公司英銳恩,分享microchip單片機DSPIC33F例程之TIMER1例程。英銳恩現提供服務產品涉及主控芯片:8位單片機、16位單片機、32位單片機及各類運算放大器等。

//母體為DSPIC33FJ64GP206,編譯器為C30測試版,在微芯網站上有免費下載

//晶體為16M,PLL4,那么系統頻率應該是16*4/2=32M,本例程可以產生1KHZ頻率的中斷,中斷服務程序可自行添加,如果改定時時間可以修改預分頻比和PR1

#include

void timer1_init(void)
{
        T1CON = 0;              //確保T1關閉,再進行初始化 
        IFS0bits.T1IF = 0;     //清T1復位標志,使T1復位   
        IPC0bits.T1IP = 5;     //3個BIT,設置T1的中斷優先級,0~7,7是做高優先級       
        IEC0bits.T1IE = 1;     //開T1中斷
        T1CONbits.TCKPS = 1;   //設置T1的預分頻比是8,即T1加一次需要的時間為1/(32M/8)秒,即0.25uS
                                          //2個bit,00--1:1,01--1:8,10--1:64,11--1:256
        PR1 = 4000;  //根據計算應該是從0開始計數,加到PR1時產生中斷,跟以往的MCU溢出中斷不同
                                          //這個寄存器的值計算結果為,400~40000分別對應10KHz到100Hz
        T1CONbits.TON = 1;     //打開T1并開始計數

}
//====================定時中斷服務程序======================
void __attribute__((__interrupt__,no_auto_psv)) _T1Interrupt(void)
{       PR1=40320/Ftimer1;   //計算定時器的溢出值       
        IFS0bits.T1IF = 0;     //在軟件里清中斷標志

        // your ISR code


}

(文源網絡,侵刪)

欢迎光临: 左权县| 平武县| 伊宁县| 酒泉市| 保山市| 湄潭县| 揭阳市| 汝阳县| 辽中县| 黄龙县| 富顺县| 宿松县| 河东区| 盈江县| 中山市| 卢龙县| 宝兴县| 滨州市| 图们市| 新竹县| 化州市| 天镇县| 梁平县| 鹿泉市| 北安市| 雷州市| 云林县| 衡阳市| 宁夏| 徐汇区| 合水县| 大悟县| 和硕县| 宿迁市| 洛川县| 玛多县| 万载县| 紫阳县| 香河县| 通渭县| 白沙|