Top Banner
Embedded Systems Design, Prof. Kasim Alaubidy Embedded Systems Design (0630470) Lecture 11 Microcontroller Interfacing Microcontroller Interfacing Microcontroller Interfacing Microcontroller Interfacing Prof. Kasim M. Al-Aubidy Philadelphia University-Jordan
12

Embedded Systems Design (0630470) - Philadelphia … · • NOTES: - Timer Zero Register (TMR0): File Register # 01 ... Embedded Systems Design, ... Design a PIC-based system that

Sep 09, 2018

Download

Documents

LyDuong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Embedded Systems Design (0630470) - Philadelphia … · • NOTES: - Timer Zero Register (TMR0): File Register # 01 ... Embedded Systems Design, ... Design a PIC-based system that

Embedded Systems Design,Prof. Kasim Alaubidy

Embedded Systems Design(0630470)

Lecture 11

Microcontroller InterfacingMicrocontroller InterfacingMicrocontroller InterfacingMicrocontroller InterfacingProf. Kasim M. Al-Aubidy

Philadelphia University-Jordan

Page 2: Embedded Systems Design (0630470) - Philadelphia … · • NOTES: - Timer Zero Register (TMR0): File Register # 01 ... Embedded Systems Design, ... Design a PIC-based system that

Embedded Systems Design,Prof. Kasim Alaubidy

Hardware DesignHardware Design• PIC 16F84 pin out:

- It is supplied in an 18-pic DIL chip.- Some of the pins have dual functions.- It has TWO ports, Port A & Port B.- A summary of the pin functions is provided inthe next table.

Page 3: Embedded Systems Design (0630470) - Philadelphia … · • NOTES: - Timer Zero Register (TMR0): File Register # 01 ... Embedded Systems Design, ... Design a PIC-based system that

Embedded Systems Design,Prof. Kasim Alaubidy

Page 4: Embedded Systems Design (0630470) - Philadelphia … · • NOTES: - Timer Zero Register (TMR0): File Register # 01 ... Embedded Systems Design, ... Design a PIC-based system that

Embedded Systems Design,Prof. Kasim Alaubidy

• NOTES:- Timer Zero Register (TMR0): File Register # 01- Program Counter: File Register # 02- Status or Flag Register: File Register # 03

- Port A Data Register: File Register # 05- Port B Data Register: File Register # 06- Interrupt Control Register (INTCON): File Register # 0B- General Purpose Register 1: File Register # 0C- General Purpose Register 2: File Register # 0D

..

- General Purpose Register 68: File Register # 4F

- Working Register: W register: it is 8-bit data register used to hold data that is currently being worked.It is separate from the file register set.

- W register and General Purpose Registers are in RAM Bank (bank 0). These registers can be directlyaccessed.

- Bank 1 Registers (TRISA, TRISB and PCLATH) can not be directly accessed. In this case, specialinstructions are needed to load them. There are TWO ways to do this:

1. Simple Method: it requires the 8-bit code to be loaded to be placed in W first, and then moved intoBank 1.

2. Bank Selection Method: using operation BANKSEL which selects the bank that the specified registeris in.

Page 5: Embedded Systems Design (0630470) - Philadelphia … · • NOTES: - Timer Zero Register (TMR0): File Register # 01 ... Embedded Systems Design, ... Design a PIC-based system that

Embedded Systems Design,Prof. Kasim Alaubidy

Example:

;re-select bank containing PORTB, bank 0PORTBBANKSEL

;set port B as output.TRISBMOVWF

;load code for all outputs.CLRW

;select bank containing TRISB bank 1.TRISBBANKSEL

TRISA: Port A Data Direction Register, File Register # 85.

TRISB: Port B Data Direction Register, File Register # 86.

•The data direction register TRISA is loaded by placing the required code in Wregister and then using instruction TRIS05 OR TRIS06 for port A & port Brespectively.

•The program instruction ‘TRIS06’ moves the data direction code from W toTRISB register.

Page 6: Embedded Systems Design (0630470) - Philadelphia … · • NOTES: - Timer Zero Register (TMR0): File Register # 01 ... Embedded Systems Design, ... Design a PIC-based system that

Embedded Systems Design,Prof. Kasim Alaubidy

STATUS: Status or flag register : File Register #03

Page 7: Embedded Systems Design (0630470) - Philadelphia … · • NOTES: - Timer Zero Register (TMR0): File Register # 01 ... Embedded Systems Design, ... Design a PIC-based system that

Embedded Systems Design,Prof. Kasim Alaubidy

•OPTION: Option Register: File Register # 81

•TMR0: Timer Zero Register: File Register # 01

Page 8: Embedded Systems Design (0630470) - Philadelphia … · • NOTES: - Timer Zero Register (TMR0): File Register # 01 ... Embedded Systems Design, ... Design a PIC-based system that

Embedded Systems Design,Prof. Kasim Alaubidy

•INTCON: Interrupt control Register: File Register # 0B

Page 9: Embedded Systems Design (0630470) - Philadelphia … · • NOTES: - Timer Zero Register (TMR0): File Register # 01 ... Embedded Systems Design, ... Design a PIC-based system that

Embedded Systems Design,Prof. Kasim Alaubidy

Example: Simple PIC ApplicationExample: Simple PIC Application

Design a PIC-based system that displays a binary count of asequence of pulses under the control of two push button switches.One input will start the output sequence when pressed. The otherinput will clear the output.

Page 10: Embedded Systems Design (0630470) - Philadelphia … · • NOTES: - Timer Zero Register (TMR0): File Register # 01 ... Embedded Systems Design, ... Design a PIC-based system that

Embedded Systems Design,Prof. Kasim Alaubidy

SOLUTION: 1. Hardware Design

Page 11: Embedded Systems Design (0630470) - Philadelphia … · • NOTES: - Timer Zero Register (TMR0): File Register # 01 ... Embedded Systems Design, ... Design a PIC-based system that

Embedded Systems Design,Prof. Kasim Alaubidy

Software Design:

Assembly Program:

1

0

0C

06

05

;repeat main loop alwaysstartGOTO

;jump to delay subroutinedelayCALL

;delay count literalOFFMOVLW

;increment count at port BportbINCF

;and run count if pressedstartGOTO

;test RA1 input buttonporta, runinBTFSC

;and reset Port B if pressedresetGOTO

;test RA0 input buttonPorta, resetinBTFSSstart:

;clear port b dataPortBCLRFreset:

resetGOTO

;Load the DDR code into F86Port BTRIS

;port b data direction codeB’00000000’MOVLW

Prot B initialization as input port

;run i/p=RA1EQUrunin

;reset i/p=RA0EQUresetin

;register for delayEQUtimer

;port B data registerEQUPortb

;port A data registerEQUPorta

CONTINUE

Page 12: Embedded Systems Design (0630470) - Philadelphia … · • NOTES: - Timer Zero Register (TMR0): File Register # 01 ... Embedded Systems Design, ... Design a PIC-based system that

Embedded Systems Design,Prof. Kasim Alaubidy

;terminate source codeEND

;jump back to main programRETURN

;and repeat until zerodownGOTO

;decrement timer registertimerDECFSZdown:

;copy W to timer registertimerMOVWFdelay: