20% off on all Programmers & Debuggers
20% off on all Programmers & Debuggers
MikroElektronika white logo
  • Products
    • Click Boards
      • Wireless Connectivity
        • GPS/GNSS
        • GSM/LTE
        • LTE IoT
        • BT/BLE
        • WiFi+BLE
        • WiFi
        • Sub-1 GHz Transceievers
        • 2.4 GHz Trancevers
        • LoRa
        • RFID/NFC
        • GSM+GPS
        • 6LoWPAN
        • ZigBee
        • Click Shields
        • Click Bundles
      • 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
        • Click Shields
        • Click Bundles
      • Display & LED
        • LED Drivers
        • LED Matrix
        • LED Segment
        • OLED
        • Adapter
        • Electronic Paper Display
        • LCD
        • OSD
        • 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
        • Click Shields
        • Click Bundles
      • Motor Control
        • Brushed
        • Brushless
        • Stepper
        • Servo
        • 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
        • Speech recognition
        • Click Shields
        • Click Bundles
      • Clock & Timing
        • RTC
        • Clock generator
        • Click Shields
        • Click Bundles
      • Power Management
        • Battery charger
        • Boost
        • Buck
        • Linear
        • Buck-Boost
        • Wireless Charging
        • Click Shields
        • Click Bundles
    • Compilers
      • PIC
        • C
          • 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 GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • ARM
        • C
          • 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 GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • PIC32
        • C
          • 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
      • dsPIC/PIC24
        • C
          • 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
      • AVR
        • C
          • 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
      • 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
      • 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
    • Dev Boards
      • PIC
        • 8th Generation
          • EasyPIC v8
        • 7th Generation
          • EasyPIC v7
          • EasyPIC PRO v7
        • 6th Generation
          • PICPLC16 v6
      • ARM
        • 8th Generation
          • Fusion for ARM v8
          • Fusion for STM32 v8
          • Fusion for KINETIS v8
          • Fusion for TIVA v8
        • 7th Generation
          • EasyMx PRO v7 for Tiva
          • EasyMx PRO v7 for STM32
      • PIC32
        • 7th Generation
          • EasyPIC Fusion v7
      • dsPIC/PIC24
        • 7th Generation
          • EasyPIC Fusion v7
          • EasyPIC v7 for dsPIC30
        • 6th Generation
          • Easy24-33 v6
      • AVR
        • 7th Generation
          • EasyAVR v7
        • 6th Generation
          • AVRPLC16 v6
      • 8051
        • 7th generation
          • BIG8051
        • 6th Generation
          • Easy8051 v6
      • Universal Boards
        • 8th Generation
          • Fusion for ARM v8
        • 7th Generation
          • EasyPIC Fusion v7
        • UNI-DS board
          • 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
        • Clicker
          • PIC clicker
        • Clicker 2
          • Clicker 2 for PIC18FJ
        • Ready
          • Ready for PIC Board
          • Ready for PIC (DIP28)
          • PIC-Ready2 Board
          • MMC Ready Board
        • StartUSB
          • StartUSB for PIC
      • ARM
        • Clicker
          • CEC1302 Clicker
          • CEC1702 clicker
          • MSP432 Clicker
          • STM32 M4 clicker
          • Kinetis 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
        • MINI
          • MINI-M4 for STM32
          • MINI-M0 for STM32
          • MINI-M4 for Tiva
          • MINI-M4 for Stellaris
          • MINI-M4 for MSP432
        • Flip&Click
          • Flip&Click SAM3X
      • PIC32
        • Clicker
          • PIC32MX clicker
          • 6LoWPAN Clicker
          • PIC32MZ clicker
        • Clicker 2
          • Clicker 2 for PIC32MX
          • Clicker 2 for PIC32MZ
        • MINI
          • MINI-32 Board
          • MINI-32 for PIC32MZ
        • Flip&Click
          • Flip&Click PIC32MZ
      • dsPIC/PIC24
        • Clicker 2
          • Clicker 2 for PIC24
          • Clicker 2 for dsPIC33
        • Ready
          • dsPIC-Ready1 Board
          • dsPIC-Ready2 Board
          • DsPIC-Ready3 Board
          • dsPIC-Ready4 Board
      • AVR
        • 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
        • Ready
          • 8051-Ready Board
      • FT90x
        • Clicker 2
          • Clicker 2 for FT90x
      • Miscellaneous
        • USB
          • USB Wizard
          • Quail
          • FlowPaw Kit
    • Prog-Debug
      • PIC
        • mikroProg
          • mikroProg for PIC
      • ARM
        • Codegrip
          • CODEGRIP for ARM
          • CODEGRIP for STM32
          • CODEGRIP for KINETIS
          • CODEGRIP for TIVA
        • MikroProg
          • mikroProg for STM32
          • mikroProg for Tiva
          • mikroProg for Kinetis
          • mikroProg for CEC
          • mikroProg for MSP432
          • mikroProg for PSoC 5LP
      • PIC32
        • mikroProg
          • mikroProg for PIC32
      • dsPIC/PIC24
        • mikroProg
          • mikroProg for dsPIC
      • AVR
        • mikroProg
          • mikroProg for AVR
      • 8051
        • mikroProg
          • mikroProg for 8051
      • FT90x
        • mikroProg
          • mikroProg for FT90x
    • Smart Displays
      • PIC
        • 2.8"
          • PIC 18FJ
          • PIC 18FK
        • 4.3"
          • SmartGLCD
      • ARM
        • 2.8''
          • STM32 M4
          • STM32 M3
          • PSoC 5LP
          • TIVA
        • 3.5''
          • STM32 Capacitive
        • 4.3''
          • STM32 Capacitive
          • STM32 F4
          • STM32 F7
          • TIVA
        • 5''
          • STM32 Capacitive
          • TIVA
        • 7''
          • 7 Capacitive
          • STM32F4
          • STM32F7
      • PIC32
        • 2.8"
          • PIC32 MX4
        • 4.3"
          • PIC32 MX7
      • dsPIC/PIC24
        • 2.8"
          • dsPIC 33FJ
          • dsPIC 33EP
          • dsPIC 24FJ
          • dsPIC 24EP
      • AVR
        • 2.8''
          • XMEGA
      • FT90x
        • 3.5"
          • HMI No Touch
          • HMI Resistive
          • HMI Capacitive
        • 4.3"
          • HMI
          • HMI Capacitive
          • HMI Resistive
          • HMI UXW
          • HMI UXB
          • Plus +
        • 5"
          • HMI
          • HMI Resistive
          • HMI Capacitive
          • HMI UXW
          • HMI UXB
        • 7"
          • HMI
          • HMI Resistive
          • HMI Capacitive
          • HMI UXW
          • HMI UXB
    • MCU Cards
      • PIC
        • 7th Generation
        • 6th Generation
      • ARM
        • 8th Generation
        • 7th Generation
      • PIC32
        • 7th Generation
      • dsPIC/PIC24
        • 7th Generation
        • 6th Generation
      • AVR
        • 6th Generation
        • 6th Generation (empty)
    • Accessories
      • Display
        • TFT Displays
        • LCD Modules
        • E-Paper displays
        • RGB LED Matrix Panels
      • Components
        • Microcontrollers
        • Sensors
        • Headers and Connectors
        • Buttons and Switches
        • Wire Jumpers and Cables
        • Antennas
        • Power Supplies
        • Batteries
        • Breadboards
        • RFid
        • Motors
        • SD Cards
      • Add-on Boards
        • TFT
        • Adapter
        • Miscellaneous
        • Ethernet
        • USB
        • microSD
        • LCD
        • LED Matrix
        • LED Segment
        • Battery charger
        • ADC
        • CAN
        • DAC
        • GPS/GNSS
        • Motion
        • Relay
        • WiFi
        • ZigBee
        • RS232
        • RS485
        • MP3
        • EEPROM
        • FLASH
        • Microphone
        • Potentiometer
        • RFID/NFC
        • RTC
        • Stepper
        • Temperature & Humidity
    • Kits
      • PIC
        • mikroLab
          • PIC M
          • PIC L
          • PIC 18FK
          • PIC XL
          • PIC 18FJ
        • EasyStart
          • PIC EasyStart
        • TFT Designer
          • PIC 18FJ
        • TFT Developer
          • PIC 18FJ
        • GLCD Designer
          • GLCD Designer
        • GLCD Developer
          • GLCD Developer
      • ARM
        • mikroLab Kits
          • mikroLAB for STM32
          • mikroLAB for Tiva
        • EasyStart Kits
          • EasyStart Kit - STM32
          • Easy Start Kit - Tiva
        • TFT Designer Kits
          • TFT 3" - TIVA
          • TFT 4" - STM32F4
          • TFT 5" - TIVA
          • TFT 7" - STM32F4
          • TFT 3" - STM32 M3
          • TFT 3" - STM32 M4
        • TFT Developer Kits
          • TFT 3" - TIVA
          • TFT 3" - STM32F3
          • TFT 3" - STM32F4
        • TFT Professional Kits
          • TFT 5 Pro Kit - TIVA
          • TFT 7 Pro Kit - STM32F4
          • TFT Plus Pro Kit - STM32F4
      • PIC32
        • mikroLab Kits
          • mikroLAB for PIC32
        • EasyStart Kits
          • EasyStart Kit - PIC32MX4
          • EasyStart Kit - PIC32MX7
        • TFT Designer Kits
          • TFT 3" - PIC32MX4
          • TFT 4" - PIC32MX7
        • TFT Developer Kits
          • TFT 3" - PIC32MX4
        • Home Automation
          • AWS Home
      • dsPIC/PIC24
        • mikroLab Kits
          • mikroLAB for dsPIC
          • mikroLAB for dsPIC L
          • mikroLAB for dsPIC XL
        • EasyStart Kits
          • EasyStart Kit - dsPIC33FJ
          • EasyStart Kit - dsPIC33EP
          • EasyStart Kit - PIC24EP
          • Easy Start Kit - dsPIC30
        • TFT Designer Kits
          • TFT 3" - dsPIC33FJ
          • TFT 3" - dsPIC33EP
          • TFT 3" - PIC24EP
          • TFT 3" - PIC24FJ
        • TFT Developer Kits
          • TFT 3" - dsPIC33FJ
          • TFT 3" - PIC24FJ
          • TFT 3" - PIC24EP
          • TFT 3" - dsPIC33EP
      • AVR
        • mikroLab Kits
          • mikroLAB for AVR
          • mikroLAB for AVR L
          • mikroLAB for AVR XL
        • EasyStart Kits
          • Easy Start Kit - AVR
        • TFT Designer Kits
          • TFT Designer kit - XMEGA
        • TFT Developer Kits
          • TFT Developer kit - XMEGA
      • 8051
        • mikroLab Kits
          • mikroLAB for 8051 L
          • mikroLAB for 8051
        • EasyStart Kits
          • Easy Start Kit - 8051
  • Shop
  • Applications
  • Support
    • Helpdesk
    • Contact us
    • Forum
    • LibStock
    • Learn
    • Let's make
    • Books
    • Premium Tehnical Support
    • Product Customization
  • News
  • My profile
  • Privacy settings
  • Activity
  • Sign out

