MCU. Programación en lenguaje ensamblador. Diseñe una subrutina de software con un retraso de 1 s. Sea la frecuencia del oscilador de cristal de 12 MHz.
delay1000ms: (microcontrolador HT46R65) (tenga cuidado de no activar el bit de habilitación de interrupción de temporización)
mov a,10000111b (establezca la frecuencia y el método de conteo) (conteo ascendente o descendente ) )
mov tmr0c,a (registro de control del contador tmr0c)
mov a,low(65536-31250) (la frecuencia establecida es 1S aumentando en 31250) por lo que es DELAY1S
mov TMR0L,a (el registro de orden inferior asignó el valor inicial del contador)
mov a,high(65536-31250)
mov TMR0h, a (el valor inicial asignado al registro alto del contador del valor)
set tmr0c.4 (activar el conteo)
snz intc0.6 (si hay un indicador de solicitud de interrupción ) (omitir si lo hay)
jmp $-1 (retroceder un paso)
clr tmr0c.4 (contando cerca)
clr intc0.6 (borrar indicador de interrupción)
ret