新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機計數器T0作定時技術

        單片機計數器T0作定時技術

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

        1.匯編源程序(中斷法)

        SECOND EQU 30H

        TCOUNT EQU 31H

        ORG 00H

        LJMP START

        ORG 0BH

        LJMP INT0X

        START: MOV SECOND,#00H

        MOV A,SECOND

        MOV B,#10

        DIV AB

        MOV DPTR,#TABLE

        MOVC A,@A+DPTR

        MOV P0,A

        MOV A,B

        MOVC A,@A+DPTR

        MOV P2,A

        MOV TCOUNT,#00H

        MOV TMOD,#01H

        MOV TH0,#(65536-50000) / 256

        MOV TL0,#(65536-50000) MOD 256

        SETB TR0

        SETB ET0

        SETB EA

        SJMP $

        INT0X:

        MOV TH0,#(65536-50000) / 256

        MOV TL0,#(65536-50000) MOD 256

        INC TCOUNT

        MOV A,TCOUNT

        CJNE A,#20,NEXT

        MOV TCOUNT,#00H

        INC SECOND

        MOV A,SECOND

        CJNE A,#60,NEX

        MOV SECOND,#00H

        NEX: MOV A,SECOND

        MOV B,#10

        DIV AB

        MOV DPTR,#TABLE

        MOVC A,@A+DPTR

        MOV P0,A

        MOV A,B

        MOVC A,@A+DPTR

        MOV P2,A

        NEXT: RETI

        TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

        END

        2.C語言源程序(中斷法)

        #include AT89X51.H>

        unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,

        0x66,0x6d,0x7d,0x07,

        0x7f,0x6f,0x77,0x7c,

        0x39,0x5e,0x79,0x71,0x00};

        unsigned char second;

        unsigned char tcount;

        void main(void)

        {

        TMOD=0x01;

        TH0=(65536-50000)/256;

        TL0=(65536-50000)%6;

        TR0=1;

        ET0=1;

        EA=1;

        tcount=0;

        second=0;

        P0=dispcode[second/10];

        P2=dispcode[second];

        while(1);

        }

        void t0(void) interrupt 1 using 0

        {

        tcount++;

        if(tcount==20)

        {

        tcount=0;

        second++;

        if(second==60)

        {

        second=0;

        }

        P0=dispcode[second/10];

        P2=dispcode[second];

        }

        TH0=(65536-50000)/256;

        TL0=(65536-50000)%6;

        }

        51單片機相關文章:51單片機教程


        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理


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

        上一頁 1 2 3 下一頁

        關鍵詞: 單片機 計數器T0 定時技術

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平潭县| 东阳市| 桑植县| 四子王旗| 英山县| 枞阳县| 绥德县| 庄浪县| 诏安县| 含山县| 报价| 阳原县| 赤水市| 万全县| 盖州市| 临清市| 南川市| 加查县| 家居| 朝阳市| 锡林浩特市| 县级市| 台北市| 贡嘎县| 沅陵县| 颍上县| 高邮市| 榆中县| 梅州市| 兴和县| 伊吾县| 岱山县| 云安县| 崇明县| 昭平县| 保德县| 项城市| 台北县| 河间市| 盖州市| 莱州市|