8051定时器

    技术2022-05-19  19

    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


    最新回复(0)