Embedded Programming

- Read a microcontroller data sheet.

all the information of the plaque >>HERE<<for attiny 45.

If you need information for the microcontroller you can see the >>datasheet<< for attiny 44.

- Program your board to do something, with as many different programming languages and programming environments as possible


For more information of the microprocessor you can see the datasheet in this >>LINK<<

I used a usbtiny for programed the new plaque, First download the

FIRMWARE

to need for progrmed,

To conect the plaques you must know the ground (GND) of the headers and you computer recognize the USBtiny you can see in device administrator


to program first open the firmware and edit the makefile, in the make file read all the indications of "make" and explain your operation, in the makefile view the next specifications: the microprocessor and your fuses, in the next pass if you have windows 7 no problem but windows you need this program

CYGWIN

First, copy the direction of the folder and the first step do a make fuses to creat all the fuses in the microprocessor and to up the program you have a make flash and wait for a message fuses OK, and see to create files in the folder of the firmware to correct.

communication protocol

The protocol is defined as the rules for the transmission of information between two points. A data communication network protocol is a set of rules governing the orderly exchange of data within the network.

For communication to exist at both points at the end of a channel, the same protocol configuration must be present. The protocols manage two different levels of communication. High-level rules define how applications are communicated, while low-level rules define how signals are transmitted.

The most used low level protocols are: Ethernet, Token ring, Token bus, FDDI, CDDI, HDLC, Frame Relay and ATM.

the primary controls when each secondary station can transmit. When it transmits a secondary station, it becomes a master station, and the primary station is now the slave. The master station paper is temporary, and the primary station determines which station is master.

Software Arduino

Arduino is a software open source to make program of microprocessor, motor, work with leds, sensors and others, you can program all you need in your plataform, to program you must know a basic languaje, over the years Arduino has been their contributions have added up to an incredible amount of accessible knowledge that can be of great help

For the Arduino software need for program the attiny 44 is a complement and this link you can found in files at finally of the page, copy this link and go a Files click in preference and paste in Additional Board Manager URLs, to see the board upload go at tools and click in board.

The description of the board program, first in void setup declares the pins of the microprocessor like output and input, output for LEDs and input for the buttons, the line “digitalWrite(2, LOW)” is to declare the pin like 0 or off you can remove or comment this line if you want. In the second part in void loop is the process that is repeated several times, in this part occupy a conditional to know the status of the LED if is in on or off, the conditional is if and compare the variable if is in Low or high and if the comparation is the same go to the next step, turn the LED on or off.

First burn bootloader for this you must change the parameters in tools: in Boards: Attiny24/ 44/84, Processor: Attiny 44, Clock: External 20 MHz and the programmer select USBtinyISP and press burn bootloader and if all is right only need is send the program at the plaque.

- Optionally, experiment with other architectures

Atmel Studio

To test other architectures, I use the software atmel studio to programing in a language c or c++, and first step open a new project and select the type I mi case use executable project.

In the start of the program the line code is divided in two 1. To declare some variable, library or any other, and in 2. Is all the command to the program follow, the lines that the program will execute for its operation.

You need the data sheet to program in this code the link>>link<<

In the first part of programming I declare 2 libraries, the first one comes by default, in the second I declare the frequency of an internal clock which has the microprocessor and the last include this library to give delays in the program.

In the part of the main, in the first line declare all the port of the micro, 1 like an input and a 0 like an output, the declaration of the ports is done in binary code where each position of the number represents the output of the ports, the part 0b represent that the declare is in binary.

Activate the analog converter to read the analog value, all this programming you need see the data sheet file to know the name of the ports and different codes.

Is to activate the selection of justification like a vectores.

In this part make the conversion of the digital to analog and use a while for the program wait the time to need this conversion.

In the last part load in a variable all the data and compare with the values and in the digital pin send a 1 logical to turn on the led.

To check the program is right you can compilate and the software send a message if you have an error, for this you can select in the tool bar button build and select build solution and show you the message, you can check in 1. And in 2 is the location of the file to send your board.

I have trouble to send the program to my board because the software to send the program they were not compatible with windows 10 and they gave me different errors when sending the program, to solve this I recommend using Linux, ubuntu or a previous version of windows.

In this link I show you an example how send the program with previous version on windows in attiny 45 and you can use you programmer usbtiny >>page<<.

proteus

I test with others architectures as proteus to complemented the programming that was done, this software we can simulate the circuit make, to view the correct functioning of the plaque and the correct programming before to mechanize, in my case I use Arduino software to make the program and complement with proteus.

To start in the program first make a new project, when you create the project appears a blank space to work and different commands in the top and in the right, to make the circuit first select all the components press in “P” and in the window, that is displayed you can find all the components or if you need more also can download it.

When you choose all the components for the circuit that is going to be done, to select the components of the list first you give a click in the name of component and in the work area you give one click to component appear and two for collocate in a place.

Next you connect all the components with a button “component mode”, for connect the components you need based in the schematic of the circuit done, when you finish, in the microprocessor give double click to appear a window and in the space program file you put the direction of the program for example, to export the file of software Arduino you need make the next steps:

In the program Arduino you go to file and click in “preferences”.

In the window preferences, check in “compilation” and press OK.

After that press compiling to create the location of the file is in (.hex).

Finally copy the direction and paste in the proteus and press OK.

To simulate press in

Learning outcomes:

- Identify relevant information in a microcontroller data sheet.

The datasheet is an important file to know about the microcontroller because in this document you have information about it and pin configurations and an explanation of the functioning of each pin, this information you can found at first of the page.

- Implement programming protocols.

The protocols of information for the programing is in the top of the page you can see all you need for programming, only the most complicated is found the complements that the software need for programming the board, but all this is in the process.

Have I:

- Documented what you learned from reading a microcontroller datasheet.

The datasheet is the first specification in the page you can see the link and an image of the pins of microcontrollers.

- What questions do you have? What would you like to learn more about?

I would like to learn more about the first type of programming since it can be useful in case of not being able to program with other means, Learn more about the language you use to edit the codes, how the name of the type of the program language, need more parameters of which I learned for program.

- Programmed your board

The programming is at the top of the page with all the process that you need.

- Described the programming process/es you used

The process is in the first objective you can see two tipes of programming.

- Included your code

Dwonload files

Files in Repo