max7219.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /*
  2. * max7219.h
  3. *
  4. * Created on: 29 січ. 2016
  5. * Author: shilov
  6. */
  7. #ifndef INCLUDE_MAX7219_H_
  8. #define INCLUDE_MAX7219_H_
  9. // symbols
  10. // Для BCD
  11. #define MAX7219_CHAR_MINUS 0x0A
  12. #define MAX7219_CHAR_E 0x0B
  13. #define MAX7219_CHAR_H 0x0C
  14. #define MAX7219_CHAR_L 0x0D
  15. #define MAX7219_CHAR_P 0x0E
  16. #define MAX7219_CHAR_BLANK 0x0F
  17. // без кодирования
  18. #define SYM_Gradus 0x63
  19. #define SYM_LGradus 0x1D
  20. #define SYM_Temp 0x0F
  21. #define SYM_Minus 0x01
  22. #define SYM_Minus2L 0x09
  23. #define SYM_Minus2H 0x41
  24. #define SYM_Minus3 0x49
  25. #define SYM_BLANK 0x00
  26. #define SYM_FULL 0xFF
  27. #define SYM_H 0x37
  28. #define SYM_C 0x4E
  29. #define SYM_C_sm 0x0D
  30. #define MAX7219_ON 0x01
  31. #define MAX7219_OFF 0x00
  32. #define MAX7219_BRIGHT 0x08
  33. // режимы работы
  34. #define MAX7219_MODE_DECODE 0x09
  35. #define MAX7219_MODE_INTENSITY 0x0A
  36. #define MAX7219_MODE_SCAN_LIMIT 0x0B
  37. #define MAX7219_MODE_POWER 0x0C
  38. #define MAX7219_MODE_TEST 0x0F
  39. #define MAX7219_MODE_NOOP 0x00
  40. // соответствие разрядов
  41. #define MAX7219_DIGIT0 0x01
  42. #define MAX7219_DIGIT1 0x02
  43. #define MAX7219_DIGIT2 0x03
  44. #define MAX7219_DIGIT3 0x04
  45. #define MAX7219_DIGIT4 0x05
  46. #define MAX7219_DIGIT5 0x06
  47. #define MAX7219_DIGIT6 0x07
  48. #define MAX7219_DIGIT7 0x08
  49. // соответсвие бит сегментам
  50. #define SEG_A 6
  51. #define SEG_B 5
  52. #define SEG_C 4
  53. #define SEG_D 3
  54. #define SEG_E 2
  55. #define SEG_F 1
  56. #define SEG_G 0
  57. #define SEG_DP 7
  58. void MAX7219_writeData (uint8_t data_register, uint8_t data);
  59. void MAX7219_Init (void);
  60. void MAX7219_FillMinus(void);
  61. #endif /* INCLUDE_MAX7219_H_ */