June 26, 2013

The reason I find microcontrollers fascinating is that they have been and continue to be such an important part of the electronics industry.  Over the past decade and more microcontrollers have been creeping into our daily lives.  Figure 1 shows how microcontrollers increased in popularity from 1991 through 1996.

In today’s world, microcontrollers are used in just about every electronic object in the household and place of business.  Just about the only common object in the house that does not have a microcontroller in it is the light bulb.  In fifteen years or so even that may not be the case.
The reason microcontrollers have become so common is that they are more than merely reliable.  By adding a small computer to many devices it is possible to increase efficiency or safety, or any number of other features.
Timing devices are now composed almost entirely of microcontrollers.  This has made them unbelievably accurate.  They are also cheap, and much more reliable.  digital watch today, which has no moving parts, is almost impossible to break through normal use.  It is easy to adapt digital watches to extreme environments such as the deep sea or vacuum.
Telephones and other personal communication devices also use microcontrollers. With such devices it is possible to have wireless telephones and cellular phones, each capable of maintaining a connection between the phone unit and some sort of base station.  These phones can also encrypt data as it leaves and decrypt it as it comes in.
Televisions and stereos use microcontrollers.  Neither is the mess of tubes that was synonymous with televisions and radios.  As a result, both produce better quality picture and sound, have more features, and weigh less per unit volume.
All kinds of transportation systems use microcontrollers.  Cars use them in fuel injection systems, brakes, airbags, and just about any other piece of equipment.
Airplanes are going to a “fly-by-wire” control system.  This is a complex computer interface between the controls that the pilot uses and the control surfaces of the plane. Such interfaces are controlled by microcontrollers.
Modern traffic lights are controlled by microcontrollers.  Emergency phones by the highways of America have solar panels, batteries, and a microcontroller circuit to operate in remote areas. 

            Microcontroller's use increased rapidly. Now these are used in almost every electronic equipment like Washing Machines, Mobile Phones and Microwave Oven. Following are the most important facts about Microcontrollers, which causes rapid growth of their use:

Microcontrollers are cheap and very small in size, therefore they can be embedded on any device.
Programming of Microcontrollers is simple to learn. Its not much complicated.
We can use simulators on Computers to see the practical results of our program. Thus we can work on a Embedded project without even buying the required Components and Chips. Thus we can virtually see the working of our project or program.







Microcontrollers are mostly used in following electronic equipments :
  • Mobile Phones
  • Auto Mobiles
  • CD/DVD Players
  • Washing Machines
  • Cameras
  • In Computers-> Modems and Keyboard Controllers
  • Security Alarms
  • Electronic Measurement Instruments.
  • Microwave Oven





Posted on Wednesday, June 26, 2013 by sakthi

No comments

June 22, 2013




Each block will be discussed step by step:

 ALU — Arithmetic Logical Unit
This unit is used for the arithmetic calculations.

 A-Accumulator
This register is used for arithmetic operations. This is also bit addressable and 8 bit register.

 B-Register
This register is used in only two instructions MUL AB and DIV AB. This is also bit addressable and 8 bit register.

PC-Program Counter
• Points to the address of next instruction to be executed from ROM
• It is 16 bit register means the 8051 can access program address from 0000H to FFFFH. A total of 64KB of code. 16 bit register means. Initial value 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0000H)
Final value 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 (F F F F H)
• Initially PC has 0000H
• ORG instruction is used to initialize the PC ORG 0000H means PC initialize by 0000H
• PC is incremented after each instruction.


Example:

Mnemonics Machine codes
MOV R5, #25H 7D 25
MOV A, #00H 74 00
ADD A, R5 2D
HERE: SJMP HERE; 80 FE
• When 7D is accessed then PC locate the 0001H (next instruction to be executed)
• When 00 is accessed then PC locate the 0004H (next instruction to be executed)

 ROM Memory Map in 8051
→ 4KB, 8KB, 16KB, 32KB, 64KB on chip ROM is available.
→ Max ROM space is 64 KB because 16 bit address line is available in 8051.
→ Starting address for ROM is 0000H (because PC which points the ROM is 16 bit wide).



 8051 Flag Bits and PSW Register

→ Used to indicate the Arithmetic condition of ACC.
→ Flag register in 8051 is called as program status word (PSW). This special function register PSW is also bit addressable and 8 bit wide means each bit can be set or reset independently.



