Hi Russ,
From your first mail it seems you have already done your project using the 8051 core. Let me tell you my experience.
I know only Programming in BASIC. I work with both the PIC BASIC and the BASCOM 8051 compilers. PIC basic does not support nesting of interrupts. To say all interrupts will vector to only one address location and you can not find which interrupt had called the ISR. Unlike PIC BASIC, BASCOM can have multiple interrupts, and you can determine its priority. Say for example you are using int0 and timer0...
The code in BASCOM goes like this..
ON TIMER0 tim0 ' on timer0 interrupt go to ISR tim0
ON INT0 int_0 ' on external interrupt go to ISR int_0
PRIORITY SET INT0
This sort of feature is not there in PIC BASIC. Some call it software interrupt.
THe command is ON INTERRUPT. The PIC BASIC also has tremendous amount of interrupt latency, ie the time taken between when the interrupt had occured and when it actually enters the ISR.
BASCOM has a wonderful simulator, with which you can see all the SFR and the variables change. From the timer counter you can find out exactly how much time it take to enter into your ISR from the instant interrupt occured. All this can be viewed in the simulator.
Time critical projects certainly require a simulator. The external interrupts can also be software generated in the bascom simulator.
I certainly would love to have such a simulator in PBP. Which will verymuch reduce our development time. Without a simulator you are like blind man searching for a screw in a maze.
If you are serious about using interrupts and all the hardware features of the PIC i suggest you start learning assembly language. Thats the best way to go untill they come out with a more enhanced way of interrupt handling in basic.
I would like to have the comments of other participants in this thread.
Thanks
Raghunathan



).

Bookmarks