I have written a code for getting input from ADC 0804 and then display the value on 16x2 lcd I need help in writing a function to convert ADC output into a value which can be displayed in 16x2 lcd. ADC is used to convert temperature output from lm35. 5V supply voltage and Vref=2.5V. I need code for - convert_display(value) Also keil compiler gives error - adc_inter.c(16): error C141: syntax error near '='. I am unable to understand what should be done?
#include <reg51.h> #include <stdio.h> #include <string.h> void msdelay(unsigned int time); void convert_display(unsigned char value); #define RD P2^5; #define WR P2^6; #define INTR P2^7; unsigned long MYDATA;
void main() { unsigned char value; MYDATA = P1; MYDATA = 0xFF; INTR = 1; RD = 1; WR = 1; while(1) { WR=0; WR=1; while(INTR==1) { } RD=0; value=MYDATA; convert_display(value); RD=1; } }
void msdelay(unsigned int time) { unsigned char x,y; for(x=0;x<=time;x++) for(y=0;y<=1275;y++); }
I have written a code. At last, no errors and no warnings. Now I need function definition for "convert_display" Please help me. I have to convert temperature from lm35 ->ADC0804(ref voltage 2.28V) ->89s51and display it on 16x2 lcd display.
#include <REGX51.h> #include <stdio.h> #include <string.h> void msdelay(unsigned int time); void convert_display(unsigned char value); #define SET(reg, bit) reg |= (1 << bit) // Sets a bit in reg. #define CLR(reg, bit) reg &= ~(1 << bit) // Clears a bit in reg. #define INTR P2^7 #define RD P2^5 #define WR P2^6 #define MYDATA P0 void main() { unsigned char value; SET(P2,5); SET (P2,6); SET (P2,7); MYDATA =0xFF; while(1) { CLR(P2,6); SET(P2,6); while(INTR==1) { } CLR(P2,5); value=MYDATA; convert_display(value); SET(P2,5); } } void convert_display(unsigned char value) { } void msdelay(unsigned int time) { unsigned char x,y; for(x=0;x<=time;x++) for(y=0;y<=1275;y++); }