8051 serialp port
-
Upload
teju-kotti -
Category
Engineering
-
view
56 -
download
2
Transcript of 8051 serialp port
8051- SERIAL COMMUNICATION
Basics of Serial Communication• Computers transfer data in two ways:
Types of Serial communications
Asynchronous vs. Synchronous Transmission Modes
• Serial data communication uses two methods– Synchronous method transfers a block of data at a
time
– Asynchronous method transfers a single byte at a time
Asynchronous – Start & Stop Bit• Asynchronous serial data communication is
widely used for character-oriented transmissions– Each character is placed in between start and stop
bits, this is called framing.
• The start bit is always one bit, but the stop bit can be one or two bits
• The start bit is always a 0 (low) and the stop bit(s) is 1 (high)
Asynchronous serial communication synchronous serial communication
transmitter and receiver are not synchronized by clock.
transmitter and receiver are synchronized by clock.
Character may arrive at any rate at receiver.
Character is received at constant rate.
Data transfer is character oriented Data transfer takes place in blocks.
Start and stop bits are required to establish communication of each character.
Start and stop bits are not required to establish communication of each character, however ,synchronization bits are required to transfer the data block.
Used in low-speed transmissions Used in high-speed transmissions
• There are special IC’s made by many manufacturers for serial communications.– UART (universal asynchronous Receiver
transmitter)
– USART (universal synchronous-asynchronous Receiver-transmitter)
Data Transfer Rate• The rate of data transfer in serial data
communication is stated in bps (bits per second).
• Another widely used terminology for bps is baud rate.
• Serial port of 8051 is full duplex, means it can transmit and receive simultaneously.
8051 Registers related to Serial Communication
1. SBUF Register -- to hold data
2. SCON Register -- controls data communication
3. PCON Register -- controls data rates
SBUF Register• SBUF is an 8-bit register used for serial communication.
• For a byte data to be transferred via the TxD line, it must be placed in the SBUF register.
• The moment a byte is written into SBUF, it is framed with the start and stop bits and transferred serially via the TxD line.
• SBUF holds the byte of data when it is received by 8051 RxD line.
• When the bits are received serially via RxD, the 8051 deframes it by eliminating the stop and start bits, making a byte out of the data received, and then placing it in SBUF.
NOTE: SBUF is physically two registers . one is write only and is used to hold data to be transmitted out of the 8051 via TXD. The other is read only and holds received data from external sources via RXD. Both mutually exclusive registers use address 99h.
Serial Port Control (SCON) Register
SM0 SM1 SM2 REN TB8 RB8 TI RI
Enable MultiprocessorCommunication Mode
Set to EnableSerial Data reception
9th Data Bit transmitted in Modes 2,3
9th Data Bit Received in Mode 2,3
Set when Stop bit Txed
Set when a Cha-ractor received
SM0 , SM1
8051 Serial Port – Mode 0
The Serial Port in Mode-0 has the following features:
1. Serial data enters and exits through RXD
2. TXD outputs the clock
3. 8 bits are transmitted / received
4. The baud rate is fixed at (1/12) of the oscillator frequency
8051 Serial Port – Mode 1
The Serial Port in Mode-1 has the following features:1. Serial data enters through RXD
2. Serial data exits through TXD
3. On receive, the stop bit goes into RB8 in SCON
4. 10 bits are transmitted / received
1. Start bit
2. Data bits (8)
3. Stop Bit
5. Baud rate is determined by the Timer 1 over flow rate.
Standard UART data word under mode-1
8051 Serial Port – Mode 2
The Serial Port in Mode-2 has the following features:1. Serial data enters through RXD2. Serial data exits through TXD3. 9th data bit (TB8) can be assign value 0 or 14. On receive, the 9th data bit goes into RB8 in SCON5. 11 bits are transmitted / received
1.Start bit 2.Data bits (9)3.Stop Bit
6. Baud rate is programmable
8051 Serial Port – Mode 3
The Serial Port in Mode-3 has the following features:1. Serial data enters through RXD2. Serial data exits through TXD3. 9th data bit (TB8) can be assign value 0 or 14. On receive, the 9th data bit goes into RB8 in SCON5. 11 bits are transmitted / received
1.Start bit 2.Data bits (9)3.Stop Bit
6. Baud rate is determined by Timer 1 overflow rate.
• REN (Receive Enable) also referred as SCON.4. When it is high,it allows the 8051 to receive data on the RxD pin. So to receive and transfer data REN must be set to 1.When REN=0,the receiver is disabled
• TB8 & RB8 are used in mode 2 ,3
• TI (Transmit interrupt) When 8051 finishes the transfer of 8-bit
character, it raises the TI flag to indicate that it is ready to transfer another byte. The TI bit is raised at the beginning of the stop bit.
• RI (Receive interrupt) When the 8051 receives data
serially ,via RxD, it gets rid of the start and stop bits and places the byte in the SBUF register.Then it raises the RI flag bit to indicate that a byte has been received and should be picked up before it is lost.RI is raised halfway through the stop bit.
Doubling Baud Rate
• There are two ways to increase the baud rate of data transfer1. By using a higher frequency crystal2. By changing a bit in the PCON register
Power Mode Control (PCON) Register• PCON register is an 8-bit SFR.• it is byte addressable register.
SMOD: double baud rate bit. When 8051 is powered up, SMOD bit is at zero value. To double the baud rate SMOD to be set to 1.
• PD: power down bit . Setting this bit high activates power down mode known also sleep mode. In this mode, the CPU puts the whole chip to sleep by turning off the oscillator. under this mode power consumption becomes minimum.
• IDL : idle mode, setting this mode bit high activates idle mode. In this mode, the oscillator continues to provide clock to the peripherals, but no clock is provided to the CPU, as the CPU is under sleep state.
Note: if PD and IDL are set to high at the same time, PD takes precedence.