anglicky v odborných předmětech " support of teaching technical subjects in english“

Post on 06-Jan-2016

21 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Anglicky v odborných předmětech " Support of teaching technical subjects in English“. Training program: Mechanic - electrotechnician Program name: Digital processing - microprocessors III. class Microcontrollers Elaborated by: Vlastimil Vlček. - PowerPoint PPT Presentation

TRANSCRIPT

Training program: Mechanic - electrotechnician

Program name: Digital processing - microprocessorsIII. classMicrocontrollers

Elaborated by: Vlastimil Vlček

Projekt Anglicky v odborných předmětech, CZ.1.07/1.3.09/04.0002

je spolufinancován Evropským sociálním fondem a státním rozpočtem

České republiky.

Program structure

Definition:

Initialization:

Master program

Subroutines

Tables

Definition of Special function registers Definition of user registers and variables

Setup of peripheral devices Setup of initial values of the ports Setup of data downstream through the ports Setup of initial values of user registers and

variables

Main program loop

Subroutines used in the main program loop

Tables of data constants, conversion tables, texts

An example of definitions:

porta equ 0x05

portb equ 0x06

trisa equ 0x85

trisb equ 0x86

status equ 0x03

#define RP0 status,5

#define RP1 status,6 

#define TL1 PORTA,0

#define TL2 PORTA,1

#INCLUDE <P16F883.INC>

Program structure

An example of initialization:

INIT NOP

BANKSEL ANSEL ;Bank selection

CLRF ANSEL ;PORTA = DIGITAL I/O

BANKSEL TRISA

MOVLW b'11101111‚ ;Setup of data downstream of the A port

MOVWF TRISA

MOVLW b'11111111‚ ;Setup of data downstream of the B port

MOVWF TRISB

MOVLW .0 ;Reset of the C port

MOVWF TRISC

BANKSEL PORTA

RETURN

Program structure

An example of a master program:

START CALL INIT ;initialization of the microcontroller

bsf VYSTUP ;H level on the OUTPUT bit

call zpozd ;timeout

bcf VYSTUP ;L level on the OUTPUT bit

call zpozd ;timeout

goto START ;and again from the beginning …

Program structure

An example of a subroutine:

;delay: delay loop

delay movlw '255'

movwf counter 1

decfsz counter 1

goto $-1

return

Program structure

An example of a table:

TAB RETLWb'11000000' ;character 0

RETLWb'11111001' ;character 1

RETLWb'10100100' ;character 2

RETLWb'10110000' ;character 3

RETLWb'10011001' ;character 4

RETLWb'10010010' ;character 5

RETLWb'10000010' ;character 6

RETLWb'11111000' ;character 7

RETLWb'10000000' ;character 8

RETLWb'10010000' ;character 9

RETLWb'10000110' ;character E

Program structure

Summary of the subject matter - exercises

What is the difference between a definition and a declaration?

What is a peripheral device in a microcontroller?

Why is it good to set up the initial vaules of the ports before we set up the data downstream in them?

Why do we have to work with so-called banks? Which part of the memory of a microcontroller do they concern?

Summary of the subject matter - exercises

What are the advantages and pitfalls of the use of the #define directive?

What is the main principle of creating a master program?

What is the purpose and sense of a subroutine, how is it called and how is it used?

Give an example of the use of a delay loop.

Give an example of the use of a table of constants.

Datasheet Microchip PIC16F882/883/884/886/887 DS41291E (http://www.microchip.com)

Microchip.com: Getting Started with PICmicro MCUs Microchip.com: MPLAB IDE User’s Guide Microchip.com: Quick Guide to Microchip Development Tools

References

top related