instal·lacions intel·ligents (apunts de l’assignatura) 1...
TRANSCRIPT
Depósito Legal B.55685-2006 (I)
INSTAL·LACIONS INTEL·LIGENTS (Apunts de l’assignatura)
1. MICROCONTROLADORS J. Montañá D. Romero
- 2003 -
1
Instal·lacions Intel·ligents
GENERALITATS del uC(Cas de la familia PIC16F87x)
Dep. Enginyeria ElèctricaJoan Montanyà, David Romero
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
Introducció
En aquest bloc de l’assignatura d’instal·lacions intel·ligents s’introduiran els dispositius microcontroladors tot i estudiant la família PIC16F87x de Microchip.
Els sistemes de control electrònics actuals no podrien existir com a tals sense un dispositiu clau: el microcontrolador.
El microncontrolador es un dispositiu que s’encarrega d’executar un programa per poder realitzar les funcions que te encomanades. Aquestes funcions pesen per:
• rebre ordres d’interfícies home-màquina (pantalles, teclats,...);
•executar accions com l’accionament de motors;
•obtenir la informació de sensors;
• ...... ;
•i sobre tot, la capacitat de comunicació amb altres dispositius o sistemes.
GENERALITATS del uC(Cas de la familia PIC16F87x)
2
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
En el cas d’instal·lacions intel·ligents (domòtica) els sistemes uC en són la clau. En les instal·lacions intel·ligents modernes, gairebé cada element (com ara: lluminàries, mecanismes, sensors, motors,.....) disposa d’un ‘cervell’ format per un uC el qual té la capacitat de comunicar-se amb els demès a traves d’una xarxa de comunicacions.
Es per això que el primer bloc de l’assignatura es dedica al coneixement dels sistemes uC en general, però al mateix temps, s’anirà particularitzant amb els uCPIC16F87x amb els quals realitzarem pràctiques en el laboratori.
GENERALITATS del uC(Cas de la familia PIC16F87x)
Introducció
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
1.1 Arquitectura d’un sistema microprocessador
Ref. [2]
1. Estructura del uC
3
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
1.- Estructura del uC
1.1 Arquitectura d’un sistema microprocessador
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
Central Processing Unit (CPU):
La CPU pot ser considerada com el cervell del sistema µC. Es la responsable de realitzar la correcte descodificació execució de les instruccions (fetching).
La CPU sovint treballa conjuntament amb la ALU (Unitat Aritmetico-Lògica) per poder completar l’execució d’instruccions que necessitin operacions aritmètiques o lògiques.
La CPU controla el bus d’adreces de memòria de programa, el bus de dades, el bus d’adreces i l’accés al ‘stack’.
1.2 La CPU
1.- Estructura del uC
4
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
1.2 La CPU
1.- Estructura del uC
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
1.- Estructura del uC
1.2 La CPU
5
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
1.3 El cicle instrucció
1.- Estructura del uC
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
1.- Estructura del uC
1.3 El cicle instrucció
6
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
1.- Estructura del uC
1.4 Les instruccions
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
1.- Estructura del uC
1.4 Les instruccions
7
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
1.- Estructura del uC
MEMORIAPRIMARIA
ROMRAM
NUCLEOMAGNETICO SEMICONDUCTORES BIPOLAR MOS
ESTATICAS DINAMICAS ROM DEMASCARA PROM
ROM DEMASCARA
EPROM YEAROMPROM
1.5 Memòries
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
ROM: Read Only Memory (memòria només de lectura: programa)
1.- Estructura del uC
1.5 Memòries
8
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
Tipus de memòries ROM més usuals
PROM: (Programable ROM) Són programables i s’entreguen verges al programador, aquest té un dispositiu especial per a gravar-les. Un cop gravades tenen les mateixes característiques que les ROM.
EPROM: (Erasable PROM) Són com les memòries PROM però existeix la possibilitat de borrar-les mitjançant exposició a raig ultra violetes (UV).
EEPROM: (Electrical Erasable PROM). Són com les memòries PROM però existeix la possibilitat de borrar-les mitjançant l’aplicació de nivells de tensióelèctrica. Per borrar-les el nivell de tensió sol ser superior als nivells de tensió d’utilització.
FLASH: Íntimament lligades a les EEPROM però el nivell de tensió per realitzar el borrat és el mateix que el d’utilització, típicament 3 a 5V.
1.- Estructura del uC
1.5 Memòries
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
RAM: Random Access Memory (memòria de lectura i escriptura: dades)
1.- Estructura del uC
1.5 Memòries
9
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
Tipus de memòries RAM més usuals
DRAM :(Dynamic Random Access Memory) Cal anar refrescant-les.
Fast Page Mode (FPM).Extended Data Out (EDO)Syncronous
SRAM: (Static RAM) No cal refrescar.
1.- Estructura del uC
1.5 Memòries
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
1.- Estructura d’un uC
El mapa de memòria de programa (16F87x)
Capacitat de 4 k o 8k en paraules de 14 bits
La memòria està dividida en planes de 2k
1.6 El mapa de memòria
10
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
1.- Estructura d’un uC
El mapa de memòria de programa (16F87x)
El comptador de programa és de 13 bitsi disposa d’un STACK de 8 nivells (cal anar en compte amb els anidaments !!)
CALL à emmagatzema l’adreça al nivell superior
RETURN,REFIE,RETLW à es recupera el valor superior de la pila
1.6 El mapa de memòria
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
1.- Estructura d’un uC
El mapa de memòria de dades (RAM) del 16F87x
Es disposa de memòria RAM i EEPROM.
A la RAM hi ha els SFR.
La RAM està formada per 4 bancs de 128 bytes cadascun però no tots don de propòsit general.
1.6 El mapa de memòria
11
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
La selecció del banc es realitza amb:
Bank RP0 RP10 0 01 0 12 1 03 1 1
RP0(STATUS<5>)RP1(STATUS<6>)
1.6 El mapa de memòria
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
STATUS:
Banks per el direccionament.Estat del reset.Estat de l’ALU.
Z: Z=1 si el resultat és 0.
C: Carry del 8è bit (instruccions de suma). En resta és inversa, hi ha 0 si hi ha carry.
DC: idem C però per el 4art bit.
TO i PD actius per nivell baix (0à actiu)
TO S’activa (0) quan es desborda el Watchdog. Pren (1) quan es connecta l’alimentació o a l’execuatr-se instruccions de clrwdt (refresc del watcgdog) o sleep.
12
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
PD: S’activa (0) a l'executar la instrucció sleep (mode repòs, es pot recuperar per interrupció).Es posa a (1) automaticament al connectar l’alimentació o a l’executar clrwdt
Watch-dog: Timer independent que pot generar un reset.Es pot ajustar un time-out on passat aquest temps es produirà un reset.És independent de l’oscil·lador (OSC1-OSC2).
Brown-out reset (BOR): Si Vdd<VBOR durant un temps major a TBOR es produeix un reset.(VBOR=4V TBOR=100 us)
Power-on reset (POR): Reset quan Vdd creix. (RESET AL CONNECTAR L’ALIMENTACIÓ)
Power-up-reset (PWRT): Proporciona 72 ms de time-out a l’arrancada després de power-on reset (es pot deshabilitar)
1.- Estructura del uC
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
2.- Direccionament de la memòria
2.1 Direccionament directe
13
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
El registre FSR (FILE SELECT REGISTER -Indirect data memory addrespointer) senyala a l’adreça donada per els seus 7bits de menor pes.
El banc el determina el bit de més pes de FSR junt amb el bit IRP (STATUS<7>):
Bank IRP0 FSR<7>0 0 01 0 12 1 03 1 1
INDF no és un registre físic (però està a la 00h).Adreçant a INDF es provoca el direccionament indirecte. Una instrucció que utilitzi el INDF el que fa és tenir accés al registre on
apunta FSR
2.- Direccionament de la memòria
2.2 Direccionament indirecte
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
2.- Direccionament de la memòria
2.2 Direccionament indirecte
14
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
IRP = 0 bank 0 i 1 (00-ffh)
IRP = 1 bank 2 i 3 (100-1ffh)
0x2e 0010 1110
0x2f 0010 1111
0x30 0011 0000
STATUS<7>
2.- Direccionament de la memòria
2.2 Direccionament indirecte
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
Exemple:
INTERRUPTORS a les línies RA1 i RA2 (PORT A)
LEDS a les línies RB0 i RB1 (PORT B)
Si els interruptors proporcionen el valor 0 els leds s’encendran, en altre cas s’apaguen.
2.- Direccionament de la memòria
2.2 Direccionament indirecte
15
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
Programa:
LIST P=16F84 ;(tipus de uc)RADIX HEX ;(sistema de numeració hexadecimal)INCLUDE <<P16F84.INC>> ;definició de registres interns en una llibreria
HOLA EQU 0x20 ;exemple de definició d ‘una variable
ORG 0x00 ;Inici del vector de resetgoto INICIOORG 0x05 ;salta el vector d’interrupcions
INICIO bsf SATATUS,RP0 ;Selecciona bank 1clrf TRISB ;Port B com a sortidamovlw 0x06 ; w=00000110movwf TRISA ;RA1 i RA2 com entradesbcf STATUS,RP0 ;selecciona bank 0clrf PORTB ;Borra tot el port B (sortides = 0)clrf PORTA ;Borra les línies no utilitzades com entrades en
;el port ABUCLE movf PORTA,0 ; w= port A (llegeig les entrades)
btfss STATUS,Z ;Comprova que Z=1 (Z=1 si el resultat és 0); bit test f, skip if set. ; btfss f,b;Si el bit b en el registre f és 0 ;la propera instrucció s’executa, si val 1 es ;descarta.
goto APAGA ;salta a apagagoto ENCEN ;salta a encén
APAGA clrf PORTB ;les sortides valen 0goto BUCLE
ENCEN movlw 0xff ;w=0xff 11111111movwf PORTB ;posa a nivell alt el port B;goto BUCLE
END
2.- Direccionament de la memòria
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
3.- Perifèrics
Configuració: TRISA, TRISB, TRISC
0 à Sortida i 1 à entrada
TRISB = 0000 0001 = 0x01RB0 és una entradade RB1 a RB7 són sortides
PORTA, PORTB, PORTC
SET_TRISB(0x01);OUTPUT_HIGH(PIN_B0);OUTPUT_LOW(PIN_B0);tecla = INPUT(PIN_B1);
3.1 Els ports I/O
16
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
3.- Perifèrics
PROGRAMA
Entrades i sortides
3.1 Els ports I/O
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
Programa:
LIST P=16F873 ;(tipus de uc)RADIX HEX ;(sistema de numeració hexadecimal)INCLUDE <<P16F873.INC>> ;definició de registres interns en una llibreria
MEC_A EQU 0x20 ;exemple de definició d ‘una variable
ORG 0x00 ;Inici del vector de resetgoto INICIOORG 0x05
INICIObsf STATUS,RP0 ;Selecciona bank 1bcf STATUS,RP1 ;
movlw 0x00 ; Tot el PORT B com a sortidesmovwf TRISB
movlw 0x01 ; RA0 à entrada (altres són sortides)movwf TRISA
bcf STATUS,RP0 ;Selecciona bank 0bcf STATUS,RP1 ;
clrf MEC_A ; borra el registre MEC_A
movlw 0xfa ; movwf PORTB ; Quins LED’s s’activen ???
movf PORTA,0 ; d=0 W ß PORT A;
movwf MEC_A ;Quan val MEC_A
END
3.- Perifèrics
17
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
3.- Perifèrics
Exemple de l’estructura d’un port
Output:Data bus: 0000 0000WR TRIS: ck à Q=D (buffer a baixa impedància)
Pull-up es deshabilita quan es configura com a output (són pull-up’ per fer entrades!)
Data bus: 1111 1111WR PORT: ck à D=Q (sortida 11111 1111)
Input:Data bus: 1111 1111WR TRIS: ck à Q=D (buffer a alta impedància)
Pull-up s’habilita quan es configura com a output (són pullups per fer entrades!)
RD PORT= 1 (buffer b baixa impedancia) à Data bus =Q
(Se suposa que l’EN es també per falling edge)
a
b
3.1 Els ports I/O
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
Com a TIMER:
S’incrementa cada cicle instrucció(amb prescaler 1:1)
3.- Perifèrics
3.2 El Timer 0
18
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
TIMER 0
3.- Perifèrics
3.2 El Timer 0
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
3.- Perifèrics
Interrupció del TIMER 0
•La interrupció del TMR0 es genrada quan el registre TMR0 ‘overflows’ de ffh a 00h.•Aquest overflow posa a 1 el bit T0IF (INTCON<2>).
•La interrupció pot ser emmascarada esborrant el bit T0IE (INTCON<5>).
•El bit T0IF ha de ser obligatòriament esborrar per software abans de rehabilitar la interrupció una altre vegada.
•La interrupció del TMR0 no pot despertar el processador des del SLEEP degut a que el timer es aturat durant el SLEEP
3.2 El Timer 0
19
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
3.- Perifèrics
Exemple:
TIMER 0
3.2 El Timer 0
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
Programa:
LIST P=16F84 ;(tipus de uc)RADIX HEX ;(sistema de numeració hexadecimal)INCLUDE <<P16F84.INC>> ;definició de registres interns en una llibreria
HOLA EQU 0x20 ;exemple de definició d ‘una variable
ORG 0x00 ;Inici del vector de resetgoto INICIOORG 0x04btfsc INTCON,T0IFgoto RSI_TMR0retfie
INICIObsf STATUS,RP0 ;Selecciona bank 1bcf STATUS,RP1 ;
movlw 0x00 ; Tot el PORT B com a sortidesmovwf TRISB
; OPTION_REGà T0CS=0, PSA=0; PS2=1, PS1=0, PS0=0movlw 0xd0 ; per fer una and amb 1101 0000andwf OPTION_REG,f
movlw 0x04 ; per fer la OR 0000 0100iorwf OPTION_REG,f
bcf STATUS,RP0 ;Selecciona bank 0bcf STATUS,RP1 ;
movlw 0xaa ; 0xaa = b’10101010’movwf PORTB
3.- Perifèrics
20
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
movlw 0x00 ; valor inicial delTimer 0movwf TMR ;
bsf INTCON,T0IE ;Habilitació de la interrupció del TIMER 0bsf INTCON,GIE ;Habilitació global d’interrupcions (mirar pg 129)
MAIN nopgoto MAIN ; salta sobre si mateix ‘anidament’
RSI_TMR0 bcf INTCON,GIE
bcf STATUS,RP0 ;Selecciona bank 0bcf STATUS,RP1 ;
movlw 0xff ; 1111 1111xorwf PORTB,f ; XOR (complementa el port B)
clrf TMR0 ; recarrega a 0 el TIMER
bcf INTCON,T0IF ; borra el FLAG del Timer 0
bsf INTCON,GIE
retfie
END
3.- Perifèrics
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
Registre: INTCON
3.3 Interrupcions
3.- Perifèrics
21
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
3.3 Interrupcions
3.- Perifèrics
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
3.4 Timer 1
3.- Perifèrics
22
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
3.4 Timer 1
3.- Perifèrics
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
3.5 Timer 2
3.- Perifèrics
23
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
3.5 Timer 2
3.- Perifèrics
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
Hi ha dues unitats: CCP1 i CCP2
Comparació: Els 16 bits del CCPR1 es comparen amb el TMR1
3.6 Capture/Compare/PWM
3.- Perifèrics
24
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
Hi ha dues unitats: CCP1 i CCP2
Captura: EL CCPR1 captura el valor del TMR1quan hi ha un event en el pin RC2/CCP1. Es a dir, el valor del TMR1 queda al CCPR1 quan passa un event definit en CCP1CON<3:0>.
3.6 Capture/Compare/PWM
3.- Perifèrics
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
Periode:
Cicle de treball:
3.6 Capture/Compare/PWM
3.- Perifèrics
25
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
3.6 Capture/Compare/PWM
3.- Perifèrics
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
3.7 Convertidor AD
Registres:
ADCON0 (1fh)
ADCON1 (9fh)
ADRESH (1Eh)
ADRESL (9Eh)
3.- Perifèrics
26
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
3.7 Convertidor AD
3.- Perifèrics
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
3.7 Convertidor AD
3.- Perifèrics
27
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
3.7 Convertidor AD
3.- Perifèrics
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
3.8 USART
ADDRESSABLE UNIVERSAL SYNCHRONOUS ASYNCHRONOUS RECEIVER TRANSMITTER
Registres:
TXSTA (98h)
RCSTA (9fh)
TXREG (19h)
3.- Perifèrics
28
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
3.8 USART
3.- Perifèrics
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
3.8 USART
3.- Perifèrics
29
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
3.8 USART
3.- Perifèrics
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
Annexes
Annexes
30
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
Annexes: ASCII
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
Annexes
Bibliografia i referències
- [1] Datasheet de la família de microcontroladors PIC 16F87x (Microchip).- [2] Microchip PIC “Section 4. Architecture”.- [3] Microchip PIC “Section 5. CPU and ALU”.
-Obres en la Biblioteca UPC:
Campus de Terrassa Localitzac.
1 CÒPIA
1400221076 CODI BARRES
Microprocesadores y microcontroladores aplicados a la industTíTOL
Torres Portero ManuelAUTOR
681.30 TORSIGNATURA
31
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
Annexes
Bibliografia i referències
Campus de Terrassa Localitzac.
1 CÒPIA
1400169273 CODI BARRES
Introducción a los microcontroladores de 16 bits familia...TíTOL
González Vázquez José AdolfoAUTOR
681.30 GONSIGNATURA
1400387483 ACOMPAYA A
Campus de Terrassa Localitzac.
CD-ROM VOLUM
1 CÒPIA
1400387535 CODI BARRES
Microcontroladores "PIC" diseño práctico de aplicacione...TíTOL
Angulo Usategui José MaríaAUTOR
CD 681.52 ANGSIGNATURA
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
Annexes
Bibliografia i referències
Campus de Terrassa Localitzac.
1 CÒPIA
1400457372 CODI BARRES
MicroControladores PiC / Christian TavernierTíTOL
Tavernier ChristianAUTOR
681.52 TAVSIGNATURA
Campus de Terrassa Localitzac.
1 CÒPIA
1400456877 CODI BARRES
Microcontroladores PIC la solución en un chip Eugenio...TíTOL
Martín Cuenca EugenioAUTOR
681.52 MARSIGNATURA
32
Dep. Enginyeria Elèctrica J. Montanyà, D. Romero
Instal·lacions Intel·ligents
Annexes
Bibliografia i referències
Campus de TerrassaLocalitzac.
1 CÒPIA
1400390159 CODI BARRES
Design with PIC microcontrollers / John B. PeatmanTíTOL
Peatman John B.AUTOR
681.52 PEASIGNATURA