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 improve the accuracy and precision of power supplies through low frequency thermal noise?
- How to Make a Soft Latch Circuit
- Build a simple buck-boost regulator and test it on a breadboard
- Constant current LED lamp driver circuit with soft start and anti-shock
- The constant current source composed of two transistors can drive high power
- LNK304 non-isolated LED light string driver circuit
- Low cost and high performance LED constant current power supply
- Reconstruction of the tube pre-stage by using low voltage difference power supply
- Detailed explanation of mobile phone charger circuit diagram
- Homemade home inverter circuit diagram
- DC 12V to AC 100V inverter power supply circuit design
- Power circuit of LBO-522 dual trace oscilloscope
- Timing switch AC power circuit
- Household emergency power circuit
- Antenna amplifier synchronous power supply circuit
- Music power circuit
- Wide input 350mA LED driver circuit based on NCL30000
- Common power circuits and applications 05
- DC-DC conversion power supply circuit
- Small power UPS power circuit and production