毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

自动往返小车电路图及汇编程序 第6页

更新时间:2010-2-23:  来源:毕业论文
自动往返小车电路图及汇编程序 第6页
      CLR    EX1             ;关外中断1
                 INC    20H             ;圈加1
  LLLL:          MOV    A,20H         ;判断是否满6圈
                 CJNE   A,#06H,LLL        ;不满6圈转LLL退出
                 MOV    20H,#00H         ;满6圈清0进位(6圈为1米)
                 INC    21H             ;上位加1
                 MOV    A,21H         ;判断是否满10
                 CJNE   A,#0AH,LLL        ;不满10转LLL
                 MOV    21H,#00H         ; 满10清0进1位
                 INC    22H             ; 高位加1
                 MOV    A,22H         ; 判断是否满10
                 CJNE   A,#0AH,LLL        ; 不满10转LLL
                 MOV    22H,#00H         ; 满10清0进1位
                 INC    24H            ; 高位加1
                 MOV    A,24H         ; 判断是否满10
                 CJNE   A,#0AH,LLL        ; 不满10转LLL
                 MOV    24H,#00H         ; 满10清0
LLL:             MOV    74H,21H         ; 将里程数移入显示单元(个位)
                 MOV    75H,22H         ; 将里程数移入显示单元(十位)
                 MOV    76H,24H         ; 将里程数移入显示单元(百位)
IN1RET:          POP    PSW           ;恢复堆栈
                 POP    ACC          ;
                 SETB   EX1           ;开外中断1
                 RETI            ;中断返回
;
;*************************************
;*           时间计时器程序           *
;*      (T1定时中断服务程序)      *
;*                                    *
;*************************************
INTT1:             PUSH   ACC         ;堆栈保护
                   PUSH   PSW         ;
                   MOV  TL1,#0B0H      ;赋50毫秒定时初值
                   MOV  TH1,#3CH        ;
                   DEC  R4         ;减1
                   MOV  A,R4         ;
                   JNZ  RETT0        ;不为0转RETT0
                   MOV  R4,#14H        ;为0(1秒到)重赋初值
                   MOV  R0,#71H        ;地址指向71H
                   ACALL  ADD1         ;加1秒操作
                   MOV  A,R3         ;
                   CLR  C         ;
                   CJNE A,#60H,CC      ;是否为60秒?
CC:      JC  RETT0        ;小于60转RETT0
                   ACALL CLR0        ;大于或等于60清0
                   MOV  R0,#73H        ;指向分计时地址单元
                   ACALL ADD1         ;分加1
                   MOV  A,R3         ;
                   CLR  C         ;
                   CJNE A,#60H,CCC      ;是否为60分?
CCC:      JC     RETT0         ;小于60转RETT0
                   ACALL  CLR0          ;大于或等于60分计时单元清0
  RETT0:     POP   PSW          ;恢复堆栈
                   POP   ACC          ;
                   RETI            ;中断返回
;
              ;;;;;;;;;;;;;; ;;;;
              ; 加1操作程序    ;
              ;;;;;;;;;;;;;; ;;;;
ADD1:      MOV  A,@R0          ;取计数值
                   DEC  R0            ;指向低一个地址
                   SWAP  A            ;计数值高低四位交换
                   ORL   A,@R0          ;相或组合成一个数据
                   ADD   A,#01H          ;加1
                   DA   A            ;十进制调整
                   MOV   R3,A          ;暂存R3内
                   ANL   A,#0FH          ;高四位变0
                   MOV  @R0,A          ;放回低地址
                   MOV  A,R3          ;取回R3内数据
                   INC  R0            ;地址加1
                   SWAP  A            ;高低四位交换
                   ANL   A,#0FH          ;高四位为0
                   MOV  @R0,A          ;放回原地址
                   RET             ;返回
;
               ;;;;;;;;;;;;;
               ; 清0程序  ;
               ;;;;;;;;;;;;;
CLR0:      CLR  A            ;清A
                   MOV   @R0,A          ;对应地址单元清0
                   DEC  R0            ;指向低一地址
                   MOV  @R0,A          ;清0
                   RET             ;返回
;
;
               ;;;;;;;;;;;;;
               ; 显示程序  ;
               ;;;;;;;;;;;;;
DISP:      MOV  R1,#70H          ;显示数据首址
                   MOV R5,#0FEH          ;扫描字
PLAY:     MOV A,R5            ;扫描字入A
                   MOV P2,A            ;从P2口输出
                   MOV  A,@R1          ;取显示数据
                   MOV  DPTR,#TAB         ;取段码表首址
                   MOVC A,@A+DPTR          ; 查数据对应段码
                   MOV  P0,A           ;段码从P0口输出
                   LCALL DL1MS       ;点亮1毫秒
                   INC  R1            ;指向下显示数地址
                   MOV  A,R5            ;扫描字入A
                   JNB  ACC.6,ENDOUT     ;ACC.6=0转ENDOUT结束
                   RL  A            ;循环左移
                   MOV  R5,A            ;放回A
                   AJMP PLAY            ;转PLAY再显示
ENDOUT:     MOV  P2,#0FFH       ;显示结束处理。P2口置1
                   RET             ;子程序结束
;
;LED共阴段码表(0-9)
TAB:      DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

上一页  [1] [2] [3] [4] [5] [6] [7] [8] 下一页

自动往返小车电路图及汇编程序 第6页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。