MikroElektronika white logo
  • Products
    • Click Boards
      • Wireless Connectivity
        • GPS/GNSS
        • GSM/LTE
        • LTE IoT
        • BT/BLE
        • WiFi
        • RFID/NFC
        • GSM+GPS
        • 6LoWPAN
        • ZigBee
        • UWB
        • SigFox
        • Sub-1 GHz Transceievers
        • 2.4 GHz Trancevers
        • LoRa
        • WiFi+BLE
      • Sensors
        • Biometrics
        • Gas
        • Magnetic
        • Motion
        • Optical
        • Pressure
        • Proximity
        • Temperature & humidity
        • Current sensor
        • Miscellaneous
        • Environmental
        • Force
        • Inductance
        • RF meter
        • Click Shields
        • Click Bundles
      • Interface
        • Adapter
        • CAN
        • Port expander
        • RS485
        • USB
        • 1-Wire
        • RS232
        • Ethernet
        • LIN
        • PWM
        • Current
        • DALI
        • I2C
        • Fiber optics
        • SPI
        • DMX
        • CXPI
        • Click Shields
        • Click Bundles
      • Display & LED
        • LED Drivers
        • LED Matrix
        • LED Segment
        • OLED
        • LCD
        • TFT
        • Click Shields
        • Click Bundles
      • Miscellaneous
        • Relay
        • Optocoupler
        • ID
        • Proto
        • Encryption
        • Click Shields
        • Click Bundles
      • Mixed Signal
        • ADC
        • Measurements
        • DAC
        • Digital potentiometer
        • ADC-DAC
        • Click Shields
        • Click Bundles
      • Storage
        • EEPROM
        • FLASH
        • FRAM
        • microSD
        • MRAM
        • SRAM
        • EERAM
        • ReRAM
        • DRAM
        • Click Shields
        • Click Bundles
      • Motor Control
        • Brushed
        • Brushless
        • Servo
        • Stepper
        • Click Shields
        • Click Bundles
      • Audio & Voice
        • Amplifier
        • Microphone
        • Speakers
        • Signal Processing
        • Speech recognition
        • FM
        • MP3
        • Click Shields
        • Click Bundles
      • HMI
        • Capacitive
        • Pushbutton/Switches
        • Potentiometers
        • Rotary encoder
        • Haptic
        • Fingerprint
        • Click Shields
        • Click Bundles
      • Clock & Timing
        • RTC
        • Clock generator
        • Click Shields
        • Click Bundles
      • Power Management
        • Battery charger
        • Boost
        • Buck
        • Linear
        • Buck-Boost
        • Wireless Charging
        • Power Switch
        • USB-C PD
        • Click Shields
        • Click Bundles
      • Click Bundles
      • Click Shields
    • NECTO
      • NECTO Studio
    • Compilers
      • PIC
        • C
          • NECTO Studio
          • mikroC PRO for PIC
        • Basic
          • mikroBasic PRO for PIC
        • Pascal
          • mikroPascal PRO for PIC
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual TFT AI
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • dsPIC/PIC24
        • C
          • NECTO Studio
          • mikroC PRO for dsPIC
        • Basic
          • mikroBasic PRO for dsPIC
        • Pascal
          • mikroPascal PRO for dsPIC
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • PIC32
        • C
          • NECTO Studio
          • mikroC PRO for PIC32
        • Basic
          • mikroBasic PRO for PIC32
        • Pascal
          • mikroPascal PRO for PIC32
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • ARM
        • C
          • NECTO Studio
          • mikroC PRO for ARM
        • Basic
          • mikroBasic PRO for ARM
        • Pascal
          • mikroPascal PRO for ARM
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual TFT AI
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • AVR
        • C
          • NECTO Studio
          • mikroC PRO for AVR
        • Basic
          • mikroBasic PRO for AVR
        • Pascal
          • mikroPascal PRO for AVR
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • FT90x
        • C
          • mikroC PRO for FT90x
        • Basic
          • mikroBasic PRO for FT90x
        • Pascal
          • mikroPascal PRO for FT90x
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • 8051
        • C
          • mikroC PRO for 8051
        • Basic
          • mikroBasic PRO for 8051
        • Pascal
          • mikroPascal PRO for 8051
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
    • Dev Boards
      • PIC (8-bit)
        • 8th Generation
          • Fusion for PIC v8
          • EasyPIC PRO v8
          • EasyPIC PRO v8 over USB-C
          • EasyPIC v8
          • EasyPIC v8 over USB-C
          • UNI-DS v8
          • UNI-DS v8 over USB-C
        • 7th Generation
          • EasyPIC PRO v7a
          • PICPLC16 v7a
          • EasyPIC v7a
          • EasyPIC PRO v7
          • EasyPIC v7
        • 6th Generation
          • PICPLC16 v6
      • dsPIC/PIC24 (16-bit)
        • 8th Generation
          • EasyPIC v8 PIC24/dsPIC33
          • EasyPIC v8 for dsPIC30
          • EasyPIC v8 for dsPIC30 over USB-C
          • Fusion for PIC v8
          • UNI-DS v8
          • UNI-DS v8 over USB-C
        • 7th Generation
          • EasyPIC Fusion v7
          • EasyPIC v7 for dsPIC30
        • 6th Generation
          • Easy24-33 v6
      • PIC32 (32-bit)
        • 8th Generation
          • Fusion for PIC32
          • Fusion for PIC32 over USB-C
          • Fusion for PIC v8
          • UNI-DS v8
          • UNI-DS v8 over USB-C
        • 7th Generation
          • EasyPIC Fusion v7
      • ARM (32-bit)
        • 8th Generation
          • Fusion for ARM v8
          • Fusion for ARM v8 over USB-C
          • Fusion for STM32 v8
          • Fusion for STM32 over USB-C
          • Fusion for KINETIS v8
          • Fusion for Kinetis v8 over USB-C
          • Fusion for TIVA v8
          • Fusion for TIVA v8 over USB-C
          • UNI-DS v8
          • UNI-DS v8 over USB-C
        • 7th Generation
          • EasyMx PRO v7a STM32
          • EasyMx PRO v7 STM32
          • EasyMx PRO v7 Tiva
      • AVR (8-bit)
        • 8th Generation
          • EasyAVR v8
          • EasyAVR PRO v8
          • EasyAVR PRO v8 over USB-C
          • UNI-DS v8
          • UNI-DS v8 over USB-C
        • 7th Generation
          • EasyAVR v7
        • 6th Generation
          • AVRPLC16 v6
      • 8051 (8-bit)
        • 7th generation
          • BIG8051
        • 6th Generation
          • Easy8051 v6
      • PSoC (8-bit)
        • 6th Generation
          • UNI-DS6 Development System
      • RISC-V (32bit)
        • 8th Generation
          • UNI-DS v8
          • UNI-DS v8 over USB-C
      • Universal Boards
        • 8th Generation
          • UNI-DS v8
          • UNI-DS v8 over USB-C
          • Fusion for PIC v8
          • Fusion for ARM v8
        • 7th Generation
          • EasyPIC Fusion v7
        • 6th Generation
          • UNI-DS6
          • mikroBoard for PIC 80-pin
          • mikroBoard for AVR
          • mikroBoard for dsPIC
          • mikroBoard for PSoC
          • mikroBoard for 8051
          • mikroBoard for PIC 40-pin
          • mikroBoard for ARM
          • mikroBoard for ARM 144-pin
      • IoT - Wearable
        • Hexiwear
          • Hexiwear
          • Hexiwear Power User Pack
          • Hexiwear Docking Station
          • Hexiwear Battery Pack
          • Hexiwear Color Pack
          • Hexiwear Workstation
      • Analog Boards
        • 7th Generation
          • Analog System Lab Kit PRO
    • Starter Boards
      • PIC (8-bit)
        • Clicker
          • PIC clicker
        • Clicker 2
          • Clicker 2 for PIC18FJ
          • Clicker 2 for PIC18FK
        • Clicker 4
          • Clicker 4 for PIC18F
          • UNI Clicker
        • Ready
          • Ready for PIC Board
          • Ready for PIC (DIP28)
          • PIC-Ready2 Board
          • MMC Ready Board
        • StartUSB
          • StartUSB for PIC
      • dsPIC/PIC24 (16-bit)
        • Clicker 2
          • Clicker 2 for PIC24
          • Clicker 2 for dsPIC33
        • Clicker 4
          • UNI Clicker
        • Ready
          • dsPIC-Ready1 Board
          • dsPIC-Ready2 Board
          • DsPIC-Ready3 Board
          • dsPIC-Ready4 Board
      • PIC32 (32-bit)
        • Clicker
          • PIC32MX clicker
          • 6LoWPAN Clicker
          • PIC32MZ clicker
        • Clicker 2
          • Clicker 2 for PIC32MX
          • Clicker 2 for PIC32MZ
        • Clicker 4
          • UNI Clicker
        • MINI
          • MINI-32 Board
          • MINI-32 for PIC32MZ
        • Flip&Click
          • Flip&Click PIC32MZ
      • ARM (32-bit)
        • Clicker
          • RA4M1 Clicker
          • Kinetis Clicker
          • MSP432 Clicker
          • CEC1702 clicker
          • CEC1302 Clicker
          • STM32 M4 clicker
        • Clicker 2
          • Clicker 2 for STM32
          • Clicker 2 for Kinetis
          • Clicker 2 for CEC1702
          • Clicker 2 for MSP432
          • Clicker 2 for CEC1302
          • Clicker 2 for PSoC 6
        • Clicker 4
          • Clicker 4 for STM32F745VG
          • Clicker 4 for STM32F4
          • Clicker 4 for TMPM3H
          • Clicker 4 for TMPM4K
          • Clicker 4 for STM32
          • UNI Clicker
        • MINI
          • MINI-M4 for STM32
          • MINI-M4 For Kinetis
          • MINI-M4 for Tiva
          • MINI-M4 for Stellaris
          • MINI-M4 for MSP432
          • MINI-M0 for STM32
        • Flip&Click
          • Flip&Click SAM3X
      • AVR (8-bit)
        • Clicker 4
          • UNI Clicker
        • MINI
          • MINI-AT Board - 3.3V
          • MINI-AT Board - 5V
        • Ready
          • Ready for AVR Board
          • Ready For XMEGA
          • mikroXMEGA Board
          • AVR-Ready2 Board
        • StartUSB
          • StartUSB for AVR
      • 8051 (8-bit)
        • Ready
          • 8051-Ready Board
      • FT90x (32-bit)
        • Clicker 2
          • Clicker 2 for FT90x
      • Miscellaneous
        • USB
          • USB Wizard
          • Quail
          • FlowPaw Kit
      • Universal Boards
        • Clicker 4
          • UNI Clicker
    • Prog-Debug
      • PIC (8-bit)
        • CODEGRIP
          • UNI CODEGRIP
          • UNI CODEGRIP - USB-C
          • CODEGRIP for PIC
          • CODEGRIP for PIC USB-C
        • mikroProg
          • mikroProg for PIC
      • dsPIC/PIC24 (16-bit)
        • CODEGRIP
          • UNI CODEGRIP
          • UNI CODEGRIP - USB-C
          • CODEGRIP for PIC
        • mikroProg
          • mikroProg for dsPIC
      • PIC32 (32-bit)
        • CODEGRIP
          • UNI CODEGRIP
          • UNI CODEGRIP - USB-C
          • CODEGRIP for PIC
          • CODEGRIP for PIC USB-C
        • mikroProg
          • mikroProg for PIC32
      • ARM (32-bit)
        • CODEGRIP
          • UNI CODEGRIP
          • UNI CODEGRIP USB-C
          • CODEGRIP for ARM
          • CODEGRIP for ARM USB-C
          • CODEGRIP for STM32
          • CODEGRIP for KINETIS
          • CODEGRIP for Tiva
          • CODEGRIP for Tiva USB-C
        • mikroProg
          • mikroProg for STM32
          • mikroProg for Tiva
          • mikroProg for Kinetis
          • mikroProg for CEC
          • mikroProg for MSP432
          • mikroProg for PSoC 5LP
      • AVR (8-bit)
        • CODEGRIP
          • CODEGRIP for AVR
          • CODEGRIP for AVR - USB-C
          • UNI CODEGRIP
          • UNI CODEGRIP - USB-C
        • mikroProg
          • mikroProg for AVR
      • 8051 (8-bit)
        • mikroProg
          • mikroProg for 8051
      • FT90x (32-bit)
        • mikroProg
          • mikroProg for FT90x
    • Smart Displays
      • 2.8"
        • ARM (32-bit)
        • AVR (8-bit)
        • dsPIC/PIC24 (16-bit)
        • PIC (8-bit)
        • PIC32 (32-bit)
      • 3.5"
        • ARM (32-bit)
        • FT90x (32-bit)
        • PIC (8-bit)
        • PIC32 (32-bit)
      • 4.3"
        • ARM (32-bit)
        • FT90x (32-bit)
        • PIC (8-bit)
        • PIC32 (32-bit)
      • 5"
        • ARM (32-bit)
        • FT90x (32-bit)
        • PIC32 (32-bit)
      • 7"
        • ARM (32-bit)
        • FT90x (32-bit)
    • MCU Cards
      • PIC (8-bit)
        • 8th Generation
        • 7th Generation
        • 6th Generation
      • dsPIC/PIC24 (16-bit)
        • 8th Generation
        • 7th Generation
        • 6th Generation
      • PIC32 (32-bit)
        • 8th Generation
        • 7th Generation
      • ARM (32-bit)
        • 8th Generation
        • 7th Generation
      • AVR (8-bit)
        • 8th Generation
      • RISC-V (32bit)
        • 8th Generation
    • Accessories
      • TFT Displays
      • LCD Displays
      • LED Displays
      • E-Paper Displays
      • Sensors
      • Headers and Connectors
      • Wire Jumpers and Cables
      • Antennas
      • Batteries
      • RFID/NFC
      • Proto
      • Motors
      • Storage
      • Power
      • Adapters
      • Interface
      • Input/Output
      • Miscellaneous
      • FANware
      • MCUs
      • Books
    • Kits
      • PIC Kits
      • dsPIC/PIC24 Kits
      • PIC32 Kits
      • ARM Kits
      • AVR Kits
      • FT90x Kits
      • 8051 Kits
  • Shop
  • EmbeddedWiki
  • Support
    • Helpdesk
    • Contact us
    • Forum
    • LibStock
    • Learn
    • Let's make
    • Books
  • Services
    • Planet Debug
    • Design Service
    • Product Customization
    • Contract Manufacturing
    • Premium Technical Support
  • News
  • My profile
  • Privacy settings
  • Activity
  • Sign out

