TM1650.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /*
  2. www.makerstudio.cc
  3. */
  4. #ifndef TM1650_h
  5. #define TM1650_h
  6. #include <inttypes.h>
  7. #include <Arduino.h>
  8. //************definitions for TM1650*********************
  9. #define READ_KEY_CMD 0x49
  10. #define MODE_CMD 0x48
  11. /**************definitions for brightness***********************/
  12. #define BRIGHT_MOST 0x01
  13. #define BRIGHT_TYPICAL 0x21
  14. #define BRIGHT_OFF 0x00
  15. class TM1650
  16. {
  17. public:
  18. uint8_t Cmd_SetData;
  19. uint8_t Cmd_SetAddr;
  20. uint8_t Cmd_DispCtrl;
  21. boolean _PointFlag; //_PointFlag=1:the clock point on
  22. TM1650(uint8_t, uint8_t);
  23. void begin(void); //To initial the TM1650
  24. uint8_t readKey();//read and output key value
  25. void display(uint8_t DispData[]);
  26. void display(uint8_t BitAddr,uint8_t DispData);
  27. void setPoint(uint8_t PointPosition,boolean PointFlag);//whether to light the point in different places
  28. void clearDisplay(void);//turn off all the leds
  29. void clearDisplay(uint8_t BitAddr);//turn off specific LED
  30. private:
  31. uint8_t Clkpin;
  32. uint8_t Datapin;
  33. uint8_t storeDat[4];
  34. void start(void);//send start bits
  35. void stop(void); //send stop bits
  36. void writeByte(uint8_t wr_data);//write 8bit data to TM1650
  37. uint8_t readByte();//read 8bit from to TM1650
  38. };
  39. #endif