Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

PC Interfacing Fourth Level Lecture Eight RS232 To PIC Microcontroller Interface

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

PC Interfacing

Fourth Level
Lecture Eight

RS232 to PIC Microcontroller


Interface

Goals:
Up-on completing this lecture, the student should be able to:

1- Understand the main components of a MCU (including PIC)


2- Distinguish between a MCU and CPU.
3- Build interfacing ccts for RS232 with the MCU.
Why do we need to learn Microcontrollers?
It's not an exaggeration if we say that, today there is no electronic gadget on the earth
which is designed without a Microcontroller. Ex: communication devices, digital
entertainment, portable devices etc… Not believable???

 Personal information products: Cell phone, pager, watch, pocket recorder,


calculator
 Laptop components: mouse, keyboard, modem, sound card, battery charger.
 Home appliances: door lock, alarm clock, thermostat, air conditioner, TV remote,
refrigerator, exercise equipment, washer/dryer, microwave oven.
 Industrial equipment: Temperature/pressure controllers, Counters, timers.
 Toys: video games, cars, dolls, etc.

So, a good designer should always know what type of controller he/she is using,
their architecture, advantages, disadvantages, ways to reduce production costs and
product reliability etc….

Components of a microcontroller:

 CPU: Central Processing Unit.


 I/O: Input /Output.
 Bus: Address bus & Data bus.
 Memory: RAM & ROM.
 Timer.
 Interrupt.
 Serial Port.
 Parallel Port.
Then what is a Microcontroller?
• A single-chip computer
• On-chip RAM, ROM, I/O ports...
A single chip computer or A CPU with all the peripherals like RAM, ROM,
I/O Ports, Timers, ADCs etc... on the same chip. For ex: Motorola’s 6811, Intel’s
8051, Zilog’s Z8 and PIC 16X etc…
General-purpose microprocessor:
 CPU for Computers.
 Commonly no RAM, ROM, I/O on CPU chip itself. For ex: Intel’s 8086, 8088,
80386, 80486 and Pentium, Motorola’s 68000, 68010, 68020 and 68030.

A CPU built into a single chip is called a microprocessor. It is a general-


purpose device. The microprocessor contains arithmetic and logic unit (ALU),
Instruction decoder and control unit, Instruction register, Program counter (PC), clock
circuit (internal or external), reset circuit (internal or external) and registers. But the
microprocessor has no on chip I/O Ports, Timers, Memory etc. For example, Intel
8085 is an 8-bit microprocessor and Intel 8086/8088 a 16-bit microprocessor. The
block diagram of the Microprocessor is shown in Fig.1.

Fig.1 Block diagram of a Microprocessor.


Microcontroller:
A microcontroller is a highly integrated single chip, which consists of on chip
CPU (Central Processing Unit), RAM (Random Access Memory),
EPROM/PROM/ROM (Erasable Programmable Read Only Memory), I/O
(input/output) – serial and parallel, timers, interrupt controller. For example, Intel
8051 is 8-bit microcontroller and Intel 8096 is 16-bit microcontroller. The block
diagram of Microcontroller is shown in Fig.2.

Fig.2. Block Diagram of a Microcontroller.

Difference between a Microprocessor and Microcontroller


Essentially these two devices are similar, but with a little bit of difference. A CPU
which is the heart of these devices needs a host of external devices to make it
communicate with real-world. These devices which are independent circuits, work in
harmony with the CPU, to make one system. In a Computer these devices are attached
to the CPU, using hard-wired connections. This makes the system more flexible,
which means you can add more memory, change capacity of hard drives, add or
remove CD-ROMs, sound cards etc.
A microcontroller on the other hand is made up of most of these devices built exactly
within the same package. So, microcontroller will therefore contain, the CPU, RAM,
ROM, Timers, I/O etc. all packed within one integrated circuit. This facilitates the
development process, as well as reduce the requirements of external components,
however this also means you cannot change, the number and type of integrated
devices.

Distinguish between Microprocessor and Microcontroller


Microprocessor Microcontroller
CPU is stand-alone, RAM, ROM, I/O, timer CPU, RAM, ROM, I/O and timer are all on a
are separate. single chip.
Designer can decide on the amount of ROM, Fixed amount of on-chip ROM, RAM, I/O
RAM and I/O ports. ports.
General-purpose. Single-purpose.
High processing power Low processing power
Typically 32/64 – bit Typically 8/16 bit
High power consumption. Low power consumption
Evolution of Microcontrollers:

In the year 1976, Motorola designed a Microprocessor chip called 6801 which
replaced its earlier chip 6800 with certain add-on chips to make a computer. This
paved the way for the new revolution in the history of chip design and gave birth to a
new entity called “Microcontroller”. Later the Intel company produced its first
Microcontroller 8048 with a CPU and 1K bytes of EPROM, 64 Bytes of RAM an 8-
Bit Timer and 27 I/O pins in 1976. Then followed the most popular controller 8051 in
the year 1980 with 4K bytes of ROM, 128 Bytes of RAM, a serial port, two 16-bit
Timers, and 32 I/O pins. The 8051 family has many additions and improvements over
the years and remains a most acclaimed tool for today’s circuit designers. INTEL
introduced a 16 bit microcontroller 8096 in the year 1982. Later INTEL introduced
80c196 series of 16-bit Microcontrollers for mainly industrial applications. Microchip,
another company has introduced an 8-bit Microcontroller PIC 16C64 in the year
1985.The 32-bit microcontrollers have been developed by IBM and Motorola. MPC
505 is a 32-bit RISC controller of Motorola. The 403 GA is a 32 -bit RISC embedded
controller of IBM.
In recent times ARM Company (Advanced RISC machines) has developed and
introduced 32 bit controllers for high-end application devices like mobiles, IPods etc...
Why there are too many different Microcontrollers?

