您的位置:网站首页>>常见问题

仿真器跑起来,简单LED流水灯子程序

发布日期:2018-08-06 15:35:43
;每条指令延时时间:2/4=0.5us
;使用4M晶振.指令为2个时钟周期,指令周期=0.5US.
;---TCC一次计数的时间为:1/(4M/2/8)=4uS---------------;
;----TCC一次中断的时间=250*4=1MS--------------------;
 
       IOCF == 0X0F
       IOCE==0X0E
       TCIF == 0
       C    ==0
       Z    == 2
       R4==0X04
       R0==0X00
       ISR  == 0X0F
       TCC  == 0X1   
       FSR  == 0X04
       INDI == 0X0    
       PC   == 0X02
       R3   == 0X03
       PORT5== 0X05
       PORT6== 0X06
       A_BUFF  == 0X10
       R3_BUFF == 0X11 
       delay0==0x12
       delay1==0x13
       delay2==0x14
       count==0x015
       
;==========================================================
       ORG      0X00
       JMP      START
       ORG      0X08
       JMP      INTI
INTI:  
       DISI
       MOV A_BUFF,A      ;保护现场 
       SWAP A_BUFF
       SWAPA R3
       MOV R3_BUFF,A
       JBS ISR, TCIF
       JMP INT_RET   
       nop
       nop
;-----------------------------------
INT_RET:  
       MOV  A,@6
       add  TCC,A
       BC   ISR,0        ;软件清0
       SWAPA R3_BUFF     ;恢复现场 
       MOV R3,A
       SWAPA A_BUFF
       RETI              ;中断返回.
          
;====================================================
START:;**********************************************************************;
;              Clear EM78P153S Ram Bank Macro                          ;
;**********************************************************************;
;初始化
   ;初始化
        MOV     A,@0X10
        MOV     R4,A
ClrLoop:
        CLR     R0
        INC     R4
        JBC     R4,5
        JBS     R4,4
        JMP     ClrLoop
;---------------------------------------
;*********初使化程序********************
;=======================================
       MOV   A,@0X80    ; 开看门狗 
       IOW   0X0E
       MOV   A,@0b00000000
       IOW   PORT6
       MOV   A,@0X00
       IOW   PORT5
       CLR   PORT6 
       CLR   PORT5
       MOV   A,@0B01000010
       CONTW
       MOV   A,@0X01
       IOW   0X0F
       MOV   A,@6
       MOV   TCC,A
;==================================================================
;     主程序 
;-------------------------------------------
LOOP:   
  
       call    shoosezhengdong
       nop
       wdtc
       JMP     LOOP   
;===========================================================
;       信号检测脚
;===========================================================
shoosezhengdong:
       bs   port6,0
       call  delay
       bs   port6,1
       call  delay
       bs   port6,2
       call  delay
       bs   port6,3
       call  delay
       bs   port6,4
       call  delay
       bs   port6,5
       call  delay
       bs   port6,6
       call  delay
       nop
       clr   port6
       call  delay
       ret
;==================================================================
DELAY:                 
       mov   a,@2
      mov    delay2,a
aa31:             
      MOV    A, @250           ;40*500US=20MS
      MOV    delay0, A
aa11:
      MOV    A, @250          ;250*2US=500US
      MOV    delay1, A
aa21:                   ;4*0.5=2US
      wdtc                 
      DJZ    delay1             
      JMP    aa21        ;JMP指令执行时间为2个指令周期 
      DJZ    delay0 
      JMP    aa11
      djz    delay2
      jmp    aa31
      nop
      RET  
 
 
 
        
   
   
   
    
   
   
   
  
文章关键词:LED流水灯子程序,可以测试仿真器IO口是否正常
网站ICP备案号:粤ICP备17114737号
CopyRight © 2015 深圳市汇美创电子有限公司 版权所有
电话:13480182826  TEL:0755-33654589/ 0755-33687196

公司地址:深圳市龙华新区民治大道328号嘉熙业广场1112室

技术支持:牵牛建站 | 中科商务网  | 网站管理