12
ARM HOW-TO GUIDE Interfacing Sensor with LPC2148 ARM

ARM HOW-TO GUIDE Interfacing Sensor with LPC2148 ARM · 12/28/2014 · the possible features of the microcontroller will be easily used by ... Pin Assignment with LPC2148 Temp Sensor

Embed Size (px)

Citation preview

Page 1: ARM HOW-TO GUIDE Interfacing Sensor with LPC2148 ARM · 12/28/2014 · the possible features of the microcontroller will be easily used by ... Pin Assignment with LPC2148 Temp Sensor

ARM HOW-TO GUIDE

Interfacing Sensor with

LPC2148 ARM

Page 2: ARM HOW-TO GUIDE Interfacing Sensor with LPC2148 ARM · 12/28/2014 · the possible features of the microcontroller will be easily used by ... Pin Assignment with LPC2148 Temp Sensor

Join the Technical Community Today!

http://www.pantechsolutions.net

Contents at a Glance

ARM7 LPC2148 Tyro Board .............................................. 3

Temperature Sensor ........................................................ 3

Interfacing LM35 ............................................................. 4

Interfacing LM35 with LPC2148 ........................................ 5

Pin Assignment with LPC2148 .......................................... 5

Circuit Diagram to Interface LM35 with LPC2148 .............. 6

Source Code .................................................................... 6

C Program to read temperature using LPC2148 ................ 7

Testing the LM35 Based Thermometer with LPC2148 ....... 9

General Information ...................................................... 10

Page 3: ARM HOW-TO GUIDE Interfacing Sensor with LPC2148 ARM · 12/28/2014 · the possible features of the microcontroller will be easily used by ... Pin Assignment with LPC2148 Temp Sensor

Join the Technical Community Today!

http://www.pantechsolutions.net

ARM7 LPC2148 Tyro Board

The ARM7 LPC2148 Tyro board is specifically designed

to help students to master the required skills in the area of

embedded systems. The kit is designed in such way that all

the possible features of the microcontroller will be easily

used by the students. The kit supports in system

programming (ISP) which is done through serial port.

NXP’s ARM7 (LPC2148), ARM Tyro Kit is proposed to

smooth the progress of developing and debugging of

various designs encompassing of High speed 32-bit

Microcontrollers.

Temperature Sensor

The LM35 series are precision integrated-circuit

temperature sensors, whose output voltage is linearly

proportional to the Celsius (Centigrade) temperature. The

output of sensor converted to digital that easy connecting

with microcontroller.

Page 4: ARM HOW-TO GUIDE Interfacing Sensor with LPC2148 ARM · 12/28/2014 · the possible features of the microcontroller will be easily used by ... Pin Assignment with LPC2148 Temp Sensor

Join the Technical Community Today!

http://www.pantechsolutions.net

Interfacing LM35

Fig. 1 shows how to interface the LM35 to

microcontroller. As you can see the third pin is connected to

GND, the first pin is connected to VCC & the second pin is

connected to the Microcontroller input. Just use single PIN

female to female wire to connect with the leads of LM35

temperature sensor. So when the temperature is sensing, it

give the sensor reading to controller.

Fig. 1 Interfacing LM35 to Microcontroller

Page 5: ARM HOW-TO GUIDE Interfacing Sensor with LPC2148 ARM · 12/28/2014 · the possible features of the microcontroller will be easily used by ... Pin Assignment with LPC2148 Temp Sensor

Join the Technical Community Today!

http://www.pantechsolutions.net

Interfacing LM35 with LPC2148

We now want to read the temperature in LPC2148 Tyro

Board from temperature sensor LM35. The ARM7 LPC2148

Tyro board uses the ADC pin for reading temperature from

temperature sensor LM35. The reading output is displayed

into PC through UART1.

The 10 bit ADC used for reading the temperature from

LM35. Basic clocking for the A/D converters is provided by

the VPB clock. A programmable divider is included in each

converter, to scale this clock to the 4.5 MHz (max) clock

needed by the successive approximation process. A fully

accurate conversion requires 11 of these clocks.

Pin Assignment with LPC2148

Temp Sensor LPC2148 Lines Temperature Sensor

LM3

5

Temp

Output P0.28

LPC2148

Page 6: ARM HOW-TO GUIDE Interfacing Sensor with LPC2148 ARM · 12/28/2014 · the possible features of the microcontroller will be easily used by ... Pin Assignment with LPC2148 Temp Sensor

Join the Technical Community Today!

http://www.pantechsolutions.net

Circuit Diagram to Interface LM35 with LPC2148

Source Code

The Interfacing LM35 with LPC2148 program is very

simple and straight forward, that reading temperature from

temperature sensor LM35 and it display into PC through

serial port. The C programs are written in Keil software.

Some delay is occurring when a single data is sent to PC.

3.3V

C56

22pf

C57

22pf

X23

12MHz

LPC2148

U16

VSS16 V

DD

A7

VSS218

VD

D3

23

VSS325

VD

D2

43

VSS442

VR

EF

63

XT

AL1

62

XT

AL2

61

VSSA59

VD

D1

51

VSS550 P0.28

13

+5V

U16

LM35

Vdd1

DQ2

GND3R48 4K7

Page 7: ARM HOW-TO GUIDE Interfacing Sensor with LPC2148 ARM · 12/28/2014 · the possible features of the microcontroller will be easily used by ... Pin Assignment with LPC2148 Temp Sensor

