Posts

Showing posts from 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...

8051 SIMPLE PROGRAMS

Image
PROGRAM                                #include<reg51.h>                               void main()                               {                               P3=0x01;                                } PROGRAM                    #include<reg51.h>                    sbit sw=P1^0; /*setting P1.0 for switch*/                    sbit led=P2^0;/*setting P3.0 for led*/                   ...

MICRO CONTROLLER SIMULATION WITH PROTEUS 8

Image
EMBEDDED 1.CLICK->NEW PROJECT 2.GIVE SOME TITLE AS YOU WANT.CLICK NEXT  3.SELECT SCHEMATIC PREVIEW PANEL SIZE.THEN CLICK NEXT                 4.SKIP THE WINDOW TO NEXT 5.SELECT FIRMWARE AS LIKE AS SHOWN IN THE FOLLOWING IMAGES.THEN CLICK FINISH BUTTON.  6.CLICK P TO ADD SOME COMPONENTS TO YOUR PROJECT. ADD RESISTOR & LED.  CHANGE PROPERTY OF MICRO CONTROLLER AND THE HEX FILE AS YOU WANT. 8 9 10.FINALLY, RUN PROJECT

New project creation for 8051 on keil environment

Image
1.Find and select keil u version 4 from your computer.  2.Then click project to create New project on drop down selection.  3.Create and Select folder for the project.Then save it 4.Right click project window and it will appear like the following image  5.Then scroll down the mouse pointer and select atmel family from the list.  6.Select Atmel->89s52 controller.Then click ok  7.Click yes button.it will add some source information about your project.  8.Create File->New . Save it as *.C  9.Add the file C file into project by Right clicking pointer on source window . Then click the 'Add Files to Group 'source group' .                                                                                 ...