Someone Convert C Codes Arduino Assembly Language Atmel Studio 7 Include Include Liquidcry Q43877794
Can someone convert these C++ codes (Arduino) intoassembly language (Atmel Studio 7)?
#include<Wire.h>
#include<LiquidCrystal_I2C.h>
LiquidCrystal_I2Clcd(0x27,2,1,0,4,5,6,7,3,POSITIVE);
//TEMP SENSOR
const int sensor=A1; // Assigning analog pin A5 tovariable ‘sensor’
float tempc; //variable to store temperature in degreeCelsius
float tempf; //variable to store temperature inFahreinheit
float vout; //temporary variable to hold sensorreading
//FLOWRATE
byte statusLed = 13;
byte sensorInterrupt = 0; // 0 = digital pin2
byte sensorPin = 2;
float calibrationFactor = 4.5;
volatile byte pulseCount;
float flowRate;
unsigned int flowMilliLitres;
unsigned long totalMilliLitres;
unsigned long oldTime;
void setup()
{
//temperature sensor
pinMode(sensor,INPUT); //Configuring sensor pin as input
Serial.begin(9600);
//lcd
lcd.begin(16,2);
lcd.setCursor(0,0); //column0,row 0
lcd.print(“MCTE2332”);
pinMode(13,OUTPUT);
pinMode(8,OUTPUT);
pinMode(10,OUTPUT);
//FLOWRATE
Serial.begin(38400);
pinMode(statusLed,OUTPUT);
digitalWrite(statusLed,HIGH); // We have an active-low LED attached
pinMode(sensorPin, INPUT);
digitalWrite(sensorPin,HIGH);
int pulseCount = 0;
int flowRate = 0.0;
int flowMilliLitres =0;
int totalMilliLitres =0;
int oldTime = 0;
// The Hall-effect sensor is connected topin 2 which uses interrupt 0.
// Configured to trigger on a FALLINGstate change (transition from HIGH
// state to LOW state)
attachInterrupt(sensorInterrupt,pulseCounter, FALLING);
}
void loop()
{
//TEMP
vout=analogRead(sensor); //Reading thevalue from sensor
vout=(vout*500)/1023;
tempc=vout; // Storing value in DegreeCelsius
tempf=(vout*1.8)+32; // Converting toFahrenheit
Serial.print(“in DegreeC=”);
Serial.print(“t”);
Serial.print(tempc);
Serial.print(” “);
Serial.print(“in Fahrenheit=”);
Serial.print(“t”);
Serial.print(tempf);
Serial.println();
delay(500); //Delay of 1 second for easeof viewing
//FLOWRATE
if((millis() – oldTime) >1000) // Only process counters once per second
{
// Disable the interrupt whilecalculating flow rate and sending the value to
// the host
detachInterrupt(sensorInterrupt);
// Because this loop may notcomplete in exactly 1 second intervals we calculate
// the number of millisecondsthat have passed since the last execution and use
// that to scale the output.We also apply the calibrationFactor to scale the output
// based on the number ofpulses per second per units of measure (litres/minute in
// this case) coming from thesensor.
flowRate = ((1000.0 /(millis() – oldTime)) * pulseCount) / calibrationFactor;
// Note the time thisprocessing pass was executed. Note that because we’ve
// disabled interrupts themillis() function won’t actually be incrementing right
// at this point, but it willstill return the value it was set to just before
// interrupts went away.
oldTime = millis();
// Divide the flow rate inlitres/minute by 60 to determine how many litres have
// passed through the sensorin this 1 second interval, then multiply by 1000 to
// convert to millilitres.
flowMilliLitres = (flowRate /60) * 1000;
// Add the millilitres passedin this second to the cumulative total
totalMilliLitres +=flowMilliLitres;
unsigned int frac;
// Print the flow rate forthis second in litres / minute
Serial.print(“Flow rate:”);
Serial.print(int(flowRate)); // Printthe integer part of the variable
Serial.print(“.”); // Print the decimal point
// Determine the fractionalpart. The 10 multiplier gives us 1 decimal place.
frac = (flowRate -int(flowRate)) * 10;
Serial.print(frac, DEC); // Print the fractional part of thevariable
Serial.print(“L/min”);
// Print the number of litresflowed in this second
Serial.print(” CurrentLiquid Flowing: “); //Output separator
Serial.print(flowMilliLitres);
Serial.print(“mL/Sec”);
// Print the cumulative totalof litres flowed since starting
Serial.print(” OutputLiquid Quantity: “); //Output separator
Serial.print(totalMilliLitres);
Serial.println(“mL”);
// Reset the pulse counter sowe can start incrementing again
pulseCount = 0;
// Enable the interrupt againnow that we’ve finished sending output
attachInterrupt(sensorInterrupt,pulseCounter, FALLING);
}
//LCD
lcd.setCursor(0,0);
lcd.print(“FLOWRATE: “);
lcd.print(flowRate);
lcd.setCursor(0,1);
lcd.print(“TEMP: “);
lcd.print(tempc);
lcd.print((char)223);
lcd.print(“C”);
//ORANGE LED
if(flowRate>0)
digitalWrite(10,HIGH);
else if (flowRate<=0)
digitalWrite(10,LOW);
//GREEN LED
if(tempc>25)
digitalWrite(8,HIGH);
else
digitalWrite(8,LOW);
//RED LED
if(digitalRead(10)==HIGH &&digitalRead(8)==HIGH )
digitalWrite(13, HIGH);
else
digitalWrite(13, LOW);
}
void pulseCounter()
{
// Increment the pulse counter
pulseCount++;
}
Expert Answer
Answer to Can someone convert these C++ codes (Arduino) into assembly language (Atmel Studio 7)? #include #include LiquidCrystal_I…
OR