G
Guest
Guest
Здравствуйте,
.
Я зробив цю функцію, може бути, швидко, але я не знаю, якщо це можливо, щоб оптимізувати його.Тому що це займає багато пам'яті, дані програми ...(Наприклад, 200 байт).
Це для PIC16Fxxx ...
Я думаю, це основна форма для цієї функції.Використання цієї функції, як vAffichage ('7 ');Код:# Включити <pic.h># Визначити SEGMENT_A RB0
# Визначити SEGMENT_B RB1
# Визначити SEGMENT_C RB2
# Визначити SEGMENT_D RB3
# Визначити SEGMENT_E RB4
# Визначити SEGMENT_F RB5
# Визначити SEGMENT_G RB6# Визначити ПО 1
# Визначити OFF 0недійсним vAffichage (непідписані символ ucCharacter)
(
перемикач (ucCharacter)
(
випадку '0 ':
випадку 'O':
SEGMENT_A = ON;
SEGMENT_B = ON;
SEGMENT_C = ON;
SEGMENT_D = ON;
SEGMENT_E = ON;
SEGMENT_F = ON;
SEGMENT_G = OFF;
перерви;
випадку '1 ':
випадку 'L':
SEGMENT_A = OFF;
SEGMENT_B = ON;
SEGMENT_C = ON;
SEGMENT_D = OFF;
SEGMENT_E = OFF;
SEGMENT_F = OFF;
SEGMENT_G = OFF;
перерви;
випадку '2 ':
SEGMENT_A = ON;
SEGMENT_B = ON;
SEGMENT_C = OFF;
SEGMENT_D = ON;
SEGMENT_E = ON;
SEGMENT_F = OFF;
SEGMENT_G = ON;
перерви;
випадку '3 ':
SEGMENT_A = ON;
SEGMENT_B = ON;
SEGMENT_C = ON;
SEGMENT_D = ON;
SEGMENT_E = OFF;
SEGMENT_F = OFF;
SEGMENT_G = ON;
перерви;
випадку '4 ':
SEGMENT_A = OFF;
SEGMENT_B = ON;
SEGMENT_C = ON;
SEGMENT_D = OFF;
SEGMENT_E = OFF;
SEGMENT_F = ON;
SEGMENT_G = ON;
перерви;
випадку '5 ':
випадку 'S':
SEGMENT_A = ON;
SEGMENT_B = OFF;
SEGMENT_C = ON;
SEGMENT_D = ON;
SEGMENT_E = OFF;
SEGMENT_F = ON;
SEGMENT_G = ON;
перерви;
випадку '6 ':
SEGMENT_A = ON;
SEGMENT_B = OFF;
SEGMENT_C = ON;
SEGMENT_D = ON;
SEGMENT_E = ON;
SEGMENT_F = ON;
SEGMENT_G = ON;
перерви;
випадку '7 ':
SEGMENT_A = ON;
SEGMENT_B = ON;
SEGMENT_C = ON;
SEGMENT_D = OFF;
SEGMENT_E = OFF;
SEGMENT_F = OFF;
SEGMENT_G = OFF;
перерви;
випадку '8 ':
SEGMENT_A = ON;
SEGMENT_B = ON;
SEGMENT_C = ON;
SEGMENT_D = ON;
SEGMENT_E = ON;
SEGMENT_F = ON;
SEGMENT_G = ON;
перерви;
випадку '9 ':
SEGMENT_A = ON;
SEGMENT_B = ON;
SEGMENT_C = ON;
SEGMENT_D = OFF;
SEGMENT_E = OFF;
SEGMENT_F = ON;
SEGMENT_G = ON;
перерви;
випадку "D":
SEGMENT_A = OFF;
SEGMENT_B = ON;
SEGMENT_C = ON;
SEGMENT_D = ON;
SEGMENT_E = ON;
SEGMENT_F = OFF;
SEGMENT_G = ON;
перерви;
справа "про":
SEGMENT_A = OFF;
SEGMENT_B = OFF;
SEGMENT_C = ON;
SEGMENT_D = ON;
SEGMENT_E = ON;
SEGMENT_F = OFF;
SEGMENT_G = ON;
перерви;
випадку 'A':
SEGMENT_A = ON;
SEGMENT_B = ON;
SEGMENT_C = ON;
SEGMENT_D = OFF;
SEGMENT_E = ON;
SEGMENT_F = ON;
SEGMENT_G = ON;
перерви;
випадку 'C':
SEGMENT_A = ON;
SEGMENT_B = OFF;
SEGMENT_C = OFF;
SEGMENT_D = ON;
SEGMENT_E = ON;
SEGMENT_F = ON;
SEGMENT_G = OFF;
перерви;
випадку 'F':
SEGMENT_A = ON;
SEGMENT_B = OFF;
SEGMENT_C = OFF;
SEGMENT_D = OFF;
SEGMENT_E = ON;
SEGMENT_F = ON;
SEGMENT_G = ON;
перерви;
випадку 'H':
SEGMENT_A = OFF;
SEGMENT_B = ON;
SEGMENT_C = ON;
SEGMENT_D = OFF;
SEGMENT_E = ON;
SEGMENT_F = ON;
SEGMENT_G = ON;
перерви;
випадку 'L':
SEGMENT_A = OFF;
SEGMENT_B = OFF;
SEGMENT_C = OFF;
SEGMENT_D = ON;
SEGMENT_E = ON;
SEGMENT_F = ON;
SEGMENT_G = OFF;
перерви;
випадку 'P':
SEGMENT_A = ON;
SEGMENT_B = ON;
SEGMENT_C = OFF;
SEGMENT_D = OFF;
SEGMENT_E = ON;
SEGMENT_F = ON;
SEGMENT_G = ON;
перерви;
випадку '_':
SEGMENT_A = OFF;
SEGMENT_B = OFF;
SEGMENT_C = OFF;
SEGMENT_D = ON;
SEGMENT_E = OFF;
SEGMENT_F = OFF;
SEGMENT_G = OFF;
перерви;
) / / Fin перемикач (ucCharacter).)
.
Я зробив цю функцію, може бути, швидко, але я не знаю, якщо це можливо, щоб оптимізувати його.Тому що це займає багато пам'яті, дані програми ...(Наприклад, 200 байт).
Це для PIC16Fxxx ...
Я думаю, це основна форма для цієї функції.Використання цієї функції, як vAffichage ('7 ');Код:# Включити <pic.h># Визначити SEGMENT_A RB0
# Визначити SEGMENT_B RB1
# Визначити SEGMENT_C RB2
# Визначити SEGMENT_D RB3
# Визначити SEGMENT_E RB4
# Визначити SEGMENT_F RB5
# Визначити SEGMENT_G RB6# Визначити ПО 1
# Визначити OFF 0недійсним vAffichage (непідписані символ ucCharacter)
(
перемикач (ucCharacter)
(
випадку '0 ':
випадку 'O':
SEGMENT_A = ON;
SEGMENT_B = ON;
SEGMENT_C = ON;
SEGMENT_D = ON;
SEGMENT_E = ON;
SEGMENT_F = ON;
SEGMENT_G = OFF;
перерви;
випадку '1 ':
випадку 'L':
SEGMENT_A = OFF;
SEGMENT_B = ON;
SEGMENT_C = ON;
SEGMENT_D = OFF;
SEGMENT_E = OFF;
SEGMENT_F = OFF;
SEGMENT_G = OFF;
перерви;
випадку '2 ':
SEGMENT_A = ON;
SEGMENT_B = ON;
SEGMENT_C = OFF;
SEGMENT_D = ON;
SEGMENT_E = ON;
SEGMENT_F = OFF;
SEGMENT_G = ON;
перерви;
випадку '3 ':
SEGMENT_A = ON;
SEGMENT_B = ON;
SEGMENT_C = ON;
SEGMENT_D = ON;
SEGMENT_E = OFF;
SEGMENT_F = OFF;
SEGMENT_G = ON;
перерви;
випадку '4 ':
SEGMENT_A = OFF;
SEGMENT_B = ON;
SEGMENT_C = ON;
SEGMENT_D = OFF;
SEGMENT_E = OFF;
SEGMENT_F = ON;
SEGMENT_G = ON;
перерви;
випадку '5 ':
випадку 'S':
SEGMENT_A = ON;
SEGMENT_B = OFF;
SEGMENT_C = ON;
SEGMENT_D = ON;
SEGMENT_E = OFF;
SEGMENT_F = ON;
SEGMENT_G = ON;
перерви;
випадку '6 ':
SEGMENT_A = ON;
SEGMENT_B = OFF;
SEGMENT_C = ON;
SEGMENT_D = ON;
SEGMENT_E = ON;
SEGMENT_F = ON;
SEGMENT_G = ON;
перерви;
випадку '7 ':
SEGMENT_A = ON;
SEGMENT_B = ON;
SEGMENT_C = ON;
SEGMENT_D = OFF;
SEGMENT_E = OFF;
SEGMENT_F = OFF;
SEGMENT_G = OFF;
перерви;
випадку '8 ':
SEGMENT_A = ON;
SEGMENT_B = ON;
SEGMENT_C = ON;
SEGMENT_D = ON;
SEGMENT_E = ON;
SEGMENT_F = ON;
SEGMENT_G = ON;
перерви;
випадку '9 ':
SEGMENT_A = ON;
SEGMENT_B = ON;
SEGMENT_C = ON;
SEGMENT_D = OFF;
SEGMENT_E = OFF;
SEGMENT_F = ON;
SEGMENT_G = ON;
перерви;
випадку "D":
SEGMENT_A = OFF;
SEGMENT_B = ON;
SEGMENT_C = ON;
SEGMENT_D = ON;
SEGMENT_E = ON;
SEGMENT_F = OFF;
SEGMENT_G = ON;
перерви;
справа "про":
SEGMENT_A = OFF;
SEGMENT_B = OFF;
SEGMENT_C = ON;
SEGMENT_D = ON;
SEGMENT_E = ON;
SEGMENT_F = OFF;
SEGMENT_G = ON;
перерви;
випадку 'A':
SEGMENT_A = ON;
SEGMENT_B = ON;
SEGMENT_C = ON;
SEGMENT_D = OFF;
SEGMENT_E = ON;
SEGMENT_F = ON;
SEGMENT_G = ON;
перерви;
випадку 'C':
SEGMENT_A = ON;
SEGMENT_B = OFF;
SEGMENT_C = OFF;
SEGMENT_D = ON;
SEGMENT_E = ON;
SEGMENT_F = ON;
SEGMENT_G = OFF;
перерви;
випадку 'F':
SEGMENT_A = ON;
SEGMENT_B = OFF;
SEGMENT_C = OFF;
SEGMENT_D = OFF;
SEGMENT_E = ON;
SEGMENT_F = ON;
SEGMENT_G = ON;
перерви;
випадку 'H':
SEGMENT_A = OFF;
SEGMENT_B = ON;
SEGMENT_C = ON;
SEGMENT_D = OFF;
SEGMENT_E = ON;
SEGMENT_F = ON;
SEGMENT_G = ON;
перерви;
випадку 'L':
SEGMENT_A = OFF;
SEGMENT_B = OFF;
SEGMENT_C = OFF;
SEGMENT_D = ON;
SEGMENT_E = ON;
SEGMENT_F = ON;
SEGMENT_G = OFF;
перерви;
випадку 'P':
SEGMENT_A = ON;
SEGMENT_B = ON;
SEGMENT_C = OFF;
SEGMENT_D = OFF;
SEGMENT_E = ON;
SEGMENT_F = ON;
SEGMENT_G = ON;
перерви;
випадку '_':
SEGMENT_A = OFF;
SEGMENT_B = OFF;
SEGMENT_C = OFF;
SEGMENT_D = ON;
SEGMENT_E = OFF;
SEGMENT_F = OFF;
SEGMENT_G = OFF;
перерви;
) / / Fin перемикач (ucCharacter).)