Presentation is loading. Please wait.

Presentation is loading. Please wait.

Railway Foundation Electronic, Electrical and Processor Engineering.

Similar presentations


Presentation on theme: "Railway Foundation Electronic, Electrical and Processor Engineering."— Presentation transcript:

1 Railway Foundation Electronic, Electrical and Processor Engineering

2 1 Microprocessor Systems Four main components –Microprocessor –Memory –Inputs –Outputs Memory –ROM types – program and fixed data –RAM (Read & Write) – Data variables

3 2 Microprocessor Circuit is driven by a clock signal The microprocessor has internal registers. The action performed is determined by a set of binary instructions stored in ROM A reset starts the microprocessor at a predetermined point in the program (usually location 0)

4 3 Inputs & Outputs Normally Digital I/O ( two levels ‘0’ & ‘1’) Normally parallel i.e grouped – 8bit Ports What about analogue signals? –Analogue to Digital Converter (ADC) –Digital to Analogue Converter (DAC) Other devices include hardware timers and counters Digital data can also be in a serial format (e.g. RS232, RS 485 are serial standards)

5 4 Microcontrollers Integration of all required components onto one chip. Many manufacturers – Microchip, Freescale, Intel, Infineon, Philips, ARM etc. producing different microprocessors Many microcontrollers with same microprocessor but differ in other components. Used in embedded products.

6 5 Programming Can be done different levels –Object (machine) binary code –Assembly language –High level language ( e.g. ‘C’ language) Internal architecture Memory Map Programmers Model – different for programming at different levels

7 6 EXAMPLES Machine code – 0110111100001000 means move the value from W reg. to file register 00001000 i.e 8 Assembly – Count EQU8 MOVWF Count A program called an assembler converts it to the binary object code. An example machine instruction

8 7 00050 ;Constants 00051 LED equ 3 ;LED bit 3 on PORTB 00053 ;Reset vector 00054 ; This code will start executing when a reset occurs. 00055 000000 00056 ORG 0x0000 00057 00058 ;Start of main program 000000 00059 Start: 000000 9693 00060 bcf TRISB,LED ;Set PortB bit 3 as an o/p 000002 9681 00061 bcf PORTB,LED ;set LED off 000004 00062 Loop: ;while(1) 000004 8681 00063 bsf PORTB,LED ; turn led on 000006 9681 00064 bcf PORTB,LED ; turn led off 000008 D7FD 00065 bra Loop ;endwhile Comments Begin with ; Assembly instructions Program Line Numbers Object code in HEX format ROM location Labels An Assembler program

9 8 C Programming Portable High level – Abstract Standard constructs –Variables – various data types –Selection ( if statements) –Loops (while, for, do) –Standard operations (+-*/) –Logical and bit-wise operations (AND OR XOR etc.)

10 9 Simple ‘C’ outline Selection - two types if (comparison is true ) { Do this once; } if (comparison is true ) { Do this once; } else { do this once; } Example: if (x == 9) Loops while (comparison is true ) { KEEP Doing this; } Example: while ( y < 10) Comparisons:- == is equal to != is not equal to > is greater than < is less than >= is greater or equal to <= is less than or equal to Defining variables unsigned char i; //8 bit value int x;// 16 bit signed unsigned int y;// 16 bit value Misc. // starts a comment i++; // increment by one i--; // decrement by one &&// logical AND || // logical OR Assignment(=) and operators(+-*/) x = 9; i = 7; y = x/4 + (5*i); //integer division!

11 10 Practical approach Treat as a programmable digital device Choose device based on number and types of input and outputs Write program:- –Define inputs and outputs –Read input data, process data and generate outputs Requires ‘C’ language and knowledge of microcontroller specific features.

12 11 Microchip PIC 18F452 & C18 ‘C’ Compiler Access to Special Function Registers by #include Defines names for all component parts. Example : PORTB an 8 bit digital I/O Port  TRISB - Port B direction register (0 = output, 1 = input)  PORTB - all 8 bits  PORTBbits.RBx - individual bits where x is bit number (numbering starts at 0)

13 12 What does this do? //PortA is 7 bits TRISA = 15; TRISB = 0; PORTBbits.RB0 = 0; while(1) { while( PORTAbits.RA4 == 0) { } while( PORTAbits.RA4 == 1) { } PORTBbits.RB0 = 1; while( PORTAbits.RA4 == 0) { } while( PORTAbits.RA4 == 1) { } PORTBbits.RB0 = 0; }

14 13 Analogue to Digital Converter(ADC) n bits – determines resolution Reference voltage sets the input range Often have an analogue multiplexer to allow several input channels to a single ADC ADC Analogue voltage Reference voltages (one is usually analogue ground) n bits

15 14 Reference voltages of 0v and +5v Input voltage range = 5v – 0v = 5v Number of digital values (steps) = 2 n = 2 8 = 256 NOTE: Values range from 0 to 255 Resolution = Reference voltage range = 5 / 256 = 0.01953125 volts = 19.53125mV Example: 8 bit ADC Number of digital values

16 15 Input voltage Digital value 255 0 0 4.98046875 Volts Remember max. digital value = 255. Max. convertible input = 255 x resolution in volts = 255 x 0.01953125 0.01953125 = 4.98046875 V

17 16 Digital Conversion 0 Analogue Input voltage Digital value 1 2 3 0.01953125 0.0390625 0.05859375


Download ppt "Railway Foundation Electronic, Electrical and Processor Engineering."

Similar presentations


Ads by Google