8051定时器

P3.2口输出周期为2S的方波,T1口为脉冲输入端,记录输入的脉冲个数,脉冲个数由P1口所接的8个数码管显示,设一按键作为开关控制系统运行

实现程序:

        org  0000h

        ljmp MAIN

        org  0003h

        ljmp INT0

        org  000bh

        ljmp TIME0

        org  0013h

        ljmp INT1

        org  001bh

        ljmp TIME1

        org  0030h

MAIN:

        mov  tmod ,#01010001b ;设置定时器1为计数,定时器0为定时

        MOV  TH0  ,#3CH     ;设置定时器0的定时常数

        MOV  TH0  ,#0B0H

        mov  p1   ,#00h  

        mov  th1  ,#0ffh

        mov  tl1  ,#00h

        mov  a    ,#00h

        mov  r0   ,#00h

 

        SETB EA

        SETB EX0

        setb ex1

        SETB ET0

        setb ET1

        SETB IT1

        SETB IT0

        SETB TR0

        ;mov  ip ,#02h

        setb tr1

        AJMP $ 

INT0:

     reti

INT1:

        CPL  00H

        JB   00H  ,Open

        clr  tr0

        clr  tr1  

        reti

Open:

        MOV  TH0 ,#3CH

        MOV  TL0 ,#0B0H

        SETB TR0

        setb tr1

        MOV  R0  ,#00H

        reti

TIME0:  MOV  TH0 ,#3CH

        MOV  TL0 ,#0B0H

        INC  R0

        CJNE R0  ,#0aH ,BYETIME0

        cpl  p3.2

        mov  p1,tl1

        MOV  R0  ,#00H

BYETIME0:

        reti        

TIME1:

        mov th1  ,#0ffh

        mov tl1  ,#00h

        ;inc a

        ;mov p1,a

        reti

发布了31 篇原创文章 · 获赞 1 · 访问量 3万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章