Main Page | Report this Page
 
   
Science Forum Index  »  Electronics - Components Forum  »  8051 counter
Page 1 of 1    
Author Message
quad
Posted: Fri Feb 23, 2007 11:05 am
Guest
MOV A,#90H
MOV DPTR,#FF13H // LOAD CTRL WORD(90H) TO CONTROL REG(FF13) PA-
IN,PB-OUT,PC-OUT
MOVX @DPTR,A

MOV R1,#0Fh //COUNTER VALUE
MOV A,R1
MOV R2,A //R2 STORES THE CTR VALUE OF EACH ITERATION OF THE
PROGRAM

REPEAT: MOV DPTR,#FF11H
MOV A,R2 // MOVE ACC VALUE TO PORT B(FF11 - O/P PORT)
MOVX @DPTR,A

MOV DPTR,#FF10H
MOVX A,@DPTR // GET VALUE ON PORT A AND MOVE TO ACC

ADD A,#30H // CONVERT ACC VALUE TO HEXA

MOV TMOD,#20H
MOV TH1,#FDH
MOV TL1,#00H // MOVE ACC CONTENTS TO SERIAL PORT
MOV TCON,#40H
MOV SCON,#58H
MOV SBUF,A

HERE: JNB TI,HERE
CLR TI // TI = SCON.1

DEC R2
CJNE R2,#0,REPEAT // REPEAT FOR CTR VALUES STARTING FROM "OF" TO
"00"

PROBLEM: output comes on hyperterminal only for the first time.
Subsequent counter values are not getting printed. Anything to be
changed in tcon,scon,tmod? Or some clk freq to be changed, delay
given? Or anything else to be reset or cleared? Please clarify

Thanks
Quad
 
Page 1 of 1       All times are GMT - 5 Hours
The time now is Sat Oct 11, 2008 12:46 am