PIC Microcontrollers:
 PIC – “Peripheral Interface Controller” made by Microchip Technology.
 Most popular by industry developers and hobbyists.
o Low cost.
o Availability.
o Extensive application.
o Serial programming.
Advantages of PIC:
 30 to 100 times faster than other µCs (program memory is integrated to the chip).
 Smaller size (on-board memory).
 Easy to program, reusable and inexpensive.
Internal Units description:-
 Register: An electronic circuit which can memorize the state of one byte.
 SFR (Special Function Register): Registers whose function is predetermined by
the manufacturer of the microcontroller Examples are timers, A/D converter,
oscillators, etc.

 Input / Output Ports: Microcontroller has one or more registers (called ports)
connected to the microcontroller pins. Can change a pin function as you wish.

 Memory Unit: Memory is part of the microcontroller used for data storage. Types
(RAM, ROM).
 INTERRUPT: Most programs use interrupts in their regular execution. The signal
which informs the central processor unit about such an event is called an
INTERRUPT.
 Central Processor Unit (CPU): which contains instruction decoder, accumulator
and ALU.

 A/D converter: converts continuous signals to discrete digital numbers or


convert an analogue value into a binary number and passes it to the CPU for further
processing.

 Bus: the bus consists of 8, 16 or more wires. There are two types of buses: address
and data bus.
 UART (Universal Asynchronous Receiver/Transmitter).
 Oscillator.
 Power supply circuit.
 Timers/Counters.
In order to do various experiments with PIC microcontroller it is advisable to have a
development board. In case you don't have a development board available, you can
make a simple board using bread-board or vero board.
UART (Universal Asynchronous Receiver and Transmitter) PORTC.6, 7:
The board contains a standard universal Serial Asynchronous Receiver and
Transmitter. Many devices use this protocol to communicate with other devices. The
communication needs two wires, one for transmission and one for receiving data. PCs
and some other devices, use a level translator, to redefine the standard signals for
logical 0 and 1. This is done so, to minimize noise interference as well as prolong
communication distance. To use these signals, they must be converted back to TTL
level logic. The PIC board contains RS232 level converter which converts these
signals to TTL level, and to transmission levels while sending data. Most PIC
microcontrollers contain an internal hardware to manage this communication, so that
software development becomes easy. PORTC.6 and PORTC.7 are configured as
hardware USART communication pins.
NOTE: since the PORTC is also connected to LEDs, if LEDs are enabled receiving
data from USART is interfered. It is therefore mandatory to disable, LEDs while using
UASRT.

RS232 Communication with PIC Microcontroller


This paragraph shows how to do a simple communication via a RS232 interface with a
PIC microcontroller. RS232 is a standard for a serial communication interface which
allows sending and receiving data via at least three wires. With the RS232 interface it
is possible to setup a connection between a microcontroller and a PC (via PC's COM
port) or between two microcontrollers. So, we will show how to link a PIC
microcontroller to a standard PC. On the PC we will use a program to send and receive
data.
Note that modern PCs don't have a serial port so you need to get a USB to serial
converter. They are available at low cost.
Block Diagram
The following block diagram shows the whole setup:

For serial communication the line used to transmit data is called TX and the line used
to receive data is called RX. The level converter is required to translate the voltage
level of the microcontroller to RS232 voltage level. The microcontroller operates at
TTL level (0V = logic 0, +5V logic 1) whereas RS232 uses around +/-12V. A very
famous RS232 level converter is the MAX232 chip.

Hardware
In the schematic below a PIC microcontroller is connected to the RS232 level
converter chip. A PIC18F2620 microcontroller is used, but it will also work with any
other microcontroller which has a built-in UART.

The PIC usually is running at 10 MHz,


In order to properly communicate it is very important that the communication devices
should have the same Baud rate usually 9600.
The RS232 level converter uses the famous MAX232 chip, but any other MAX232
compatible chip will also work. It just requires 4 capacitors to do its job. These
external capacitors are required for the charge pump inside the chip which generates
the required voltage levels.
The connections on the DB9 connector pins 1, 4, 6, 7, 8 and 9 are not used.

RS232 Cable
To connect the above circuit to the PC we need a RS232 cable. The below picture
shows the necessary connections.

Hardware Picture:
Below a picture of the hardware setup.
Software
Now since the hardware is ready we have to write the software for the PIC
microcontroller. The different compiler vendors provide different ways to setup the
UART in the PIC.

Summary:

1- There is a big difference between the MCU and the CPU


2- The internal components of the MCU limit what the MCU can and can't do esp the on
chip modules (number of A/D converter modules, SPI, I2C, timers, etc).
3- Regardless of the MCU type, the idea behind interfacing with RS232 is the same for all
MCUs, data is sent in serial fashion according to a pre-defined frame format, the voltage
levels should be noted 5 vs 12 volts, hence MAX232 should be used in such scenarios .

Questions:

1- What are the internal components of an MCU unit, explain the functionality of each component.
2- What is the difference between the MCU and the CPU?
3- Write the generic design principle used in serial interfacing between a PC and an MCU. Draw the
block diagram of the system as well (show the Tx, RX lines).

You might also like