Your shoppingcart is empty.
Continue shopping.

MikroElektronika white logo
  • Products
    • Click Boards
      • Wireless Connectivity
        • GPS/GNSS
        • GSM/LTE
        • LTE IoT
        • BT/BLE
        • WiFi+BLE
        • WiFi
        • Sub-1 GHz Transceievers
        • 2.4 GHz Trancevers
        • LoRa
        • RFID/NFC
        • GSM+GPS
        • 6LoWPAN
        • ZigBee
        • Click Shields
        • Click Bundles
      • 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
        • Click Shields
        • Click Bundles
      • Display & LED
        • LED Drivers
        • LED Matrix
        • LED Segment
        • OLED
        • Adapter
        • Electronic Paper Display
        • LCD
        • OSD
        • 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
        • Click Shields
        • Click Bundles
      • Motor Control
        • Brushed
        • Brushless
        • Stepper
        • Servo
        • 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
        • Speech recognition
        • Click Shields
        • Click Bundles
      • Clock & Timing
        • RTC
        • Clock generator
        • Click Shields
        • Click Bundles
      • Power Management
        • Battery charger
        • Boost
        • Buck
        • Linear
        • Buck-Boost
        • Wireless Charging
        • Click Shields
        • Click Bundles
    • Compilers
      • PIC
        • C
          • 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 GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • ARM
        • C
          • 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 GLCD
          • Package Manager
          • mikroBootloader
          • CAN calculator
          • GLCD Font Creator
          • Timer Calculator
          • MikroPlot
      • PIC32
        • C
          • 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
      • dsPIC/PIC24
        • C
          • 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
      • AVR
        • C
          • 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
      • 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
      • 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
    • Dev Boards
      • PIC
        • 8th Generation
          • EasyPIC v8
        • 7th Generation
          • EasyPIC v7
          • EasyPIC PRO v7
        • 6th Generation
          • PICPLC16 v6
      • ARM
        • 8th Generation
          • Fusion for ARM v8
          • Fusion for STM32 v8
          • Fusion for KINETIS v8
          • Fusion for TIVA v8
        • 7th Generation
          • EasyMx PRO v7 for Tiva
          • EasyMx PRO v7 for STM32
      • PIC32
        • 7th Generation
          • EasyPIC Fusion v7
      • dsPIC/PIC24
        • 7th Generation
          • EasyPIC Fusion v7
          • EasyPIC v7 for dsPIC30
        • 6th Generation
          • Easy24-33 v6
      • AVR
        • 7th Generation
          • EasyAVR v7
        • 6th Generation
          • AVRPLC16 v6
      • 8051
        • 7th generation
          • BIG8051
        • 6th Generation
          • Easy8051 v6
      • Universal Boards
        • 8th Generation
          • Fusion for ARM v8
        • 7th Generation
          • EasyPIC Fusion v7
        • UNI-DS board
          • 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
        • Clicker
          • PIC clicker
        • Clicker 2
          • Clicker 2 for PIC18FJ
        • Ready
          • Ready for PIC Board
          • Ready for PIC (DIP28)
          • PIC-Ready2 Board
          • MMC Ready Board
        • StartUSB
          • StartUSB for PIC
      • ARM
        • Clicker
          • CEC1302 Clicker
          • CEC1702 clicker
          • MSP432 Clicker
          • STM32 M4 clicker
          • Kinetis 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
        • MINI
          • MINI-M4 for STM32
          • MINI-M0 for STM32
          • MINI-M4 for Tiva
          • MINI-M4 for Stellaris
          • MINI-M4 for MSP432
        • Flip&Click
          • Flip&Click SAM3X
      • PIC32
        • Clicker
          • PIC32MX clicker
          • 6LoWPAN Clicker
          • PIC32MZ clicker
        • Clicker 2
          • Clicker 2 for PIC32MX
          • Clicker 2 for PIC32MZ
        • MINI
          • MINI-32 Board
          • MINI-32 for PIC32MZ
        • Flip&Click
          • Flip&Click PIC32MZ
      • dsPIC/PIC24
        • Clicker 2
          • Clicker 2 for PIC24
          • Clicker 2 for dsPIC33
        • Ready
          • dsPIC-Ready1 Board
          • dsPIC-Ready2 Board
          • DsPIC-Ready3 Board
          • dsPIC-Ready4 Board
      • AVR
        • 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
        • Ready
          • 8051-Ready Board
      • FT90x
        • Clicker 2
          • Clicker 2 for FT90x
      • Miscellaneous
        • USB
          • USB Wizard
          • Quail
          • FlowPaw Kit
    • Prog-Debug
      • PIC
        • mikroProg
          • mikroProg for PIC
      • ARM
        • Codegrip
          • CODEGRIP for ARM
          • CODEGRIP for STM32
          • CODEGRIP for KINETIS
          • CODEGRIP for TIVA
        • MikroProg
          • mikroProg for STM32
          • mikroProg for Tiva
          • mikroProg for Kinetis
          • mikroProg for CEC
          • mikroProg for MSP432
          • mikroProg for PSoC 5LP
      • PIC32
        • mikroProg
          • mikroProg for PIC32
      • dsPIC/PIC24
        • mikroProg
          • mikroProg for dsPIC
      • AVR
        • mikroProg
          • mikroProg for AVR
      • 8051
        • mikroProg
          • mikroProg for 8051
      • FT90x
        • mikroProg
          • mikroProg for FT90x
    • Smart Displays
      • PIC
        • 2.8"
          • PIC 18FJ
          • PIC 18FK
        • 4.3"
          • SmartGLCD
      • ARM
        • 2.8''
          • STM32 M4
          • STM32 M3
          • PSoC 5LP
          • TIVA
        • 3.5''
          • STM32 Capacitive
        • 4.3''
          • STM32 Capacitive
          • STM32 F4
          • STM32 F7
          • TIVA
        • 5''
          • STM32 Capacitive
          • TIVA
        • 7''
          • 7 Capacitive
          • STM32F4
          • STM32F7
      • PIC32
        • 2.8"
          • PIC32 MX4
        • 4.3"
          • PIC32 MX7
      • dsPIC/PIC24
        • 2.8"
          • dsPIC 33FJ
          • dsPIC 33EP
          • dsPIC 24FJ
          • dsPIC 24EP
      • AVR
        • 2.8''
          • XMEGA
      • FT90x
        • 3.5"
          • HMI No Touch
          • HMI Resistive
          • HMI Capacitive
        • 4.3"
          • HMI
          • HMI Capacitive
          • HMI Resistive
          • HMI UXW
          • HMI UXB
          • Plus +
        • 5"
          • HMI
          • HMI Resistive
          • HMI Capacitive
          • HMI UXW
          • HMI UXB
        • 7"
          • HMI
          • HMI Resistive
          • HMI Capacitive
          • HMI UXW
          • HMI UXB
    • MCU Cards
      • PIC
        • 7th Generation
        • 6th Generation
      • ARM
        • 8th Generation
        • 7th Generation
      • PIC32
        • 7th Generation
      • dsPIC/PIC24
        • 7th Generation
        • 6th Generation
      • AVR
        • 6th Generation
        • 6th Generation (empty)
    • Accessories
      • Display
        • TFT Displays
        • LCD Modules
        • E-Paper displays
        • RGB LED Matrix Panels
      • Components
        • Microcontrollers
        • Sensors
        • Headers and Connectors
        • Buttons and Switches
        • Wire Jumpers and Cables
        • Antennas
        • Power Supplies
        • Batteries
        • Breadboards
        • RFid
        • Motors
        • SD Cards
      • Add-on Boards
        • TFT
        • Adapter
        • Miscellaneous
        • Ethernet
        • USB
        • microSD
        • LCD
        • LED Matrix
        • LED Segment
        • Battery charger
        • ADC
        • CAN
        • DAC
        • GPS/GNSS
        • Motion
        • Relay
        • WiFi
        • ZigBee
        • RS232
        • RS485
        • MP3
        • EEPROM
        • FLASH
        • Microphone
        • Potentiometer
        • RFID/NFC
        • RTC
        • Stepper
        • Temperature & Humidity
    • Kits
      • PIC
        • mikroLab
          • PIC M
          • PIC L
          • PIC 18FK
          • PIC XL
          • PIC 18FJ
        • EasyStart
          • PIC EasyStart
        • TFT Designer
          • PIC 18FJ
        • TFT Developer
          • PIC 18FJ
        • GLCD Designer
          • GLCD Designer
        • GLCD Developer
          • GLCD Developer
      • ARM
        • mikroLab Kits
          • mikroLAB for STM32
          • mikroLAB for Tiva
        • EasyStart Kits
          • EasyStart Kit - STM32
          • Easy Start Kit - Tiva
        • TFT Designer Kits
          • TFT 3" - TIVA
          • TFT 4" - STM32F4
          • TFT 5" - TIVA
          • TFT 7" - STM32F4
          • TFT 3" - STM32 M3
          • TFT 3" - STM32 M4
        • TFT Developer Kits
          • TFT 3" - TIVA
          • TFT 3" - STM32F3
          • TFT 3" - STM32F4
        • TFT Professional Kits
          • TFT 5 Pro Kit - TIVA
          • TFT 7 Pro Kit - STM32F4
          • TFT Plus Pro Kit - STM32F4
      • PIC32
        • mikroLab Kits
          • mikroLAB for PIC32
        • EasyStart Kits
          • EasyStart Kit - PIC32MX4
          • EasyStart Kit - PIC32MX7
        • TFT Designer Kits
          • TFT 3" - PIC32MX4
          • TFT 4" - PIC32MX7
        • TFT Developer Kits
          • TFT 3" - PIC32MX4
        • Home Automation
          • AWS Home
      • dsPIC/PIC24
        • mikroLab Kits
          • mikroLAB for dsPIC
          • mikroLAB for dsPIC L
          • mikroLAB for dsPIC XL
        • EasyStart Kits
          • EasyStart Kit - dsPIC33FJ
          • EasyStart Kit - dsPIC33EP
          • EasyStart Kit - PIC24EP
          • Easy Start Kit - dsPIC30
        • TFT Designer Kits
          • TFT 3" - dsPIC33FJ
          • TFT 3" - dsPIC33EP
          • TFT 3" - PIC24EP
          • TFT 3" - PIC24FJ
        • TFT Developer Kits
          • TFT 3" - dsPIC33FJ
          • TFT 3" - PIC24FJ
          • TFT 3" - PIC24EP
          • TFT 3" - dsPIC33EP
      • AVR
        • mikroLab Kits
          • mikroLAB for AVR
          • mikroLAB for AVR L
          • mikroLAB for AVR XL
        • EasyStart Kits
          • Easy Start Kit - AVR
        • TFT Designer Kits
          • TFT Designer kit - XMEGA
        • TFT Developer Kits
          • TFT Developer kit - XMEGA
      • 8051
        • mikroLab Kits
          • mikroLAB for 8051 L
          • mikroLAB for 8051
        • EasyStart Kits
          • Easy Start Kit - 8051
  • Shop
  • Applications
  • Support
    • Helpdesk
    • Contact us
    • Forum
    • LibStock
    • Learn
    • Let's make
    • Books
    • Premium Tehnical Support
    • Product Customization
  • News
  • Price :

    More info
