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

Back to Subject List

Thread Closed: Issue successfully resolved

???
10/20/04 13:36
Read: times


 
Msg Score: +1
 +1 Good Question
#79631 - uC to VBfront end
Hello friends,
I am struggling to send the data from uC (Port pins which are connected to switches) to VBfront end.Any kind of suggestions or help will
be highly appreciated.

Whereas sending data from the VB front is OK .
I am using P89C51rd2

The project have vb front end with 5 switches and status indicators
and it is working ok, while sending #31H and #38h for switching on and off light1 and so on
respectively.Status is being changed by receiving #43H_ _ _ _ #47H.
The code is
ORG 0000H
MOV IE,#00000000B
MOV TMOD,#00100000
MOV TL1,#0FDH
MOV TH1,#0FDH
MOV SCON,#01000000B
SETB TR1
MOV P1,#11111111B

INDEX: ACALL SUB_RXD
ACALL_LIGHT1_ON
ACALL_LIGHT1_OFF
---------------
---------------
ACALL_LIGHT5_ON
ACALL_LIGHT5_OFF
SJMP INDEX

SUB_RXD: JNB RI,$
CLR RI
MOV A, SBUF
RET
LIGHT1_ON : CJNE A,#31h,NEXT
CLR P1.0
ACALL sUB_TXD1
SJMP INDEX
LIGHT1_OFF: cjne A,#38h,NEXT
SETB P1.0
SJMP INDEX
NEXT: RET
SUB_TXD1: MOV SBUF, 43H
JNB TI,$
CLR TI
RET
---

-----

SUB_TXD5: MOV SBUF, 47H
JNB TI,$
CLR TI
RET
END

Now I like to connect 8 switches to uC Port 0 and send #30H to #37H to front end.
I tried Mazidi book example 11-10, I can not understand how to send the #30H,#31H,#33H...
to serial. In previous program by pressing switch 1 in front end, uC was receiving #31H
and switching On light1.
In the following program when I toggle P0.0, front end is receiving garbage
How to send the data from individual pins ie. P0.0,P0.1......P0.7 to front end ????

ORG 0
LJMP MAIN
ORG 000BH ;ISR FOR TIMER 0
CPL P0.1 ;TOGGLE P0.1
RETI ;RETURN FROM ISR
ORG 23H
LJMP SERIAL ;JUMP TO SERIAL INT. ISR
ORG 30H
MAIN: MOV P1,#0FFH ;MAKE P1 AN INPUT PORT
MOV TMOD,#22H ;TIMER 0&1,MODE 2, AUTO RELOAD
MOV TH1,#0F6H ;4800 BAUD RATE
MOV SCON,#50H ;8-BIT,1 STOP,REN ENABLED
MOV TH0,#-92 ;FOR 5 KHZ WAVE.
MOV IE,#10010010B ;ENABLE SERIAL,TIMER 0 INT.
SETB TR1 ;START TIMER 1
SETB TR0 ;START TIMER 0
BACK: MOV A,P1 ;READ DATA FROM PORT 1
MOV SBUF,A ;GIVE A COPY TO SBUF
MOV P2,A ;WRITE IT TO P2
SJMP BACK ;STAY IN LOOP INDEFINITELY
;------------------SERIAL PORT ISR
ORG 100H
SERIAL: JB TI,TRANS ;JUMP IF TI IS HIGH
MOV A,SBUF ;OTHERWISE DUE TO RECEIVE
MOV P0,A ;SEND SERIAL DATA TO P0
CLR RI ;CLEAR RI SINCE CPU DOES NOT
RETI ;RETURN FROM ISR
TRANS: CLR TI ;CLEAR TI SINCE CPU DOES NOT
RETI ;RETURN FROM ISR
END

Regards

Harnam


List of 15 messages in thread
TopicAuthorDate
uC to VBfront end            01/01/70 00:00      
   RE: uC to VBfront end            01/01/70 00:00      
   RE: uC to VBfront end            01/01/70 00:00      
      RE: uC to VBfront end            01/01/70 00:00      
         RE: uC to VBfront end            01/01/70 00:00      
      RE: uC to VBfront end            01/01/70 00:00      
   RE: uC to VBfront end            01/01/70 00:00      
      RE: uC to VBfront end            01/01/70 00:00      
         RE: uC to VBfront end            01/01/70 00:00      
      RE: uC to VBfront end            01/01/70 00:00      
         RE: uC to VBfront end            01/01/70 00:00      
            RE: uC to VBfront end            01/01/70 00:00      
            Some more refinements...            01/01/70 00:00      
   RE: uC to VBfront end            01/01/70 00:00      

Back to Subject List