newbie, sorta

This will undoubtedly only a great 'flamewar' between rival microcomputer users but......I like PICs. Heck 35 instructions, what's so hard about that ? I grew up with PDP-8s,-11s,1802,Z80s,HC11,etc. the whole 'alphabet soup' of 'puters. Nowadays it's the support,local if possible, that may determine which you use. See what your peer group is using, and why. Cramming tight code into a micro can be 'fun' as a hobby, hell as a business( been there, done that). Once you settle for a type ( PIC, AVR, HC11 ) then stay with it and learn it all. Flipping to the so called 'latest and greatest' micro will lose you time and money and ultimiately may NOT be the better choice.Running a couple of USB devices and webcameras is probably best left to a PC based computer where the design tools are there, hardware is really,really cheap. Small projects can easliy fit into the smaller micros. hth jay

Reply to
j.b. miller
Loading thread data ...

Hello all,

I am a second year "electronics technology" student who just finished a course in microprocessors. This was using a 68HC11 based trainer. We learned Machine Language programming, and I taught myself assembly language for the 68HC11. We also learned interfacing using a PIA. All this is great if I were to use a trainer for every project I ever do, but I would like to begin building my own projects. I think I have a fairly good understanding of how to create my own 68hc11 board, but I would like to also learn some other microcontrollers, like Atmels. Also, I haven't attempted to build a 68HC11 board yet.

I guess my question is: Knowing what I have experience with in the past and knowing that I have yet to experiment too much beyond that, can you recommend a micro(s) that has a similiar architecture to the 68HC11? Memory Mapped I/O makes the most sense to me at this point, perhaps because our studies focused on it. Also I used to do some 6502 assembly/ML on the Commodore 64, which might have also helped make the case for it. Obviously these are both 8 bit tech, but I don't see why going16 or 32 bit would be that much more difficult, but is unecessary for any projects I have in mind at the moment.

I have PIC development tools/chips/eval board here at home, but the PIC architecture is SOOO different than anything I have ever seen before; I cannot seem to grasp it fully. Should I just start with a 65XX/68XX board and go that route? The reason I would like to try moving on to something else is the in-built features of other processors (like USB, flash mem, LCD/KB, etc...) I feel I understand uP tech pretty well and could design boards with external mem, and I/O using an actual uP, but I would like to start working with controllers that have all this built in (ie. smaller designs.) As I said, the PIC is just completely alien to me. Is this what I will HAVE to expect from a uC? Anything with a "smoother" transistion?

If my questions seem vague, it is because I am not entirely sure what I should be asking. Perhaps a little prodding will get the right questions out. My experience is limited, but quite good in its limited sense. Should I just keep doing 68HC11 stuff until I am a master at it, and THEN it will be easier to switch platforms? What do you all recommend?

Scott McDonnell

Reply to
Scott McDonnell

Hi Scott, In the working world, the usual route is to start with an idea for a project (product). The requirements of the project will then determine the performance and features required of the uP. Yes, existing expertise, tools, and libraries of tested code will sway the uP decision one way or another, but the fundamental issue is "what will it take to get *this* project done?". Figure out what you want *this* project to be and the rest will follow.

On the subject of choosing a project:: Don't waste your time doing something you can buy at the local consumer electronics store. Think of something that you would like to have that doesn't yet exist (or at least with the features you want). When you're done, you'll have something unique that you can show off, put on your resume, and use for your own enjoyment.

And most important: have fun, Bob

68HC11.

fairly

and

Memory

I
I

be

Reply to
Bob

68HC11.

fairly

and

Memory

I
I

be

An active device you might want to get into would be the 68HC908 series. The

08 is different from the HC11 but I think they come from the same root 6800 series. Its a big chip for them, maybe you could get your hands on a M68DEMO908GB60. This is their lower power device on a little demo board. Tony
Reply to
Anthony Marchini

I'd say to stick to the 68HC11 and play with all the peripherals on it. Make projects that will help you learn about interrupts, timers, and all the other good stuff that a bare HC11 has on it. Most controllers have all that sort of stuff on them so some of what you learn on the HC11 will be useful.

