Hi, I have been working in a project with AT89C51. Specifically it is a car that follows a black line and it has to be communicated with a raspberry pi 2 that has a camera to see some signals like turn left, turn right or stop. It is neccesary to use interruptions and serial communication ( it is the only way to communicate both things), the problem is the microcontroller doesn´t recognize serial inputs. I have simulated the code in proteus and it is working pretty well but in real life the serial communication is not working. I have tried serial communication with an arduino but has the same problem.I don´t know if Im missing something. My code is the next one:
ORG 000H // origin LJMP MAIN ORG 23H LJMP SERIAL MAIN: MOV P1,#204 // sets port 1 as input port MOV P2,#0000000B // sets port 0 as output port MOV P0,#0000000B MOV A,#0000 MOV SCON,#50H MOV TMOD,#20H // TIMER1 mode autoreload MOV TH1,#0FDH //9600 baudrate MOV IE,#10010000B SETB TR1 (HERE IT IS THE MAIN CODE OF LINE FOLLOWER AND DEPENDIG OF THE VALUE OF REGISTER A,THE CAR STOPS OR TURNS LEFT/RIGHT) HERE IT IS THE SERIAL INTERRUPT PART //SERIAL PORT SUBRUTINA ORG 120H SERIAL: SETB P0.1 MOV A,SBUF CLR RI RETI END // end statement
Thanks for your help
"Waiting for your naswer"
Don't just sit there waiting. You have the entire internet at your disposal - get searching!
Again, the 8051 is decades old: there is no shortage of books and tutorials - especially on basic topics like this.
Have you reviewed your class notes?
Have you studied the instruction set documentation?
Can you say what the SETB does
www.danlhenry.com/.../80C51_FAM_ARCH_1.pdf www.danlhenry.com/.../80C51_FAM_HARDWARE_1.pdf www.danlhenry.com/.../80C51_FAM_PROG_GUIDE_1.pdf
I think it sets bounds. why is it useful?
Do you?
And what makes you think that?
can anyone gonna help? wifi is broken now