??? 02/01/06 05:27 Read: times |
#108856 - Are you using Serail Interrupt Responding to: ???'s previous message |
Dear Abdul,
your initialization code does not show any thing to initialize the interrupt mechanism 1. HERE: JNB RI,HERE ;poll the Rx flag untill we receive something MOV A,SBUF acall check ;interpret the recvd character and take action reti ;interrupt return!!!!! 2. ACALL check ;call the interpretation routine routine but there is no 'RET' instruction to return back , insead you used a SJMP instruction to return this will fill your stack up every time you call check check: one: cjne A,#'A',two cpl P1.0 CLR RI SJMP HERE ;should be a REt here two: cjne A,#'B',three cpl P1.1 CLR RI SJMP HERE three: cjne A,#'C',four cpl P1.2 CLR RI SJMP HERE four: cjne A,#'D',one ; one!!!! why cpl P1.3 CLR RI SJMP HERE if it does not matched with all your for cases , how can it match again just by looping as A does not changes inside the loop. change your code to HERE: JNB RI,HERE MOV A,SBUF acall check SJMP HERE check: cjne A,#'A',two cpl P1.0 ret two: cjne A,#'B',three cpl P1.1 ret three: cjne A,#'C',four cpl P1.2 ret four: cjne A,#'D',main cpl P1.3 main: ret Abhishek |
Topic | Author | Date |
default case to continue serial communic | 01/01/70 00:00 | |
Are you using Serail Interrupt![]() | 01/01/70 00:00 |