EECE.3170 Microprocessor Systems Design I

Slides:



Advertisements
Similar presentations
Electronics Design Lab TUTORIAL PIC Microcontrollers Francesco Tenore 2/10/2006.
Advertisements

Slides created by: Professor Ian G. Harris PIC Development Environment MPLAB IDE integrates all of the tools that we will use 1.Project Manager -Groups.
Microprocessor and Microcontroller Based Systems Instructor: Eng.Moayed N. EL Mobaied The Islamic University of Gaza Faculty of Engineering Electrical.
Microprocessor Systems Design I Instructor: Dr. Michael Geiger Fall 2013 Lecture 26: PIC microcontroller intro.
16.317: Microprocessor System Design I Instructor: Dr. Michael Geiger Spring 2012 Lecture 30: PIC data memory.
16.317: Microprocessor System Design I Instructor: Dr. Michael Geiger Spring 2012 Lecture 29: Microcontroller intro.
Railway Foundation Electronic, Electrical and Processor Engineering.
Chapter 4 Starting to Program – an Introduction to Assembler The aims of this chapter are to introduce: the essentials of Assembler programming; the Microchip.
Microcontroller Programming How to make something almost do something else Raffi Krikorian MAS November 2003.
Department of Electronic & Electrical Engineering Embedded system Aims: Introduction to: Hardware. Software Ideas for projects ? Robotics/Control/Sensors.
Building Assembler Programs Chapter Five Dr. Gheith Abandah1.
 Mini-Computer  Microprocessor  The Brains  Arithmetic Logic Unit (ALU)  Control Unit  Program/ Data Storage  Peripherals (Input/Output) Low-Cost.
EEE237 Introduction to Microprocessors Week x. SFRs.
Architecture and instruction set. Microcontroller Core Features:  Operating speed: DC - 20 MHz clock input DC ns instruction cycle Up to 8K x.
Department of Electronic & Electrical Engineering Template program. Input / Output (IO) ● Template program. ● Introduction to IO ● Setting up for IO ●
Department of Electronic & Electrical Engineering Lecture 2 ● Introduction to IO ● Using a subroutine ● Driving a 7seg display.
Department of Electronic & Electrical Engineering Lecture 4. ➢ Loops ➢ Delays ➢ Conditional instructions ➢ Simple clock example.
Department of Electronic & Electrical Engineering Lecture 3. ● Template program. ● Introduction to IO ● PORTA PORTB TRISA TRISB ● Using a subroutine ●
Programming PIC 16F84A in Assembly. PIC16F84 pin-out and required external components.
I/O PORTS. General purpose I/O pins can be considered the simplest of peripherals. They allow the PICmicro™ to monitor and control other devices. To add.
Applications examples. A binary count : stepped manually and reset with push buttons. Define ports Reset portd Reset =0? INCF portd no Step =0? yes.
Microprocessor Systems Design I
Microprocessor Systems Design I
Fundamentals of Computer Engineering
Microprocessor Systems Design I
Microprocessor Systems Design I
Microprocessor Systems Design I
Microprocessor Systems Design I
Microprocessor Systems Design I
Microprocessor Systems Design I
Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
Microprocessor Systems Design I
Microprocessor Systems Design I
INT. TO EMBEDDED SYSTEMS DEVELOPMENT
Microprocessor Systems Design I
Microprocessor Systems Design I
Microprocessor Systems Design I
Interrupts, Counter and Timers
Microprocessor Systems Design I
16.317: Microprocessor System Design I
Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
Projekt Anglicky v odborných předmětech, CZ.1.07/1.3.09/
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
INSTRUCTION SET.
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
8051 Development System Details
EECE.3170 Microprocessor Systems Design I
Presentation transcript:

EECE.3170 Microprocessor Systems Design I Instructor: Dr. Michael Geiger Spring 2016 Lecture 28: PICkit introduction

Microprocessors I: Lecture 28 Lecture outline Announcements/reminders HW 7 to be posted today; due 4/20 by 1:00 PM HW 8: Working with PICkits—groups of up to 4 (3 preferred) Cannot check out kit without a group before 4/22 Due 4/29 by 1:00 PM Will get extra points if HW submitted and PICkit returned early 10% by 11:00 AM, Friday, 4/22 5% by 1:00 PM, Monday, 4/25 Review Sample programming sequences: delay, state machine Today’s lecture: working with PICkit Assembler directives MPLAB IDE Working with existing projects Simulator In-circuit debugging Sample programs in assembly and C 4/27/2019 Microprocessors I: Lecture 28

