Posts

Showing posts from September, 2016

8051-HARDWARE INTERRUPT TUTORIAL

Image
                                       PROGRAM:                       #include<reg51.h>                        sbit wav=P1^1;                        void timer() interrupt 0                         {                          wav=~wav;                         }                                             void main()                           ...

8051 INTERFACING WITH ADC0804 AND LM35

Image
                                     PROGRAM: #include<reg51.h> #define mydata P2 sbit rd=P3^5; sbit wr=P3^6; sbit intr=P3^7; sbit rs=P3^1; sbit en=P3^0; void convert(unsigned char ); void delay(unsigned int  ); void lcd_cmd(unsigned char); void lcd_msg(unsigned char ); void lcd_init(void); void main() { unsigned char value; mydata=0xff; intr=1; rd=1; wr=1; lcd_init(); P0=0x00; while(1) { lcd_cmd(0x80);     lcd_msg('t'); lcd_msg('e'); lcd_msg('m'); lcd_msg('p'); lcd_msg(':'); wr=0; wr=1; while(intr==1); rd=0; value=mydata; convert(value); if(value>=25) { P0=0x01; } else { P0=0x00; } rd=1; } } void lcd_init(void) { lcd_cmd(0x38); lcd_cmd(0x01); lcd_cmd(0x06); lcd_cmd(0x0e); lcd_cmd(0x0c); } void delay(unsigned int ms) { unsigned int j; ms=ms*14; for(j=0;j<ms;j++); } v...

8051 INTERFACING WITH KS108 GRAFICAL DISPLAY

Image
                             PROGRAM: #include <reg51.h>                   #include <stdio.h>                   #define DATA P1                     sbit CS1= P3^2;                 sbit CS2= P3^3;                 sbit RS= P3^4;                 sbit RW=P3^5;                     sbit lcd_e=P3^6;                 sbit RST=P3^7; void GLCD_PutPicture(const unsigned char *); void Select_page(unsigned char); int i; //--------------------------------- //Load your black&white images here //--------------------------------- code unsigned char...

8051 SERIAL COMMUNICATION -TX

Image
    PROGRAM: #include<reg51.h> void serial(unsigned char m) { SBUF=m; while(TI==0); TI=0; } void main() { unsigned int i; unsigned char mk[]="SARAL ELECTRO!!! "; TMOD=0X20; TH1=0XFD; SCON=0X50; TR1=1; for(i=0;mk[i]!='\0';i++) { serial(mk[i]); } while(1); }

8051 INTERFACING WITH 16X2 LCD

Image
    PROGRAMS: #include<reg52.h> sbit en=P3^0; //setting P3.0 as enable pin sbit rs=P3^1; //setting P3.2 as register selection void delay(unsigned int ms) //delay function { unsigned int i,j; for(i=0;i<=ms;i++) for(j=0;j<=1275;j++); } void lcdcmd(unsigned char cmd) //function for lcd_cmd { P2=cmd; rs=0; en=1; delay(5); en=0; } void lcddata(unsigned char mess)//function to get char { P2=mess; rs=1; en=1; delay(5); en=0; } void initlcd() //lcd intialization {    lcdcmd(0x38); //cmd for  8bit mode,2line    lcdcmd(0x01); //lcd clear    lcdcmd(0x06); //entry mode on lcd    lcdcmd(0x0e); //cursor on    lcdcmd(0x0c); //display cursor off } void main() { initlcd(); while(1)  //infinite loop { lcdcmd(0x01); //clear display of lcd lcdcmd(0x83); //setting lcd cursor 3rd position delay(100); //calling delay lcdcmd(0x01); lcdcmd(0x83); lcddata('E'); lcddata('C'); l...

8051 INTERFACING WITH 7 SEGMENT DISPLAY AND 3X3 MATRIX KEYPAD

Image
                                          PROGRAM: #include<reg52.h> void scankey(); void result(unsigned int m); void delay(unsigned int ms); sbit a=P2^0; sbit r1=P1^0; sbit r2=P1^1; sbit r3=P1^2; sbit r4=P1^3; sbit c1=P1^4; sbit c2=P1^5; sbit c3=P1^6; int value[10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66,0x6D, 0x7D, 0x07, 0x7F, 0x6F}; void main() { a=1; scankey(); } void delay(unsigned int ms) { unsigned int i,j; for(i=0;i<=ms;i++) for(j=0;j<1275;j++); } void scankey() { c1=1;c2=1;c3=1; while(1) { r1=0; r2=1; r3=1; r4=1; if(c1==0){delay(20);while(c1==0);result(1);} if(c2==0){delay(20);while(c2==0);result(2);} if(c3==0){delay(20);while(c3==0);result(3);} r1=1; r2=0; r3=1; r4=1; if(c1==0){delay(20);while(c1==0);result(4);} if(c2==0){delay(20);while(c2==0);result(5);} if(c3==0){delay(20);while(c3==0);result(6);} r1=1; r2=1; r3=0; r...

7 SEGMENT INTERFACING WITH 8051

Image
                                  program: #include<reg52.h> #define seg_data P2 sbit seg1=P3^0; sbit seg2=P3^1; sbit seg3=P3^2; sbit seg4=P3^3; int ones=0,tens=0,hundreds=0,thou,l; void display_digit(int ); void delay(unsigned int ); void main() { unsigned int m;   seg4=seg1=seg2=seg3=1; while(l<=999) { ones=l%10; tens=(l/10)%10; hundreds=(l/100); thou=l/1000; for(m=0;m<150;m++) { display_digit(ones); seg1=1; delay(20); seg1=0; display_digit(tens); seg2=1; delay(20); seg2=0; display_digit(hundreds); seg3=1; delay(20); seg3=0; display_digit(hundreds); seg3=1; delay(20); seg3=0; display_digit(thou); seg4=1; delay(20); seg5=0; } l++; } } void delay(unsigned int m) { long int k; for(k=0;k<m;k++); } void display_digit(int c) { switch(c) { case 0: seg_data=~0x3f; break; case 1: seg_data=~0x06; break; case 2: se...