Your shoppingcart is empty.
Continue shopping.

MikroElektronika white logo
  • Products
    • click boards icon Click Boards
      • Wireless Connectivity
        • GPS/GNSS
        • GSM/LTE
        • LTE IoT
        • BT/BLE
        • WiFi
        • RFID/NFC
        • GSM+GPS
        • 6LoWPAN
        • ZigBee
        • UWB
        • SigFox
        • Sub-1 GHz Transceievers
        • 2.4 GHz Trancevers
        • LoRa
        • WiFi+BLE
      • Sensors
        • Biometrics
        • Gas
        • Magnetic
        • Motion
        • Optical
        • Pressure
        • Proximity
        • Temperature & humidity
        • Current sensor
        • Miscellaneous
        • Environmental
        • Force
        • Inductance
        • RF meter
        • Click Shields
        • Click Bundles
      • Interface
        • Adapter
        • CAN
        • Port expander
        • RS485
        • USB
        • 1-Wire
        • RS232
        • Ethernet
        • LIN
        • PWM
        • Current
        • DALI
        • I2C
        • Fiber optics
        • SPI
        • DMX
        • CXPI
        • Click Shields
        • Click Bundles
      • Display & LED
        • LED Drivers
        • LED Matrix
        • LED Segment
        • OLED
        • LCD
        • TFT
        • Click Shields
        • Click Bundles
      • Miscellaneous
        • Relay
        • Optocoupler
        • ID
        • Proto
        • Encryption
        • Click Shields
        • Click Bundles
      • Mixed Signal
        • ADC
        • Measurements
        • DAC
        • Digital potentiometer
        • ADC-DAC
        • Click Shields
        • Click Bundles
      • Storage
        • EEPROM
        • FLASH
        • FRAM
        • microSD
        • MRAM
        • SRAM
        • EERAM
        • ReRAM
        • DRAM
        • Click Shields
        • Click Bundles
      • Motor Control
        • Brushed
        • Brushless
        • Servo
        • Stepper
        • Click Shields
        • Click Bundles
      • Audio & Voice
        • Amplifier
        • Microphone
        • Speakers
        • Signal Processing
        • Speech recognition
        • FM
        • MP3
        • Click Shields
        • Click Bundles
      • HMI
        • Capacitive
        • Pushbutton/Switches
        • Potentiometers
        • Rotary encoder
        • Haptic
        • Fingerprint
        • Click Shields
        • Click Bundles
      • Clock & Timing
        • RTC
        • Clock generator
        • Click Shields
        • Click Bundles
      • Power Management
        • Battery charger
        • Boost
        • Buck
        • Linear
        • Buck-Boost
        • Wireless Charging
        • Power Switch
        • USB-C PD
        • Click Shields
        • Click Bundles
      • Click Bundles
      • Click Shields
    • necto icon NECTO
      • NECTO Studio
    • compilers icon Compilers
      • PIC
        • C
          • NECTO Studio
          • mikroC PRO for PIC
        • Basic
          • mikroBasic PRO for PIC
        • Pascal
          • mikroPascal PRO for PIC
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual TFT AI
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • dsPIC/PIC24
        • C
          • NECTO Studio
          • mikroC PRO for dsPIC
        • Basic
          • mikroBasic PRO for dsPIC
        • Pascal
          • mikroPascal PRO for dsPIC
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • PIC32
        • C
          • NECTO Studio
          • mikroC PRO for PIC32
        • Basic
          • mikroBasic PRO for PIC32
        • Pascal
          • mikroPascal PRO for PIC32
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • ARM
        • C
          • NECTO Studio
          • mikroC PRO for ARM
        • Basic
          • mikroBasic PRO for ARM
        • Pascal
          • mikroPascal PRO for ARM
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual TFT AI
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • AVR
        • C
          • NECTO Studio
          • mikroC PRO for AVR
        • Basic
          • mikroBasic PRO for AVR
        • Pascal
          • mikroPascal PRO for AVR
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • FT90x
        • C
          • mikroC PRO for FT90x
        • Basic
          • mikroBasic PRO for FT90x
        • Pascal
          • mikroPascal PRO for FT90x
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • 8051
        • C
          • mikroC PRO for 8051
        • Basic
          • mikroBasic PRO for 8051
        • Pascal
          • mikroPascal PRO for 8051
        • Additional Software
          • CODEGRIP WiFi license
          • CODEGRIP SSL license
          • Visual TFT
          • Visual GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
    • dev boards icon Dev Boards
      • PIC (8-bit)
        • 8th Generation
          • Fusion for PIC v8
          • EasyPIC PRO v8
          • EasyPIC PRO v8 over USB-C
          • EasyPIC v8
          • EasyPIC v8 over USB-C
          • UNI-DS v8
          • UNI-DS v8 over USB-C
        • 7th Generation
          • EasyPIC PRO v7a
          • PICPLC16 v7a
          • EasyPIC v7a
          • EasyPIC PRO v7
          • EasyPIC v7
        • 6th Generation
          • PICPLC16 v6
      • dsPIC/PIC24 (16-bit)
        • 8th Generation
          • EasyPIC v8 PIC24/dsPIC33
          • EasyPIC v8 for dsPIC30
          • EasyPIC v8 for dsPIC30 over USB-C
          • Fusion for PIC v8
          • UNI-DS v8
          • UNI-DS v8 over USB-C
        • 7th Generation
          • EasyPIC Fusion v7
          • EasyPIC v7 for dsPIC30
        • 6th Generation
          • Easy24-33 v6
      • PIC32 (32-bit)
        • 8th Generation
          • Fusion for PIC32
          • Fusion for PIC32 over USB-C
          • Fusion for PIC v8
          • UNI-DS v8
          • UNI-DS v8 over USB-C
        • 7th Generation
          • EasyPIC Fusion v7
      • ARM (32-bit)
        • 8th Generation
          • Fusion for ARM v8
          • Fusion for ARM v8 over USB-C
          • Fusion for STM32 v8
          • Fusion for STM32 over USB-C
          • Fusion for KINETIS v8
          • Fusion for Kinetis v8 over USB-C
          • Fusion for TIVA v8
          • Fusion for TIVA v8 over USB-C
          • UNI-DS v8
          • UNI-DS v8 over USB-C
        • 7th Generation
          • EasyMx PRO v7a STM32
          • EasyMx PRO v7 STM32
          • EasyMx PRO v7 Tiva
      • AVR (8-bit)
        • 8th Generation
          • EasyAVR v8
          • EasyAVR PRO v8
          • EasyAVR PRO v8 over USB-C
          • UNI-DS v8
          • UNI-DS v8 over USB-C
        • 7th Generation
          • EasyAVR v7
        • 6th Generation
          • AVRPLC16 v6
      • 8051 (8-bit)
        • 7th generation
          • BIG8051
        • 6th Generation
          • Easy8051 v6
      • PSoC (8-bit)
        • 6th Generation
          • UNI-DS6 Development System
      • RISC-V (32bit)
        • 8th Generation
          • UNI-DS v8
          • UNI-DS v8 over USB-C
      • Universal Boards
        • 8th Generation
          • UNI-DS v8
          • UNI-DS v8 over USB-C
          • Fusion for PIC v8
          • Fusion for ARM v8
        • 7th Generation
          • EasyPIC Fusion v7
        • 6th Generation
          • UNI-DS6
          • mikroBoard for PIC 80-pin
          • mikroBoard for AVR
          • mikroBoard for dsPIC
          • mikroBoard for PSoC
          • mikroBoard for 8051
          • mikroBoard for PIC 40-pin
          • mikroBoard for ARM
          • mikroBoard for ARM 144-pin
      • IoT - Wearable
        • Hexiwear
          • Hexiwear
          • Hexiwear Power User Pack
          • Hexiwear Docking Station
          • Hexiwear Battery Pack
          • Hexiwear Color Pack
          • Hexiwear Workstation
      • Analog Boards
        • 7th Generation
          • Analog System Lab Kit PRO
    • starter boards icon Starter Boards
      • PIC (8-bit)
        • Clicker
          • PIC clicker
        • Clicker 2
          • Clicker 2 for PIC18FJ
          • Clicker 2 for PIC18FK
        • Clicker 4
          • Clicker 4 for PIC18F
          • UNI Clicker
        • Ready
          • Ready for PIC Board
          • Ready for PIC (DIP28)
          • PIC-Ready2 Board
          • MMC Ready Board
        • StartUSB
          • StartUSB for PIC
      • dsPIC/PIC24 (16-bit)
        • Clicker 2
          • Clicker 2 for PIC24
          • Clicker 2 for dsPIC33
        • Clicker 4
          • UNI Clicker
        • Ready
          • dsPIC-Ready1 Board
          • dsPIC-Ready2 Board
          • DsPIC-Ready3 Board
          • dsPIC-Ready4 Board
      • PIC32 (32-bit)
        • Clicker
          • PIC32MX clicker
          • 6LoWPAN Clicker
          • PIC32MZ clicker
        • Clicker 2
          • Clicker 2 for PIC32MX
          • Clicker 2 for PIC32MZ
        • Clicker 4
          • UNI Clicker
        • MINI
          • MINI-32 Board
          • MINI-32 for PIC32MZ
        • Flip&Click
          • Flip&Click PIC32MZ
      • ARM (32-bit)
        • Clicker
          • RA4M1 Clicker
          • Kinetis Clicker
          • MSP432 Clicker
          • CEC1702 clicker
          • CEC1302 Clicker
          • STM32 M4 clicker
        • Clicker 2
          • Clicker 2 for STM32
          • Clicker 2 for Kinetis
          • Clicker 2 for CEC1702
          • Clicker 2 for MSP432
          • Clicker 2 for CEC1302
          • Clicker 2 for PSoC 6
        • Clicker 4
          • Clicker 4 for STM32F745VG
          • Clicker 4 for STM32F4
          • Clicker 4 for TMPM3H
          • Clicker 4 for TMPM4K
          • Clicker 4 for STM32
          • UNI Clicker
        • MINI
          • MINI-M4 for STM32
          • MINI-M4 For Kinetis
          • MINI-M4 for Tiva
          • MINI-M4 for Stellaris
          • MINI-M4 for MSP432
          • MINI-M0 for STM32
        • Flip&Click
          • Flip&Click SAM3X
      • AVR (8-bit)
        • Clicker 4
          • UNI Clicker
        • MINI
          • MINI-AT Board - 3.3V
          • MINI-AT Board - 5V
        • Ready
          • Ready for AVR Board
          • Ready For XMEGA
          • mikroXMEGA Board
          • AVR-Ready2 Board
        • StartUSB
          • StartUSB for AVR
      • 8051 (8-bit)
        • Ready
          • 8051-Ready Board
      • FT90x (32-bit)
        • Clicker 2
          • Clicker 2 for FT90x
      • Miscellaneous
        • USB
          • USB Wizard
          • Quail
          • FlowPaw Kit
      • Universal Boards
        • Clicker 4
          • UNI Clicker
    • prog-debug icon Prog-Debug
      • PIC (8-bit)
        • CODEGRIP
          • UNI CODEGRIP
          • UNI CODEGRIP - USB-C
          • CODEGRIP for PIC
          • CODEGRIP for PIC USB-C
        • mikroProg
          • mikroProg for PIC
      • dsPIC/PIC24 (16-bit)
        • CODEGRIP
          • UNI CODEGRIP
          • UNI CODEGRIP - USB-C
          • CODEGRIP for PIC
        • mikroProg
          • mikroProg for dsPIC
      • PIC32 (32-bit)
        • CODEGRIP
          • UNI CODEGRIP
          • UNI CODEGRIP - USB-C
          • CODEGRIP for PIC
          • CODEGRIP for PIC USB-C
        • mikroProg
          • mikroProg for PIC32
      • ARM (32-bit)
        • CODEGRIP
          • UNI CODEGRIP
          • UNI CODEGRIP USB-C
          • CODEGRIP for ARM
          • CODEGRIP for ARM USB-C
          • CODEGRIP for STM32
          • CODEGRIP for KINETIS
          • CODEGRIP for Tiva
          • CODEGRIP for Tiva USB-C
        • mikroProg
          • mikroProg for STM32
          • mikroProg for Tiva
          • mikroProg for Kinetis
          • mikroProg for CEC
          • mikroProg for MSP432
          • mikroProg for PSoC 5LP
      • AVR (8-bit)
        • CODEGRIP
          • CODEGRIP for AVR
          • CODEGRIP for AVR - USB-C
          • UNI CODEGRIP
          • UNI CODEGRIP - USB-C
        • mikroProg
          • mikroProg for AVR
      • 8051 (8-bit)
        • mikroProg
          • mikroProg for 8051
      • FT90x (32-bit)
        • mikroProg
          • mikroProg for FT90x
    • smart displays icon Smart Displays
      • 2.8"
        • ARM (32-bit)
        • AVR (8-bit)
        • dsPIC/PIC24 (16-bit)
        • PIC (8-bit)
        • PIC32 (32-bit)
      • 3.5"
        • ARM (32-bit)
        • FT90x (32-bit)
        • PIC (8-bit)
        • PIC32 (32-bit)
      • 4.3"
        • ARM (32-bit)
        • FT90x (32-bit)
        • PIC (8-bit)
        • PIC32 (32-bit)
      • 5"
        • ARM (32-bit)
        • FT90x (32-bit)
        • PIC32 (32-bit)
      • 7"
        • ARM (32-bit)
        • FT90x (32-bit)
    • mcu cards icon MCU Cards
      • PIC (8-bit)
        • 8th Generation
        • 7th Generation
        • 6th Generation
      • dsPIC/PIC24 (16-bit)
        • 8th Generation
        • 7th Generation
        • 6th Generation
      • PIC32 (32-bit)
        • 8th Generation
        • 7th Generation
      • ARM (32-bit)
        • 8th Generation
        • 7th Generation
      • AVR (8-bit)
        • 8th Generation
      • RISC-V (32bit)
        • 8th Generation
    • accessories icon Accessories
      • TFT Displays
      • LCD Displays
      • LED Displays
      • E-Paper Displays
      • Sensors
      • Headers and Connectors
      • Wire Jumpers and Cables
      • Antennas
      • Batteries
      • RFID/NFC
      • Proto
      • Motors
      • Storage
      • Power
      • Adapters
      • Interface
      • Input/Output
      • Miscellaneous
      • FANware
      • MCUs
      • Books
    • kits icon Kits
      • PIC Kits
      • dsPIC/PIC24 Kits
      • PIC32 Kits
      • ARM Kits
      • AVR Kits
      • FT90x Kits
      • 8051 Kits
  • Shop
  • EmbeddedWiki
  • Support
    • Helpdesk
    • Contact us
    • Forum
    • LibStock
    • Learn
    • Let's make
    • Books
  • Services
    • Planet Debug
    • Design Service
    • Product Customization
    • Contract Manufacturing
    • Premium Technical Support
  • News
  • Price :

    More info
