新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC16F72 TIMER0定時器練習程序

        PIC16F72 TIMER0定時器練習程序

        作者: 時間:2016-11-13 來源:網絡 收藏
        要使用PIC的TIMER0,首先需要看數據手冊,熟悉寄存器配置

        這里需要用到OPTION,INTCON的配置,還有TMR0計數值的預置。

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

        典型應用程序:利用定時中斷實現發光管一閃一閃功能。

        源程序:

        #include
        #define uchar unsigned char
        #define uint unsigned int

        #define LED1 RC0

        ///////////////////////初始化設置程序////////////////////////////////

        void Init(void)
        {
        PORTA = 0B00000000;
        PORTB = 0B00000000;
        PORTC = 0B00000000;

        TRISA = 0B00000000;//設置PORTA口為輸出
        TRISB = 0B00000001;//設置RB0為輸入,作為按鍵口
        TRISC = 0B00000000;//設置RC輸出

        ADCON1=0B11111111;//設置為數字I/O

        counter=0;

        OPTION=0B01010011;//配置中斷和定時器0
        TMR0=5;
        T0IE=1;//使能定時器中斷0
        GIE=1; //全局中斷使能


        }

        ///////////////////////定時中斷程序////////////////////////////////

        void interrupt timer0_int(void)
        {
        T0IF=0;//清除中斷標志位
        TMR0=5; //重新設置定時器時間
        counter++;
        if(counter==250)
        {
        counter=0;
        LED1=!LED1;
        }
        }

        ///////////////////////主程序////////////////////////////////

        void main (void)
        {
        Init();//初始化程序

        PORTC=0XFF;
        PORTB=0XFF;
        while(1);

        }



        關鍵詞: PIC16F72TIMER0定時

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 秀山| 新河县| 阜康市| 宜川县| 武乡县| 连州市| 讷河市| 广饶县| 嘉义市| 石景山区| 紫金县| 厦门市| 蕲春县| 镇远县| 阜康市| 略阳县| 宜昌市| 汉川市| 乳山市| 嘉定区| 达孜县| 沈丘县| 任丘市| 广汉市| 武山县| 周口市| 中超| 印江| 广东省| 太保市| 泌阳县| 黄大仙区| 宜良县| 彰武县| 吴川市| 剑河县| 页游| 教育| 顺义区| 唐山市| 手游|