| ??? 08/13/11 09:28 Read: times | #183347 - Issues Responding to: ???'s previous message | 
| There still are some issues with this code (see below) and I also do not understand what timer 0 is used for.
 
        ORG	0000H
	MOV	TMOD, #00100110B	;TIMER 0 MODE 2, COUNTER
	MOV	TH0, #0			;TH0 = 0
AGAIN:	SETB	TR0			;START TIMER/COUNTER 0
BACK1:	MOV	A, TL0			;A = TL0
	MOV	B, P1			;B = P1
	CJNE	A, B, NEXT		;IF A IS NOT EQUAL TO B GOTO NEXT
	CLR	A			;A = 0
	MOV	TL0, A			;TL0 = A
NEXT:	MOV	P2, A
	ACALL 	CONV                    ;CALL CONVERSION SUBROUTINE
	JNB	TF0, BACK1
	CLR	TF0			;CLEAR TIMER 0 FLAG
	SJMP	AGAIN
		
;-------CONVERTING DEC DIGITS TO DISPLAYABLE ASCII DIGITS
CONV:	MOV	B, #10                 
	DIV	AB
	MOV	R2, B
	MOV	B, #10
	DIV	AB
	ORL	A, #30H
	ACALL	SEND
	MOV	A, R4        ; <=== What is in R4 ???
	MOV	A, B         ; <=== Are you sure that SEND did not change B ???
	ORL	A, #30H
	ACALL	SEND
	MOV	R3, A        ; <=== What is R3 for ???
	MOV	A, R2
	ORL	A, #30H
	ACALL	SEND
	MOV	R2, A        ; <=== What is R2 for ???
	SJMP	AGAIN        ; <=== This will create STACK OVERFLOW and destroy ALL registers !!!
	RET                  ; <=== Because you never get here
;-------SERIAL DATA TRANSFER.
SEND:                        ; <=== No need to initialize the UART every time, do it once at startup
	MOV	TH1, #0FDH              ;9600 BAUD RATE
	MOV	SCON, #50H              ;8-BIT, 1 STOP BIT, REN ENABLED
	SETB	TR1                     ;START TIMER 1
	MOV	SBUF, A      ; <=== It is better to check before sending instead of waiting
H_1:	JNB	TI, H_1      ; <=== for the transmission to complete. This way you can do other
	CLR	TI           ; <=== things in the meantime.
	RET
	END
  | 
| Topic | Author | Date | 
| need help to display timer count on hyperterminal and LED'S | 01/01/70 00:00 | |
| Attention to Details | 01/01/70 00:00 | |
| divide by 10 | 01/01/70 00:00 | |
| Hundredth digit is quotient of division by 100 | 01/01/70 00:00 | |
| thanks | 01/01/70 00:00 | |
| Debugged with pen and paper? | 01/01/70 00:00 | |
| Debugged | 01/01/70 00:00 | |
| Decimal or hexadecimal? | 01/01/70 00:00 | |
| decision | 01/01/70 00:00 | |
| So take up the challenge then | 01/01/70 00:00 | |
| agreed | 01/01/70 00:00 | |
| Actually BCD!! | 01/01/70 00:00 | |
| Oh Details Details | 01/01/70 00:00 | |
| update | 01/01/70 00:00 | |
| Issues | 01/01/70 00:00 | |
| better to check before sending | 01/01/70 00:00 | |
| Even Better....   | 01/01/70 00:00 | 



