This project require some experience, AVR are relative new in comparison to the old 8051 microcontroller. Hopefully there is a lor of information. Nowadays is possible to use additional languages besides Assembler. It is possible to load Arduino IDE to the microcontroller and program it by Arduino SW application.
Compare the performance and development work flow for other architectures.
The activity consist of:
At this opportunity I had worked with the ATtiny 44A by Atmel
The datasheet has some important parts such as:
Each pin can bet set according to the information in parenthesis.
The port A configuration is:
The port B configuration is:
The block diagram of the microcontroller is:
The ALU - Arithmetic Logic Unit - operations are divided in some categories like: arithmetic, logical and bit-functions. Status register contains the most recently executed arithmetic instruction.
The main features of the timer - counter are:
The ADC table characteristic are:
In order to choose an ADC there is a use of the multiplexer like:
After the installation of the Arduino IDE, however it is necessary the installation of drivers. In order to complete it we have to done the following steps.
You may download the ATTiny core that may be use at Arduino.
Please put these references at the board manager: http://drazzy.com/package_drazzy.com_index.json
At tools --> board manager select:
ATtinyCore by Spencer Konde
Select install, once done you may see that the library appears like INSTALLED
Prior to the programming of the board select: Tools ---> Board: ATtiny 24/44/84
Select the correct chip: Tools ---> Chip: ATtiny44
Select the correct clock reference (accroding to your design): 12 MHz external
Please consider the following ports when handling the Arduino IDE. The port number are not the same as the Datasheet.
I had programmed a led blinking program. I had some problems with the port handling. Hopefully at the documentation there is the information of the ports, after that, I was possible to load the program to the microcontroller.
Something else to consider, it is the resonator value. If its value it is not properly set, the blinking will not be respect the value of the program.