Reset filter
  • 0
Authentication
Account

Create account

Forgot your password?

Your cart is empty !
View cart ( )
  1. Home
  2. ebooks
  3. Microcontroladores PIC – Programación en C con ejemplos
  4. componentes-adicionales
MikroElektronika books

4.2 Componentes Adicionales

 
Esta parte trata los componentes adicionales utilizados con más frecuencia en la práctica, tales como resistencias, transistores, diodos LED, visualizadores LED, visualizadores LCD y los circuitos de comunicación RS-232.

INTERRUPTORES Y BOTONES DE PRESIÓN

Los interruptores y los botones de presión son los dispositivos simples para proporcionar la forma más simple de detectar la aparición de voltaje en un pin de entrada del microcontrolador. No obstante, no es tan simple como parece... Es por un rebote de contacto. El rebote de contacto es un problema común en los interruptores mecánicos.
al-mundo-de-los-microcontroladores-chapter-04-fig4-07
Al tocarse los contactos, se produce un rebote por su inercia y elasticidad. Por consiguiente, la corriente eléctrica es rápidamente pulsada en lugar de tener una clara transición de cero a la corriente máxima. Por lo general, esto ocurre debido a las vibraciones, los desniveles suaves y la suciedad entre los contactos. Este efecto no se percibe normalmente al utilizar estos componentes en la vida cotidiana porque el rebote ocurre demasiado rápido para afectar a la mayoría de los dispositivos eléctricos. Sin embargo, pueden surgir problemas en algunos circuitos lógicos que responden lo suficientemente rápido de manera que malinterpreten los pulsos producidos al tocarse los contactos como un flujo de datos. De todos modos, el proceso entero no dura mucho (unos pocos micro - o milisegundos), pero dura lo suficiente para que lo detecte el microcontrolador. Al utilizar sólo un botón de presión como una fuente de señal de contador, en casi 100% de los casos ocurren los errores. El problema se puede resolver con facilidad al conectar un simple circuito RC para suprimir rápidos cambios de voltaje. Como el período del rebote no está definido, los valores de los componentes no están precisamente determinados. En la mayoría de los casos es recomendable utilizar los valores que se muestran en la siguiente figura.
al-mundo-de-los-microcontroladores-chapter-04-fig4-08
Si se necesita una estabilidad completa, entonces hay que tomar medidas radicales. La salida del circuito, mostrado en la siguiente figura (biestable RS, también llamado flip flop RS), cambiará de estado lógico después de detectar el primer pulso producido por un rebote de contacto. Esta solución es más cara (interruptor SPDT), pero el problema es resuelto.
al-mundo-de-los-microcontroladores-chapter-04-fig4-09
Aparte de estas soluciones de hardware, hay también una simple solución de software. Mientras el programa prueba el estado de circuito lógico de un pin de entrada, si detecta un cambio, hay que probarlo una vez más después de un cierto tiempo de retardo. Si el programa confirma el cambio, esto significa que un interruptor/botón de presión ha cambiado de posición. Las ventajas de esta solución son obvias: es gratuita, se borran los efectos del rebote de contacto y se puede aplicar a los contactos de una calidad más baja también.