Reset filter
  • 0
Authentication
Account

Authentication

Forgot your password?

Empty cart

0 item/s in cart

Your cart is empty !
Total $0.00
cart checkout
  1. Home
  2. ebooks
  3. PIC Microcontrollers - Programming in Assembly
  4. pic16f887-microcontroller-device-overview

MikroElektronika books

1. PIC16F887 Microcontroller - Device Overview

 
The PIC16F887 is one of the latest products from Microchip. It features all the components which modern microcontrollers normally have. For its low price, wide range of application, high quality and easy availability, it is an ideal solution in applications such as: the control of different processes in industry, machine control devices, measurement of different values etc. Some of its main features are listed below.
  • RISC architecture
    • Only 35 instructions to learn
    • All single-cycle instructions except branches
  • Operating frequency 0-20 MHz
  • Precision internal oscillator
    • Factory calibrated
    • Software selectable frequency range of 8MHz to 31KHz
  • Power supply voltage 2.0-5.5V
    • Consumption: 220uA (2.0V, 4MHz), 11uA (2.0 V, 32 KHz) 50nA (stand-by mode)
  • Power-Saving Sleep Mode
  • Brown-out Reset (BOR) with software control option
  • 35 input/output pins
    • High current source/sink for direct LED drive
    • software and individually programmable pull-up resistor
    • Interrupt-on-Change pin
  • 8K ROM memory in FLASH technology
    • Chip can be reprogrammed up to 100.000 times
  • In-Circuit Serial Programming Option
    • Chip can be programmed even embedded in the target device
  • 256 bytes EEPROM memory
    • Data can be written more than 1.000.000 times
  • 368 bytes RAM memory
  • A/D converter:
    • 14-channels
    • 10-bit resolution
  • 3 independent timers/counters
  • Watch-dog timer
  • Analogue comparator module with
    • Two analogue comparators
    • Fixed voltage reference (0.6V)
    • Programmable on-chip voltage reference
  • PWM output steering control
  • Enhanced USART module
    • Supports RS-485, RS-232 and LIN2.0
    • Auto-Baud Detect
  • Master Synchronous Serial Port (MSSP)
    • supports SPI and I2C mode
