14-segmentový LED displej
Zo stránky SensorWiki
Záverečný projekt predmetu MIPS / LS2024 - Lea Lenka Ondrejková
Zadanie
Pripojenie 14-segmentového LED displeja k vývojovej doske ARDUINO UNO R3, vytvorenie knižnice pre 14-segmentový dislej. Ak sa stlačí tlačidlo tak sa zobrazí abeceda a číslice na 14-segmentovke.
Literatúra:
Analýza a opis riešenia
K segmentovke sme museli spraviť knižnicu, pre zadefinovanie rôznych znakov podľa určitých segmentov. Napríklad pri znaku A vysvietime segmenty: A,B,C,E,F,P,K a ostatné segmenty, ktoré nesvetia musíme vypnúť kvôli tomu že segmentovka pracuje na zápornej logike.
Algoritmus a program
#include <avr/io.h>
#include <util/delay.h> // Include the delay header
#include "Seg_lib.h"
#include "uart.h"
#include <stdio.h>
FILE mystdout = FDEV_SETUP_STREAM(uart_putc, NULL, _FDEV_SETUP_WRITE);
// Define the CPU clock speed (if not already defined) for delay calculations
#ifndef F_CPU
#define F_CPU 16000000UL // Assuming a 16 MHz clock, adjust as per your hardware
#endif
int main()
{
segment_display_init();
uart_init();
stdout = &mystdout;
char ReceivedChar;
printf("Test");
while(1) {
ReceivedChar = uart_getc();
if (ReceivedChar == 65) {
seg_A();
} else if (ReceivedChar == 'B') {
seg_B();
} else if (ReceivedChar == 'C') {
seg_C();
}
_delay_ms(10);
}
segment_display_on();
return 0;
}
}
//SEG.LIB.C KNIZNICA PRE 14 SEGMENTOVKU KINGBRIGHT
//ONDREJKOVA LEA LENKA
#include <avr/io.h>
#include "Seg_lib.h"
#define SEG_OFF(reg, bit) ((reg) |= (1 << (bit))) //JEDNA
#define SEG_ON(reg, bit) ((reg) &= ~(1 << (bit))) //NULA
#define SEG_1_E_PIN PD1
#define SEG_2_N_PIN PD2
#define SEG_4_M_PIN PD4
#define SEG_5_L_PIN PD5
#define SEG_6_K_PIN PD6
#define SEG_7_D_PIN PD7
#define SEG_9_C_PIN PB1
#define SEG_10_B_PIN PB2
#define SEG_12_A_PIN PB4
#define SEG_13_P_PIN PB5
#define SEG_14_J_PIN PC0
#define SEG_15_H_PIN PC1
#define SEG_17_G_PIN PC2
#define SEG_18_F_PIN PC3
#define SEG_1_E_PORT PORTD
#define SEG_2_N_PORT PORTD
#define SEG_4_M_PORT PORTD
#define SEG_5_L_PORT PORTD
#define SEG_6_K_PORT PORTD
#define SEG_7_D_PORT PORTD
#define SEG_9_C_PORT PORTB
#define SEG_10_B_PORT PORTB
#define SEG_12_A_PORT PORTB
#define SEG_13_P_PORT PORTB
#define SEG_14_J_PORT PORTC
#define SEG_15_H_PORT PORTC
#define SEG_17_G_PORT PORTC
#define SEG_18_F_PORT PORTC
void segment_display_init()
{
DDRD |= (1 << SEG_1_E_PIN) | (1 << SEG_2_N_PIN) | (1 << SEG_4_M_PIN) | (1 << SEG_5_L_PIN) | (1 << SEG_6_K_PIN) | (1 << SEG_7_D_PIN);
DDRB |= (1 << SEG_9_C_PIN) | (1 << SEG_10_B_PIN) | (1 << SEG_12_A_PIN) | (1 << SEG_13_P_PIN);
DDRC |= (1 << SEG_14_J_PIN) | (1 << SEG_15_H_PIN) | (1 << SEG_17_G_PIN) | (1 << SEG_18_F_PIN);
}
void segment_display_on()
{
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN); //E
SEG_ON(SEG_2_N_PORT, SEG_2_N_PIN); //N
SEG_ON(SEG_4_M_PORT, SEG_4_M_PIN); //M
SEG_ON(SEG_5_L_PORT, SEG_5_L_PIN); //L
SEG_ON(SEG_6_K_PORT, SEG_6_K_PIN); //K
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN); //D
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN); //C
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN); //B
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN); //A
SEG_ON(SEG_13_P_PORT, SEG_13_P_PIN); //P
SEG_ON(SEG_14_J_PORT, SEG_14_J_PIN); //J
SEG_ON(SEG_15_H_PORT, SEG_15_H_PIN); //H
SEG_ON(SEG_17_G_PORT, SEG_17_G_PIN); //G
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN); //F
}
void segment_display_off()
{
SEG_OFF(SEG_1_E_PORT, SEG_1_E_PIN); //E
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN); //N
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN); //M
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN); //L
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN); //K
SEG_OFF(SEG_7_D_PORT, SEG_7_D_PIN); //D
SEG_OFF(SEG_9_C_PORT, SEG_9_C_PIN); //C
SEG_OFF(SEG_10_B_PORT, SEG_10_B_PIN); //B
SEG_OFF(SEG_12_A_PORT, SEG_12_A_PIN); //A
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN); //P
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN); //J
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN); //H
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN); //G
SEG_OFF(SEG_18_F_PORT, SEG_18_F_PIN); //F
}
void seg_A()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN); //A
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN); //B
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN); //C
SEG_ON(SEG_13_P_PORT, SEG_13_P_PIN); //P
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN); //E
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN); //F
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN); //G
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN); //H
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN); //J
SEG_ON(SEG_6_K_PORT, SEG_6_K_PIN); //K
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN); //L
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN); //M
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN); //N
SEG_OFF(SEG_7_D_PORT, SEG_7_D_PIN); //D
}
void seg_B()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN); //A
SEG_OFF(SEG_10_B_PORT, SEG_10_B_PIN); //B
SEG_OFF(SEG_9_C_PORT, SEG_9_C_PIN); //C
SEG_ON(SEG_13_P_PORT, SEG_13_P_PIN); //P
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN); //E
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN); //F
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN); //G
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN); //H
SEG_ON(SEG_14_J_PORT, SEG_14_J_PIN); //J
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN); //K
SEG_ON(SEG_5_L_PORT, SEG_5_L_PIN); //L
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN); //M
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN); //N
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN); //D
}
void seg_C()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN); //A
SEG_OFF(SEG_10_B_PORT, SEG_10_B_PIN); //B
SEG_OFF(SEG_9_C_PORT, SEG_9_C_PIN); //C
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN); //P
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN); //E
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN); //F
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN); //G
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN); //H
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN); //J
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN); //K
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN); //L
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN); //M
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN); //N
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN); //D
}
void seg_D()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN); //A
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN); //B
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN); //C
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN); //P
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN); //E
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN); //F
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN); //G
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN); //H
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN); //J
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN); //K
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN); //L
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN); //M
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN); //N
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN); //D
}
void seg_E()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN); //A
SEG_OFF(SEG_10_B_PORT, SEG_10_B_PIN); //B
SEG_OFF(SEG_9_C_PORT, SEG_9_C_PIN); //C
SEG_ON(SEG_13_P_PORT, SEG_13_P_PIN); //P
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN); //E
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN); //F
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN); //G
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN); //H
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN); //J
SEG_ON(SEG_6_K_PORT, SEG_6_K_PIN); //K
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN); //L
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN); //M
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN); //N
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN); //D
}
void seg_F()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN); //A
SEG_OFF(SEG_10_B_PORT, SEG_10_B_PIN); //B
SEG_OFF(SEG_9_C_PORT, SEG_9_C_PIN); //C
SEG_ON(SEG_13_P_PORT, SEG_13_P_PIN); //P
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN); //E
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN); //F
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN); //G
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN); //H
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN); //J
SEG_ON(SEG_6_K_PORT, SEG_6_K_PIN); //K
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN); //L
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN); //M
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN); //N
SEG_OFF(SEG_7_D_PORT, SEG_7_D_PIN); //D
}
void seg_G()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN); //A
SEG_OFF(SEG_10_B_PORT, SEG_10_B_PIN); //B
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN); //C
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN); //P
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN); //E
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN); //F
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN); //G
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN); //H
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN); //J
SEG_ON(SEG_6_K_PORT, SEG_6_K_PIN); //K
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN); //L
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN); //M
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN); //N
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN); //D
}
void seg_H()
{
SEG_OFF(SEG_12_A_PORT, SEG_12_A_PIN); //A
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN); //B
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN); //C
SEG_ON(SEG_13_P_PORT, SEG_13_P_PIN); //P
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN); //E
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN); //F
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN); //G
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN); //H
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN); //J
SEG_ON(SEG_6_K_PORT, SEG_6_K_PIN); //K
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN); //L
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN); //M
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN); //N
SEG_OFF(SEG_7_D_PORT, SEG_7_D_PIN); //D
}
void seg_I()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN); //A
SEG_OFF(SEG_10_B_PORT, SEG_10_B_PIN); //B
SEG_OFF(SEG_9_C_PORT, SEG_9_C_PIN); //C
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN); //P
SEG_OFF(SEG_1_E_PORT, SEG_1_E_PIN); //E
SEG_OFF(SEG_18_F_PORT, SEG_18_F_PIN); //F
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN); //G
SEG_ON(SEG_15_H_PORT, SEG_15_H_PIN); //H
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN); //J
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN); //K
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN); //L
SEG_ON(SEG_4_M_PORT, SEG_4_M_PIN); //M
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN); //N
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN); //D
}
void seg_J()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN); //A
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN); //B
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN); //C
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN); //P
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN); //E
SEG_OFF(SEG_18_F_PORT, SEG_18_F_PIN); //F
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN); //G
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN); //H
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN); //J
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN); //K
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN); //L
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN); //M
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN); //N
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN); //D
}
void seg_K()
{
SEG_OFF(SEG_12_A_PORT, SEG_12_A_PIN); //A
SEG_OFF(SEG_10_B_PORT, SEG_10_B_PIN); //B
SEG_OFF(SEG_9_C_PORT, SEG_9_C_PIN); //C
SEG_ON(SEG_13_P_PORT, SEG_13_P_PIN); //P
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN); //E
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN); //F
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN); //G
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN); //H
SEG_ON(SEG_14_J_PORT, SEG_14_J_PIN); //J
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN); //K
SEG_ON(SEG_5_L_PORT, SEG_5_L_PIN); //L
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN); //M
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN); //N
SEG_OFF(SEG_7_D_PORT, SEG_7_D_PIN); //D
}
void seg_L()
{
SEG_OFF(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_OFF(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_OFF(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_M()
{
SEG_OFF(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_ON(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_ON(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_OFF(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_N()
{
SEG_OFF(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_ON(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_ON(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_OFF(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_O()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_P()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_OFF(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_ON(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_ON(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_OFF(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_Q()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_ON(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_R()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_OFF(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_ON(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_ON(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_ON(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_OFF(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_S()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_OFF(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_ON(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_OFF(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_ON(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_T()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_OFF(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_OFF(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_OFF(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_OFF(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_ON(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_ON(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_OFF(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_U()
{
SEG_OFF(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_V()
{
SEG_OFF(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_OFF(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_OFF(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_ON(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_ON(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_OFF(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_W()
{
SEG_OFF(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_ON(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_ON(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_ON(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_OFF(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_X()
{
SEG_OFF(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_OFF(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_OFF(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_OFF(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_OFF(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_ON(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_ON(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_ON(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_ON(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_OFF(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_Y()
{
SEG_OFF(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_OFF(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_OFF(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_OFF(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_OFF(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_ON(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_ON(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_ON(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_OFF(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_Z()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_OFF(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_OFF(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_OFF(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_OFF(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_ON(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_ON(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN);
}
//CISLICE
void seg_1()
{
SEG_OFF(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_OFF(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_OFF(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_OFF(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_2()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_OFF(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_ON(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_OFF(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_ON(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_3()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_ON(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_OFF(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_OFF(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_ON(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_4()
{
SEG_OFF(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_ON(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_OFF(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_ON(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_OFF(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_5()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_OFF(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_ON(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_OFF(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_ON(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_6()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_OFF(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_ON(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_ON(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_7()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_OFF(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_OFF(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_OFF(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_8()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_ON(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_ON(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_9()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_ON(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_OFF(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_ON(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN);
}
void seg_0()
{
SEG_ON(SEG_12_A_PORT, SEG_12_A_PIN);
SEG_ON(SEG_10_B_PORT, SEG_10_B_PIN);
SEG_ON(SEG_9_C_PORT, SEG_9_C_PIN);
SEG_OFF(SEG_13_P_PORT, SEG_13_P_PIN);
SEG_ON(SEG_1_E_PORT, SEG_1_E_PIN);
SEG_ON(SEG_18_F_PORT, SEG_18_F_PIN);
SEG_OFF(SEG_17_G_PORT, SEG_17_G_PIN);
SEG_OFF(SEG_15_H_PORT, SEG_15_H_PIN);
SEG_OFF(SEG_14_J_PORT, SEG_14_J_PIN);
SEG_OFF(SEG_6_K_PORT, SEG_6_K_PIN);
SEG_OFF(SEG_5_L_PORT, SEG_5_L_PIN);
SEG_OFF(SEG_4_M_PORT, SEG_4_M_PIN);
SEG_OFF(SEG_2_N_PORT, SEG_2_N_PIN);
SEG_ON(SEG_7_D_PORT, SEG_7_D_PIN);
}
//SEG.LIB.H KNIZNICA PRE 14 SEGMENTOVKU KINGBRIGHT
//ONDREJKOVA LEA LENKA
#ifndef SEGLIB_H_
#define SEGLIB_H_
void segment_display_init();
void segment_display_on();
void segment_display_off();
void seg_A();
void seg_B();
void seg_C();
void seg_D();
void seg_E();
void seg_F();
void seg_G();
void seg_H();
void seg_I();
void seg_J();
void seg_K();
void seg_L();
void seg_M();
void seg_N();
void seg_O();
void seg_P();
void seg_Q();
void seg_R();
void seg_S();
void seg_T();
void seg_U();
void seg_V();
void seg_W();
void seg_X();
void seg_Y();
void seg_Z();
void seg_0();
void seg_1();
void seg_2();
void seg_3();
void seg_4();
void seg_5();
void seg_6();
void seg_7();
void seg_8();
void seg_9();
#endif /* SEGLIB_H_ */
Pridajte sem aj zbalený kompletný projekt, napríklad takto (použite jednoznačné pomenovanie, nemôžeme mať na serveri 10x zdrojaky.zip:
Zdrojový kód: zdrojaky.zip
Overenie
Na používanie našej aplikácie stačia dve tlačítka a postup používania je opísaný v sekcii popis riešenia. Na konci uvádzame fotku záverečnej obrazovky pred resetom. Vypísaný je tu priemerný čas a najlepší čas.
Video: