| ??? 01/03/09 15:14 Read: times |
#161273 - Frequency (Event) Counter Problem |
Hello sir,
I am implementing a frequency counter. I am using the micro-controller ATMEL AT89C51 24PI 0743(11.0592MHz crystal). Timer1 is used for generating a time delay of 1 sec so that I can count the number of pulses/sec. Timer0 is used for counting the number of external pulses connnected to T0 pin. The contents of TH0 and TL0 are displayed on LCD 16*2 display. Frequency is generated using timer IC 555(astable multivibrator) at 806Hz as seen on CR0.Output of 555 is given to T0 pin. The following code has been implemented.
MOV TMOD,#15H ;TIMER 1 MODE 1
;TIMER 0,MODE 1, C/T=1
LOAD: MOV R5,#20 ;DELAY OF 1 SEC
AGAIN: MOV TL1,#0FDH ;VALUES LOADED FOR A DELAY OF 0.05 SEC
MOV TH1,#4BH
MOV TCON,#50H ;STARTING BOTH THE TIMERS AT THE SAME TIME
BACK: JNB TF1,BACK ;CHECKING FOR TIMER FLAG
CLR TR1
CLR TF1
DJNZ R5,AGAIN
CLR TR0 ;STOP TIMER 0
MOV 60H,TH0
MOV 61H,TL0
MOV TL0,#00H ;CLEARING THE TIMER
MOV TH0,#00H
ACALL DISPLAY ;GOES TO DISPLAY ROUTINE TO DISPLAY THE COUNT
LJMP LOAD
Problem 1- I am not getting a stable count in TL0.The count in TH0 remains constant(03 in decimal in this case of 806Hz)and the count in TL0 starts from 44 decimal and increments by 1 for every run of the loop. Problem 2- I have converted the values of TH0 and TL0 separately to decimal to recalculate the frequency.Thus frequency i.e 3*256+44=812Hz does not match with the external frequency of 806Hz. Even if I stop the timer by the command 'CLR TR0,the count in TL0 goes on increasing. Please, could someone help me out by pointing out where I could be going wrong and as to why I am not able to get the precise count for the given frequency. (I have checked on CRO that the 1 sec timer works fine.) |
| Topic | Author | Date |
| Frequency (Event) Counter Problem | 01/01/70 00:00 | |
| less than 1% error | 01/01/70 00:00 | |
| Error % is incremental. | 01/01/70 00:00 | |
| ;STARTING BOTH THE TIMERS AT THE SAME TIME | 01/01/70 00:00 | |
| Less variations in TL0 but still error | 01/01/70 00:00 | |
| I do not know, but | 01/01/70 00:00 | |
| CRO Frequency Measurement | 01/01/70 00:00 | |
| Better But Still An Issue | 01/01/70 00:00 | |
| How stabile is your signal source? | 01/01/70 00:00 | |
| Very Good Point... | 01/01/70 00:00 | |
| Easier if 89c52 is used | 01/01/70 00:00 | |
| How stabile is your signal source? | 01/01/70 00:00 | |
NE555 is popular but not a precision device | 01/01/70 00:00 |