pic-microcontrollers-examples-in-assembly-language-chapter-01-fig1-1
Fig. 1-1 PIC16F887 PDIP 40 Microcontroller
pic-microcontrollers-examples-in-assembly-language-chapter-01-fig1-2
Fig. 1-2 PIC16F887 QFN 44 Microcontroller
pic-microcontrollers-examples-in-assembly-language-chapter-01-fig1-3
Fig. 1-3 PIC16F887 Block Diagram

Pin Description

As seen in Fig. 1-1 above, the most pins are multi-functional. For example, designator RA3/AN3/Vref+/C1IN+ for the fifth pin specifies the following functions:
  • RA3 Port A third digital input/output
  • AN3 Third analog input
  • Vref+ Positive voltage reference
  • C1IN+ Comparator C1positive input
This small trick is often used because it makes the microcontroller package more compact without affecting its functionality. These various pin functions cannot be used simultaneously, but can be changed at any point during operation. The following tables, refer to the PDIP 40 microcontroller. pic-microcontrollers-examples-in-assembly-language-chapter-01-fig1-4
Table 1-1 Pin Assignment
pic-microcontrollers-examples-in-assembly-language-chapter-01-fig1-5
Table 1-1 cont. Pin Assignment
pic-microcontrollers-examples-in-assembly-language-chapter-01-fig1-6
Table 1-1 cont. Pin Assignment