Review: A Delay Subroutine 4/27/2019 Review: A Delay Subroutine ; *********************************************************************************** ; TenMs subroutine and its call inserts a delay of exactly ten milliseconds ; into the execution of code. ; It assumes a 4 MHz crystal clock. One instruction cycle = 4 * Tosc. ; TenMsH equ 13 ; Initial value of TenMs Subroutine's counter ; TenMsL equ 250 ; COUNTH and COUNTL are two variables TenMs nop ; one cycle movlw TenMsH ; Initialize COUNT movwf COUNTH movlw TenMsL movwf COUNTL Ten_1 decfsz COUNTL,F ; Inner loop goto Ten_1 decfsz COUNTH,F ; Outer loop goto Ten_1 return 4/27/2019 Microprocessors I: Lecture 28 Chapter 9

Review: Strategy to “Blink” The LEDs are toggled in sequence - green, yellow, red, green, yellow, red… Let’s look at the lower three bits of PORTD 001=green, 010=yellow, 100=red The next LED to be toggled is determined by the current LED. 001->010->100->001->… 4/27/2019 Microprocessors I: Lecture 28

Coding “Blink” with Table Use BlinkTable movf PORTD, W ; Copy present state of LEDs into W andlw B'00000111' ; and keep only LED bits addwf PCL,F ; Change PC with PCLATH and offset in W retlw B'00000001' ; (000 -> 001) reinitialize to green retlw B'00000011' ; (001 -> 010) green to yellow retlw B'00000110' ; (010 -> 100) yellow to red retlw B'00000010' ; (011 -> 001) reinitialize to green retlw B'00000101' ; (100 -> 001) red to green retlw B'00000100' ; (101 -> 001) reinitialize to green retlw B'00000111' ; (110 -> 001) reinitialize to green retlw B'00000110' ; (111 -> 001) reinitialize to green In calling program call BlinkTable ; get bits to change into W xorwf PORTD, F ; toggle them into PORTD 4/27/2019 Microprocessors I: Lecture 28

PIC microcontroller programming Done through MPLAB IDE Allows for generation of projects in assembly or in C Options to generate initialization code In-circuit debugger to view device state while hardware is actually running 4/27/2019 Microprocessors I: Lecture 28

PIC assembler directives banksel label Changes BSR to bank containing label Example: banksel TRISC cblock/endc Used to define a block of variables org address Indicates starting address for block of code that follows Address 0 in simple programs (initial PC value) #include file Typically used to include processor-specific definitions, macros 4/27/2019 Microprocessors I: Lecture 28

Example 1: Light single LED (.asm) Start: banksel TRISC ;select bank1 bcf TRISC,0 ;make C0 an output banksel LATC ;select bank2 clrf LATC ;initialize the ; LATCH by ; turning off ; everything bsf LATC,0 ;turn on LED C0 (DS1) goto $ ;sit here forever! end 4/27/2019 Microprocessors I: Lecture 28

Microprocessors I: Lecture 28 Example 1 notes (.asm) TRISC: controls state of Port C pins TRISC bits = 1  corresponding pins are inputs TRISC bits = 0  corresponding pins are outputs LATC: used for writing data to Port C Equivalent to writing to PORTC register Convention: for input, read PORTC; for output, write LATC Infinite loop at end $ symbol—special label for current instruction 4/27/2019 Microprocessors I: Lecture 28

Example 1: Light single LED (C) void main(void) { TRISCbits.TRISC0 = 0; // Pin 0 = // output LATC = 0; //clear all pins to 0 LATCbits.LATC0 = 1; // turn ON LED while(1) continue; } 4/27/2019 Microprocessors I: Lecture 28

Microprocessors I: Lecture 28 Example 1 notes (C) Can access entire registers by name To access individual bits, use form: regnamebits.regname# Example: TRISCbits.TRISC0 = 0; 4/27/2019 Microprocessors I: Lecture 28

Microprocessors I: Lecture 28 Running program Choose target device under File  Project Properties Either use PICkit3 or Simulator Compilation Clean and Build Make and Program Device (PICkit3 only) Separate options required for debug configuration Click arrow on right of button to build/make for debug Window  PIC Memory Views Allows you to view file registers and/or SFRs 4/27/2019 Microprocessors I: Lecture 28

Microprocessors I: Lecture 28 Final notes Next time: Working with delay Reminders: HW 7 to be posted today; due 4/20 HW 8: Working with PICkits—groups of up to 4 (3 preferred) Cannot check out kit without a group before 4/22 Will get extra points if HW submitted and PICkit returned early 10% by 11:00 AM, Friday, 4/22 5% by 1:00 PM, Monday, 4/25 4/27/2019 Microprocessors I: Lecture 28