??? 01/28/07 08:42 Read: times |
#131616 - They are timing loops Responding to: ???'s previous message |
The comments tell you:
putc CLR TXD ;Drop line for start bit MOV R0,#BITTIM ;Wait full bit-time DJNZ R0,* ;For START bit As Jan has suggested, '*' is probably supposed to be an assembler symbol that means "address of first byte of this instruction" - so that could could equally be written: putc CLR TXD ;Drop line for start bit MOV R0,#BITTIM ;Wait full bit-time loop DJNZ R0,loop ;For START bit You need to read the appropriate assembler Manual to check what the '*' symbol means to this particular assembler. You probably also need to read-up on what the DJNZ instruction does to understand how this forms a delay loop: "the bible" Chapter 2 - 80C51 Family Programmer's Guide and Instruction Set: http://www.nxp.com/acrobat_d...UIDE_1.pdf |
Topic | Author | Date |
Bitbanging help needed | 01/01/70 00:00 | |
Because they mistyped $ | 01/01/70 00:00 | |
or use assembler with different syntax | 01/01/70 00:00 | |
Re: Because they mistyped $ | 01/01/70 00:00 | |
That's not what Jan said | 01/01/70 00:00 | |
The bit banging file | 01/01/70 00:00 | |
RE: Bitbanging | 01/01/70 00:00 | |
They are timing loops | 01/01/70 00:00 | |
they used * for a reason | 01/01/70 00:00 | |
RE:Bit banging help | 01/01/70 00:00 | |
Code for bitbanging(Modified) | 01/01/70 00:00 | |
testing two unknowns | 01/01/70 00:00 | |
A hint | 01/01/70 00:00 | |
Another hint | 01/01/70 00:00 | |
Simulate! | 01/01/70 00:00 | |
cross posted![]() | 01/01/70 00:00 |