8051 student projects

Post on 28-Nov-2014

1.952 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

8051Microcontroller

Students Project

Board

ADVANCE TECHNOLOGY S.C.O. 160 1st Floor Sec 24D

CHANDIGARH

Ph. No. 0172-5086213

Email ID: atechindia@gmail.com

2

INDEX

S.No Topics Page. No

1. Introduction…………………………………. 03 2. Microcontroller Board sections…………. 08 2.1 P89C51RD2/AT89s51 2.2 RTC & E2PROM 2.3 LCD 16x2 2.4 Relays 6V DC 2.5 2 Seven Segment 2.6 8 Output Leds 2.7 RS 232 Connector 2.8 Dip Switches 2.9 Power Supply 5V 3. How to use FLASH MAGIC………………… 19 4. Experiments ………………………………. 22

3

FOREWORD

With changing times micro-controller has evolved and today is part of

almost every application viz. consumer electronics, communication systems

automotive medical etc. With various controller architectures and easy to use

compilers it has become easy to use a controller in wide range of

applications with ease. There are many micro controllers available in market

89C51(ATMEL, PHILPS) PIC(MICROCHIP) etc.

With change in technology trends and introduction of latest protocols

(CAN, MODBUS, I2C, SPI, USB) it is important to learn basics of micro

controller with interfacing devices like SRAM, E2PROM, Stepper Motor,

DC Motor, RTC, ADC, DAC, Relays, Displays. Keeping trends in mind

Advance Technology has designed “Micro Controller 8051 Students

Project Board”.

Since the Time to Market is crucial MAB can reduce the development time

since testing of basic devices can be done and by the time PCBs are

manufactured designer is ready with the tested code.

4

INTRODUCTION

AT-51 has on board

P89C51RD2/AT89s51

RTC &E2PROM

LCD 16x2

Relays 6V DC

2 seven segment

8 ouput leds

Dip switches

Power Supply 5V

RS-232 (FOR SERIAL INTERFACE)

CENTRAL PROCESSOR

Micro controller: - P89C51RD2/89S51 with four I/O ports

Crystal frequency: - 11.0592MHz

Internal Memory: - 64K/4K

MEMORY

4K memory which can be upgradeable to 516k is provided in EEPROM

section.

POWER SUPPLY REQUIREMENTS

Voltage Current

+ 5 V dc 1A

5

HARDWARE DIAGRAM

Seven

Segmen

t

LED O/P

Programming

Connector

8051 UC

RS 232

Relay

Eprom

RTC

SELECTOR

SWITCH

Digital IN.

LCD

6

BLOCK DIAGRAM OF 8051 STUDENT PROJECT BOARD

PROG

CONN

BLUE

TOOT

H

SECTI

ON RELAY AND

BUZZER

SECTION

RTC & EPROM

LCD SECTION

DIGITAL IN

UC

8051

RS

232

SEVEN

SEGMENT

P0

BL

UE

TO

OT

H

SE

CT

IO

N

P2

BL

UE

TO

OT

H

SE

CT

IO

N

P1

BL

UE

TO

OT

H

SE

CT

IO

N

SELECTOR

SWITCH

POWER

SECTION

7

CONFIGURATION AND INSTALLATION

This harware board is standard manufacturer board with predefined setting

, which have restrictions to obey these seetings.

STEP WISE HARDWARE SETTINGS

1. Put all jumpers near PROG CONN on right corner on hardware board

2. Shift all left side if using Philips 89c51rd2bn.

3. Shift all right side if using atmel AT89S51.

4. Connect 5V power source to hardware board.

5. connect programming adaptor connector to PROG CONN. On

harware board just to right corner to program microcontroller through

FLASH MAGIC.

6. switch ON 1,2,3,4,5,6,7,8 switches of DIP switch (selector switch), to

see output

(I) on lcd “8051 microcontroller student project board.

(II) on seven segment “8051”.

(III) on LED “8051”.

(IV) on DIP/DIGITAL INPUT “8051”.

(V) on RELAY BUZZER “8051”.

(VI) On 6&7 switch for serial communication

(VII) 8 no. switch is not communicate

LCD

7-SEGMENT

LED DIGITAL

INPUT

RELAY&

BUZZER

SERIAL

COMMU.

8

Connections for Experiments

LCD

Data P1

RS P3.6

E P3.7

7-segment

Control Port P3

Data port P0

LEDs

Port P0

Relay

Relay1 port P0.1

Buzzer port P0.0

RTC and EEPROM

Port 3.4 data

Port 3.5 clock

DIP SWITCH (digital input)

Port P2

RS 232(serial comm.)

RX Port P3.2

TX Port P3.1

9

HOW TO PROGRAM THE MICRO CONTROLLER ON

THE KIT

(1) Make the required code using KEIL compiler.

(2) Make the HEX file from the code file.

(3) Open FLASH MAGIC.

a) Browse for the location of file.

b) Click START.

c) Wait for the message

“FINISHED”

d) Select dip switch setting as mentioned above to see outputs.

10

Microcontroller 8051 Project Board Components P89C51RD2

Features

• On-chip Flash Program Memory with In-System Programming

(ISP) and In-Application Programming (IAP) capability

• Boot ROM contains low-level Flash programming routines for

downloading via the UART

• Can be programmed by the end-user application (IAP)

• Parallel programming with 87C51 compatible hardware interface

to programmer

• Supports 6-clock/12-clock mode via parallel programmer (default

clock mode after Chip Erase is 12-clock)

• 6-clock/12-clock mode Flash bit erasable and programmable via

ISP

• 6-clock/12-clock mode programmable “on-the-fly” by SFR bit

