Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
08/02/11 16:13
Modified:
  08/02/11 16:29

Read: times


 
#183147 - bit banging program touble
hello,
i have been trying to make a program to communicate with PC using bit banging..
using P89v51RD2 but i have been unsuccessful. on reset i dont receive anything in the PC terminal and some time i receive a few junk characters....
i cant make out whats wrong...
the hardware is the usual TXD and RXD connected to PC through MAX 232 and its working if i use the hardware uart so there might not be any problem with the hardware...
can any one guide me through this...
here is my program

// bit banging to transmit at 1200 baud rate
// crystal freq is 11.0592MHz		
		
		org 00h
		jmp main

		org 0Bh
		rlc A
		mov P3^1,C
		inc R1
		reti

		org 100h
main:	setb P3^1
		;mov A,#'A'
		mov IE,#82h
		mov TH0,#0E8h 
		mov TL0,#0E8h
		mov TMOD,#02h

		mov R0,#100
		
		setb TR0
repeat: mov A,#0x00	 		;Start bit
		mov R1,#00
wait1: 	cjne R1,#01,wait1

		mov R1,#0
		mov A,#'A'		   	;send the character
		clr c
wait2: 	cjne R1,#7,wait2

		mov A,#0x80			;send stop bit
		mov R1,#00
wait3: 	cjne R1,#01,wait3

						
		djnz R0,repeat
		clr TR0
over:	jmp over
end
 



List of 30 messages in thread
TopicAuthorDate
bit banging program touble            01/01/70 00:00      
   why?            01/01/70 00:00      
      i need a second serial port            01/01/70 00:00      
         something like this , without any warranty :            01/01/70 00:00      
         a good start would be ...            01/01/70 00:00      
            only 3 'U's are commingout of 100            01/01/70 00:00      
               Separate the characters and look with scope            01/01/70 00:00      
                  finally it worked            01/01/70 00:00      
                     uart receiver in software            01/01/70 00:00      
   No I/O or No Timing            01/01/70 00:00      
      "No I/O or No Timing"            01/01/70 00:00      
   Someday you will learn...            01/01/70 00:00      
      this isnt the actual code            01/01/70 00:00      
         Well then another lesson to learn...            01/01/70 00:00      
   Assembler Manual will help you            01/01/70 00:00      
      assembler manual?            01/01/70 00:00      
   Data is 8 Bit??            01/01/70 00:00      
   Bit width timing and timer TH0,TL0 Values            01/01/70 00:00      
      checked values for TH0 and TL0            01/01/70 00:00      
         keil baud rate Calculator not for bit bang            01/01/70 00:00      
   LSB first            01/01/70 00:00      
   now reception....            01/01/70 00:00      
      1) din = din >> 1            01/01/70 00:00      
         working at 1200 baud            01/01/70 00:00      
            delayRS()            01/01/70 00:00      
               why do i have to sample stop bit            01/01/70 00:00      
                  Need not, but should            01/01/70 00:00      
                  because            01/01/70 00:00      
                     Much to a real UART            01/01/70 00:00      
                  1.5 bit delay            01/01/70 00:00      

Back to Subject List