osoenbolsa
Joined: 20 Jul 2009 Posts: 4 Location: Spain
|
20 Jul 2009 21:25 Re: 8051 |
|
|
|
|
can any one helpe me about who can i calculate the value of frequency by using counter
if i want to input frequency to the microcontro then i want to now what is the value of it .
please i need code to do that and any information about it.
I need code in asm languaje.
I need pass the values of tl1,th1 y r3 (ej.asm) to Hz.
Thanks
Added after 1 minutes:
This is my example code (ej.asm)
ORIGIN 0000H
JMP INICIO
ORIGIN 8200H
*******************************************************
*********INICIALIZACION DEL LCD************************
*******************************************************
INICIO: CALL TIEMPO
MOV A,#38H
CALL ESCI_1
CALL TIEMPO
CALL ESCI_1
CALL TIEMPO
CALL ESCI
CALL ESCI
MOV A,#08H
CALL ESCI
MOV A,#01H
CALL ESCI
MOV A,#06H
CALL ESCI
MOV A,#0FH
CALL ESCI
*************MUESTRA EL PRIMER MENSAJE*******************
*********************************************************
MOV DPTR,#B000H
MENS1: MOV A,#00H
MOVC A,@A+DPTR
CALL ESCD
INC DPTR
MOV A,DPL
CJNE A,#05H,MENS1
MOV A,#86H
CALL ESCI
************VALORES DE EJEMLPO PARA COMPROBAR FUNCIONAMIENTO****************
************INCPOS PASA DE HEXADECIMAL A BCD********************************
CLR 21H
MOV TL1,#38H
MOV TH1,#42H
MOV R3,#0FH
INCPOS EQU C000H
MOV 60H,TL1
MOV DPH,#D0H
MOV DPL,#00H
MOV 50H,#01H
MOV 51H,#04H
CALL INCPOS
MOV 50H,#02H
MOV 51H,#03H
CALL INCPOS
MOV 50H,#03H
MOV 51H,#01H
CALL INCPOS
MOV 60H,TH1
MOV DPH,#D0H
MOV DPL,#0DH
MOV 50H,#03H
MOV 51H,#02H
CALL INCPOS
MOV 50H,#04H
MOV 51H,#04H
CALL INCPOS
MOV 50H,#05H
MOV 51H,#02H
CALL INCPOS
MOV 60H,R3
MOV DPH,#D0H
MOV DPL,#2DH
MOV 50H,#05H
MOV 51H,#01H
CALL INCPOS
MOV 50H,#06H
MOV 51H,#03H
CALL INCPOS
MOV 50H,#07H
MOV 51H,#04H
CALL INCPOS
**********************ESCRIBE EL VALOR DEL TH1,TL1 Y R3 EN EL LCD***************
MOV A,39H
ADD A,#30H
CALL ESCD
MOV A,38H
JNZ S
JMP S11
S: SETB 21.2H
S11: ADD A,#30H
CALL ESCD
JNB 21.2H,SEG
MOV A,#'.'
CALL ESCD
SEG: MOV A,37H
ADD A,#30H
CALL ESCD
MOV A,36H
ADD A,#30H
CALL ESCD
MOV A,35H
JNZ MS
JMP SMS
MS: SETB 21.1H
SMS ADD A,#30H
CALL ESCD
JB 21.2H,SEG1
JNB 21.1H,SEG1
MOV A,#'.'
CALL ESCD
SEG1: MOV A,34H
ADD A,#30H
CALL ESCD
MOV A,33H
ADD A,#30H
CALL ESCD
MOV A,32H
ADD A,#30H
CALL ESCD
JB 21.2H,SEGUNDO
JB 21.1H,MILISEG
JMP US
US: MOV A,#'U'
CALL ESCD
MOV A,#'s'
CALL ESCD
JMP FINI
MILISEG:MOV A,#'m'
CALL ESCD
MOV A,#'s'
CALL ESCD
JMP FINI
SEGUNDO:MOV A,#'s'
CALL ESCD
JMP FINI
FINI: JMP FIN
FIN: JMP FIN
********************SUBRUTINAS DEL LCD***********************
*************************************************************
ORIGIN 9450H
ESCI_1: MOV DPTR,#4000H
MOVX @DPTR,A
RET
ORIGIN 9500H
ESCI: MOV DPTR,#4000H
MOVX @DPTR,A
CALL CHEQUE
RET
ORIGIN 9550H
CHEQUE: MOV DPTR,#4002H
OCUPA: MOVX A,@DPTR
JB A.7,OCUPA
RET
ORIGIN 9600H
ESCD: PUSH DPL
PUSH DPH
MOV DPTR,#4001H
MOVX @DPTR,A
CALL CHEQUE
POP DPH
POP DPL
RET
ORIGIN 9650H
TIEMPO: MOV R7,#50
S1: MOV R6,#17
S2: DJNZ R6,S2
DJNZ R7,S1
RET
***********MENSAJE*************
ORIGIN B000H
BYTE 'TON: '
*****************************************************
******RUTINA INCPOS: pASA DE HEXADECIMAL A BCD******
*****************************************************
ORIGIN C000H
CLR 20H.0
SIGBIT: MOV C,20.0H
MOV A,60H
RRC A
MOV 60H,A
MOV 20.0H,C
MOV R1,50H
JC A_UNO
PUSH A
MOV A,DPL
ADD A,50H
MOV DPL,A
POP A
OTROBIT:DJNZ 51H,SIGBIT
RET
A_UNO: MOV R0,#32H
OTRAVEZ:CLR A
MOVC A,@A+DPTR
INCDIGIT:CJNE A,#00H,INCMAS2
JMP FINDIGIT
INCMAS2:DEC A
CJNE @R0,#09H,INCR0
MOV 61H,R0
INCMAS: MOV @R0,#00H
INC R0
CJNE @R0,#09H,INCR02
INCR02: INC @R0
MOV R0,61H
JMP INCDIGIT
INCR0: INC @R0
JMP INCDIGIT
FINDIGIT:INC DPL
DJNZ R1,OTRAV
JMP OTROBIT
OTRAV: INC R0
JMP OTRAVEZ
************************************************************
*************TABLA CON LOS PESOS DE CADA POSICION***********
************************************************************
ORIGIN D000H
BYTE 1,2,4,8,6,1,2,3,4,6,8,2,1,6,5,2,2,1,5,4,2,0,1
BYTE 8,4,0,2,6,9,0,4,2,9,1,8,4,8,3,6,1,8,6,7,2,3,6
BYTE 3,5,5,6,2,7,0,1,3,1,4,4,1,2,6,2,8,8,2,4,2,5,6
BYTE 7,5,8,4,0,1,2,5,1,7,9,0,2,4,0,3,4,9,1,4,8,0,6
BYTE 8,8,3,8
END
|
|