Central Processor Unit (CPU)

I’m not going to bore you with the operation of the CPU at this stage, however it is important to state that the CPU is manufactured with in RISC technology an important factor when deciding which microprocessor to use. RISC Reduced Instruction Set Computer, gives the PIC16F887 two great advantages:
  • The CPU can recognizes only 35 simple instructions (In order to program some other microcontrollers it is necessary to know more than 200 instructions by heart).
  • The execution time is the same for all instructions except two and lasts 4 clock cycles (oscillator frequency is stabilized by a quartz crystal). The Jump and Branch instructions execution time is 2 clock cycles. It means that if the microcontroller’s operating speed is 20MHz, execution time of each instruc tion will be 200nS, i.e. the program will be executed at the speed of 5 million instructions per second!
pic-microcontrollers-examples-in-assembly-language-chapter-01-fig1-7
Fig. 1-4 CPU Memory

Memory

This microcontroller has three types of memory- ROM, RAM and EEPROM. All of them will be separately discussed since each has specific functions, features and organization.

ROM Memory

ROM memory is used to permanently save the program being executed. This is why it is often called “program memory”. The PIC16F887 has 8Kb of ROM (in total of 8192 locations). Since this ROM is made with FLASH technology, its contents can be changed by providing a special programming voltage (13V). Anyway, there is no need to explain it in detail because it is automatically performed by means of a special program on the PC and a simple electronic device called the Programmer. pic-microcontrollers-examples-in-assembly-language-chapter-01-fig1-8
Fig. 1-5 ROM Memory Consept

