单片机汇编语言循环定时程序

已知某单片机系统的晶振频率为6MHz ,NOP指令为单周期指令,DJNZ为双周期指令,用汇编语言编写一个单循环定时程序,实现1毫秒(循环体)的定时。

ORG 0x0000 ; 程序起始地址

DELAY:
    MOV R1, #6 ; 设置循环计数器的初始值为6

LOOP:
    MOV R0, #250 ; 设置内部循环计数器的初始值为250
DELAY_LOOP:
    NOP ; 空操作指令,消耗一个周期
    DJNZ R0, DELAY_LOOP ; 内部循环计数器减一,并检查是否为零,若不为零则跳转到DELAY_LOOP

    DJNZ R1, LOOP ; 外部循环计数器减一,并检查是否为零,若不为零则跳转到LOOP

    RET ; 程序返回

END ; 程序结束