There are four flags in 8051
P → Parity flag → PSW 0.0
1 – odd number of 1 in ACC
0 – even number of 1 in ACC
• OV(PSW 0.2) → overflow flag → this is used to detect error in signed
arithmetic operation. This is similar to carry flag but difference is only that
carry flag is used for unsigned operation.
• RS1(PSW0.4) RS0(PSW0.3) Register Bank Select

0                              0                            Bank 0
0                              1                            Bank 1
1                              0                            Bank 2
1                              1                            Bank 3

for selecting Bank 1, we use following commands

SETB PSW0.3 (means RS0=1)
CLR PSW0.4 (means RS1=0)

Initially by default always Bank 0 is selected.
• F0 → user definable bit
• AC → Auxiliary carry flag → when carry is generated from D3 to D4, it
is set to 1, it is used in BCD arithmetic.



Since carry is generated from D3 to D4, so AC is set.
CY → carry flag → Affected after 8 bit addition and subtraction. It is used to detect error in unsigned arithmetic opr. We can also use it as single bit  storage.

SETB C → for cy = 1
CLR C → for cy = 0

 Structure of RAM or 8051 Register Bank and Stack



→ 128 byte RAM is available in 8051
→ 128 byte = 2^7B

Address range of RAM is 00H to 7FH.
→ In MC8051, 128 byte visible or user accessible RAM is available which is shown in figure. Extra 128B RAM which is not user accessible. 80H to FFH used for storage of SFR (special function register)



→ Four Register Banks
→ There are four register banks, in each register bank there are eight 8 bit register available from R0 to R7
→ By default Bank 0 is selected. For Bank 0, R0 has address 00H

R1 has address 01H
. . . . . . . . . . . . . . . .
 . . . . . . . . . . . . . . . .
R7 has address 07H
For Bank 1, R0 has address 08H
R1 has address 09H
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
R7 has address 0FH
For selecting banks we use RS0 and RS1 bit of PSW.
→ R0 to R7 registers are byte addressable means.



 If we want to set the bit 3 of R0 then we can’t use SETB R0.3  We use MOV R0, #08H;
 For changing single bit we can modify all the other bits of R0.
→ Locations 20H to 2FH is bit addressable RAM means each bit from 00H to FFH in this we can set or reset CF rather than changing whole byte.
→ Locations 30H to 7FH is used as scratch pad means we can use this space for data reading and writing or for data storage.


 Stack in 8051
→ RAM locations from 08H to 1FH can be used as stack. Stack is used to store the data temporarily. Stack is last in first out (LIFO)
→ Stack pointer (SP) →
• 8bit register
• It indicate current RAM address available for stack or it points the top of stack.
• Initially by default at 07H because first location of stack is 08H.
• After each PUSH instruction the SP is incremented by one while in MC after PUSH instruction SP is decremented.
• After each POP instruction the SP is decremented.
Example:
MOV R6,#25H;
MOV R1,#12H;
MOV R4,#OF3H;
PUSH 06H;
PUSH 01H;
POP 04H;

→ if we want to use more than 24byte (08H to 1FH) of stack. We can change SP to point RAM address 30H to 7FH by MOV SP, #XX Any value from 30 to 7FH

Conflicting of Register Banks and Stack

→ We know locations from 08H to 1FH is used as stack and it is also used as register bank.
→ If in the program, we use the Register Bank 1 to 3 and also use the stack then conflicts exist and error can be possible. For removing this situation we use the stack from location 30H to 7FH by shifting SP to 2FH. MOV SP,#2FH;

DPTR

→ Data Pointer in 8051
→ 16 bit register, it is divided into two parts DPH and DPL.
→ DPH for Higher order 8 bits, DPL for lower order 8 bits.
→ DPTR, DPH, DPL these all are SFRs in 8051.

Special Function Register

→ (See Fig.) RAM scratch pad, there is extra 128 byte RAM which is used to store the SFRs

→ Following figure shows special function bit address, all access to the four I/O ports CPU register, interrupt control register, timer/counter, UART, power control are performed through registers between 80H and FFH.





Byte Addressable SFR with byte address
SP – Stack printer – 81H
DPTR – Data pointer 2 bytes
DPL – Low byte – 82H
DPH – High byte – 83H
TMOD – Timer mode control – 89H
TH0 – Timer 0 Higher order bytes – 8CH
TL0 – Timer 0 Low order bytes – 8AH
TH1 – Timer 1 High bytes = 80H
TL1 – Timer 1 Low order byte = 86H
SBUF – Serial data buffer = 99H
PCON – Power control – 87H.