EEPROM Memory

Similar to program memory, the contents of EEPROM is permanently saved, even the power goes off. However, unlike ROM, the contents of the EEPROM can be changed during operation of the microcontroller. That is why this memory (256 locations) is a perfect one for permanently saving results created and used during the operation.

RAM Memory

This is the third and the most complex part of microcontroller memory. In this case, it consists of two parts: general-purpose registers and special-function registers (SFR). Even though both groups of registers are cleared when power goes off and even though they are manufactured in the same way and act in the similar way, their functions do not have many things in common. pic-microcontrollers-examples-in-assembly-language-chapter-01-fig1-9
Fig. 1-6 SFR and General Purpose Registers

General-Purpose Registers

General-Purpose registers are used for storing temporary data and results created during operation. For example, if the program performs a counting (for example, counting products on the assembly line), it is necessary to have a register which stands for what we in everyday life call “sum”. Since the microcontroller is not creative at all, it is necessary to specify the address of some general purpose register and assign it a new function. A simple program to increment the value of this register by 1, after each product passes through a sensor, should be created. Therefore, the microcontroller can execute that program because it now knows what and where the sum which must be incremented is. Similarly to this simple example, each program variable must be preassigned some of general-purpose register.

SFR Registers

Special-Function registers are also RAM memory locations, but unlike general-purpose registers, their purpose is predetermined during manufacturing process and cannot be changed. Since their bits are physically connected to particular circuits on the chip (A/D converter, serial communication module, etc.), any change of their contents directly affects the operation of the microcontroller or some of its circuits. For example, by changing the TRISA register, the function of each port A pin can be changed in a way it acts as input or output. Another feature of these memory locations is that they have their names (registers and their bits), which considerably facilitates program writing. Since high-level programming language can use the list of all registers with their exact addresses, it is enough to specify the register’s name in order to read or change its contents.

