Your SlideShare is downloading. ×
0
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Sesión 3 introduccion a microcontroladores
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Sesión 3 introduccion a microcontroladores

1,330

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,330
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
95
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Sesión 3Introducción a la programación de Microcontroladores M.C. Marco A. Ramírez Barrientos 1
  • 2. Contenido• Introducción a los sistemas digitales.• Introducción a LabView.• Introducción a la programación de Microcontroladores PIC.• Controladores Lógicos Programables, PLCs.16, 23, 30 nov. y 7 dic. de 2011 2
  • 3. OBJETIVO GENERALConocer los conceptos fundamentales para laprogramación de microcontroladores, mediantelenguajes de programación ensamblador y C.
  • 4. BIBLIOGRAFIA BÁSICA1. Microcontrolador PIC16F84; Enrique Palacios, 2006; Alfaomega marcombo; 2ª. edición; 623 páginas.2. Microcontroladores PIC. Diseño práctico de aplicaciones, Angulo Usategui, José María y Angulo Martínez, Ignacio, McGraw-Hill.3. Advanced PIC Microcontroller Projects in C, Dogan Ibrahim, 2008, Ed. Elsevier.
  • 5. INTRODUCCION AL MICROCONTROLADOR• Un poco de historia Inicialmente cuando no existían los microprocesadores, se requería para el diseño de circuitos electrónicos muchos componentes y cálculos matemáticos. Un circuito lógico básico requería de una gran cantidad de elementos electrónicos basados en transistores, resistencias, etc, 5
  • 6. INTRODUCCION AL MICROCONTROLADORUn poco de historiaEn el año 1971 apareció el primermicroprocesador el cual originó un cambiodecisivo en las técnicas de diseño de lamayoría de los equipos.Entre los microprocesadores mas conocidostenemos el popular Z-80 y el 8085. 6
  • 7. INTRODUCCION AL MICROCONTROLADOR• Un poco de historia Los diseñadores de equipos electrónicos ahora tenían equipos que podían realizar mayor cantidad de tareas en menos tiempo y su tamaño se redujo considerablemente. sin embargo, después de cierto tiempo aparece una nueva tecnología llamada microcontrolador que simplifica aun mas el diseño electrónico. 7
  • 8. DIFERENCIA ENTRE MICROCONTROLADOR Y MICROPOCESADOR • Microprocesador Es un sistema abierto con el que puede construirse un computador con las características que se desee, acoplándole los módulos necesarios. La Unidad Central de Proceso (UCP), interpreta las instrucciones y el cambio de datos que las ejecuta. 8
  • 9. DIFERENCIA ENTRE MICROCONTROLADOR Y MICROPOCESADOR• Microprocesador 9
  • 10. DIFERENCIA ENTRE MICROCONTROLADOR Y MICROPOCESADOR • Microcontrolador Es un sistema cerrado que contiene un computador completo. Todas las partes del computador están contenidas en su interior y solo salen al exterior las líneas que gobiernan los periféricos. 10
  • 11. DIFERENCIA ENTRE MICROCONTROLADOR Y MICROPOCESADORCada fabricante de microcontroladores oferta unelevado número de modelos diferentes, desde losmás sencillos hasta los más sofisticados. 11
  • 12. ARQUITECTURA INTERNAUn microcontrolador posee todos loscomponentes de un computador, pero con unascaracterísticas fijas que no pueden alterarse: – Procesador – Memoria de programa (No volátil) – Memoria datos (lectura y escritura) – Líneas E/S para los controladores de periféricos – Recursos auxiliares 12
  • 13. ARQUITECTURA INTERNA1. Procesador o CPU.2. Memoria no volátil para contener el programa.3. Memoria de lectura y escritura para guardar los datos.4. Líneas de E/S para los controladores de periféricos.5. Recursos auxiliares (Módulos para el control de 13 periféricos)
  • 14. PROCESADOR O CPUEs el elemento más importante delmicrocontrolador y determina sus principalescaracterísticas, tanto a nivel de hardwarecomo de softwareExisten dos arquitecturas, se diferencian en laforma de conexión de la memoria al procesadory en los buses que cada una necesita:– Arquitectura Von Neumann– Arquitectura Harvard 14
  • 15. ARQUITECTURA VON NEUMANNAlgunas familias de microcontroladorescomo la INTEL-51 y la Z80 15
  • 16. ARQUITECTURA VON NEUMANNExiste una sola memoria, donde coexisten lasinstrucciones de programa y los datos,accedidos con un bus de dirección, uno dedatos y uno de control. 16
  • 17. ARQUITECTURA VON NEUMANNLimitación: Longitud de las instrucciones por el bus de datos (varios accesos a memoria para instrucciones complejas). Velocidad de operación (bus único para datos e instrucciones) e impide superponer ambos tiempos de acceso. 17
  • 18. ARQUITECTURA HARVARDUtilizada en sistemas embebidos en general. 18
  • 19. ARQUITECTURA HARVARD– Memoria de datos separada de la memoria de instrucciones – Palabra de datos – Palabra de instrucción– Conjunto reducido de instrucciones (RISC)– Ejecución de instrucciones en un ciclo de instrucción.– Paralelismo implícito, segmentación del procesador (pipe-line) 19
  • 20. • El alto rendimiento que poseen los microcontroladores se debe a tres técnicas: – Arquitectura Harvard – Arquitectura RISC – Segmentación 20
  • 21. TIPOS DE MEMORIASEsta diseñado para que en su memoria de programase almacenen todas las instrucciones del programade control. 1. ROM con máscara 2. OTP (One Time Programmable) 3. EPROM 4. EEPROM 5. FLASH 21
  • 22. MEMORIA DE PROGRAMA (ROM)1. ROM con máscara Se graba durante el proceso de fabricación mediante el uso de “máscaras” Se aconseja este tipo de memoria cuando se precisan series muy grandes 22
  • 23. MEMORIA DE PROGRAMA (ROM)2 . OTP (One Time Programmable) Sólo se puede grabar una vez por parte del usuario. Se aconseja este tipo de memoria para prototipos finales. 23
  • 24. MEMORIA DE PROGRAMA (ROM)3. EPROM En la superficie de la cápsula del microcontrolador existe una ventana de cristal por la que se puede someter al chip de la memoria a rayos ultravioleta para producir su borrado y emplearla nuevamente. 24
  • 25. MEMORIA DE PROGRAMA (ROM)4. EEPROM La grabación es similar a las memorias OTP y EPROM, pero el borrado es mucho más sencillo al poderse efectuar de la misma forma que el grabado, o sea, eléctricamente. Garantizan 1.000.000 de ciclos de escritura/borrado. 25
  • 26. MEMORIA DE PROGRAMA (ROM)5. FLASH Se puede escribir y borrar en circuito al igual que la EEPROM, pero suelen disponer de mayor capacidad que estas últimas. Pueden ser programadas con las mismas tensiones de alimentación del microcontrolador. 26
  • 27. MEMORIA DE DATOS (RAM)Es una memoria volátil y se destina a guardarlas variables y los datos (SRAM).Los microcontroladores disponen decapacidades de RAM comprendidas entre 20 y512 bytes.Existen microcontroladores que disponen dememoria EEPROM para contener datos. 27
  • 28. REGISTROS Y BITSUn registro es una posición de memoria en la cualse puede almacenar un dato. Es decir que lamemoria esta dividida en pequeñas partes llamadas“Registros”.El primer registro de una memoria corresponde a ladirección 00H.Hay un conjunto de registros que ya vienen“Predefinidos” desde la fábrica.Cada registro esta dividido en 8 partes, Bits. 28
  • 29. LINEAS DE ENTRADA/SALIDA (PUERTOS)Los microcontroladores cuentan con una seriede pines destinados a entrada y salida de datoso señales digitales. A estos pines se lesdenomina “Puerto”.Los puertos están controlados por los registros.Entradas salidas de propósito general, trabajocon dispositivos simples como relés, Leds, etc. 29
  • 30. RECURSOS AUXILIARES• Circuito de reloj.• Temporizadores y contadores.• Conversores AD y DA.• Comparadores• Modulador de ancho de pulsos (PWM)• Puerto serie• Otros puertos de comunicación (USB, CAN)• Sistema de protección.• Estado de reposo 30
  • 31. LOS MICROCONTROLADORES PICLos PIC son una familia de microcontroladorestipo RISC (Reduced Instruction Set Computer)fabricados por Microchip Technology Inc. yderivados del PIC1650, originalmentedesarrollado por la división de microelectrónicade General Instruments.PIC “Peripheral Interface Controller”.El PIC de 8 bits se desarrollo para el año 1975 31
  • 32. LOS MICROCONTROLADORES PICLos microcontroladores PIC incorporan ensu procesador tres características: Procesador tipo RISC Procesador segmentado Arquitectura HARVARD Con estos recursos los PIC son capaces de ejecutar en un ciclo de instrucción todas las instrucciones, excepto las de salto que tardan el doble. 32
  • 33. LA FAMILIA DE LOS PICSe divide en cuatro gamas:Gama enana, gama baja, gama media y gamaalta.Sus diferencias radica en:El numero de instrucciones y longitudEl número de puertos y funciones.Lo cual se refleja en el encapsulado, lacomplejidad interna y de programación, y en elnúmero de aplicaciones. 33
  • 34. NOMENCLATURA DE LOS PIC’S PIC nnLLLxxxnn: Un número propio de la gama del PICLLL: Código de letras donde la primera indica la tensión de alimentación y las otras dos el tipo de memoria que utilizaXxx: Número que indica el modelo del PIC. 34
  • 35. NOMENCLATURA DE LOS PIC’S 35
  • 36. GAMA ENANAPIC 12C(F)XXX, de 8 patas (pines)Aunque solo tienen 8 pines, puedendestinar hasta 6 como líneas de E/S paralos periféricos porque disponen de unoscilador interno R-C. 36
  • 37. GAMA ENANACaracterísticas de los modelos PIC16C5X 37
  • 38. GAMA BAJA O BASICA• Mejores relaciones coste/prestaciones.• Encapsulados con 18 y 28 pines• Pueden alimentarse con una tensión 2.5V• 33 instrucciones con formato de 12bits. 38
  • 39. GAMA BAJA PIC16C5XPrincipales características de los modelos de gama baja. 39
  • 40. GAMA MEDIA• Encapsulado desde 18 hasta 68 pines• 35 instrucciones de 14 bits 40
  • 41. GAMA MEDIA PIC16CXXXCaracterísticas relevantes de los modelos PIC16X8X de la gama media 41
  • 42. GAMA ALTA• Alcanzan 58 instrucciones de 16 bits• Sistema de gestión de interrupciones vectorizadas• Incluyen variados controladores de periféricos, puertas de comunicación serie y paralelo• Arquitectura abierta. 42
  • 43. EL PIC16X84• Pertenece a la familia de la gama media• Tiene solo 18 pines• Posee una memoria de programa de 1K palabras de 14bits cada una• 64 bytes como memoria de datos auxiliar y opcional 43
  • 44. TARJETA DE PRESENTACION DE PIC16X84• Memoria de programa 1Kx14• Memoria de datos RAM 36 byte-PIC16C84 y de 68 byte-PIC16F84• Memoria de datos 64bytes/EEPROM• Pila de 8 niveles• Interrupciones 4 tipos diferentes• Juego de instrucciones 35• Encapsulado Platico DIP de 18 pines• Frecuencia de trabajo 10MHz Máxima 44
  • 45. TARJETA DE PRESENTACION DE PIC16X84• Temporizadores : Solo uno TMR0• Líneas E/S digitales : 13 Puerta A y Puerta B• Voltaje de alimentación : VDD de 2 a 6VDC• Corriente máxima absorbida : 80mA-Puerta A y 150mA-Puerta B• Corriente máxima suministrada : 50mA- Puerta A y 100mA-Puerta B 45
  • 46. ASPECTO EXTERNO 46
  • 47. FRECUENCIA DE FUNCIONAMIENTO. EL RELOJCuando un PIC16X8X funciona a 10MHz, lecorresponde un ciclo de instrucción de400ns.Ciclo de instrucción: 4x100ns=400nsTodas las instrucciones del PIC se realizanen un ciclo de instrucción menos las de salto.Se aplica la técnica de segmentación oPipeline 47
  • 48. TIPOS DE OSCILADORES• OSCILADOR TIPO RC Un oscilador formado por una resistencia y un condensador 48
  • 49. TIPOS DE OSCILADORES• OSCILADOR TIPO HS Un oscilador que alcanza una alta velocidad entre 4 y 20MHz, basado en un cristal de cuarzo o un resonador cerámico 49
  • 50. TIPOS DE OSCILADORES• OSCILADOR TIPO XT Es un resonador de cristal o resonador para frecuencias estándar, comprendida entre 100KHz y 4MHz. 50
  • 51. TIPOS DE OSCILADORES• OSCILADOR TIPO LP Oscilador de bajo consumo con cristal o resonador diseñado para trabajar en un rango de frecuencias de 35 a 200KHz. El cristal de cuarzo o el resonador cerámico se coloca entre los pines OSC1 y OSC2 51
  • 52. REINICIALIZACION O RESETCon un nivel lógico bajo en MCLR# elmicrocontrolador se reinicializa:1. El contador de programa se carga con la dirección 0.2. La mayoría de los registros de estado y control del procesador toman un estado conocido y determinado. 52
  • 53. ESQUEMA MINIMO DEMONTAJE DEL PIC16F84 53
  • 54. EN EL INTERIOR DEL PROCESADORLos microcontroladores PIC incorporan trescaracterística: – Procesador tipo RISC – Procesador segmentado – Arquitectura HarvardUna condición es la simetría y ortogonalidad en elformato de las instrucciones (14bits)El juego de instrucciones se reduce a 35 y con laestructura segmentada se pueden realizarsimultáneamente las dos fases que compone cadainstrucción 54
  • 55. EN EL INTERIOR DEL PROCESADOR• El manejo intensivo del banco de registros, los cuales participan de una manera muy activa en la ejecución de instrucciones.• La ALU, efectúa sus operaciones lógico- aritmética con dos operandos, uno es del registro W(Work) y el otro que puede provenir de cualquier registro o del propio código de instrucción. 55
  • 56. ARQUITECTURA INTERNA DEL PIC16C84Consta de siete bloques fundamentales:• Memoria de programa EEPROM 1K x 14bits.• Memoria de datos formada por dos áreas, una RAM aloja 22 registros de (SFR), 36 registros (GPR) y tipo EEPROM de 64 bytes.• Camino de datos con la ALU de 8 bits y un registro de trabajo W. 56
  • 57. Assembly language programming• In order to function properly, we must define several microcontroller parameters such as: - type of oscillator, - whether watchdog timer is turned on, and - whether internal reset circuit is enabled. All this is defined by the following directive: _CONFIG _CP_OFF&_WDT_OFF&PWRTE_ON&XT_OSC 57
  • 58. 58
  • 59. Clock and Instruction Cycles• Instruction Clock – Clock from the oscillator enters a microcontroller via OSC1 pin where internal circuit of a microcontroller divides the clock into four even clocks Q1, Q2, Q3, and Q4 which do not overlap. – These four clocks make up one instruction cycle (also called machine cycle) during which one instruction is executed. – Execution of instruction starts by calling an instruction that is next in string. – Instruction is called from program memory on every Q1 and is written in instruction register on Q4. – Decoding and execution of instruction are done between the next Q1 and Q4 cycles. On the following diagram we can see the relationship between instruction cycle and clock of the oscillator (OSC1) as well as that of internal clocks Q1-Q4. – Program counter (PC) holds information about the address of the next instruction.
  • 60. PIC16F877A FeaturesHigh Performance RISC CPU:• Only 35 single word instructions to learn• All single cycle instructions except for program branches, which are two-cycle• Operating speed: DC - 20 MHz clock input DC - 200 ns instruction cycle
  • 61. PIC16F877A Pin LayoutADC inputs PORTA PORTBCounter0PORTEexternalinput PORTD PORT PORTC C PORT D
  • 62. PIC MemoryThe PIC16F877A has an 8192 (8k) 14bit instructionprogram memory368 Bytes Registers as Data Memory : Special Function Registers: used to control peripherals and PIC behaviors General Purpose Registers: used to a normal temporary storage space (RAM)256 Bytes of nonvolatile EEPROM
  • 63. PIC Program MemoryThe PIC16F877 8192 (8k) 14bit instructions Takes a max of 8 addresses, the ninth address will write When the over the first. controller is reset, program execution starts from here If interrupted, program execution continues from here
  • 64. PIC Data MemoryThemostimportantregistershaveaddressesin allthe fourbanks The data memory is devided into 4 memory banks
  • 65. Register Addressing Modes Immediate Addressing: Movlw H’0F’Indirect Addressing:Direct Addressing:• Full7 bits register address is written the special functionUses 8 bit of 14 bit instruction to identify a register fileregister FSR 9th bit comes from RP0 and RP1 bits ofaddress 8th and• INDF isregister. get the content of the address pointed by FSRSTATUS used to• Exp : A sample program to clear RAM locations H’20’ –i.e. Z equ D’2’ ; Z=2H’2F: btfss STATUS, Z ; test if the 3rd bit of the MOVLW 0x20 ;initialize pointerSTATUS registerRAM set MOVWF FSR ;to isNEXT CLRF INDF ;clear INDF register
  • 66. PIC Family Control Registers• Uses a series of “Special Function Registers” for controlling peripherals and PIC behaviors. STATUS Bank select bits, ALU bits (zero, borrow, carry) INTCON Interrupt control: interrupt enables, flags, etc. OPTION_REG contains various control bits to configure the TMR0 prescaler/WDT postscaler ,the External INT Interrupt, TMR0 and the weak pull-ups on PORTB
  • 67. Special Function Register ”STATUS Register“
  • 68. Special Function Register ”INTCON Register“
  • 69. PIC PeripheralsEach peripheral has a set of SFRs to control its operation.Different PICs have different on-board peripherals
  • 70. Peripheral Features5 Digital I/O PortsThree timer/counter modules Timer0: 8-bit timer/counter with 8-bit pre-scaler Timer1: 16-bit timer/counter with pre-scaler, can be incremented during SLEEP via external crystal/clock Timer2: 8-bit timer/counter with 8-bit period register, pre-scaler and post-scalerA 10-bit ADC with 8 inputsTwo Capture, Compare, PWM modules Capture is 16-bit, max. resolution is 12.5 ns Compare is 16-bit, max. resolution is 200 ns PWM max. resolution is 10-bitSynchronous Serial Port (SSP) with SPI™ (Master mode) and I2C™ (Master/Slave)Universal Synchronous Asynchronous Receiver Transmitter (USART/SCI) with 9-bit address detectionParallel Slave Port (PSP) 8-bits wide, with external RD, WR and CS controls
  • 71. PIC Peripherals: Ports (Digital I/O)Ports are basically digital I/O pins which exist in all PICsThe PIC16F877A have the following ports: PORT A has 6 bit wide, Bidirectional PORT B,C,D have 8 bit wide, Bidirectional PORT E has 3 bit wide, BidirectionalPorts have 2 control registers TRISx sets whether each pin is an input (1) or output (0) PORTx sets their output bit levels or contain their input bit levelsPin functionality “overloaded” with other featuresMost pins have 25mA source/sink thus it can drive LEDs directly
  • 72. PIC Peripherals: Analogue to Digital ConverterOnly available in 14bit and 16bit coresFs (sample rate) < 54KHzthe result is a 10 bit digital numberCan generate an interrupt when ADC conversion isdone
  • 73. PIC Peripherals: Analogue to Digital ConverterThe A/D module has four registers. These registers are: A/D Result High Register (ADRESH) A/D Result Low Register (ADRESL) A/D Control Register0 (ADCON0) A/D Control Register1 (ADCON1)Multiplexed 8 channel inputs Must wait Tacq to charge up sampling capacitorCan take a reference voltage different from that of thecontroller
  • 74. PIC Peripherals: USART: UART Serial Communications Peripheral:Universal Synch./Asynch. Receiver/Transmitter Interrupt on TX buffer empty and RX buffer full Asynchronous communication: UART (RS-232C serial) Can do 300bps - 115kbps 8 or 9 bits, parity, start and stop bits, etc. Outputs 5V so you need a RS232 level converter (e.g., MAX232)
  • 75. PIC ApplicationsLED FlasherLoop: bsf PORTB, 0 call Delay_500ms bcf PORTB, 0 call Delay_500ms goto Loop
  • 76. PIC ApplicationsButton Read Movlw 0 movwf TRISD, f bsf TRISD, 2Loop: btfsc PORTD, 2 goto light goto No_lightLight: bsf PORTB,0 goto LoopNo_light: bcf PORTB,0 goto Loop
  • 77. mikro C 77
  • 78. Las variables básicas en este compiladorespecífico son:• bit• char• short• int• long• float• double 78
  • 79. • Las variables bit permiten almacenar un valor lógico es decir verdadero o falso, 0 ó 1.• Las variables char se utilizan para almacenar caracteres codificados con el código ASCII, son útiles para guardar letras o textos.• Una variable short almacena un número entero de 8 bits corto puede valer de: -127 a 127.• Las variables tipo int guardan números enteros de 16 bits, está variable permite guardar números de: -32767 a 32767.• La variable tipo long almacena números enteros largos de 32 bits, su rango puede ser de:• -2147483647 a 2147483647.• Las variables tipo float y double permiten guardar números 79 con punto decimal
  • 80. 80
  • 81. • bit VARIABLE1_BIT; //Declaración de una variable tipo bit.• char CARACTER; //Declaración de una variable tipo char.• char CARACTER2=J; //Declaración de una variable tipo char inicializada con el• //valor ASCII del carácter J.• int ENTERO=1234; //Declaración de una variable tipo entera inicializada con• //el valor 1234.• float DECIMAL=-12.45; //Declaración de una variable con punto decimal• //inicializada con el valor -12,45.• double DECIMAL2=56.68; //Declaración de una variable con punto decimal• //inicializada con el valor 56,68.• long ENTERO2=-954261; //Demacración de una variable de tipo entero largo 81• //inicializada con el valor -954261.
  • 82. • Los siguientes ejemplos muestras como declarar variables sin signo:• unsigned char CARACTER; //Declaración de una variable tipo char sin signo.• unsigned int ENTERO; //Declaración de una variable tipo entera sin signo.• unsigned long ENTERO2; //Demacración de una variable de tipo entero largo sin signo. 82
  • 83. void main() { TRISA = 0x00; // set direction to be output TRISB = 0x00; // set direction to be output TRISC = 0x00; // set direction to be output TRISD = 0x00; // set direction to be output do { PORTA = 0x00; // Turn OFF LEDs on PORTA PORTB = 0x00; // Turn OFF LEDs on PORTB PORTC = 0x00; // Turn OFF LEDs on PORTC PORTD = 0x00; // Turn OFF LEDs on PORTD Delay_ms(100); // 1 second delay PORTA = 0xFF; // Turn ON LEDs on PORTA PORTB = 0xFF; // Turn ON LEDs on PORTB PORTC = 0xFF; // Turn ON LEDs on PORTC PORTD = 0xFF; // Turn ON LEDs on PORTD Delay_ms(100); // 1 second delay } while(1); // Endless loop 83}
  • 84. 84

×