What type of PIC do you have? Although they do take some getting used to, you can master it. More modern PICs have less weird baggage that they carry around. My first encounter with PIC was the 16C57. The 16F877 is so much nicer.

Reply to
Gary Kato

I have several PIC samples to choose from. I don't have them right here at the moment (packed away somewhere.) The 16F877 sounds familir (unless there was a 16F876.) Anyways, I guess I just haven't gotten a very good introduction to them. Everyone keeps telling me they are easy to work with, etc.. I guess my confusion is the way the registers work in it. I am used to the Accum A, Accum B, and Accum D concepts. The PIC seems like it has dozens of different registers (granted, so would a uP with external memmapped I/O) I would like to learn the PICs, the instructions themselves do not confuse me. They are just symoblic for combined instructions found in a uP or the 68HC11. I feel confident I could start programming in PIC assembly just as easily as I can do assembly for an 68HC11 or 6502. Perhaps I am overcomplicating things, but most of my confusion lies in architecture. Perhaps a "proper" intro, something beyond "beginners" but before "expert." might do the trick. The books, tutorials, etc. I have seen do not seem to go into a great deal about setting up the control(?) registers (to configure whether Port A is an A/D, PWM, or Timer for example.) The work register would be like an accumulator A, right? I need to understand how the architecture works. Any recommendations?

Please no flamewars, they are silly, unwanted, and unhelpful. I have no bias towards a uC at this point. I am not looking for bias either. I just want to start getting something built. The 68HC11 would probably be the easiest route for me, because of prior experience with it. I just worry about getting so locked into a particular architecture, that transistion will be very very difficult. I (like others have said) feel that the best micro is the one that does the job the way you want it done, for the cost you want to spend. And this would depend on the actual project.

With the 68HC11, we mostly played with it in multiplexed mode. But, again, since the trainer was prebuilt with no schematic, I am not 100% which mode it truly used. It appeared multiplexed, since the enhanced mode features (timers, A/D,SPI, SCI, etc..) were not availible to us. Perhaps building something to start playing with these other modes might be a good idea.

The reset vector is 0xFFFFh, right? Is it possible to completely avoid using the internal RAM and ROMs and connect this all up externally? I don't remember if the 0xFFFFh was a valid "outside" address. I'd prefer to have complete control over things as I begin experimenting, meaning mapping the memory and I/O myself. I know I can also bootstrap, but I would like to save that for later.

Eventually, of course, I would like to begin doing ARMS, MIPS, and x86 embedded stuff (I am especially interested in special purpose computer systems ie. internet appliances, set-top boxes), but since I will be continuing my education (planning for Electrical Engineering/Computer Engineering double majors) I am sure there is plenty of time to learn all that in future courses. I just like to stay ahead to keep myself sharp. Heck, I am even attempting to teach myself verilog/VHDL. I was taught ABEL-HDL already.

Anyways, thank you Gary, and everyone else for the replies.

Scott

Make

other

of

you

around.

Reply to
Scott McDonnell

I worked on the 68HC11on a project once, and like yours, it was strictly from a software point. This was for porting some interactive TV "middleware" to an existing set-top box. I wasn't allowed to access any of the hardware features of the chip (as a matter of fact when I asked about it, the guy from the set-top maker jumped out his chair and shouted "If you touch the hardware, we will SHUT YOU DOWN! We will SHUT YOU DOWN!" Yeah, he was a real asshole.) I'll have to dig out my HC11 manual.

As for the PIC, there is an 877 and an 876. The 877 has more I/O stuff on it than the 876. The PIC's W is indeed like the HC11's A. As for how to setup I/O configurations, refer to the chip's datasheet. The datasheets for the PIC show you what the ports look like and even have hints (like how Port A is setup as A/D on reset and what register to use to turn it into Digital I/O). I/O is memory-mapped (like the HC11) so you use regular instructions to read/write to them. So, you write to ADCON1 to turn Port A bits from A/D to digital I/O. Then you write to the TRISA register to configure bits to input or output. You can use a move instruction or set each bit individually with a bit set/clear instruction.

I'm not biased to any particular CPU either (or language or OS). As a matter of fact, I love the diversity (perhaps too much).

Reply to
Gary Kato

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.