UC1601S-I2C.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #pragma once
  2. #include <avr/io.h>
  3. #include <util/delay.h>
  4. #include "expander.h"
  5. #define LCD_WriteCommand(x)
  6. #define UC1601S_CA30 0x00
  7. #define UC1601S_CA74 0x10
  8. #define UC1601S_TC 0x24
  9. #define UC1601S_PC 0x28
  10. #define UC1601S_ADV 0x30
  11. #define UC1601S_SL 0x40
  12. #define UC1601S_PA 0xb0
  13. #define UC1601S_PM 0x81
  14. #define UC1601S_LC4 0x84
  15. #define UC1601S_AC 0x88
  16. #define UC1601S_LC3 0xa0
  17. #define UC1601S_DC1 0xa4
  18. #define UC1601S_DC0 0xa6
  19. #define UC1601S_DC2 0xae
  20. #define UC1601S_LC21 0xc0
  21. #define UC1601S_SYSTEMRESET 0xe2
  22. #define UC1601S_NOP 0xe3
  23. #define UC1601S_BR 0xe8
  24. #define UC1601S_CEN 0xf1
  25. #define UC1601S_DST 0xf2
  26. #define UC1601S_DEN 0xf3
  27. #define UC1601S_INTERNAL_VLCD 0x6
  28. #define UC1601S_BIAS_RATIO_6 0x0
  29. #define UC1601S_BIAS_RATIO_7 0x1
  30. #define UC1601S_BIAS_RATIO_8 0x2
  31. #define UC1601S_BIAS_RATIO_9 0x3
  32. #define UC1601S_DATA_OUTPUT() expander_set_dir(0, 0x00, 0x00)
  33. #define UC1601S_DATA_INPUT() expander_set_dir(0, 0xFF, 0x00)
  34. #define UC1601S_WR_PORT 1
  35. #define UC1601S_WR (1<<2)
  36. #define UC1601S_CD_PORT 1
  37. #define UC1601S_CD (1<<0)
  38. #define UC1601S_RD_PORT 1
  39. #define UC1601S_RD (1<<3)
  40. #define UC1601S_CS_PORT 1
  41. #define UC1601S_CS (1<<1)
  42. #define UC1601S_RST_PORT 1
  43. #define UC1601S_RST (1<<6)
  44. void uc1601s_write_command(unsigned char cmd);
  45. void uc1601s_write_data(unsigned char data);
  46. unsigned char uc1601s_read_data(void);
  47. void LCD_Initialize(void);
  48. void LCD_Clear(void);
  49. void LCD_GoTo(unsigned char x, unsigned char y);
  50. void LCD_WriteTextP(__flash const char *t);
  51. void LCD_WriteText(const char *t);
  52. void LCD_WriteChar(char c);
  53. #define LCD_WriteData(c) LCD_WriteChar(c)