Posted on Saturday, June 22, 2013 by sakthi

No comments

June 19, 2013





Description of each pin is discussed here:
•VCC → 5V supply
• VSS → GND
• XTAL2/XTALI are for oscillator input
• Port 0 – 32 to 39 – AD0/AD7 and P0.0 to P0.7
• Port 1 – 1 to 8 – P1.0 to P1.7
• Port 2 – 21 to 28 – P2.0 to P2.7 and A 8 to A15
• Port 3 – 10 to 17 – P3.0 to P3.7
• P 3.0 – RXD – Serial data input – SBUF
• P 3.1 – TXD – Serial data output – SBUF
• P 3.2 –INT0– External interrupt 0 – TCON 0.1
• P 3.3 –INT1– External interrupt 1 – TCON 0.3
• P 3.4 – T0 – External timer 0 input – TMOD
• P 3.5 – T1 – External timer 1 input – TMOD
• P 3.6 –WR– External memory write cycle – Active LOW
• P 3.7 –RD– External memory read cycle – Active LOW
• RST – for Restarting 8051
• ALE – Address latch enable
1 – Address on AD 0 to AD 7
0 – Data on AD 0 to AD 7
• PSEN – Program store enable

Posted on Wednesday, June 19, 2013 by sakthi

No comments

June 18, 2013

It is 8-bit microcontroller, means MC 8051 can Read, Write and Process 8 bit data. This is mostly used microcontroller in the robotics, home appliances like mp3 player, washing machines, electronic iron and industries. Mostly used blocks in the architecture of 8051 are as follows:



128 Byte RAM for Data Storage

MC 8051 has 128 byte Random Access memory for data storage. Random access memory is non volatile memory. During execution for storing the data the RAM is used. RAM consists of the register banks, stack for temporary data storage. It also consists of some special function register (SFR) which are used for some specific purpose like timer, input output ports etc. Normally microcontroller has 256 byte RAM in which 128 byte is used for user space which is normally Register banks and stack. But other 128 byte RAM which consists of SFRs. We will discuss the RAM in detail in next section.
Now what is the meaning of 128 byte RAM. What are address range which is provided for data storage. We will discuss here.

We know that 128 byte = 2^7  byte


Since 2^7 bytes so last 7 bits can be changed so total locations are from 00H to 7F H. This procedure of calculating the memory address is called as “memory mapping”. We can save data on memory locations from 00H to 7FH. Means total 128 byte space from 00H to 7FH is provided for data storage.



4KB ROM

• In 8051, 4KB read only memory (ROM) is available for program storage. This is used for permanent data storage. Or the data which is not changed during the processing like the program or algorithm for specific applications.
• This is volatile memory; the data saved in this memory does not disappear after power failure.
• We can interface up to 64KB ROM memory externally if the application is large. These sizes are specified different by their companies.
• Address Range of PC: Address range of PC means program counter (which points the next instruction to be executing) can be moved between these locations or we can save the program from this location to this location.

The address range can be calculated in the same way just like the RAM which is discussed in previous section.


Address range of PC is 0000H to 0FFFH means total 4KB locations are available from 0000H to 0FFFH. At which we can save the program.

Difference between RAM and ROM

• RAM is used for data storage while ROM is used for program storage.
• Data of RAM can be changed during processing while data of ROM can’t be changed during processing.
• We can take an example of calculator. If we want to perform addition of two numbers then we type the two numbers in calculator, this is saved in the RAM, but the Algorithms by which the calculation is performed is saved in the ROM. Data which is given by us to calculator can be changed but the algorithm or program by which calculation is performed can’t be changed.

Timers and Counters

Timer means which can give the delay of particular time between some events. For example on or off the lights after every 2 sec. This delay can be provided through some assembly program but in microcontroller two hardware pins are available for delay generation. These hardware pins can be also used for counting some external events. How much times a number is repeated in the given table is calculated by the counter.
• In MC8051, two timer pins are available T0 and T1, by these timers we can give the delay of particular time if we use these in timer mode.
• We can count external pulses at these pins if we use these pins in counter mode.
• 16 bits timers are available. Means we can generate delay between 0000H to FFFFH.

• Two special function registers are available.

