ORG 00H MOV TMOD,#10H A1:MOV TL1,#BEH MOV TH1,#FCH SETB P1.0 ACALL DELAY CLR P1.0 ACALL DELAY SJMP A1 DELAY: SETB TR1 A2:JNB TF1,A2 CLR TR1 CLR TF1 RET END
when I compile this source I get the following error "EXP4.A51(3): error A45: UNDEFINED SYMBOL (PASS-2)"....i think it may be some problem in the compiler. my selected device is also from 8051 family.
<code> A1:MOV TL1,#<bold>0</bold>BEH </code
8051 assembler is very difficult. even i dont know it all yet.
So define it, then!!
http://www.keil.com/support/man/docs/a51/a51_a45.htm
www.catb.org/.../smart-questions.html
That would likely be a rather naive mistake of interpreting the error message too literally!
The probable intention was to use the literal value 0xBE (and 0xFC on the following line).
So, in an assembler file a hexadecimal value must begin with a digit, as described here:
http://www.keil.com/support/man/docs/a51/a51_wp_numbers.htm
Thanx a lot...i put 0 prior to the hex no. i.e. MOV TH1,#0FD. the error was gone. I think without zero the compiler take F as a letter