Introduction to Embedded System The embedded system is a combination of computer hardware, software additional electrical & mechanical parts A computer is used in such devices primarily as a means tosimplify the system design and to provide flexibility. Embedded systems employ the use of a RTOS (Real-Time Operating System).
Block Diagram of Embedded System SOFTWARE MEMORYA/D CPU D/A ACUTATORSSENSOR HUMAN INTERFERENCE
Microcontroller• A smaller computer.• On-chip RAM, ROM, I/O ports...• Example:- Motorola’s 6811, Intel’s 8051 and PIC 16X CPU RAM ROM A single chip I/O Timer Port Serial COM Port
The 8051 Microcontroller :• The 8051 is the first microcontroller of the MCS-51 family introduced by Intel Corporation at the end of the 1970’s.• The 8051 family characteristics: The 8051 family characteristics: 4K Bytes ROM 128 Bytes RAM Two timer/counters (16 bit) A serial port 32 input/output port Interrupt controller
8051 Internal Architecture
IC 8051 Pin Description Voltage Supply (+5V) Ground
IC 8051 Pin Description Port 0 from Pin-39 to Pin-32 An 8-bit open drain bidirectional port. Used to address both data and address
IC 8051 Pin DescriptionPort 1 fromPin-1 to pin-88-bit bidirectionalI/O port withinternal pull-ups
IC 8051 Pin Description Port 2 from Pin-21 to pin-28 Used to access address and I/O
IC 8051 Pin Description External memoryreset Add. Latch enable Program Store Enablecrystal
IC 8051 Daily Applications Digital clock Moving message display 7 segment display Traffic Light
Counter / TimersTwo 16-bit Counter/Timers: TIMER0, TIMER1Up counters, can interrupt on overflow.Counts:- CPU cycles (crystal/12). “Timer”.-External input (max. half CPU rate). “Counter”.
TMOD : Counter/Timer Mode Register Gate C/T M1 M0 Gate C/T M1 M0 Timer 1 Timer 0GATE : Permits INTx pin to enable/disablecounter.- C/T : Set for counter operation, reset fortimer operation. TMX1 TMX1 TMX1 Description RST0 RST0 RST0 13 bit timer RST1 RST1 RST1 16 bit timer RST2 RST2 RST2 8 bit auto reload RST3 RST3 RST3 Split timer mode
Timer control (TCON) TF1 TRI TF0 TR0TF : timer flagTR : timer runTF1 is SET if timer exceeds the maximum limit i.e. : FFFF HTR starts and stops the timerThe following instruction indicates the condition for start n stop respectivelySET B TR0 : starts the timerCLR B TR0 : stops the timer
IC 8051 Addressing Modes • Immediate addressing modes ADD A, #23h (Add immediate data to Acc) • Register addressing modes ADD A, R2 (Add register to Accumulator) • Direct addressing modes ADD A, 40h (Add data at location 40h to Accumulator) • Register Indirect addressing modes ADD A,@R2 (Add indirect RAM to Acc)
Interrupts in 8051• An interrupt is an external or internal event that interrupts the microcontroller to inform it that a device needs its service• The advantage of interrupts is that the microcontroller can serve many devices (not all at the same time) Program Program Interrupt service time
Interrupts in 8051Internal Interrupts EA - ET2 ES ET1 EX1 ET0 EX0 EX0 Enables or disables external interrupt ET0 Enables or disables timer 0 overflow interrupt EX1 Enables or disables external interrupt 1 ET1 Enables or disables timer 1 overflow interrupt ES Enables or disables the serial port interrupt ET2 Enables or disables timer 2 overflow or capture interrupt -- Not implemented, reserved for future use EA Disables all interrupts External Interrupts P3.2 INT0 (external interrupt 0) P3.3 INT1 (external interrupt 1)
General PurposeMicroprocessor CPU for Computers No RAM, ROM, I/O on CPU chip itself Example--Intel’s x86: 8086,8088,80386,80486, Pentium Data Bus Many chips on mother board CPU General Serial Purpose RAM ROM I/O Timer COM µP Port Port Address Bus General-Purpose Microprocessor System
The 8085 Microprocessor : The features of INTEL 8085 are : It is an 8 bit processor. It is a single chip N-MOS device with 40 pins. It has multiplexed address and data bus.(AD0-AD7). It works on 5 Volt dc power supply. The maximum clock frequency is 3 MHz while minimum frequency is 500kHz. It provides 74 instructions with 5 different addressing modes.
IC 8085 Pin Description
IC 8085 Pin Description• AD0-AD7 Multiplexed Address and data lines.• A8-A15 Tri-stated higher order address lines.• ALE Address latch enable is an output signal. It goes high when operation is started by processor .• S0,S1 These are the status signals used to indicate type of operation. _• RD Read is active low input signal used to read data from I/O device or memory. _• WR Write is an active low output signal used write data on memory or an I/O device.
. . p ut pt 24HIC 8085 Pin Description ut h. rru 00 f o hig te in ress P. u s o t is le d A at til i ab ad TR st k TA e un as rom an th th sI N k AIT n t m sf y e ec l W no star rit r at ch il , y n rio ne to w it p ge d µP or utio ri c lo w is se w, p µP 8 5 ). l u lo st exe ve ich 80 =0 a gn it is gh and e ha h r si If i d r w l. he O/M ut e. h d u rs s an fte gna h et ( I tp vic e pt l a si w de ou de er occ e o n g ig rt rru na ge ig d at m sa tr sta te c di ory i e in t s wle in Th dg , re le u es o o em E n AP kab eq ckn d rM t a is r TR as tr ta p p e us 1) o It te m l Y f re rru rru na /M= AD a te ig E A se in inte r s (IO e a o•R Th is or in ode P TR p A 7 .5 IN ut O m • TR 6 .5, p ut in I/ 5.5, TA o is ng s ST _ IN hi rki T o •R & w TR IN
IC 8085 Pin Description• HOLD & HLDA HOLD is an input signal .When µP receives HOLD signal it completes current machine cycle and stops executing next instruction. In response to HOLD µP generates HLDA that is HOLD Acknowledge signal.• RESET IN This is input signal. When RESET IN¯ is low µp restarts and starts executing from location 0000H.• SID Serial input data is input pin used to accept serial 1 bit data• VCC & VSS Power supply VCC=+ -5Volt& VSS=-GND reference.• X1 & X2 These are clock input signals and are connected to external LC or RC circuit. These are divide by two so if 6 MHz isconnected to X1&X2, the operating frequency becomes 3MHz
8085 Internal Architecture
Arithmetic and Logical Group Accumulator: It is 8 bit general purpose register. It is connected to ALU. So most of the operations are done in Acc. Temporary register: All the arithmetic and logical operations are done in the temporary register but user can’t access it. Flag: It is a group of 5 flip flops used to know status of various operations done. The Flag Register along with Accumulator is called PSW or Program Status Word.
Arithmetic and Logical Group Flag is given by :S Z - AC - P - CY S: Sign flag is set when result of an operation is negative. Z: Zero flag is set when result of an operation is 0. Ac: Auxiliary carry flag is set when there is a carry out of lower nibble or lower four bits of the operation. CY: Carry flag is set when there is carry generated by an operation. P: Parity flag is set when result contains even number of 1’s. Rest are don’t care flip flops.
Register GroupGeneral purpose There are six general purpose registers in 8085 namely B,C,D,E,H,L These are used for various data manipulations.Special purpose: There are two special purpose registers in 8085:SP : (Stack Pointer) This is a temporary storage memory 16 bit register. Since there are only 6 general purpose registers, there is a need to reuse themPC : (Program Counter) It is 16 bit register used to point the location from which the next instruction is to be fetched.Temporary registers (W,Z):These are not available for user. These are loaded only when there is an operationbeing performed.
IC 8085 Addressing modes • Immediate addressing: Immediate data is transferred to address or register. Example : MVI A,20H • Register addressing: Data is transferred from one register to other. Example : MOV A, C • Indirect addressing: Data is transferred from address pointed by the data in a register to other register or vice-versa. Example: MOV A, M • Implied addressing: These doesn’t require any operand. The data is specified in Opcode itself. Example: RAL: Rotate left with carry.
Interrupts in 8085• An interrupt is considered to be an emergency signal that may be serviced. The Microprocessor may respond to it as soon as possible.Interrupts can also be classified into: • Maskable Interrupts (Can be delayed or Rejected) • Non-Maskable Interrupts (Can not be delayed or Rejected)The 8085 has 5 interrupt inputs :The INTR input INTR is mask-able using the EI/DI instruction pair.RST 5.5, 6.5, 7.5 They are all mask-able.TRAP Is the only non-mask-able interrupt in the 8085
Interrupts in 8085The 8085 recognizes 8 RESTART instructions: RST0 - RST7 . Each of these would send the execution to a predetermined hard-wired memory location: Restart Instruction Equivalent to RST0 CALL 0000H RST1 CALL 0008H RST2 CALL 0010H RST3 CALL 0018H RST4 CALL 0020H RST5 CALL 0028H RST6 CALL 0030H RST7 CALL 0038H
Timing and State Diagram• The µP operates with reference to clock signal. The rise and fall of the pulse of the clock gives one clock cycle.• Each clock cycle is called a T state and a collection of several T states gives a machine cycle.• Important machine cycles are :I. Op-code fetch.II. Memory read.III. Memory write.IV. I/Op-read.V. I/O write.
Timing and State DiagramOp-code fetch cycle :
Seven Segment Display Seven segments are electronic components that can be used to displaying alphanumeric characters, 7 LED are used (as shown in figure) and is designed from a dot-point with the size. << pin configuration of seven segment
Seven Segment Display7 pins of the microcontroller are used to shape thecharacter of your LED display MicrocontrollerPort Relations Microcontroller with pin >>7 Segment
Seven Segment Displayble 1. Configuring the Character 7 Segment Data
8051 MicrocontrollerDesign Softwares
Software’s Used Keil Top View ExpressµVision Simulator PCB
Keil µVision IDE The µVision IDE from Keil combines project management, make facilities, source code editing, program debugging, and complete simulation in one powerful environment. The µVision development platform is easy-to-use and helping you quickly create embedded programs that work. The µVision editor and debugger are integrated in a single application that provides a seamless embedded project development environment.
Top View Simulator• Topview Simulator gives an excellent simulation environment for MCS 51 Microcontroller. A beginner can learn about 8051 based embedded solutions without any hardware. An experienced designer, you may find most of the required facilities built in the simulator that enabling you to complete your next project without waiting for the target hardware.
Top View SimulatorA Top ViewSimulatorProgram
Express PCBExpress PCB allows you to designschematics and PCBs. It is idealfor those that are looking todesign anywhere from a two tofour layer circuit board.A drop and drag design allowsusers to pick the components ofthe circuit board and drop itonto the circuit board in thesoftware program. The designercan then place various pins in thecircuit board to show wherethings need to be connected.It also has the ability of theprogram to show the designerwhere there are flaws in theirdesign.
Express PCBThis way we can include resistors This way we can include different kind of IC’s
DC Motor interfacing with MicrocontrollersDC motors are always preferred over stepper motors.There are many things which we can do with our DC motor when interfaced withmicrocontroller.For example:• we can control the speed of motor,• we can control the direction of rotation,• we can also do encoding of the rotation made by DC motor i.e. keeping track of how many turns are made by our motors etc. Usually H-bridge is preffered way of interfacing a DC motor. L293D is most used H-Bridge driver IC.
Working of H-BridgeThe name "H-Bridge" is derived from the actual shape of the switching circuit whichcontrol the motion of the motor. It is also known as "Full Bridge". Basically there arefour switching elements in the H-Bridge as shown
Working of H-Bridge Truth TableHigh Left High Right Low Left Low Right Description Motor runs On Off Off On clockwise Motor runs anti- Off On On Off clockwise Motor stops or On On Off Off decelerates Motor stops or Off Off On On decelerates Truth Table For H-Bridge
Stepper MotorOf all motors, step motor is the easiest to control. Its handling simplicity is really hard to deny - all there is to do is to bring the sequence of rectangle impulses to one input of step controller and direction information to another input. Direction information is very simple and comes down to "left" for logical one on that pin and "right" for logical zero.Motor control is also very simple - every impulse makes the motor operating for one step and if there is no impulse the motor wont start. Pause between impulses can be shorter or longer and it defines revolution rate. This rate cannot be infinite because the motor wont be able to "catch up" with all the impulses (documentation on specific motor should contain such information)..
Interfacing of Stepper motor with 8051
Clock-wise Rotation of the Coils Truth table 1 2 3 4 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1