| ??? 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 |



