Parallax Propeller Manual Del Usuario página 175

Kit educativo
Tabla de contenido

Publicidad

7: Práctica de Módulos Contadores y Aplicaciones de Circuitos
Calcule el registro FRQ y el bit de campo de PLLDIV para varias frecuencias en el rango de
500 kHz a 40MHz.
Cargue TestPllParameters.spin en EEPROM (F11) a inmediatamente después presione el
botón Enable de la Terminal Serial Parallax.
Ingrese los valores FRQ y PLLDIV en la ventana de transmisión de la Terminal Serial
Parallax y verifique que la frecuencia medida es aproximadamente la misma que usted
calculo.
{{ TestPllParameters.spin
Prueba frecuencias PLL hasta 40 MHz. Los valores del registro PHS y el bit de campo PLLDIV
se ingresan en la Terminal Serial Parallax. El programa usa estos valores para sintetizar
la onda cuadrada con el modo PLL usando el contador A. El contador del modulo B cuenta los
ciclos en 1 s y los reporta. }}
CON
_clkmode = xtal1 + pll16x
_xinfreq = 5_000_000
' Constantes para la Terminal Serial Parallax.
CLS = 16, CR = 13
OBJ
SqrWave : "SquareWave"
debug
: "FullDuplexSerialPlus"
PUB TestFrequency | delay, cycles
Debug.Start(31, 30, 0, 57600)
waitcnt(clkfreq * 2 + cnt)
Debug.tx(CLS)
' Configura módulos contadores.
ctra[30..26] := %00010
ctra[5..0] := 15
ctrb[30..26] := %01110
ctrb[5..0] := 15
frqb:= 1
repeat
Debug.str(String("Enter frqa: "))
frqa := Debug.GetDec
Debug.str(String("Enter PLLDIV: "))
ctra[25..23] := Debug.GetDec
dira[15]~~
delay := clkfreq + cnt
phsb~
waitcnt(delay)
cycles := phsb
dira[15]~
Debug.str(String("f = "))
debug.dec(cycles)
debug.str(String(" Hz", CR, CR))
' Reloj de sistema → 80 MHz
' Modulo ctra a PLL modo
' terminación sencilla
' Modulo ctrb para modo
' detector NEGEDGE
' frqa y PLLDIV se ingresan
' por el usuario
' P15 → salida
' Pre calcula retraso de
' ciclos de reloj
' Espera 1 s.
' Almacena ciclos
' P15 → entrada
' Muestra ciclos como frec.
Kit Educativo de Practicas Propeller: Fundamentos · Página 175

Publicidad

Tabla de contenido
loading

Tabla de contenido