• If we want to load T0 with 16 bit data then we can load separate lower 8 bit in TL0 and higher 8 bit in TH0.
• In the same way for T1.
• TMOD, TCON registers are used for controlling timer operation.
1.4.4 Serial Port
• There are two pins available for serial communication TXD and RXD.
• Normally TXD is used for transmitting serial data which is in SBUF register, RXD is used for receiving the serial data.
• SCON register is used for controlling the operation.
• There are four modes of serial communication which has been discussed in next chapter.

Input Output Ports

• There are four input output ports available P0, P1, P2, P3.
• Each port is 8 bit wide and has special function register P0, P1, P2, P3 which are bit addressable means each bit can be set or reset by the Bit instructions (SETB for high, CLR for low) independently.
• The data at any port which is transmitting or receiving is in these registers.
• The port 0 can perform dual works. It is also used as Lower order address bus (A0 to A7) multiplexed with 8 bit data bus P0.0 to P0.7 is AD0 to AD7 respectively the address bus and data bus is demultiplex by the ALE signal and latch which is further discussed in details.
• Port 2 can be used as I/O port as well as higher order address bus A8 to A15.
• Port 3 also have dual functions it can be worked as I/O as well as each pin of P3 has specific function.
 P3.0 – RXD –  Serial I / P for Asynchronous communication
                Serial O / P for synchronous communication.
P3.1 – TXD – Serial data transmit.
P3.2 – INT0 – External Interrupt 0.
P3.3 – INT1 – External Interrupt 1.
P3.4 – T0 – Clock input for counter 0.
P3.5 – T1 – Clock input for counter 1.
P3.6 – WR – Signal for writing to external memory.
P3.7 – RD – Signal for reading from external memory.
When external memory is interfaced with 8051 then P0 and P2 can’t be worked as I/O port they works as address bus and data bus, otherwise they can be accessed as I/O ports.

Oscillator

• It is used for providing the clock to MC8051 which decides the speed or baud rate of MC.
• We use crystal which frequency vary from 4MHz to 30 MHz, normally we use 11.0592 MHz frequency.

Interrupts

• Interrupts are defined as requests because they can be refused (masked) if they are not used, that is when an interrupt is acknowledged. A special set of events or routines are followed to handle the interrupts. These special routines are known as interrupt handler or interrupt service routines (ISR). These are located at a special location in memory.

• INT0 and INT1 are the pins for external interrupts.

Posted on Tuesday, June 18, 2013 by sakthi

No comments

INTRODUCTION




The microcontroller incorporates all the features that are found in microprocessor. The microcontroller has built in ROM, RAM, Input Output ports, Serial Port, timers, interrupts and clock circuit. A microcontroller is an entire computer manufactured on a single chip. Microcontrollers are usually dedicated devices embedded within an application. For example, microcontrollers are used as engine controllers in automobiles and as exposure and focus controllers in cameras. In order to serve these applications, they have a high concentration of on-chip facilities such as serial ports, parallel input output ports, timers, counters, interrupt control, analog-to-digital converters, random access memory, read only memory, etc. The I/O, memory, and on-chip peripherals of a microcontroller are selected depending on the specifics of the target application. Since microcontrollers are powerful digital processors, the degree of control and programmability they provide significantly enhances the effectiveness of the application. The 8051 is the first microcontroller of the MCS-51 family introduced by Intel Corporation at the end of the 1970s. The 8051 family with its many enhanced members enjoys the largest market share, estimated to be about 40%, among the various microcontroller architectures.
The microcontroller has on chip peripheral devices. In this unit firstly we differentiate microcontroller from microprocessor then we will discuss about Hardware details of 8051 and then introduce the Assembly level language in brief.

MICROCONTROLLERS


•  Microcontroller (MC) may be called computer on chip since it has basic features of microprocessor with internal ROM, RAM, Parallel and serial ports within single chip. Or we can say microprocessor with memory and ports is called as microcontroller. This is widely used in washing machines, vcd player, microwave oven, robotics or in industries.
 Microcontroller can be classified on the basis of their bits processed like
8bit MC, 16bit MC.
 8 bit microcontroller, means it can read, write and process 8 bit data.


Ex.  8051 microcontroller. Basically 8 bit specifies the size of data bus. 8 bit microcontroller means 8 bit data can travel on the data bus or we can read, write process 8 bit data.

DIFFERENCE BETWEEN MICROCONTROLLER
AND   MICROPROCESSOR



