Tuesday, 30 May 2017

microcontroller - Using Arduino to program at89s51


I want to program at89s52, and on the internet there are many tutorials on how it is usually done, but almost all of them use the RS232 output from the computer, which I don't have.


The only resource that actually implements it in another manner that I found is the usbasp page. This is something I would by default do, but I would like input from users who have experience programming the 8051 first.


1) Is it possible to implement device programming with an arduino? If so, is it feasible? I'm not entirely familiar with how exactly the SPI programming works, but it is something I am interest in learning. The idea is that I look at the datasheet, find out exactly what needs to be done, and use an SPI library for the arduino.


2) If 1) is too impractical and/or unreliable, should I go ahead and proceed with the USBasp project? I've read somewhere that on newer version of windows, this process is unreliable. So, what are your experiences with USBasp, to those who have done something similar in the past?


3) Any other suggestions or recommendations to upload a program onto the chip?



Answer



The AT89S51 is an 8051 architecture microcontroller, not an AVR architecture microcontroller like the Arduino and (as normally expected by) it's ecosystem of programmers.



However



  • The AT89S51 supports serial programming using an SPI interface (MISO,MOSI,SCK,Reset)

  • People claim to have used avrdude (and progasp172) to program an AT89S51 (ref)


If I am right, any Arduino running the ArduinoISP sketch should be usable, in conjunction with avrdude, to program an AT89S51.


Probably not very many people have tried this.


There are numerous inexpensive ISP programmers that are known to avrdude or which emulate a programmer known to avrdude. For example, I've used both an Arduino and a bus-pirate to program a bare ATtiny85 on a breadboard. An unrelated but useful description here


That leaves you with the job of generating a binary file for your target microcontroller.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...