Foros del Web » Programación para mayores de 30 ;) » Programación General »

Programa

Estas en el tema de Programa en el foro de Programación General en Foros del Web. Tengo este programa, en el cual sale una salida sinosoidal. Para el 8253 o 8254 TIPO EQU 0FH BASE EQU 220H CONT1 EQU BASE+1 CONT2 ...
  #1 (permalink)  
Antiguo 27/02/2008, 04:06
 
Fecha de Ingreso: febrero-2008
Mensajes: 2
Antigüedad: 16 años, 9 meses
Puntos: 0
Programa

Tengo este programa, en el cual sale una salida sinosoidal.
Para el 8253 o 8254

TIPO EQU 0FH
BASE EQU 220H
CONT1 EQU BASE+1
CONT2 EQU BASE+2
PAL_CONT EQU BASE+3
ADCLB EQU BASE+4
ADCHB EQU BASE+5
DAC2LB EQU BASE+6
DAC2HB EQU BASE+7
FINT EQU BASE+8
RANGO EQU BASE+9
CANAL EQU BASE+10
MODO EQU BASE+11
REG_MASC EQU 21H
OWC2 EQU 20H

datos segment
DATOS ENDS

CODIGO SEGMENT
ASSUME CS:CODIGO, DS:DATOS
PRINCIPAL PROC FAR
MOV AX,DATOS
MOV DS,AX
;INICIALIZAR CONTADOR

MOV DX,RANGO ;
MOV AL,04H ;
OUT DX,AL ;SELECCIONAR RANGO

MOV DX,CANAL ;
MOV AL,13H ;
OUT DX,AL ;SELECCIONAR CANAL

MOV DX,REG_MASC ;
IN AL,DX ;
OR AL,80H ;
OUT DX,AL ;ENMASCARAR IRQ7

MOV CX,SEG RUTINA ;
MOV DX,OFFSET RUTINA ;
SUB AX,AX ;
MOV ES,AX ;
MOV SI,TIPO*4 ;
CLI ;
MOV ES:[SI],DX ;
MOV ES:[SI+2],CX ;
STI ;INSTALACION RUTINA TRATAMIENTO

MOV AH,0FFH
MOV CX,0FFFFH

MOV DX,PAL_CONT ;
MOV AL,74H ;
OUT DX,AL ;
MOV DX,CONT1 ;
MOV AL,4 ;
OUT DX,AL ;
MOV AL,0 ;
OUT DX,AL ;PROGRAMA DE CONTADOR 1

MOV DX,PAL_CONT ;
MOV AL,0B4H ;
OUT DX,AL ;
MOV DX,CONT2 ;
MOV AL,32H ;
OUT DX,AL ;
MOV AL,01H ;
OUT DX,AL ;PROGRAMA DE CONTADOR 2

MOV DX,REG_MASC ;
IN AL,DX ;
AND AL,7FH ;
OUT DX,AL ;DESENMASCARAR IRQ7

MOV DX,MODO ;
MOV AL,6 ;
OUT DX,AL ;MODOINTERRUPCION

MOV DX,OWC2 ;
MOV AL,20H ;
OUT DX,AL ;EOI NO ESPECIFICO

MOV DX,FINT ;
MOV AL,0 ;
OUT DX,AL ;
;BORRAR FLAG INTERRUPCION
BUC: CMP CX,0 ;
JNE BUC ;COMPARACIàN
MOV CX,0FFFFh
DEC AH
JNE BUC

MOV DX,MODO ;
MOV AL,0 ;
OUT DX,AL ;DESACTIVAR MODO

MOV AX,4C00H
INT 21H
PRINCIPAL ENDP
RUTINA PROC NEAR

MOV DX,ADCLB ;
IN AL,DX ;
MOV BL,AL ;LEER ADCLB
MOV DX,ADCHB ;
IN AL,DX ;
MOV BH,AL ;LEER ADCHB -
MOV DX,DAC2LB ;
MOV AL,BL ;
OUT DX,AL ;ESCRIBIR DAC2LB
MOV DX,DAC2HB ;
MOV AL,BH ;
OUT DX,AL ;ESCRIBIR DAC2HB
MOV DX,FINT
MOV AL,0
OUT DX,AL
MOV DX,OWC2 ;
MOV AL,20H ;
OUT DX,AL ;EOI NO ESPECIFICO


DEC CX
IRET
RUTINA ENDP
CODIGO ENDS
END PRINCIPAL


Y necesito saber como hacer salir una senyal quadrada en un rango de tensiones de +-4v.

¿Alguien puede ayudarme?

Última edición por Blade89; 27/02/2008 a las 05:29
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:22.