??? 06/09/04 17:09 Read: times |
#72197 - Devil\'s advocate Responding to: ???'s previous message |
This is a major blow, instead of focussing on modern variants of the 8052 with the great modern features like ISP, PCA, on chip SPI or I2C, PWM, ADC, DAC etc. you will be using a fossil, with no ISP and external RAM/ROM. Then your students will see the apparently whizzy feature set of the Pics and say "why are we using this old piece of crap, when the PIC offers so much more, what is the point of this course ?" I may be in the minority here, but I don't think there's anything wrong with starting out students on very basic--bordering on obsolete--hardware as long as it is made clear that there are more modern alternatives available so the students don't jump to the exact conclusions you mentioned. I learned the 8052 on a true-blue 80C32 which had a latch and an external RAM chip and an external EPROM chip. Everything made sense in large part because the MOV commands coincided nicely with the hardware components I was seeing with my eyes. It was clear why you had a MOVC instruction to access one of those chips, a MOVX instruction to access the other, and yet another MOV instruction to manipulate registers within the 8032 itself. Derivatives today are certainly highly advanced and I can't think of many applications where I'd still use an 8032, but it seems to me some of the 8032 instructions might make a little less sense to newbies that see a single chip and wonder why there are three different types of MOV instructions. "Why do I need to use MOVC to access code memory and MOVX to access extended RAM?" and you answer "Because the two types of memory are separated" and they ask, "But why?" The answer is pretty obvious when you're looking at three chips (CPU, XRAM, EPROM), and it's even obvious why the same architecture is maintained within a single chip when you know how it got there. It might make a little less sense when you're looking at a single chip and possibly coming from a PC environment where programs are stored in RAM. Plus I don't think it's a bad idea to start where the technology started--just like any embedded 'C' programmer should have a good grasp of the assembly language beneath it, it doesn't seem unreasonable that someone learning the 8052 should have some idea of the legacy devices and where it all came from. It seems to me it would let the users better appreciate the parts available today and at the same time understand how the architecutre got to where it did. Don't live in the past, but learn from it. In that spirit, again, I don't think there is anything wrong with starting out students on old hardware as long as you make it clear that better alternatives exist today and, preferably, even have them using it by the end of the course. IMHO. Flame away. :) Regards, Craig Steiner |