Production of power carrier communication switch circuit based on 51 microcontroller
Source: InternetPublisher:newlandmark Keywords: power communication power supply communication Updated: 2021/08/20
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
- How to Make a Soft Latch Circuit
- Practical and convenient fax machine power supply control circuit
- Recommended circuits for different power on times of LM4911
- INA155/INA156 is used to form a single-supply high-side current monitor for detecting load current
- The constant current source composed of two transistors can drive high power
- Detailed explanation of 5v charger circuit diagram
- 0.7~24V continuously adjustable current limiting power supply
- Design of electric vehicle charger
- A low-cost, high-reliability battery charger for electric vehicles
- Homemade Electric Bike Fast Charger
- Excellent performance household inverter power supply circuit
- Portable device charging power circuit design
- Commonly used power circuits in printers
- 2-phase CPU power supply circuit using HIP6302 and HIP6602 chips
- Warm current power supply circuit b
- Single LTC power circuit
- Class A power amplifier power circuit
- ±15V active servo power circuit
- Inverter power circuit
- Nine-speed adjustable DC power circuit