新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機C語言程序設計:用計數器中斷實現100以內的按鍵計數

        單片機C語言程序設計:用計數器中斷實現100以內的按鍵計數

        作者: 時間:2013-08-03 來源:網絡 收藏

        /* 名稱:用 100 以內的按鍵計數

        說明:本例用 T0 按鍵技術,由于計數寄存器初值為 1,因此

        P3.4 引腳的每次負跳變都會觸發 T0 中斷,實現計數值累加。

        的清零用外部中斷 0 控制。
        */

        #includereg51.h>

        #define uchar unsigned char

        #define uint unsigned int

        //段碼

        uchar code

        DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};

        uchar Count=0;

        //主程序

        void main()

        {

        P0=0x00;

        P2=0x00;

        TMOD=0x06; //計數器 T0 方式 2

        TH0=TL0=256-1; //計數值為 1

        ET0=1; //允許 T0 中斷

        EX0=1; //允許 INT0 中斷

        EA=1; //允許 CPU 中斷

        IP=0x02; //設置優先級,T0 高于 INT0

        IT0=1; //INT0 中斷觸發方式為下降沿觸發

        TR0=1; //啟動 T0

        while(1)

        {

        P0=DSY_CODE[Count/10];

        P2=DSY_CODE[Count%10];

        }

        }

        //T0 計數器中斷函數

        void Key_Counter() interrupt 1

        {

        Count=(Count+1)%100; //因為只有兩位數碼管,計數控制在 100 以內(00~99)

        }

        //INT0 中斷函數

        void Clear_Counter() interrupt 0

        {

        Count=0;

        }

        單片機C語言程序設計:用計數器中斷實現100以內的按鍵計數

        c語言相關文章:c語言教程


        塵埃粒子計數器相關文章:塵埃粒子計數器原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 迁安市| 靖江市| 定襄县| 襄垣县| 遂昌县| 阳江市| 密山市| 谢通门县| 文登市| 萍乡市| 潮安县| 阿荣旗| 井研县| 舟曲县| 乐安县| 平原县| 潍坊市| 商丘市| 井研县| 恩施市| 磐安县| 汕头市| 信丰县| 明溪县| 台南市| 巴楚县| 白玉县| 讷河市| 泸定县| 巨野县| 新晃| 高唐县| 伊宁市| 商水县| 镇坪县| 葫芦岛市| 浏阳市| 安龙县| 河北省| 额济纳旗| 郎溪县|