Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.