Posts

Showing posts from 2017
Image
proteus connections for adc digital thermometer

Building Digital thermometer using ADC in ARM7 (lpc2148)

            //Main Program #include<lpc214x.h> #include"lcd.h" void hex(unsigned int var); int main() { int temp, adc_data; PINSEL1|=(0<<25)|(1<<24); delay(); while(1) { IODIR0|=D4|D5|D6|D7; IODIR0|=RS|E; IOCLR0|=D4|D5|D6|D7; IOCLR0|=RS|E; lcd_init(); AD0CR=0x01200302; while(!(AD0GDR&0x80000000)); temp=AD0GDR; adc_data=((temp>>6)&(0x3FF)); lcd_string("Temp is "); hex(adc_data); lcd_string("mV"); delay(); } } void hex(unsigned int var) { unsigned char i,d[4]; for(i=0;i<4;i++) { d[i]=var%10; var=var/10; } for(i=0;i<4;i++) { lcd_conv(d[3-i]+0x30); } }   \\lcd library file// #include<lpc214x.h> #define RS (1<<16) #define E (1<<17) #define D4 (1<<10) #define D5 (1<<11) #define D6 (1<<12) #define D7 (1<<13) void delay(void); void lcd_init(void); void lcd_cmd(int ); void lcd_string(cha...

LCD programming for 8051 in KEiL

#include<REGX51.h> #define en_dly 20 #define lcd_input P2 #define rs P3_3 #define en P3_2 void delay(unsigned char time) { unsigned int i,j; for(i=0;i<time;i++) for(j=0;j<1000;j++); } void lcd_cmd(unsigned char CMD) { //lcd_input=CMD>>4; lcd_input=CMD; rs=0;en=1; delay(en_dly); en=0; //lcd_input=CMD; // lcd_input=CMD<<4; //rs=0;en=1; // delay(en_dly); // en=0; } void lcd_data(unsigned char dat) { //lcd_input=dat>>4; lcd_input=dat; rs=1;en=1; delay(89); en=0; //lcd_input=dat; // lcd_input=dat<<4; //rs=1;en=1; //delay(en_dly); // en=0; } void lcd_init(void) { lcd_cmd(0x02); // lcd_cmd(0x28);    lcd_cmd(0x38); lcd_cmd(0x0e); lcd_cmd(0x06); //lcd_cmd(0x0C); lcd_cmd(0x01); } void display(char *name) { while(*name!=0) { lcd_data(*name); name++; } } void main() { unsigned char i=0; unsigned char m_1[]=" *****"; unsigned char m_2[]=" Hello...