RAM Memory Banks

The data memory is partitioned into four banks. Prior to accessing some register during program writing (in order to read or change its contents), it is necessary to select the bank which contains that register. Two bits of the STATUS register are used for bank selecting, which will be discussed later. In order to facilitate operation, the most commonly used SFRs have the same address in all banks which enables them to be easily accessed. pic-microcontrollers-examples-in-assembly-language-chapter-01-fig1-10
Table 1-2 Address Banks
pic-microcontrollers-examples-in-assembly-language-chapter-01-fig1-11
Table 1-3 SFR Bank 0
pic-microcontrollers-examples-in-assembly-language-chapter-01-fig1-12
Table 1-4 SFR Bank 1
pic-microcontrollers-examples-in-assembly-language-chapter-01-fig1-13
Table 1-5 SFR Bank 2
pic-microcontrollers-examples-in-assembly-language-chapter-01-fig1-14
Table 1-6 SFR Bank 3

STACK

A part of the RAM used for the stack consists of eight 13-bit registers. Before the microcontroller starts to execute a subroutine (CALLinstruction) or when an interrupt occurs, the address of first next instruction being currently executed is pushed onto the stack, i.e. onto one of its registers. In that way, upon subroutine or interrupt execution, the microcontroller knows from where to continue regular program execution. This address is cleared upon return to the main program because there is no need to save it any longer, and one location of the stack is automatically available for further use. It is important to understand that data is always circularly pushed onto the stack. It means that after the stack has been pushed eight times, the ninth push overwrites the value that was stored with the first push. The tenth push overwrites the second push and so on. Data overwritten in this way is not recoverable. In addition, the programmer cannot access these registers for write or read and there is no Status bit to indicate stack overflow or stack underflow conditions. For that reason, one should take special care of it during program writing.

