Best micro for teaching purposes?

I'd like to get some opinions on the best 8-bit architecture for teaching the basics of microprocessors/microcontrollers. I'm leaning towards the 68HC(S)12 family, but I'd appreciate hearing what you folks think.

Reply to
Mike Silva
Loading thread data ...

The atmel "butterfly" board could be a good starting point.

formatting link

Reply to
Hopkins

I just realized how ambiguous my question is. I've been in the embedded business for about 25 years, at least half of that on 8-bit devices, and I'm asking now in regard to an introductory course which I may end up teaching. I am interested right now particularly in settling on an architecture, but I'll also need to find a good student training board (which may involve revisiting the choice of micro).

Reply to
Mike Silva

"Mike Silva" wrote in news:1141670324.005119.179540 @i39g2000cwa.googlegroups.com:

We have a course centered on the PIC line.

CCS has some very nice boards designed to support student labs, and the student compiler comes fairly cheap. My only knock of the boards are that they don't use a chip carrier, so you need to be careful of the student blowing up the uP.

CCS also has some very nice inexpensive proto boards that are a tick up from the student version, but not really a budget breaker.

I'd suggest contacting them, letting them know you're interested in supporting a course, and see what kind of package they can put together for you. They might even comp you a system for evaluation.

--
Scott
Reverse name to reply
Reply to
Scott Seidman

I use the PIC processor for teaching (undergraduate UK degree course). Currently we use the 16F877 in a home-brew target baord. Actually the choice of processor is not too important as there are many that are pin compatible. We are considering changing to the 18F422 (or is it 442??) but as we program in C the difference as viewed by the end user are slight.

We currently use the ICD1 with MPLAB V5.4 (later versions do not support the ICD1) with the Hitecc PICC lite compiler (limited code size, but never been a problem in classroom exercises). One of our criteria was to use free software if possible so that students can have their own copy. MPLAB + evaluation PICC lite fits these criteria. A couple of copies of the full version might be useful for more advanced project work.

We have just designed an ICD2 clone which we will use next academic year with the later version of MPLAB. If we use the 18F422 we will need to choose a different compiler. Microchip do a free student version although I have not evaluated it.

Our target board has a 4 digit multiplexed 7-segment LED display (excellent for programing exercises, albeit a little outdated), 6 pushbutton switches and 6 LEDs (arranged as 2 sets of traffic lights), a temperature sensor, LDR and potentiometer as analog inputs.

However, there are many commercially available boards which, if I were starting again, I might consider using instead.

Recommendations given in this group for teaching kit rarely suggest using an ICD, possibly due to cost. However, I cannot over state how useful I find it to teach sensible development and debugging techniques, not possible if all one uses is a PIC programmer. If you use an ICD clone (such as available from

formatting link
or build your own the cost is not excessive.

Reply to
Andrew

Whatever you, don't choose the PIC, it is a horrid device, unrepresentative of the majority of micros your students will find in their careers and it uses completely non standard terminology.

Ian

Reply to
Ian Bell

Now this is getting interesting. I think I can safely say that I have used all of the "top" dozen or so 8-bit families -except- the PIC. I have avoided it because of various unflattering things I have read about it. So, while I am predisposed to agree with your assessment, I would have to do some research to convert my bias into an informed opinion.

Reply to
Mike Silva

as said before an unbiased group here. I love the pic range some people seem to unable to read and have problems because its is different. But then I like different and I don't code in C as you can get tighter code for the device you are using. I have seen many boards with a massive micro to do a simple task often in the name of reusable code.

if I were to teach I think C would be more use to a greater number of students. The micro choice would reflect that.

David

Reply to
david

No problem. I have used microcontroller for over 20 years. When I retired I wanted to select a micro for personal projects and the PIC seemed to be popular amongst hobbyists. So I investigated it thoroughly and was very disappointed. Pity really.

Ian

Reply to
Ian Bell

I am not biased, I looked very closely at using the PIC when I retired after over 20 years designing microcomputer products and the PIC was just so odd. And there are even Linux based tools for it too but even that did not persuade me.

I'm with you on C. Never used it on an microcontroller yet.

< I have seen many boards with a massive micro to do a simple task often in

You forgot to mention portability ;-)

Seems to be the way things are going.

Ian

Reply to
Ian Bell

My biggest issue with the PIC micros is the constant bank switching you need to do if writing in assembler. I've been playing a lot with the Zilog Encore series, the development boards are reasonable and a full, not code limited, C compiler is included.

Tom

Reply to
Tom

I used a Z8 in a development some years back (CO2 monitor). Nice little micros as I recall.

Ian

Reply to
Ian Bell

