Production of power carrier communication switch circuit based on 51 microcontroller
Source: InternetPublisher:王达业 Keywords: power communication power supply communication Updated: 2020/06/12
1. Schematic diagram:
Transfer files for [membrane switch] proofing
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
- Cleverly use the electronic ballast of waste energy-saving lamps as power supply transformer
- Practical and convenient fax machine power supply control circuit
- Driving circuit of switching power supply field effect tube
- Introduction and principle analysis of switching regulated power supply
- Driving circuit that controls LED brightness using PWM signal
- Principles and precautions of active discharge circuit
- A simple positive and negative power supply circuit
- 0.7~24V continuously adjustable current limiting power supply
- UC3842 Electric Vehicle Charger
- Power circuit with smoothing filter capacitor
- 2-phase CPU power circuit using HIP6301 and HIP6601 chips
- Transistor stabilized current power supply circuit 2
- Simple dual-channel variable DC power supply circuit
- Additional power circuit design for USB devices
- Common power circuits and applications 07
- Common power circuits and applications 04
- Common power circuits and applications 01
- ±5V, ±12V power circuit B
- COMPAQ 420G type SVGA color display power supply circuit