Interrupt System

The first thing that the microcontroller does when an interrupt request arrives is to execute the current instruction and then stop regular program execution. Immediately after that, the current program memory address is automatically pushed onto the stack and the default address (predefined by the manufacturer) is written to the program counter. That location from where the program continues execution is called the interrupt vector. For the PIC16F887 microcontroller, this address is 0004h. As seen in Fig. 1-7 below, the location containing interrupt vector is passed over during regular program execution. Part of the program being activated when an interrupt request arrives is called the interrupt routine. Its first instruction is located at the interrupt vector. How long this subroutine will be and what it will be like depends on the skills of the programmer as well as the interrupt source itself. Some microcontrollers have more interrupt vectors (every interrupt request has its vector), but in this case there is only one. Consequently, the first part of the interrupt routine consists in interrupt source recognition. Finally, when the interrupt source is recognized and interrupt routine is executed, the microcontroller reaches the RETFIE instruction, pops the address from the stack and continues program execution from where it left off. pic-microcontrollers-examples-in-assembly-language-chapter-01-fig1-15
Fig.1-7 Interrupt System

How to use SFRs

You have bought the microcontroller and have a good idea how to use it...There is a long list of SFRs with all bits. Each of them controls some process. All in all, it looks like a big control table with a lot of instruments and switches. Now you are concerned about whether you will manage to learn how to use them all? You will probably not, but don’t worry, you don’t have to! Such powerful microcontrollers are similar to a supermarkets: they offer so many things at low prices and it is only up to you to choose. Therefore, select the field you are interested in and study only what you need to know. Afterwards, when you completely understand hardware operation, study SFRs which are in control of it ( there are usually a few of them). To reiterate, during program writing and prior to changing some bits of these registers, do not forget to select the appropriate bank. This is why they are listed in the tables above.

MikroElektronikaebooksPIC Microcontrollers - Programming in Assembly pic16f887-microcontroller-device-overview

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?

Subscribe to

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

Join us

Careers
Make a Click
Internship
Careers
Make a Click
Internship

Company

  • About us
  • Contact
  • Leadership
  • PressKit
  • Distributors
  • Timeline
  • Legal

Toolchains

  • PIC
  • dsPIC
  • PIC32
  • ARM
  • AVR
  • FT90X
  • 8051
  • PSOC
  • CEC

Resources

  • mikroBUS™
  • mikroSDK
  • Click Cloud
  • Premium TS
  • Hexiwear™
  • Libstock™
  • eBooks
  • Outlet
  • Product Customization
Copyright© 2019 MikroElektronika d.o.o.

Privacy