Production of power carrier communication switch circuit based on 51 microcontroller
Source: InternetPublisher:D先生 Keywords: Power communication power Updated: 2021/05/01
1. Schematic diagram:
2. C program source code
/*
This program has been debugged and run by me personally. If you have any questions, please contact
QQ: 286288986
*/
#include //Predefined header file
#define uchar unsigned char //Macro definition
sbit keyin=P3^3; //Key definition
sbit LED=P3^5; //Indicator light definition
uchar a; //Receive data register
void main() //main function
{
keyin=1; //Set the key port to 1
led=1; //turn off the led light
TMOD=0x20; //Select mode 2 in timer/counter 1
SP=0x60; //Set the heap extraction address
TH1=0xfd; //Baud rate 9600bit/s
TL1=0xfd;
SCON=0x50; //Serial communication mode 2, allowing sending and receiving
TR1=1; //Start the counter
while(1) //Loop
{
if(keyin==0) //Determine whether the key is pressed, if so, process the key
{
SBUF=0x00; //Receive data processing
while(TI==0); //Clear the receive flag after sending
TI=0;
}
if(RI==1) //Whether to receive
{
RI=0; //Clear the reception flag after receiving
a=SBUF; //Read received data
if(a==0) //Judge whether the received data is correct
{
if(led==1) //Invert the correct LED light
led=0;
else
led=1;
}
}
}
}
3. Assembly program
/*
This program has been debugged by me personally. If you have any questions while studying,
QQ: 286288986
*/
ORG 00H
JMP START //Start
ORG 10H //Start address
START:
MOV SP,#60H //Set the heap address
MOV SCON,#50H //Serial communication mode 2, allowing sending and receiving
MOV TMOD,#20H //Select mode 2 in timer/counter 1
MOV TH1,#0FDH //Baud rate 9600bit/s
MOV TL1,#0FDH
SETB TR1 //Start the counter
SETB P3.3 //Switch input port is set to 1
SETB P3.5 //LED display off
SCAN:
JB RI,UART //Determine whether to receive
JNB P3.3,KEYIN //Determine whether the key is pressed, if so, process the key
JMP SCAN //Not key scan
KEYIN:
MOV A,#5AH //Send data into A
MOV SBUF,A //Send data
WAIT: // Waiting to send
JBC TI,SCAN //Clear the TI flag after sending
JMP WAIT
UART: //Receive data processing
MOV A,SBUF
CJNE A,#5AH,ERROR //The simple address code is set to 5AH, the user can define it at will
CLR RI //Clear the receive flag bit
CPL P3.5 //Light up
ERROR:
JMP SCAN //Return to scan
END
- TPS274C65 helps reduce downtime and increase productivity in 24 VDC power distribution plants
- Build a simple buck-boost regulator and test it on a breadboard
- Step-down power supply for driving relays
- Basic circuit description of adjustable voltage regulator LM317
- BA6104 five-digit LED level meter driver integrated circuit basic application circuit
- Transformerless AC-DC constant current LED driver circuit
- Simple and practical LED lamp driving circuit
- Constant current LED lamp driver circuit with soft start and anti-shock
- Homemade Electric Bike Fast Charger
- Homemade home inverter circuit diagram
- Switching power supply circuit composition and detailed explanation of each part (1)
- Design of adjustable DC stabilized power supply circuit module
- DC 12V to AC 100V inverter power supply circuit design
- Portable device charging power circuit design
- Power circuit with smoothing filter capacitor
- Single phase thyristor slotless nickel plated power circuit
- Timing switch AC power circuit
- Single LTC power circuit
- Telephone power circuit
- Nine-speed adjustable DC power circuit