RELÉ

Un relé es un interruptor eléctrico que se abre y se cierra bajo el control de otro circuito electrónico. Por eso está conectado a los pines de salida del microcontrolador y utilizado para encender/apagar los dispositivos de alto consumo tales como: motores, transformadores, calefactores, bombillas etc. Estos dispositivos se colocan casi siempre lejos de los componentes sensibles de la placa. Hay varios tipos de relés, pero todos funcionan de la misma manera. Al fluir la corriente por la bobina, el relé funciona por medio de un electromagneto, abriendo y cerrando uno o más conjunto de contactos. Similar a los optoacopladores no hay conexión galvánica (contacto eléctrico) entre los circuitos de entrada y salida. Los relés requieren con frecuencia tanto un voltaje más alto y una corriente más alta para empezar a funcionar. También hay relés miniatura que se pueden poner en marcha por una corriente baja obtenida directamente de un pin del microcontrolador.
al-mundo-de-los-microcontroladores-chapter-04-fig4-10
La figura que sigue muestra la solución utilizada con más frecuencia.
al-mundo-de-los-microcontroladores-chapter-04-fig4-11
Para prevenir la aparición de un alto voltaje de autoinducción, causada por una parada repentina del flujo de corriente por la bobina, un diodo polarizado invertido se conecta en paralelo con la bobina. El propósito de este diodo es de “cortar” este pico de voltaje.

