0% found this document useful (0 votes)
71 views

CSE 315 Microprocessors & Microcontrollers: Tanvir Ahmed Khan

Here are the course contents (slides) of CSE 315 ( Microprocessors and Microcontrollers ) course in BUET (Bangladesh University of Engineering & Technology) taken by Tanvir Ahmed Khan , in December 2015. Please check other files for full content.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
71 views

CSE 315 Microprocessors & Microcontrollers: Tanvir Ahmed Khan

Here are the course contents (slides) of CSE 315 ( Microprocessors and Microcontrollers ) course in BUET (Bangladesh University of Engineering & Technology) taken by Tanvir Ahmed Khan , in December 2015. Please check other files for full content.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 45

CSE 315

Microprocessors & Microcontrollers


Tanvir Ahmed Khan
Department of Computer Science and Engineering
Bangladesh University of Engineering and Technology.

October 28, 2014

Recap

Data Communications

Computers transfer data in 2 ways,


I
I

Parallel Communication
Serial Communication

Parallel Data Communications

multiple wire lines are


used to transfer data
Advantage,
I

Disadvantage,
I

Speed
Distance cannot be
great

Example, computer to
printer data transfer

Serial Data Communications

data is sent one bit at a


time
Advantage,
I
I
I
I

Disadvantage,
I

larger distances
cheaper
fewer I/O pins
easy synchronization
relatively slower

Example, USB

Synchronization in Serial Communications


Two Methods

Synchronous method,
I

transfers a block of
data at a time

Asynchronous method,
I

transfers a single byte


at a time

Simplex, Half- & Full-Duplex Data Transfer

Asynchronous Serial Communication


Data Framing
I
I

character-oriented data transfer


Framing
I

I
I

placing each character between start & stop bits

Start bit
always one bit
always 0(low)

Stop bit
I
I

can be one or two bits


always 1(high)

Framing of A(0x41)

Data Transfer Rate

bps
I

baud rate
I

bits per second


number of signal changes per second

generally, bps != baud rate


I

for some coding system, bps == baud rate

RS232 Standards

allow compatibility among data communication equipments of


various manufacturers

initially set in 1960s

PC COM ports supports this Standard


not compatible with TTL family

I
I

0 = +3 to +25 V
1 = 3 to 25 V

we will need voltage converter


I

MAX232

RS232 Standards
Continued

Original RS232 Connector DB-25

RS232 Standards
Continued

9-pin Connector for DB-9

Todays Topic

ATmega16/32 Serial Communication Programming

Todays Problem

Hack the MCQ Exam

Problem Specification

Problem Specification

Both Receive & Transmit

Problem Specification

I
I

Both Receive & Transmit


Frame,

Problem Specification

I
I

Both Receive & Transmit


Frame,
I

1-byte(8-bit) char data

Problem Specification

I
I

Both Receive & Transmit


Frame,
I
I

1-byte(8-bit) char data


1 start bit

Problem Specification

I
I

Both Receive & Transmit


Frame,
I
I
I

1-byte(8-bit) char data


1 start bit
1 stop bit

Problem Specification

I
I

Both Receive & Transmit


Frame,
I
I
I

1-byte(8-bit) char data


1 start bit
1 stop bit

Baud Rate, 4800

Problem Specification

I
I

Both Receive & Transmit


Frame,
I
I
I

1-byte(8-bit) char data


1 start bit
1 stop bit

Baud Rate, 4800

First Receive & then, Send

Problem Specification

I
I

Both Receive & Transmit


Frame,
I
I
I

1-byte(8-bit) char data


1 start bit
1 stop bit

Baud Rate, 4800

First Receive & then, Send

PC Serial COM port follows RS232 Standard

Enable Receive & Transmit

Enable Receive & Transmit

UCSRB Register

Enable Receive & Transmit

UCSRB Register

UCSRB = UCSRB | (1
<< RXEN);

Enable Receive & Transmit

UCSRB Register

UCSRB = UCSRB | (1
<< RXEN);

UCSRB = UCSRB | (1
<< TXEN);

Framing

Framing

UCSRC Register

Framing

UCSRC Register

Framing

UCSRC Register

UCSRC = UCSRC | (1
<< UCSZ1) | (1 <<
UCSZ0) | (1<<URSEL);

Configuring Baud Rate

Configuring Baud Rate

UBRR Register

Configuring Baud Rate

UBRR Register

Configuring Baud Rate

UBRR Register

UBRRl = 0x67;

Wait, Receive & then, Wait, Send

Wait, Receive & then, Wait, Send

UCSRA Register

Wait, Receive & then, Wait, Send

UCSRA Register

while((UCSRA & (1 <<


RXC)) == 0);

Wait, Receive & then, Wait, Send

UCSRA Register

while((UCSRA & (1 <<


RXC)) == 0);

ch = UDR;

Wait, Receive & then, Wait, Send

UCSRA Register

while((UCSRA & (1 <<


RXC)) == 0);

ch = UDR;

while((UCSRA & (1 <<


UDRE)) == 0);

Wait, Receive & then, Wait, Send

UCSRA Register

while((UCSRA & (1 <<


RXC)) == 0);

ch = UDR;

while((UCSRA & (1 <<


UDRE)) == 0);

UDR = result[(ch 0) % 10];

The Program

ATmega16/32 RX & TX

MAX232
The Voltage Converter

Reference

The avr microcontroller & embedded system, Chapter 11


I
I
I

Muhammad Ali Mazidi


Sarmad Naimi
Sepehr Naimi

You might also like