eee502 embedded systems

7
EEE502 Embedded Systems • Lecture 5B: Simple I/O Embedded C using PIC microcontrollers Teaching resources on on www.eej.ulst.ac.uk My office 5B18, telephone 028 90 366364 My email [email protected] http://www.eej.ulst.ac.uk/~ian/modules/ EEE502 1/

Upload: brennan-jensen

Post on 30-Dec-2015

35 views

Category:

Documents


0 download

DESCRIPTION

Lecture 5B: Simple I/O Embedded C using PIC microcontrollers Teaching resources on on www.eej.ulst.ac.uk My office 5B18, telephone 028 90 366364 My email [email protected]. EEE502 Embedded Systems. Switches. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: EEE502 Embedded Systems

EEE502 Embedded Systems

• Lecture 5B: Simple I/O Embedded C using PIC microcontrollers

Teaching resources on on www.eej.ulst.ac.uk

My office 5B18, telephone 028 90 366364My email [email protected]

http://www.eej.ulst.ac.uk/~ian/modules/EEE502 1/

Page 2: EEE502 Embedded Systems

2

Switches• You can wire a switch up to an input pin, and put the

other end of the switch to ground. You need a pullup pin from the port pin to Vdd then to bias the pin high when the switch is not closed. The pullup can be external or internal (PORTB only).

• You can also wire a switch up between an input pin and Vdd, in which case you need a pulldown resistor between ground and the pin.

• How do you read 16 switches? • Either by wiring them up to a shift register and using 2 or

3 pins to clock the data in serially (see 74HC165 as a suitable chip) or use a multiplexing approach to save pins. Cheap but more complex software

http://www.eej.ulst.ac.uk/~ian/modules/EEE502

Page 3: EEE502 Embedded Systems

3

7 Segment displays

• To drive a seven segment display needs 7 output lines, or 8 to display decimal point

• To drive 4 displays could use 28 or 32 pins.• Common to either use a hardware shift register or a

seven segment display controller chip (allows brightness control and flashing)

• Or to multiplex pins, 7 to drive the segments and 4 to select which digit is active.

• The human eye has persistence of vision so if a display is “on” for 10 out of every 40 msecs it thinks it is on all the time – albeit at 25% brightness. In practice you can exceed the LED continous current limit by a factor of 4 and restore the brightness levels.

http://www.eej.ulst.ac.uk/~ian/modules/EEE502

Page 4: EEE502 Embedded Systems

4

Diagram of multiplexed 7-seg 4 digit display

Every 10 milliseconds output a pattern from {0001,0010,0100 and 1000}http://www.eej.ulst.ac.uk/~ian/modules/EEE502

Page 5: EEE502 Embedded Systems

5

http://www.eej.ulst.ac.uk/~ian/modules/EEE502

Page 6: EEE502 Embedded Systems

6

Resources of the millenium board

• PORTA, analog input ch0-2 & LCD (3)• PORTB, 2 bits set aside for programmer– 6 spare use 4 for digit select/keypad row o/p(RB0-3)

• PORTC, 2 bits set aside for serial comms to PC– 6 spare, bring in 4 columns from keypad (RC0-3)

• PORTD all 8 spare – drive 7 segments a-g, dp• PORTE 3 spare – use for LCD• Leaves RC4,RC5,RB4,RB5 and maybe RA1,2 free

http://www.eej.ulst.ac.uk/~ian/modules/EEE502

Page 7: EEE502 Embedded Systems

7

Now need to study interrupts – we will revisit timers…

http://www.eej.ulst.ac.uk/~ian/modules/EEE502