32
of 76
TEP , The Engineering Projects , Image

syedzainnasir

TEP , The Engineering Projects , Rating 7.5 7.5 / 10
TEP , The Engineering Projects , Icon Level: Moderator
TEP , The Engineering Projects , Icon Joined: 20 Mar 2022
TEP , The Engineering Projects , Icon Last Active: 2:21 PM
TEP , The Engineering Projects , Icon Location: TEP , The Engineering Projects , Flag
TEP , The ENgineering Projects , Icon TEP , The ENgineering Projects , Icon TEP , The ENgineering Projects , Icon TEP , The ENgineering Projects , Icon
parallel slave port in pic16f877 / usrt with pic16f87x
TEP , The Engineering Projects , Calender Question: 10-Dec-2018
TEP , The Engineering Projects , Category In: PIC Microcontroller Projects
Hello everyone,

I'm trying to design a circuit with pic16f877 with parallel slave port and this is the design I have :

[img]https://www.electro-tech-online.com/attachments/untitled-jpg.115594/[/img]

and this is the C code for this circuit :

/****************************************
*Description :
* SWITCH X6 - /CS
* SWITCH X5 - /WR
* SWITCH X4 - /RD
*****************************************/

/* This header file declares the internal
register addresses for PIC16F874 */
#include <io16f877.h>
// Main
void main(void)
{
unsigned char temp;
ADCON1 = 0x0f; // Configure PORTE pins as digital input
// Define directions for port pins
TRISE = 0x17;
TRISB = 0x00;
do{
if (IBF) temp = PORTD;
else if (OBF == 0) PORTB = temp;
}while(1);
}



I want to add a light sensor with the high priority in this circuit so when the light is more than a specified value,reading and writing stop working.
and altough I have another circuit with pic16f877 :

[img]https://www.electro-tech-online.com/attachments/untitled1-png.115595/[/img]

with this C code :

#include <io16f874.h>
// Transmit
void TXD(unsigned char data)
{
RC2 = 1;
TXREG = data; // Put data into buffer sneds the data
TXEN = 1;
while(!TRMT); // Wait for empty transmit buffer
TXEN = 0;
RC2 = 0;
}
// Receive
unsigned char RXD(void)
{
unsigned char data;
RC0 = 1;
RC0 = 0;
RC0 = 1;
RC1 = 0;
RCIF = 0;
SREN = 1;
TXEN = 1;
while(!RCIF); // Wait for data to be received
data = RCREG; // Read RCREG into data
RC1 = 1;
TXEN = 0;
return(data); // Return received data
}
// Main
void main(void)
{
unsigned char data;
// Set baud rate(19200[bps])
SPBRG = 191;
TXSTA = 0x90;
TRISC = 0xf8; // Set RC<0:2) as outputs
TRISA = 0xff; // Set RA0 input
ADCON1 = 0x06; // Configure all pins as digital inputs
PORTC = 0xfa;
RCSTA = 0x80;
do{
while(RA0);
data = RXD();
TXD(data);
while(!RA0);
}while(1);
}


when we press X4 the value of dip switch will be display on level meter. I want to add a light sensor in this circuit so when the light is more than a specified value, the circuit stop functioning.
can anyone help me with these two problems??
TEP , The Engineering Projects , Icon Answer: 0 TEP , The Engineering Projects , Icon Views: 150 TEP , The Engineering Projects , Icon Followers: 85
Small Bio
TEP , The Engineering Projects , Tags
PLC
Robot
STM32
Arduino
AI
ESP32
Ladder Logic
PLC Projects
Programming
Communicates STM32
PLC Projects
Communicates PLC
Font Style
Alignment
Indenting and Lists
Insert Media
Insert Items

Want to leave an answer!

Word Count :0 Draft Saved at 12:42 am.