UT-M 7-SEG R click carries two SMD ultra thin LED 7-SEG displays and the MAX6969 constant-current LED driver from Analog Devices. The click is designed to run on either 3.3V or 5V power supply. It communicates with the target microcontroller over SPI interface.
Display features
How the click works
The 7 segment displays are interfaced to the MCU over the MAX6969 16-port, constant-current LED driver IC.
It uses the common 4-wire serial bus for communication with the MCU itself (LE, SCK, SDO, SDI on mikroBUS™ pin socket).
There is an additional OE (output enable) pin which is used to control the output driver state (enabled/disabled). Since it is the PWM output pin on the mikroBUS™ by default, the LED segments light intensity could be controlled by software too.
MAX6969 driver features
The MAX6969 uses the industry-standard, shift-register-plus-latch-type serial interface.
The driver accepts data shifted into a 16-bit shift register using data input DIN and clock input CLK. Input data appears at the DOUT output 16 clock cycles later to allow cascading of multiple MAX6969s. So, the IC allows you to connect multiple click boards™ – for applications that require more than two seven segment displays, such as digital clocks, temperature sensors, etc.
Specifications
Type
7-segment,LED Segment
Applications
Displaying digits and letters on two 7 segment displays
On-board modules
MAX6969 6-Port, 5.5V Constant-Current LED Driver
Key Features
Excellent character appearance, low power consumption
Interface
SPI
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
M (42.9 x 25.4 mm)
Input Voltage
3.3V or 5V
Pinout diagram
This table shows how the pinout on UT-M 7-SEG R click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Jumpers and settings
Designator | Name | Default Position | Default Option | Description |
---|---|---|---|---|
JP1 | PRW.SEL. | Left | 3V3 | Power Supply Voltage Selection 3V3/5V, left position 3V3, right position 5V |
Programming
Code examples for UT-M 7-SEG R click, written for MikroElektronika hardware and compilers are available on Libstock.
Code snippet
The following code snippet counts down from 99 to 0 on the displays of the UT-M 7-SEG R click.
01 sbit MAX6969_LE_PIN at RC2_bit; 02 sbit MAX6969_LE_PIN_Direction at TRISC2_bit; 03 04 uint16_t pwmPeriod; 05 static const uint8_t minus_char = 0x40; 06 07 void systemInit() 08 { 09 AD1PCFG = 0xFFFF; 10 MAX6969_LE_PIN_Direction = 0; 11 SPI3_Init(); 12 pwmPeriod = PWM_Init(5000, 1, 1, 2); 13 PWM_Start(1); 14 PWM_Set_Duty(pwmPeriod/10, 1); 15 16 } 17 18 void MAX6969_Chip_Select() 19 { 20 MAX6969_LE_PIN = 1; 21 asm nop 22 asm nop 23 asm nop 24 MAX6969_LE_PIN = 0; 25 } 26 27 static void U7SEG_Write(uint8_t number) 28 { 29 char numbers[10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F}; 30 uint8_t tens = number / 10; 31 uint8_t ones = number % 10; 32 if (number > 99) return; 33 34 SPI_Wr_Ptr(numbers[ones]); 35 SPI_Wr_Ptr(numbers[tens]); 36 } 37 38 void main() 39 { 40 uint8_t counter; 41 42 systemInit(); 43 counter = 100; 44 45 while(counter--) 46 { 47 U7SEG_Write(counter); 48 MAX6969_Chip_Select(); 49 Delay_ms(500); 50 } 51 52 SPI_Wr_Ptr(minus_char); 53 SPI_Wr_Ptr(minus_char); 54 MAX6969_Chip_Select(); 55 }