专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

T0作定时器汇编程序(中断法)

作者:huqin   来源:本站原创   点击数:  更新时间:2014年03月17日   【字体:

单片机T0作定时器实现数码管显示的汇编程序(中断法)
电路是:P0口接数码管的字型码笔段,P2口接数码管的数位选择端. 

下面是汇编语言源程序: 
  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-5000)/256
           MOV TL0,#(65536-5000) 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

T0工作在方式1,计时50ms,共20个循环,总计时1秒。

P0口显示低位,P2口显示高位,满60清零

 

关闭窗口

相关文章