• Peripherals (PCA, timers, UART) may use either 6-clock or

12-clock mode while the CPU is in 6-clock mode

• Speed up to 20 MHz with 6-clock cycles per machine cycle

(40 MHz equivalent performance); up to 33 MHz with 12 clocks

per machine cycle

• Fully static operation

• RAM expandable externally to 64 Kbytes

• Four interrupt priority levels

• Seven interrupt sources

• Four 8-bit I/O ports

• Full-duplex enhanced UART

– Framing error detection

– Automatic address recognition

• Power control modes

– Clock can be stopped and resumed

– Idle mode

– Power down mode

• Programmable clock-out pin

• Second DPTR register• Asynchronous port reset

• Low EMI (inhibit ALE)

• Programmable Counter Array (PCA)

– PWM

– Capture/compare

11

USE OF COMPILER AND PROGRAMMER

Compiler: KEIL

Programming Tool: FLASH MAGIC

1. Double Click on the icon present on the desktop.

2. The following window will be popped-up

12

3. Go to the project & click on new project

4. Make a folder on desktop & give file name.

13

5. when you click on the save button ,following window opens

14

6. Select Philips & 89c51RD2xx

7. Then select NO on the pop-up given below.

15

1) Then make a New File.

9. Write or copy your gsm code there & save it with extension .c or .asm

depending on your coding.

16

2) Go to target & then source group, right click on there & click on the

option add files to the project.

Select your asm or c file which you want to add.

17

3) Go to the option for target, click on output &tick on create hex file

option

4) Now build target.(Click on the pointed option)...

18

5) It will show you 0 errors &0 warning on Output Window.

↑↑

After performing all these steps the chip will be configured through Flash

Magic .Let us hand on the steps of chip configuration through Flash

Magic………

Special Notes: -

Make all the DIP switches in off position before burning the program

in the controller.

Connect the Programming Cable on your Kit (prog. Conn.)and other

side of cable with the COM Port of the Computer.

Burn the Program in the microcontroller with help of Flash Magic as

explained in the next section.

19

How to use FLASH-MAGIC

1. Double Click on the icon present on the desktop.

2. The following window will be popped-up

Press cancel to continue.

3. Configuration

Click options and then click Advanced options…

20

now set the parameters as shown below

21

4. After selection of the chip (P89C51RDHxx) , Port (Com1),

Osc.Mhz(11.0592) we can see the window as below:

Select the blocks to erase, browse for the hex file to be loaded. Press

Start

5. Within 5-6 seconds the message will be displayed

“FINISHED”.

22

Experiment

/* This program displays data on LCD, 7-seg and switches the relays on/off

simultaneously

LCD is working in 4-bit mode. LCD data is sent through P1.0 to P1.3 pins.

The control of 7-seg

is on P0.0 to P0.3 and data is sent through P2*/

#include <REG51F.H>

sbit e = P1^4; // enable of LCD

sbit rs = P1^5; // rs of LCD

sbit relay1= P0^4;

sbit relay2= P0^5;

unsigned char a[]={"8051 Controller Student Project Board

"},i,j,x,y,e1,z1;

unsigned char command[7]={0x02,0x28,0x0C,0x01,0x06,0x80};

char arr[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xe7};

void delay()

{

int j1;

for(j1=0;j1<=1000;j1++);

}

void delay1()

{

int j1;

for(j1=0;j1<=100;j1++);

}

void longdelay()

{

int i1,k;

// for(i1=0;i1<=10;i1++)

23

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

}

void verylongdelay()

{

int m1,m2;

for(m1=0;m1<=1000;m1++)

for(m2;m2<=100;m2++);

}

void lcd_inst(unsigned char command)

{

rs = 0; /*

Clear bit P0.5 */

P1 = (P1 & 0xF0)|((command>>4) & 0x0F);

e = 1;

/* Clear bit P0.4 */

delay1();

e = 0;

P1 = (P1 & 0xF0)|(command & 0x0F);

e = 1;

/* Clear bit P0.4 */

delay1();

e = 0;

delay1();

}

void lcd_data(unsigned char ldata)

{

rs = 1; /* Set

bit P2.5 */

P1 = (P1 & 0xF0)|((ldata>>4) & 0x0F);

e = 1;

/* Clear bit P0.4 */

delay1();

e = 0;

P1 = (P1 & 0xF0)|(ldata & 0x0F );

e = 1;

/* Clear bit P0.4 */

24

delay1();

e = 0;

delay1();

}

void timer1() interrupt 3

{

TR1=0;

for(e1=0;e1<=100;e1++)

{

P0=0x01;

P2=0xff;

delay();

P0=0x02;

P2=0xbf;

delay();

P0=0x04;

P2=0xed;

delay();

P0=0x08;

P2=0x86;

delay();

}

P0=0x00;

relay1=1;

verylongdelay();

verylongdelay();

relay1=0;

verylongdelay();

verylongdelay();

relay2=1;

verylongdelay();

verylongdelay();

relay2=0;

verylongdelay();

verylongdelay();

TL1=0x00;

TH1=0x00;

TR1=1;

25

}

/*void timer1() interrupt 3

{

} */

void main()

{

relay1=0;

relay2=0;

while(1)

{

TMOD=0x10;

for(z1=0;z1<=10;z1++)

{

TL1=0x00;

TH1=0x00;

IE=0x88;

TR1=1;

}

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

{

lcd_inst(command[j]);

delay1();

}

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

{

lcd_data(a[i]);

delay1();

}

for(x=1;x<=39;x++)

{

lcd_inst(0x18);

delay1();

}

}

}

top related