新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC16F917 Time0定時/計數器練習程序

        PIC16F917 Time0定時/計數器練習程序

        作者: 時間:2016-11-18 來源:網絡 收藏

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

        /*************PIC16F917單片機程序******************************/
        /*****File Function : Time0定時器/計數器練習程序 *****/
        /*****Program Author : ZhengWen(ClimberWin)*****/
        /*****MCU : PIC16F917 內部晶振 *****/
        /*****Compile Date : 2010/08/17 *****/
        /*****Edition Info : V1.0 *****/
        /*************************************************************/
        //使用內部Time0定時器/計數器,進行LED計數顯示
        //引腳定義:PORTD=8LED,KEY=RB0(INT)
        /*修改日期: */

        /************************************/
        #include
        #define uchar unsigned char
        #define uint unsigned int
        void Init(void);//初始化子程序
        #define KEY RB0
        uchar led_num;//定義LED計數值存儲地址
        uchar T0_Count;
        void Init(void)
        {
        PORTB = 0B00000000;
        PORTD = 0B00000000;
        TRISB = 0B00100001;//設置RB0為輸入,作為按鍵口
        TRISD = 0B00000000;//設置PORTD口為輸出,作為LED顯示口
        PORTD=~led_num;
        ///////////Time0配置///////////////////////////////////////
        T0CS=0;//配置為定時器模式
        PSA=1;//T0不分頻,預分頻器分配給WDT
        T0IE=1; //T0定時器使能
        T0IF=0; //T0定時器標志位,1表示有中斷,必須軟件清零
        GIE=1;//全局中斷使能
        }


        /////////////定時器0子程序//////////////////
        void interrupt Time0(void)//進入中斷計數值加1,并輸出顯示
        {
        TMR0=0x00;//定時器初始值
        T0IF=0; //清除中斷標志位
        T0_Count++;

        if(T0_Count==200)
        {
        PORTD=~led_num;
        led_num++;
        }
        else
        {;}
        }

        ////////////主程序/////////////////////////
        int main (void)
        {
        Init();//初始化程序
        while(1);//等待進入定時中斷程序
        }



        關鍵詞: PIC16F917Time0計數

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 讷河市| 瑞丽市| 龙陵县| 长垣县| 乌拉特前旗| 辽阳县| 大渡口区| 林周县| 荣昌县| 宁陕县| 库尔勒市| 沙河市| 田阳县| 云安县| 广东省| 平湖市| 尤溪县| 金寨县| 高淳县| 长治市| 玛沁县| 樟树市| 伊金霍洛旗| 长春市| 巴塘县| 武强县| 彭山县| 杭锦后旗| 贵德县| 金门县| 饶平县| 灵石县| 六安市| 咸宁市| 五峰| 平遥县| 霍林郭勒市| 开封县| 成都市| 丰顺县| 新化县|