DIODOS LED

Probablemente sepa todo lo que necesita saber sobre los diodos LED, pero también debe pensar en los jóvenes... A ver, ¿cómo destruir un LED? Bueno...muy fácil.
al-mundo-de-los-microcontroladores-chapter-04-fig4-12

Quemar con rapidez

Como cualquier otro diodo, los LEDs tienen dos puntas - un ánodo y un cátodo. Conecte un diodo apropiadamente a la fuente de alimentación y va a emitir luz sin ningún problema. Ponga al diodo al revés y conéctelo a la misma fuente de alimentación (aunque sea por un momento). No emitirá luz - ¡nunca más!

Quemar lentamente

Hay un límite de corriente nominal, o sea, límite de corriente máxima especificada para cada LED que no se deberá exceder. Si eso sucede, el diodo emitirá luz más intensiva, pero sólo por un período corto de tiempo.

Algo para recordar

De manera similar, todo lo que tiene que hacer es elegir una resistencia para limitar la corriente mostrada a continuación. Dependiendo de voltaje de alimentación, los efectos pueden ser espectaculares.
al-mundo-de-los-microcontroladores-chapter-04-fig4-13

VISUALIZADOR LED

Básicamente, un visualizador LED no es nada más que varios diodos LED moldeados en la misma caja plástica. Hay varios tipos de los visualizadores y algunos de ellos están compuestos por varias docenas de diodos incorporados que pueden visualizar diferentes símbolos. No obstante, el visualizador utilizado con más frecuencia es el visualizador de 7 segmentos. Está compuesto por 8 LEDs. Los siete segmentos de un dígito están organizados en forma de un rectángulo para visualizar los símbolos, mientras que el segmento adicional se utiliza para el propósito de visualizar los puntos decimales. Para simplificar la conexión, los ánodos y los cátodos de todos los diodos se conectan al pin común así que tenemos visualizadores de ánodo común y visualizadores de cátodo común, respectivamente. Los segmentos están etiquetados con letras de a a g y dp, como se muestra en la siguiente figura. Al conectarlos, cada diodo LED se trata por separado, lo que significa que cada uno dispone de su propia resistencia para limitar la corriente.
al-mundo-de-los-microcontroladores-chapter-04-fig4-14
Aquí le presentamos unas cosas importantes a las que debe prestar atención al comprar un visualizador LED:
  • Como hemos mencionado, dependiendo de si ánodos o cátodos están conectados al pin común, tenemos visualizadores de ánodo común y visualizadores de cátodo común. Visto de afuera, parece que no hay ninguna diferencia entre estos visualizadores, pues se le recomienda comprobar cuál se va a utilizar antes de instalarlo.
  • Cada pin del microcontrolador tiene un límite de corriente máxima que puede recibir o dar. Por eso, si varios visualizadores están conectados al microcontrolador, es recomendable utilizar así llamados LEDs de Bajo consumo que utilizan solamente 2mA para su funcionamiento.
  • Los segmentos del visualizador están normalmente etiquetados con letras de a a g, pero no hay ninguna regla estrictaa cuáles pines del visualizador estarán conectados. Por eso es muy importante comprobarlo antes de empezar a escribir un programa o diseñar un dispositivo.
