My Homemade AT89C2051 Development Board
First and foremost we need to install a compiler and we need a programmer to load the code into the microcontroller. In my case, I use TL866A Universal Programmer.
So let's start with the installation of the compiler:
// install SDCC package: apt install sdcc // test instalation sdcc --version
TL866A Universal Programmer
The next step is to install the programmer software:
// install dependencies for minipro apt install build-essential pkg-config git libusb-1.0-0-dev // get source code of minipro git clone https://gitlab.com/DavidGriffith/minipro.git // compile minipro software cd minipro make // install application sudo make install // udev configuration sudo cp udev/*.rules /etc/udev/rules.d/ sudo udevadm trigger // add user to the plugdev group sudo usermod -a -G plugdev YOUR-USER // test instalation minipro --version
For this occasion, I wrote the Blink c program for AT89C2051 and compiled it using SDCC on Debian Linux.
// ******************************************************** // Program: Blink LED example // Author: Elvis Baketa // Processor: AT89C2051 // Oscillator: 12 MHz // Compiler: SDCC (Linux) // Version: 0.1 // Comment: // ******************************************************** #include "at89x051.h" // declare function void delayms(void); void delay(int data); // main function void main(void) { // declare variable int i = 0; // run once P1_0 = 1; // loop forever while(1) { // turn LED on P1_0 = 0; // wait 1 second delay(1000); // turn LED off P1_0 = 1; // wait 1 second delay(1000); } } // delay one milisecond void delayms(void) { int i; // count to 33 for 1 ms delay for (i = 0; i < 34; i++); } // amount of milisecond to delay void delay(int data) { int i; for (i = 0; i < data; i++) { delayms(); } }
You can find source code on GitHub repo blink at89c2051.
Until next time.
Excellent post, DIY Electronics South Africa for retail thankful to all your team for sharing such best information.
ReplyDeleteTank YouTube!
Delete