??? 12/13/04 20:36 Read: times |
#83017 - skeletal setup Responding to: ???'s previous message |
Hi Aaron,
I believe that you're part number is an Atmel chip that has FLASH memory and the bootloader for ISP programming. If this is true, then all you need is the µ-controller, an RS-232 level shifter (e.G. MAX 232), a crystal/oscillator, power and the wires to hook it into your PC's serial port. Then you'll be able to program it. Oh, I almost forgot. This is the part you will need that the data sheet doesn't mention. Use a reset supervisor IC. I know, the data sheet says all you need is a capacitor to generate a power up reset. Let me be plain. IT LIES! Use a reset supervisor. Others can explain why with much more expertise than I, so I'll just say that if you don't, this is the part wherein you'll "...spend days (weeks??) messing around with stuff on my own and making stupid mistakes." I will leave it to you to familiarize yourself with the pins and appropriate configurations, mainly because I can't recall which pins go hi/lo without looking it up. There are only a couple or so. Then you will need to familiarize yourself with the Intel HEX file format and the bootloader syntax. It's only a few pages in the documentation. It really isn't hard to figure out. Programming the chip is now just a matter of booting it up in the bootloader mode, which is just a matter of pin configuration during bootup. Once it's booted you can use Windows Hyperterminal to send an upper case "U" to the µ-controller. The upper case "U" is a series of alternating 1's and 0's, each one-bit wide. The bootloader uses this sequence to run the autobaud routine which configures the µ-controller for serial port communication (something that your program will have to do for itself). The bootloader will then accept Intel HEX format commands to program the built-in FLASH. The documentation describes the process thouroughly, including how the bootloader will echo in the cases of successful and failed operations. I mentioned that your program will have to configure the serial port for itself. This, of course, is only if your program communicates via serial port. In general however, there are a set of SFRs (Special Function Registers) which your program will need to initialize in order for your program to run. If you don't already have it, go to the Atmel website and download their documentation for this chip. Also, use the tutorials on this website. You'll find the link on the left hand column. Finally, You will want to read "The Bible," which is three pdf files, but I will let Erik give you those links (it's sort of his job in this forum). Now what I suggest, if you are new to µ-controllers in general, or the 8052 programming process in particular, is that you write a simple program like something that makes one of the ports a ripple counter, compile it into machine code (and subsequently Intel HEX format) yourself and program it like I just described. This is far too tedious an approach for any serious programs, but it will give you an extremely intimate familiarity with what's going on. Then, once you've done it yourself once, you can switch to an assembler, or a C compiler, and something like FLIP (a freeware programming utility provided by Atmel for use with their chips and development boards). |
Topic | Author | Date |
AT89C51SND1C starter help? | 01/01/70 00:00 | |
start here | 01/01/70 00:00 | |
AT89C51SND1C starter help? | 01/01/70 00:00 | |
more info | 01/01/70 00:00 | |
ISP | 01/01/70 00:00 | |
senior design team | 01/01/70 00:00 | |
skeletal setup | 01/01/70 00:00 | |
much simpler | 01/01/70 00:00 | |
"Simpler" is not the objective. | 01/01/70 00:00 | |
simpler... | 01/01/70 00:00 | |
Development board | 01/01/70 00:00 | |
Don' t mess with hyperterminal | 01/01/70 00:00 | |
With respect, I disagree | 01/01/70 00:00 | |
Hmm. | 01/01/70 00:00 | |
Hmm indeed. | 01/01/70 00:00 | |
serial port | 01/01/70 00:00 | |
lil' more info | 01/01/70 00:00 | |
Mix | 01/01/70 00:00 | |
No serial port? | 01/01/70 00:00 | |
USB | 01/01/70 00:00 | |
quick question | 01/01/70 00:00 | |
startup.a51 | 01/01/70 00:00 | |
Post the code | 01/01/70 00:00 | |
Post the code | 01/01/70 00:00 | |
here's the code | 01/01/70 00:00 | |
Some suggestions | 01/01/70 00:00 | |
Port 0 | 01/01/70 00:00 | |
development board ports | 01/01/70 00:00 | |
yes, you can | 01/01/70 00:00 | |
Thats 'cause its | 01/01/70 00:00 | |
sorry... | 01/01/70 00:00 | |
Pull up resistors | 01/01/70 00:00 | |
FINALLY! | 01/01/70 00:00 | |
Finally | 01/01/70 00:00 | |
Why only taking a +quick skim+? | 01/01/70 00:00 | |
What? No magic? | 01/01/70 00:00 | |
Think!![]() | 01/01/70 00:00 |