al-mundo-de-los-microcontroladores-chapter-04-fig4-15
Los visualizadores conectados al microcontrolador normalmente ocupan un gran número de los pines de E/S valiosos, lo que puede ser un problema sobre todo cuando se necesita visualizar los números compuestos por varios dígitos. El problema se vuelve más obvio si, por ejemplo, se necesita visualizar dos números de seis dígitos (un simple cálculo muestra que en este caso se necesitan 96 pines de salida). La solución de este problema es denominada multiplexión. Aquí es cómo se ha hecho una ilusión óptica basada en el mismo principio de funcionamiento como una cámara de película. Un sólo dígito está activo a la vez, pero se tiene la impresión de que todos los dígitos de un número están simultáneamente activos por cambiar tan rápidamente de las condiciones de encendido/apagado.
al-mundo-de-los-microcontroladores-chapter-04-fig4-16
Veamos la figura anterior. Primero se aplica un byte que representa unidades al puerto PORT2 del microcontrolador y se activa el transistor T1 a la vez. Después de poco tiempo, el transistor T1 se apaga, un byte que representa decenas se aplica al puerto PORT2 y el transistor T2 se activa. Este proceso se está repitiendo cíclicamente a alta velocidad en todos los dígitos y transistores correspondientes. Lo decepcionante es que el microcontrolador es sólo un tipo de computadora miniatura diseñada para interpretar el lenguaje de ceros y unos, lo que se pone de manifiesto al visualizar cualquier dígito. Concretamente, el microcontrolador no conoce cómo son unidades, decenas, centenas, ni diez dígitos a los que estamos acostumbrados. Por esta razón, cada número a visualizar debe pasar por el siguiente procedimiento: Antes que nada, un número de varios dígitos debe ser dividido en unidades, centenas etc. en una subrutina específica. Luego, cada de estos dígitos se debe almacenar en los bytes particulares. Los dígitos se hacen reconocibles al realizar "enmascaramiento". En otras palabras, el formato binario de cada dígito se sustituye por una combinación diferente de los bits por medio de una subrutina simple. Por ejemplo, el dígito 8 (0000 1000) se sustituye por el número binario 0111 1111 para activar todos los LEDs que visualizan el número 8. El único diodo que queda inactivo aquí está reservado para el punto decimal. Si un puerto del microcontrolador está conectado al visualizador de tal manera que el bit 0 active el segmento 'a', el bit 1 active el segmento 'b', el bit 2 active el segmento 'c' etc, entonces la tabla que sigue muestra la "máscara" para cada dígito.
al-mundo-de-los-microcontroladores-chapter-04-fig4-17
DÍGITOS A VISUALIZAR SEGMENTOS DEL VI SUALIZADOR
dp a b c d e f g
0 0 1 1 1 1 1 1 0
1 0 0 1 1 0 0 0 0
2 0 1 1 0 1 1 0 1
3 0 1 1 1 1 0 0 1
4 0 0 1 1 0 0 1 1
5 0 1 0 1 1 0 1 1
6 0 1 0 1 1 1 1 1
7 0 1 1 1 0 0 0 0
8 0 1 1 1 1 1 1 1
9 0 1 1 1 1 0 1 1
Además de los dígitos de 0 a 9, hay algunas letras -A, C, E, J, F, U, H, L, b, c, d, o, r, t - que se pueden visualizar al enmascarar. En caso de que se utilicen los visualizadores de ánodo común, todos los unos contenidos en la tabla anterior se deben sustituir por ceros y viceversa. Además, los transistores PNP se deben utilizar como controladores.

OPTOACOPLADORES

Un optoacoplador es un dispositivo frecuentemente utilizado para aislar galvánicamente el microcontrolador de corriente o voltaje potencialmente peligroso de su entorno. Los optoacopladores normalmente disponen de una, dos o cuatro fuentes de luz (diodos LED) en su entrada mientras que en su salida, frente a los diodos, se encuentra el mismo número de los elementos sensibles a la luz (foto-transistores, foto-tiristores, foto-triacs). El punto es que un optoacoplador utiliza una corta ruta de transmisión óptica para transmitir una señal entre los elementos de circuito, que están aislados eléctricamente. Este aislamiento tiene sentido sólo si los diodos y los elementos foto-sensitivos se alimentan por separado. Así, el microcontrolador y los componentes adicionales y caros están completamente protegidos de alto voltaje y ruidos que son la causa más frecuente de destrucción, daño y funcionamiento inestable de los dispositivos electrónicos en la práctica. Los optoacopladores utilizados con más frecuencia son aquéllos con foto-transistores en sus salidas. En los optoacopladores con la base conectada al pin 6 interno (también hay optoacopladores sin ella), la base puede quedarse desconectada.
al-mundo-de-los-microcontroladores-chapter-04-fig4-18
La red R/C representada por una línea quebrada en la figura anterior indica una conexión opcional de la base de transistores dentro del optoacoplador, que reduce los efectos de ruidos al eliminar los pulsos muy cortos.

VISUALIZADOR LCD

Este componente está específicamente fabricado para ser utilizado con los microcontroladores, lo que significa que no se puede activar por los circuitos integrados estándar. Se utiliza para visualizar los diferentes mensajes en un visualizador de cristal líquido miniatura. El modelo descrito aquí es el más utilizado en la práctica por su bajo precio y grandes capacidades. Está basado en el microcontrolador HD44780 (Hitachi) integrado y puede visualizar mensajes en dos líneas con 16 caracteres cada una. Puede visualizar todas las letras de alfabeto, letras de alfabeto griego, signos de puntuación, símbolos matemáticos etc. También es posible visualizar símbolos creados por el usuario. Entre otras características útiles es el desplazamiento automático de mensajes (a la izquierda y a la derecha), aparición del cursor, retroiluminación LED etc.
al-mundo-de-los-microcontroladores-chapter-04-fig4-19

Pines del visualizador LCD

A lo largo de un lado de una placa impresa pequeña del visualizador LCD se encuentran los pines que le permiten estar conectado al microcontrolador. Hay 14 pines en total marcados con números (16 si hay retroiluminación). Su función se muestra en la tabla que sigue:
FUNCIÓN NÚMERO NOMBRE ESTADO LÓGICO DESCRIPCIÓN
Tierra 1 Vss - 0V
Alimentación 2 Vdd - +5V
Contraste 3 Vee - 0 - Vdd
Control de funcionamiento 4 RS 0 1 D0 – D7 considerados como comandos D0 – D7 considerados como datos
5 R/W 0 1 Escribir los datos (del microcontrolador al LCD) Leer los datos (del LCD al microcontrolador)
6 E 0 1 Transición de 1 a 0 Acceso al visualizador LCD deshabilitado Funcionamiento normal Datos/comandos se están transmitiendo al LCD
Datos / comandos 7 D0 0/1 Bit 0 LSB
8 D1 0/1 Bit 1
9 D2 0/1 Bit 2
10 D3 0/1 Bit 3
11 D4 0/1 Bit 4
12 D5 0/1 Bit 5
13 D6 0/1 Bit 6
14 D7 0/1 Bit 7 MSB

Pantalla LCD

Una pantalla LCD puede visualizar dos líneas con 16 caracteres cada una. Cada carácter consiste en 5x8 o 5x11 píxeles. Este libro cubre un visualizador de 5x8 píxeles que es utilizado con más frecuencia.
al-mundo-de-los-microcontroladores-chapter-04-fig4-20
El contraste del visualizador depende del voltaje de alimentación y de si los mensajes se visualizan en una o dos líneas. Por esta razón, el voltaje variable 0-Vdd se aplica al pin marcado como Vee. Un potenciómetro trimer se utiliza con frecuencia para este propósito. Algunos de los visualizadores LCD tienen retroiluminación incorporada (diodos LED azules o verdes). Al utilizarlo durante el funcionamiento, se debe de conectar una resistencia en serie a uno de los pines para limitar la corriente (similar a diodos LED).
al-mundo-de-los-microcontroladores-chapter-04-fig4-21
Si no hay caracteres visualizados o si todos los caracteres están oscurecidos al encender el visualizador, lo primero que se debe hacer es comprobar el potenciómetro para ajustar el contraste. ¿Está ajustado apropiadamente? Lo mismo se aplica si el modo de funcionamiento ha sido cambiado (escribir en una o en dos líneas).

Memoria LCD

El visualizador LCD dispone de tres bloques de memoria:
  • DDRAM Display Data RAM (RAM de datos de visualización);
  • CGRAM Character Generator RAM (generador de caracteres RAM); y
  • CGROM Character Generator ROM (generador de caracteres ROM)

Memoria DDRAM

