delay.asm

来自「汇编程序(cygnal c8051f021)」· 汇编 代码 · 共 32 行

ASM
32
字号
$INCLUDE(C8051F020.INC)
          ORG 0000H
		  		AJMP START
   		  	ORG 0100H
START:    mov   WDTCN, #0deh            ; disable watchdog timer
          mov   WDTCN, #0adh
          mov   OSCXCN, #67h            ; enable external crystal
                                          ; oscillator at 22.1184MHz

          clr   A                       ; wait at least 1ms 
          djnz  acc, $                  ;  wait ~512us
          djnz  acc, $                  ;  wait ~512us

osc_wait:                                 ; poll for XTLVLD-->1
          mov   a, OSCXCN
          jnb   acc.7, osc_wait

          orl   OSCICN, #08h            ; select external oscillator as 
                                          ; system clock source
          orl   OSCXCN, #80h            ; enable missing clock detector

          MOV TMOD,#00010001B
DELAY1S:  MOV R0,#014H
DELAY1SS: MOV TL0,#01H//1S
		  		MOV TH0,#04CH
		  		SETB TR0
LOOP1:    JBC TF0,LOOP2
		  		SJMP LOOP1
LOOP2:    CLR TR0
          DJNZ R0,DELAY1SS 
		  		CLR TR0
		  		RET

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?