EngineersGarage

  • Engineers Garage Main Site
  • Visit our active EE Forums
    • EDABoard.com
    • Electro-Tech-Online
  • Projects & Tutorials
    • Circuits
    • Electronic Projects
    • Tutorials
    • Components
  • Digi-Key Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • Advertise
You are here: Home / Topics / Parallex RFID_PIC16f877a_LCD_Hi Tech C

Parallex RFID_PIC16f877a_LCD_Hi Tech C

|

Projects › Projects › Parallex RFID_PIC16f877a_LCD_Hi Tech C

  • This topic has 2 replies, 2 voices, and was last updated 14 years, 1 month ago by Jaden Ng.
Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • October 1, 2011 at 6:42 am #4927
    Jaden Ng
    Participant

    Hi guys,
    I need your help to provide me a HTC code that can relate the RFID to my LCD.i want the RFID reader to read the RFID tag’s code and send it to my lcd to display out the code.
    I have uploaded the picture of my RFID

     

    RFID model:Parallex RFID

    http://www.trossenrobotics.com/store/p/5378-Parallax-RFID-Card-Reader-Serial-.aspx

    RFID datasheet:

    http://www.parallax.com/dl/docs/prod/audiovis/RFID-Reader-v1.1.pdf

     

    this is my simple code to show character in display but how to do to make the lcd show out the code when RFID tag is sensed by RFID reader.

    Code:

    /*————————– BEGIN —————————-*/
    #include<htc.h>
    __CONFIG(0x3F39);
    #define _XTAL_FREQ 4e6
    #define RS RC4
    #define EN RC5
    #define databits PORTB

    /*—————-PORT SETTINGS——————-*/
    void pic_init()
        {
         TRISC4=0;
         TRISC5=0;
         TRISB=0;
        }

    /*—————–LCD FUNCTIONS ———————-*/
    void LCD_STROBE(void)
        {
        EN = 1;
        __delay_us(0.5);
        EN = 0;
        }
    void data(unsigned char c)
        {
        RS=1;
        __delay_us(40);
         databits = ( c >> 4 );
        LCD_STROBE();
        databits = ( c );
        LCD_STROBE();
        }
    void cmd(unsigned char c)
        {
         RS=0;
        __delay_us(40);
        databits = ( c >> 4 );
        LCD_STROBE();
        databits = ( c  );
        LCD_STROBE();
      __delay_ms(2);
        }
    void clear(void)
        {
         cmd(0x01);
        __delay_ms(2);
        }
    void lcd_init()
        {
        __delay_ms(20);
        cmd(0x28 );
        __delay_ms(1);
        cmd(0x28 );
        __delay_ms(1);
        cmd(0x28 );
        cmd(0x28 ); // Function set (4-bit interface, 2 lines, 5*7Pixels)
        cmd(0x0c); // Make cursorinvisible
        clear(); // Clear screen
        cmd(0b00000110); // Set entry Mode(auto increment of cursor)
        }
    void string(const char *q)
        {
        while(*q)
      {

       data(*q++);
      }
        }

    /*——————MAIN FUNCTION———————–*/
    main()
        {
        __delay_ms(50);
        pic_init();
        lcd_init();
        while(1)
            {
            cmd(0x83);
            string(“Blind Audio”);
            cmd(0xc0);
            string(“Guidance System”);
            while(1);
            }
        }
    /*—————- END ————————–*/

     

     

     

     

     

     

     

     

     

    October 4, 2011 at 10:09 am #6668
    nikhiljain
    Participant

    There are good tutorial available for the same on this site. Try those, the convepts remain  the same.

    October 6, 2011 at 11:15 am #6681
    Jaden Ng
    Participant

    wysiwyg_imageupload:2839:wysiwyg_imageupload:2840:wysiwyg_imageupload:2842:

    #include<htc.h>
    #define _XTAL_FREQ 4e6
    __CONFIG(0x3F39);
    #define RS RC4
    #define EN RC5
    #define databits PORTB

    unsigned char i=0;
    unsigned char data[]=”Blind ID No.”;
    unsigned char tag_id[12];

    void usrt_init()
    {
    TXEN=1;
    SYNC=0;
    BRGH=0; // low baud rate
    SPBRG=25; //baud rate 2400
    TRMT=1;
    SPEN=1;
    CREN=1;
    }

    void interrupt_enable()
    {
    GIE=1;
    PEIE=1;
    RCIE=1;
    }

    void interrupt UART() //interrupt service routine
    {
     tag_id=RCREG;
     i++;
    }

    void LCD_STROBE(void)
    {
    EN = 1;
    __delay_us(2);
    EN = 0;
    }

    void lcddata(unsigned char c)
    {
    RS = 1;
    __delay_us(50);
    databits = (c >> 4);
    LCD_STROBE();
    databits = (c);
    LCD_STROBE();
    }

    void cmd(unsigned char c)
    {
    RS = 0;
    __delay_us(50);
    databits = (c >> 4);
    LCD_STROBE();
    databits = (c);
    LCD_STROBE();
    }

    void clear(void)
    {
    cmd(0x01);
    __delay_ms(2);
    }

    void lcd_init()
    {
    __delay_ms(15);
    cmd(0x28);
    __delay_ms(1);
    cmd(0x28);
    __delay_us(100);
    cmd(0x28);
    cmd(0x28); // Function set (4-bit interface, 2 lines, 5*7Pixels)
    cmd(0x28); // Function set (4-bit interface, 2 lines, 5*7Pixels)
    cmd(0x0c); // Make cursorinvisible
    clear(); // Clear screen
    cmd(0x6); // Set entry Mode(auto increment of cursor)
    }

     

    void main()
    {
    TRISB=0;
    TRISC4 = 0;
    TRISC5 = 0;
    usrt_init();
    interrupt_enable();
    lcd_init();

    while(data!=’’)
    {
     lcddata(data
    );
     i++;
    }
    while(1)
    {
     i=0;
     while(i<12);
     cmd(0xc0);
     i=0;
     while(i<12)
     {
       lcddata(tag_id
    );
       i++;
     }

    }
    }

     

     

    this is my code use to detect rfid tag’s code and sdisplay with lcd.this is using hi tech c.

    but some weird characters occured.what’s the problem?

    i have posted the pics…

     

     

  • Author
    Posts
Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.
Log In

RSS Recent Posts

  • JLCPBC are using a different shipping company = less $$$$$$$$ November 9, 2025
  • strange laptop problem November 9, 2025
  • Manually actuate fuel tank selector solenoid November 9, 2025
  • Help please! BLDC driver circuit using the IR2136s and the STP80NF06 MOSFETS November 8, 2025
  • need two ICs November 8, 2025

Stay Up To Date

Newsletter Signup
EngineersGarage

Copyright © 2025 WTWH Media LLC. All Rights Reserved. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media
Privacy Policy | Advertising | About Us

Search Engineers Garage

  • Engineers Garage Main Site
  • Visit our active EE Forums
    • EDABoard.com
    • Electro-Tech-Online
  • Projects & Tutorials
    • Circuits
    • Electronic Projects
    • Tutorials
    • Components
  • Digi-Key Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • Advertise