Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
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).

List of 37 messages in thread
TopicAuthorDate
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      

Back to Subject List