Join the Technical Community Today!

http://www.pantechsolutions.net

C Program to read temperature using LPC2148 ***************************************************************************************

Title : Program to read temperature ***************************************************************************************

#include <LPC214X.H>

#include <stdio.h>

#define DONE 0x80000000

#define START 0x01000000

#define PRESET 0x00230600

void main ()

{

unsigned long Val;

VPBDIV = 0x02; // pclk @ 30MHz

Serial_Init ();

PINSEL1 = 0x01 << 24; // P0.28 configure as ADC0.1

Welcome ();

AD0CR = PRESET | 0x02;

AD0CR |= START; // Start Conversion NOW

while (1)

{

do

{

Val = AD0GDR;

}while ((Val & DONE) == 0);

Val = ((AD0GDR >> 6) & 0x3FF);

printf (">> Current Temperature : %4d ", Val);

printf ("\xF8\F \r");

}

}

Page 8: ARM HOW-TO GUIDE Interfacing Sensor with LPC2148 ARM · 12/28/2014 · the possible features of the microcontroller will be easily used by ... Pin Assignment with LPC2148 Temp Sensor

Join the Technical Community Today!

http://www.pantechsolutions.net

void Delay ()

{

unsigned int i,j;

for (i=0;i<50;i++)

for (j=0;j<500;j++);

}

void Welcome ()

{

printf ("-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

-.-.-.-.-.-.-.-.-.\n\r");

printf (" Developed By : R&D Wing \n\r");

printf (" © 2009 Pantech Solutions Pvt Ltd \n\r");

printf ("--------------------------------------

------------------\n\r");

printf ("*** Temperature Sensor Interfacing with

Tyro Kit ***\n\r");

printf ("---------------------------------------

-----------------\n\r");

printf (">> Put Jumper J in 'E' Mode to Enable

Temp Sensor Block \n\r");

printf (">> Connect UART1 to COM Port @ 9600

Baud Rate\n\n\r");

printf ("**************************************

******************\n\r");

printf ("*************************

Result ***********************\n\r");

printf ("**************************************

******************\n\n\r");

}

void Serial_Init ()

{

PINSEL0 |= 0x00050000; // TxD1 and RxD1 @ P0.8 & P0.9

U1LCR = 0x83;

U1DLL = 195;

U1LCR = 0x03;

}

Page 9: ARM HOW-TO GUIDE Interfacing Sensor with LPC2148 ARM · 12/28/2014 · the possible features of the microcontroller will be easily used by ... Pin Assignment with LPC2148 Temp Sensor

Join the Technical Community Today!

http://www.pantechsolutions.net

To compile the above C code you need the KEIL

software. They must be properly set up and a project with

correct settings must be created in order to compile the

code. To compile the above code, Temp Sens.c file must be

added to the project.

In Keil, you want to develop or debug the project

without any hardware setup. You must compile the code for

generating HEX file. In debugging Mode, you want to check

the port output without microcontroller Board.

The Flash Magic software is used to download the hex

file into your LPC2148 Tyro Board through UART0.

Testing the LM35 Based Thermometer with LPC2148

Give +3.3V power supply to LPC2148 Tyro Board; the

serial cable is connected between the controller and PC.

Open the Hyper Terminal screen, select which port you are

using and set the default settings. Now the screen should

show the current temperature readings.

Page 10: ARM HOW-TO GUIDE Interfacing Sensor with LPC2148 ARM · 12/28/2014 · the possible features of the microcontroller will be easily used by ... Pin Assignment with LPC2148 Temp Sensor

Join the Technical Community Today!

http://www.pantechsolutions.net

Bring a Hot soldering iron tip near the LM35's pins,

don't touch it keep it 1 or 2mm away. The screen should

update with the rising temperature. Now finally touch the

pins of LM35 with the tip of iron, the temperature should

rise quickly. Keep it there until temperature rise to 80

degrees, and then remove the iron.

General Information

For proper working use the components of exact values

as shown in Circuit file. Wherever possible use new

components.

Solder everything in a clean way. A major problem

arises due to improper soldering, solder jumps and

loose joints.

Use the exact value crystal shown in schematic.

More instructions are available in following articles,

Interfacing UART with LPC2148 Microcontroller.

Interfacing ADC with LPC2148 Microcontroller.

Page 11: ARM HOW-TO GUIDE Interfacing Sensor with LPC2148 ARM · 12/28/2014 · the possible features of the microcontroller will be easily used by ... Pin Assignment with LPC2148 Temp Sensor

Join the Technical Community Today!

http://www.pantechsolutions.net

Pantech solutions creates information packed technical

documents like this one every month. And our website is a rich

and trusted resource used by a vibrant online community of

more than 1,00,000 members from organization of all shapes

and sizes.

Did you enjoy the read?

Page 12: ARM HOW-TO GUIDE Interfacing Sensor with LPC2148 ARM · 12/28/2014 · the possible features of the microcontroller will be easily used by ... Pin Assignment with LPC2148 Temp Sensor

Join the Technical Community Today!

http://www.pantechsolutions.net

What do we sell?

Our products range from Various Microcontroller

development boards, DSP Boards, FPGA/CPLD boards,

Communication Kits, Power electronics, Basic electronics,

Robotics, Sensors, Electronic components and much more . Our

goal is to make finding the parts and information you need

easier and affordable so you can create awesome projects and

training from Basic to Cutting edge technology.