Look at Atmel AVR family.... good development/tutorial board, JTAG devices now available too.

Reply to
martin.shoebridge

folks

Hi Mike,

This is a question I also have thought about on & off for a little while.

I use and like the Z8 Encore devices. But you need to be a little more specific about what you need. I use the Z8 in an embedded systems class for computer science students. You might want something else for computer engineering or electrical engineering .

Here is why I like the Z8 Encore:

- Consistency between parts in family

- 64K flash, 4K RAM (on the upper end)

- Lots of on-chip peripherals (UARTs, I2C, SPI, Analog, 3-4 Timers)

- Easy to use

- Low cost development kits ($40 from digikey, futurlec).

- The biggest benefit (for me) is the IDE, the compiler is not crippled, it does not have a limited code size like some of the other microcontrollers free tools have.

- The IDE is free from Zilog and that includes C compiler, assembler, emulator and debugger (this is a BIG deal for me since I teach a night class which has no in class lab time, so the students can work on labs and projects on thier own time and there are no licensing problems with the tools, some of the tools I have seen for other processors are only 30 day licenses or are licensed to a single user/computer).

- Im using an old developers board which has a lot of stuff on board (2 serial ports, 144 LED martix, temperature sensor, header pins, etc) so the students don't need to mess with hooking in things too early in the class (remember, its a CS class). Unfortunately its not available anymore.

Some things I don't like about the Z8 Encore

- Compiler is a buggy

- No 3rd party compiler or assembler

- No JTAG (uses a simple one wire program/debug pin).

- Zilog could go belly up at anytime (and has come close several times in recent history).

- Application notes are terrible (buggy, or just plain bad).

- The data and address buses are not available on the IO pins.

- The on-chip peripheral support API is very poor (or not at all for some of the peripherals).

- Zilog is not a bad company but they are far from the best as far as quality, tech support and product support (databooks, app notes, etc).

If I had to pick another microcontroller I would think about these (but I can't say right now that any of them 100% meet my needs). They all look like good micros but I have not evaluated the tools yet.

- TI MSP430 or MSP470 (ARM7)

- Renesas M16C

- Maxim MAXQ or the Maxim/Dallas 80C400

- Atmel AVR

--
dan
Reply to
Dan

Hi Mike,

your choice will also depend on what you want to teach.

Here are some topics that come into my mind (my recommendations are only based on the few uCs I know):

1) proccessor core

- AVR as a nice, straightforward core

- MSP430 is not as orthogonal, but designed with some amount of thinking

2) peripherals

- MSP430 has very nice internal peripherals

3) debugging

- JTAG is a very nice thing to have, but you can also debug old-style with some LEDs ;-)

4) C-programming

- it is better to have some RAM for this...

5) squeezing the last bit out of the uC

- PIC seems to be unbeatable here ;-)))

6) interfacing sensors

- parts with ADC should be available in every family

7) interfacing external peripherals/memory

- some AVR parts have an external bus

--------------

And now some remarks on the uCs I have used

1) IMHO the reason for PIC being so popular is that it was the first uC with Flash that was widely available. A clear pro is the vast amount of websites dedicated to PICs. Besides that I can't think of much reasons to use these in the 21st century. (Of course, they are cheap if you think about selling something in great quantities).

2) AVR is very nice for personal use. Some parts have an external bus, which is a good thing for greater projects. The amount of webpages on AVR is also very big. One thing I really don't like about the architecture is the use of fuse bytes for configuring the oscillator. It's quite easy to set the device to external osc, and you then need an external clock source to reprogram the fuses ;-) Also Atmel had a habit of discontinuing parts, but this may have changed as the chips have matured.

With WinAVR there seems to be a good free software package that contains everthing you need to develop.

3) Though MSP430 is a 16-bit architecture, I think it fits in here. The architecture is designed with much thought. It is really fun to think of uses for the timer-blocks... An MSP would not run with 5V. This still scares people away, but I believe we are at a point where using 3.3V only is no problem. A problem for your application could be that they are not available as through-hole and the sockets for TQFP are quite expansive.

There is a gcc-port available, but I don't know anything about its quality.

------------------

All that said, I would go with AVR, although I like MSP430 better.

/Jan-Hinnerk

Reply to
Jan-Hinnerk Dumjahn

Mike, I think that is a good choice. Also there is another one 9s12 which is similar to HC11 and HC12 but more efficient and cheap. There are diffterent evaluation boards and many books available.

Reply to
WD40

That is a good choice. Easy to work with and you can use C programming also. You can try 9s12, they are close to HC11 and HC12 but smaller and more efficient plus it is cheaper too.

Reply to
WD40

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.