作者:    来源:互联网
延时显示乘法口决程序 (第1部分)
;     每延时1S显示一句口决,中间间隔2S显示
; Date : 2006.3.06     12MHZ晶振                                          
; Create by :逸飞       E-mail: zidh.com@163.com                             
;**************************************************************
;**************************************************************
;                 伪定义               
;**************************************************************
                       DISPBUF EQU     30H;定义显示缓冲区首址,
;                                 从30H到35H都定义为显示缓冲区
                       JI_GE     EQU     36H
           JI_SHI     EQU     37H
           DENGYU     EQU     38H
           SHU2     EQU     39H
           DIAN     EQU     3AH
           SHU1     EQU     3BH
;**************************************************************
;                 主 程 序               
;**************************************************************
                       ORG 0000H         ;程序执行开始地址
                       LJMP         START ;跳到标号START执行
                       ORG 000BH         ;定时器T0中断程序入口
               LJMP         INTT0 ;跳至INTTO执行
                       ORG     0040H
               START:               
   MOV     R0,#30H         ;清30H-3BH共11个内存单元
                       MOV     R1,#0CH         ;
       CLEARDISP: MOV     @R0,#00H         ;
                       INC     R0                 ;
                       DJNZ R1,CLEARDISP     ;
   MOV     DIAN,#10
   MOV     DENGYU,#11
                       MOV     SHU1,#1
                       MOV     SHU2,#1                           
   MOV     A,SHU1
   MOV     B,SHU2
   MUL     AB
   MOV     B,#10
   DIV     AB
   MOV     JI_SHI,A
   MOV     JI_GE,B
                       MOV     30H,36H         ;送显示缓冲区
   MOV     31H,37H   
                       MOV     32H,38H
   MOV     33H,39H
   MOV     34H,3AH   
                       MOV     35H,3BH
                       MOV     TMOD,#11H         ;设T016位定时器
                       MOV     TL0,#0B0H     ;50MS定时初值(T0计时用)
                       MOV     TH0,#3CH     ;50MS定时初值                       
                       SETB EA                 ;总中断开放
                       SETB ET0                 ;允许T0中断
                       SETB TR0                 ;开启T0定时器
                       MOV     R4,#14H         ;1秒定时用初值(50MS×20)
   START1: LCALL DISPLAY         ;调用显示子程序
                       SJMP START1             ;P3.7口为1时跳回START1