Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Searching for 8051 and Dev tools

Status
Not open for further replies.

DigiTan

New Member
I've been doing AVR projects for a while now and I'm considering "upgrading" to 8051s in general.

Can anyone recommend a good brand/model of 8051 to get started with? It would need to be electrically programmable/erasable; as opposed to any UV devices out there. Also my big consern is cost; so a I'm looking for something that can programmed with any kind of "homebrew" programming board and freeware. Basically, I just need something with a low price range and something that's easy to work with. So far I've been looking at companies like D.S.-Maxim, Atmel, and Cygnal.

Does anyone have any recommendations?
 
Cygnal (now Silicon Labs) makes excelent controllers. They are a bit expensive but you definately get what you pay for.

I've been thinking a bit about the easiest 8051 to get started on and so far the best I've come up with is Atmel's T89C51AC2. It has a preprogrammed bootloader which lets you program the controller with a UART. So all you need is a serial port and a RS232 level shifter. Its not the fastest 8051 but it has a 6 clock core and a good set of peripherals. It's availalable through digikey.com. This would be a good starter uC in general because it requires no special programmer.

http://sdcc.sourceforge.net/ is a free 8051 C compiler that you should be able to set up to support the Atmel controller without too much trouble.

The 8051 in general isn't the fastest controller but it has good standard features and your 8051 code will run on everything from the oldest 12 clock 8051 to Silicon Labs' 100 MIPS 8051 with only minor changes. That coupled with the HUGE variety of 8051s out there (about 80% of 8 bit systems use an 8051) make it a good architecture to be familiar with.
 
Thanks! That sounds exactly like the kind of thing I need. Do you know of any good schematics for a homebrew 89Cxxxx programmer?
 
The great thing about the controller is you don't need a programmer. You just set up a standard RS232 level-shifter connected to the UART and all the programming happens through the serial port, without any modification or strange tricks.
 
Would I need any kind of circuit like a MAX232 to convert the voltages at all?
 
I have an AT89C2051 chip. Are you saying that there is no need for any programmer kit to program the chip?
 
Yes you do need the MAX232. The datasheet for any MAX232 variant should have a schematic that you can use. I'll bet that Nigel's tutorials also have a schematic for connecting a MAX232 - just switch the PIC UART pins for the 8051 UART pins.

About the AT89C2051: take a look at the datasheet. Under the "In System Programming" section it should say if there is a bootloader pre-programmed into the part. If there is you just need your serial port and MAX232 to program the part.

The Atmel software used to program parts through the bootloader is called FLIP.
 
All that circuitry is for parallel programming. Since the T89C51AC2 has a bootloader you don't need that programer. Older microcontrollers often don't have a way to program them in the circuit - parallel programming was the only way to program them. Thankfully almost all new controllers let you program them after they've been soldered to the board. A bootloader is one of the simplest ways to let you program the device in system. A bootloader is just a bit of firmware that reads data from the UART (or other interface) and writes the data into the flash code memory. A lot of uC are able to run bootloaders, the cool thing about the T89C51AC2 is that Atmel programs the bootloader in during manufacturing (other controllers you have to program the bootloader in yourself - which is hard if you don't have a programmer :) ).

Parallel programming is very fast and is designed for high volume production - there is no reason to use it if you're a hobbiest unless you have to.
 
I've built this and downloaded the necessary program from this site: https://www.iguanalabs.com/adc2051.htm

When I run the sample program it doesn't detect any input voltage. Isn't the sample program supposed to connect directly to the chip or is there a programming step that I've missed out or is it not included?

Can you guys enlighten me? thanks.

shamog

P.S. How do i check if the chip's burned out or something cos initially i use a 9V supply?
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top