La memoria DDRAM se utiliza para almacenar los caracteres a visualizar. Tiene una capacidad de almacenar 80 caracteres. Algunas localidades de memoria están directamente conectadas a los caracteres en el visualizador. Todo funciona muy simple: basta con configurar el visualizador para incrementar direcciones automáticamente (desplazamiento a la derecha) y establecer la dirección inicial para el mensaje que se va a visualizar (por ejemplo 00 hex). Luego, todos los caracteres enviados por las líneas D0-D7 se van a visualizar en el formato de mensaje al que nos hemos acostumbrado - de la izquierda a la derecha. En este caso, la visualización empieza por el primer campo de la primera línea ya que la dirección inicial es 00hex. Si se envía más de 16 caracteres, todos se memorizarán, pero sólo los primeros 16 serán visibles. Para visualizar los demás, se debe utilizar el comando shift. Virtualmente, parece como si el visualizador LCD fuera una ventana, desplazándose de la izquierda a la derecha sobre las localidades de memoria con diferentes caracteres. En realidad, así es cómo se creó el efecto de desplazar los mensajes sobre la pantalla.
al-mundo-de-los-microcontroladores-chapter-04-fig4-22
Si se habilita ver el cursor, aparecerá en la localidad actualmente direccionada. En otras palabras, si un carácter aparece en la posición del cursor, se va a mover automáticamente a la siguiente localidad direccionada. Esto es un tipo de memoria RAM así que los datos se pueden escribir en ella y leer de ella, pero su contenido se pierde irrecuperablemente al apagar la fuente de alimentación.

Memoria CGROM

La memoria CGROM contiene un mapa estándar de todos los caracteres que se pueden visualizar en la pantalla. A cada carácter se le asigna una localidad de memoria:
al-mundo-de-los-microcontroladores-chapter-04-fig4-23
Las direcciones de las localidades de memoria CGROM corresponden a los caracteres ASCII. Si el programa que se está actualmente ejecutando llega al comando ‘enviar el carácter P al puerto’, el valor binario 0101 0000 aparecerá en el puerto. Este valor es el equivalente ASCII del carácter P. Al escribir este valor en un LCD, se visualizará el símbolo de la localidad 0101 0000 de la CGROM. En otras palabras, se visualizará el carácter P. Esto se aplica a todas las letras del alfabeto (minúsculas y mayúsculas), pero no se aplica a los números. Como se muestra en el mapa anterior, las direcciones de todos los dígitos se desplazan por 48 en relación con sus valores (dirección del dígito 0 es 48, dirección del dígito 1 es 49, dirección del dígito 2 es 50 etc.). Por consiguiente, para visualizar los dígitos correctamente es necesario añadir el número decimal 48 a cada uno antes de enviarlos a un LCD.
al-mundo-de-los-microcontroladores-chapter-04-fig4-24
¿Qué es un código ASCII? Desde su aparición hasta hoy en día, las computadoras han sido capaces de reconocer solamente números, y no las letras. Esto significa que todos los datos que una computadora intercambia con un periférico, reconocidos como letras por los humanos, en realidad están en el formato binario (el teclado es un buen ejemplo). En otras palabras, a cada carácter le corresponde la combinación única de ceros y unos. El código ASCII representa una codificación de caracteres basada en el alfabeto inglés. El ASCII especifica una correspondencia entre los símbolos de caracteres estándar y sus equivalentes numéricos.

Memoria CGRAM

Además de los caracteres estándar, el visualizador LCD puede visualizar símbolos definidos por el usuario. Esto puede ser cualquier símbolo de 5x8 píxeles. La memoria RAM denominada CGRAM de 64 bytes lo habilita. Los registros de memoria son de 8 bits de anchura, pero sólo se utilizan 5 bits más bajos. Un uno lógico (1) en cada registro representa un punto oscurecido, mientras que 8 localidades agrupados representan un carácter. Esto se muestra en la siguiente figura:
al-mundo-de-los-microcontroladores-chapter-04-fig4-25
Los símbolos están normalmente definidos al principio del programa por una simple escritura de ceros y unos de la memoria CGRAM así que crean las formas deseadas. Para visualizarlos basta con especificar su dirección. Preste atención a la primera columna en el mapa de caracteres CGROM. No contiene direcciones de la memoria RAM, sino los símbolos de los que se está hablando aquí. En este ejemplo ‘visualizar 0’ significa visualizar ‘sonrisa’, ‘visualizar 1’ significa - visualizar ‘ancla’ etc.

Comandos básicos del visualizador LCD

Todos los datos transmitidos a un visualizador LCD por las salidas D0-D7 serán interpretados como un comando o un dato, lo que depende del estado lógico en el pin RS:
  • RS = 1 - Los bits D0 - D7 son direcciones de los caracteres a visualizar. El procesador LCD direcciona un carácter del mapa de caracteres y lo visualiza. La dirección DDRAM especifica la localidad en la que se va a visualizar el carácter. Esta dirección se define antes de transmitir el carácter o la dirección del carácter anteriormente transmitido será aumentada automáticamente.
  • RS = 0 - Los bits D0 - D7 son los comandos para ajustar el modo del visualizador.
En la siguiente tabla se muestra una lista de comandos reconocidos por el LCD:
COMANDO RS RW D7 D6 D5 D4 D3 D2 D1 D0 TIEMPO DE EJECUCIÓN
Borrar el visualizador 0 0 0 0 0 0 0 0 0 1 1.64mS
Poner el cursor al inicio 0 0 0 0 0 0 0 0 1 x 1.64mS
Modo de entrada 0 0 0 0 0 0 0 1 I/D S 40uS
Activar/desactivar el visualizador 0 0 0 0 0 0 1 D U B 40uS
Desplazar el cursor/visualizador 0 0 0 0 0 1 D/C R/L x x 40uS
Modo de funcionamiento 0 0 0 0 1 DL N F x x 40uS
Establecer la dirección CGRAM 0 0 0 1 Dirección CGRAM 40uS
Establecer la dirección DDRAM 0 0 1 Dirección CGRAM 40uS
Leer la bandera "BUSY"(ocupado) (BF) 0 1 BF Dirección CGRAM -
Escribir en la CGRAM o en la DDRAM 1 0 D7 D6 D5 D4 D3 D2 D1 D0 40uS
Leer la CGRAM o la DDRAM 1 1 D7 D6 D5 D4 D3 D2 D1 D0 40uS
I/D 1 = Incremento (por 1)                           R/L 1 = Desplazamiento a la derecha
    0 = Decremento (por 1)                               0 = Desplazamiento a la izquierda
    
S 1 = Desplazamiento del visualizador activado        DL 1 = Bus de datos de 8 bits
  0 = Desplazamiento del visualizador desactivado        0 = Bus de datos de 4 bits
  
D 1 = Visualizador encendido                           N 1 = Visualizador de dos líneas
  0 = Visualizador apagado                               0 = Visualizador en una línea
  
U 1 = Cursor activado                                  F 1 = Carácter de 5x10 puntos
  0 = Cursor desactivado                                 0 = Carácter de 5x7 puntos

B 1 = Parpadeo del cursor encendido                  D/C 1 = Desplazamiento del visualizador
  0 = Parpadeo del cursor apagado                        0 = Desplazamiento del cursor

¿QUÉ ES UNA BANDERA DE OCUPADO (BUSY FLAG)?

En comparación al microcontrolador, el LCD es un componente extremadamente lento. Por esta razón, era necesario proporcionar una señal que, al ejecutar un comando, indicaría que el visualizador estaba listo para recibir el siguiente dato. Esta señal denominada bandera de ocupado (busy flag) se puede leer de la línea D7. El visualizador está listo para recibir un nuevo dato cuando el voltaje en esta línea es de 0V (BF=0).

Conectar al visualizador LCD

