新聞中心

        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 定時技術

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 五常市| 汉源县| 汉中市| 青阳县| 阿鲁科尔沁旗| 两当县| 获嘉县| 和田市| 红安县| 永昌县| 麦盖提县| 大名县| 赣榆县| 苍山县| 垦利县| 寿宁县| 浦东新区| 杭州市| 延吉市| 延寿县| 吴旗县| 宁津县| 沛县| 清镇市| 莱阳市| 延边| 绥德县| 东阿县| 大厂| 四会市| 体育| 全椒县| 防城港市| 苏尼特左旗| 澄迈县| 错那县| 呼图壁县| 三江| 灵丘县| 喀喇| 桓仁|