It is very clear from figure that in microprocessor we have to interface additional circuitry for providing the function of memory and ports, for example we have to interface external RAM for data storage, ROM for program storage, programmable peripheral interface (PPI) 8255 for the Input Output ports, 8253 for timers, USART for serial port. While in the microcontroller RAM, ROM, I/O ports, timers and serial communication ports are in built. Because of this it is called as “system on chip”. So in micro-controller there is no necessity of additional circuitry which is interfaced in the microprocessor because memory and input output ports are inbuilt in the microcontroller. Microcontroller gives the satisfactory performance for small applications. But for large applications the memory requirement is limited because only 64 KB memory is available for program storage. So for large applications we prefer microprocessor than microcontroller due to its high processing speed.

CRITERIA FOR SELECTION OF A MICROCONTROLLER 
IN EMBEDDED SYSTEM

Criteria for selection of  micro controller in any embedded system is as following: 


(a)  Meeting the computing needs of task at hand efficiently and cost effectively
                          •  Speed of operation
 Packing
 Power consumption
 Amount of RAM and ROM on chip
 No. of I/O pins and timers on chip
 Cost

(b)  Availability of software development tools such as compiler, assembler and debugger.


Posted on Tuesday, June 18, 2013 by sakthi

No comments



A p–n junction is a boundary or interface between two types of semiconductor material, p-type and n-type, inside a single crystal of semiconductor. It is created by doping, for example by ion implantation, diffusion of dopants, or by epitaxy (growing a layer of crystal doped with one type of dopant on top of a layer of crystal doped with another type of dopant). If two separate pieces of material were used, this would introduce a grain boundary between the semiconductors that severely inhibits its utility by scattering the electrons and holes.


When a P-type semiconductor is joined to a N-type semiconductor such that the crystal structure remains continuous at the boundary, a PN junction is formed. A PN junction forms a very useful device and can be called a semiconductor diode, PN junction diode, or simply a crystal diode. Simply joining two pieces together cannot form a PN junction, because it would produce a discontinuous crystal structure. Special techniques are required to assemble a PN junction. Normally P-type carriers are to the left of the junction and N-type carriers to the right.


Since the junction diode is a two terminal device, the application of voltage across its terminals leaves three possibilities:

  1. No bias
  2. Forward bias
  3.  Reverse bias

No bias 




This occurs when there is no external voltage applied. The holes from the P-region diffuse into the N-region. They then combine with the free electrons in the N-region. The free electrons from the N-region diffuse into the P-region. These electrons combine with the holes.

Forward bias 





When a battery is connected to the PN junction diode such that the positive terminal is connected to the P-side and negative terminal to the N-side, forward bias is created. When the PN junction is forward biased, the holes are repelled from the positive terminal and are forced to move towards the junction.  Similarly, the electrons are repelled from the negative terminal of the battery and drift towards the junction. The current within the PN junction is the sum of electron current and hole current.

Reverse bias 




A voltage source is connected with the positive terminal attached to the N-region and negative to the P-region. The holes in the P-region are attracted towards the negative terminal of the applied voltage, and the electrons in the N-region are attracted to the positive terminal. Thus the majority carriers are drawn away from the junction. This increases the barrier potential, which makes it more difficult for the carriers to diffuse across the junction.

P-N Junction Diode characteristics




The PN junction region of a Junction Diode has the following important characteristics:

1). Semiconductors contain two types of mobile charge carriers, Holes and Electrons.

2). The holes are positively charged while the electrons negatively charged.

3). A semiconductor may be doped with donor impurities such as Antimony (N-type doping), so that it contains mobile charges which are primarily electrons.

4). A semiconductor may be doped with acceptor impurities such as Boron (P-type doping), so that it contains mobile charges which are mainly holes.

5). The junction region itself has no charge carriers and is known as the depletion region.

6). The junction (depletion) region has a physical thickness that varies with the applied voltage.

7).When a diode is Zero Biased no external energy source is applied and a natural Potential Barrier is developed across a depletion layer which is approximately 0.5 to 0.7v for silicon diodes and approximately 0.3 of a volt for germanium diodes.

8). When a junction diode is Forward Biased the thickness of the depletion region reduces and the diode acts like a short circuit allowing full current to flow.


9). When a junction diode is Reverse Biased the thickness of the depletion region increases and the diode acts like an open circuit blocking any current flow, (only a very small leakage current).

Posted on Tuesday, June 18, 2013 by sakthi

No comments