Dependiendo de cuántas líneas se utilizan para conectar un LCD al microcontrolador, hay dos modos de LCD, el de 8 bits y el de 4 bits. El modo apropiado se selecciona en el inicio del funcionamiento en el proceso denominado ‘inicialización’. El modo de LCD de 8 bits utiliza los pines D0-D7 para transmitir los datos, como hemos explicado en la página anterior. El propósito principal del modo de LCD de 4 bits es de ahorrar los valiosos pines de E/S del microcontrolador. Sólo los 4 bits más altos (D4-D7) se utilizan para la comunicación, mientras que los demás pueden quedarse desconectados. Cada dato se envía al LCD en dos pasos - primero se envían 4 bits más altos (normalmente por las líneas D4- D7), y luego los 4 bits más bajos. La inicialización habilita que el LCD conecte e interprete los bits recibidos correctamente.
al-mundo-de-los-microcontroladores-chapter-04-fig4-26
Pocas veces se leen los datos del LCD (por lo general se transmiten del microcontrolador al LCD) así que, con frecuencia, es posible guardar un pin de E/S de sobra. Es simple, basta con conectar el pin L/E a Tierra. Este “ahorro” del pin tiene su precio. Los mensajes se visualizarán normalmente, pero no será posible leer la bandera de ocupado ya que tampoco es posible leer los datos del visualizador. Afortunadamente, hay una solución simple. Después de enviar un carácter o un comando es importante dar al LCD suficiente tiempo para hacer su tarea. Debido al hecho de que la ejecución de un comando puede durar aproximadamente 1.64mS, el LCD tarda como máximo 2mS en realizar su tarea.

Inicializar al visualizador LCD

Al encender la fuente de alimentación, el LCD se reinicia automáticamente. Esto dura aproximadamente 15mS. Después de eso, el LCD está listo para funcionar. Asimismo, el modo de funcionamiento está configurado por defecto de la siguiente manera:
  1. Visualizador está borrado.
  2. Modo DL = 1 - Bus de datos de 8 bits N = 0 - LCD de una línea F = 0 - Carácter de 5 x 8 puntos
  3. Visualizador/Cursor encendido/apagado D = 0 - Visualizador apagado U = 0 - Cursor apagado B = 0 - Parpadeo del cursor apagado
  4. Introducción de caracteres ID = 1 Direcciones visualizadas se incrementan automáticamente en 1 S = Desplazamiento del visualizador desactivado
Por lo general, el reinicio automático se lleva a cabo sin problemas. ¡En la mayoría de los casos, pero no siempre! Si por cualquier razón, el voltaje de alimentación no llega a su máximo valor en 10mS, el visualizador se pone a funcionar de manera completamente imprevisible. Si la unidad de voltaje no es capaz de cumplir con las condiciones o si es necesario proporcionar un funcionamiento completamente seguro, se aplicará el proceso de inicialización. La inicialización, entre otras cosas, reinicia de nuevo al LCD, al habilitarle un funcionamiento normal. Hay dos algoritmos de inicialización. Cuál se utilizará depende de si la conexión al microcontrolador se realiza por el bus de datos de 4 o 8 bits. En ambos casos, después de inicialización sólo queda especificar los comandos básicos y, por supuesto, visualizar los mensajes. Refiérase a la Figura que sigue para el procedimiento de inicialización por el bus de datos de 8 bits:
al-mundo-de-los-microcontroladores-chapter-04-fig4-27
¡Esto no es un error! En este algoritmo, el mismo valor se transmite tres veces en fila. El procedimiento de inicialización por el bus de datos de 4 bits:
al-mundo-de-los-microcontroladores-chapter-04-fig4-28
Vamos a hacerlo en mikroC...
/* En mikroC for PIC, basta con escribir sólo una función para realizar todo el proceso 
de la inicialización del LCD. Antes de llamar esta función es necesario declarar los 
bits LCD_D4-LCD_D7, LCD_RS y LCD_EN. */

...
Lcd_Init(); // Inicializar el LCD
...

EJEMPLOS PRÁCTICOS

El proceso de crear un proyecto nuevo es muy simple. Seleccione la opción New Project del menú Project como se muestra en la Figura de la derecha.
al-mundo-de-los-microcontroladores-chapter-04-fig4-28a
Aparecerá una ventana que le guiará a través del proceso de creación de un proyecto nuevo. La ventana de entrada de este programa contiene una lista de acciones a realizar para crear un proyecto nuevo. Pulse el botón Next.
al-mundo-de-los-microcontroladores-chapter-04-fig4-28b
El proceso de creación de un proyecto nuevo consiste en cinco pasos:
  1. Seleccione el tipo de microcontrolador a programar. En este caso se trata del PIC16F887.
  2. Seleccione la frecuencia de reloj del microcontrolador. En este caso el valor seleccionado es 8 MHz.
  3. Seleccione el nombre y la ruta del proyecto. En este caso, el nombre del proyecto es First_Project. Está guardado en la carpeta C:\My projects. Al nombre del proyecto se le asigna automáticamente la extensión .mcppi. Se creará en el proyecto el archivo fuente con el mismo nombre (First_Project .c.h).
  4. Si el nuevo proyecto consiste de varios archivos fuente, se necesita especificarlos y pulse sobre el botón Add para incluirlos. En este ejemplo no hay archivos fuente adicionales.
  5. Por último, se necesita confirmar todas las opciones seleccionadas. Pulse sobre Finish.
Después de crear el proyecto, aparecerá una ventana blanca en la que debe escribir el programa. Vea la siguiente figura:
al-mundo-de-los-microcontroladores-chapter-04-fig4-28c
Una vez creado el programa, es necesario compilarlo en un código .hex. Seleccione una de las opciones para compilar del menú Project:
  • Para crear un archivo .hex, seleccione la opción Build (Ctrl+F9) del menú Project o pulse sobre el icono Build de la barra de herramientas Project.
  • Por medio de la opción Build All Projects (Shift+F9) se compilan todos los archivos del proyecto, librerías (si el código fuente contiene alguna de ellas) y los archivos def para el microcontrolador utilizado.
  • La opción Build + Program (Ctrl+F11) es importante ya que permite al compilador mikroC PRO for PIC cargar automáticamente el programa en el microcontrolador después de la compilación. El proceso de la programación se realiza por medio del programador PICFlash.
Todos los errores encontrados durante la compilación aparecerán en la ventana Message. Si no hay errores en el programa, el compilador mikroC PRO for PIC generará los correspondientes archivos de salida.

MIKROE

MIKROE is a development tools company dedicated to standardization and time-saving in the embedded industry.

  • About us
  • Success story
  • Contact
  • PressKit
  • Timeline
  • Partners
  • Legal
  • Distributors
  • Legacy Products

SOLUTIONS

  • Click boards™
  • Development boards
  • Mikromedia
  • CODEGRIP
  • NECTO Studio
  • Planet Debug
  • ClickID
  • Click Snap
  • EmbeddedWiki

SUPPORT

  • Helpdesk
  • Forum
  • Libstock
  • Learn
  • Let's Make
  • eBooks
  • Premium TS
  • Design service
  • Product Customization
  • Contract Manufacturing

STANDARD

  • mikroBUS™
  • mikroSDK
  • SiBRAIN
  • DISCON

Prodavnica za inostrano tržište

Nalazite se na prodavnici za inostrano tržište. Da li želite da Vas odvedemo na prodavnicu koja je namenjena za Srbiju?

Prodavnica za inostrano tržište

Nalazite se na prodavnici za inostrano tržište. Da li želite da Vas odvedemo na prodavnicu koja je namenjena za Srbiju?

Daily product releases, special offers, and more

  • FOLLOW US:

  • instagram
  • linkedin
  • facebook
  • github
  • newsletter
  • youtube
  • twitter twitter

Join us

Pridruži nam se

Careers
Internship
Posao
Napravi Click
Praksa
Copyright© 2025 MikroElektronika d.o.o.

Privacy