Embedded Programming
Group Assignment
* Compare the performance and development workflows for other architectures.
After reading some microcontrollers datasheets, I summarized the following differences:
|
PIC16F877A |
ATmega328 |
ATtiny44 |
ATtiny45 |
Pins Count |
40-44 |
14 |
8 |
32 |
I/O pins |
33 |
12 |
6 |
23 |
Flash memory |
8 Kb |
8 Kb |
8 Kb |
32 Kb |
EEPROM |
256 bytes |
512 bytes |
512 bytes |
1 kb |
ADC channels |
8 |
8 |
4 |
6-8 |
Individual assignments
In this assignment I have to:
* Read a microcontroller data sheet, program my board to do something, with as many different programming languages and programming environments
as possible.
In this assignment I have used Arduino UNO board as programmer. This link from Official website of Arduino produce a helpful tutorial about
using Arduino as ISP.
I tested my board that I designed and manufacture in week 7.
Arduino as ISP:
To use the Arduino UNO as an ISP, first step is upload an example with name "ArduinoISP" to the Arduino UNO boardr.
Wire Connection:
The connections between the ATTIny44 and the Arduino Uno is shown in the following table:
Arduino Board | Reset | MOSI | MISO | SCK |
---|
Uno | 10 | 11 | 12 | 13 |
And the connection is described:
Uplaod the program:
After choosing ATtiny44 board and select the oscillator frequency from "Tools", upload the program using "Upload Using programmer"
Board test:
I try a simple switch program:
Download Files:
Arduino Code: