zlg7290.h
上传用户:wealth48
上传日期:2022-06-24
资源大小:1701k
文件大小:2k
源码类别:

uCOS

开发平台:

C/C++

  1. /***************************************************************************
  2. Copyright (c) 2004-2007 threewater@up-tech.com, All rights reserved.
  3. by threewter 2005.2.26
  4. ***************************************************************************/
  5. /***************************************************************************
  6.     #说明: zlg7290驱动程序头文件,只包括led显示部分,
  7.      键盘扫描部分在keyboard.c中
  8. ----------------------------------  Bug  --------------------------------------
  9. ----------------------------------  TODO list  --------------------------------------
  10. ----------------------------------修正--------------------------------------
  11. 2005-2-26 创建
  12. ***************************************************************************/
  13. #ifndef __ZLG7290_H__
  14. #define __ZLG7290_H__
  15. #include "../inc/drv/iic.h"
  16. #define ZLG7290_ADDR 0x70
  17. #define ZLG7290_SystemReg 0x00
  18. #define ZLG7290_Key 0x01
  19. #define ZLG7290_RepeatCnt 0x02
  20. #define ZLG7290_FunctionKey 0x03
  21. #define ZLG7290_CmdBuf0 0x07
  22. #define ZLG7290_CmdBuf1 0x08
  23. #define ZLG7290_FlashOnOff 0x0C
  24. #define ZLG7290_ScanNum 0x0D
  25. #define ZLG7290_DpRam0 0x10
  26. #define ZLG7290_DpRam1 0x11
  27. #define ZLG7290_DpRam2 0x12
  28. #define ZLG7290_DpRam3 0x13
  29. #define ZLG7290_DpRam4 0x14
  30. #define ZLG7290_DpRam5 0x15
  31. #define ZLG7290_DpRam6 0x16
  32. #define ZLG7290_DpRam7 0x17
  33. #define ZLG7289_IICCON (IICCON_ACKEN |IICCON_CLK512 | IICCON_INTR | IICCON_CLKPRE(0x3))
  34. __inline void ZLG7290_SetLED(int index,char letter)
  35. {
  36. IIC_MasterTxStart(ZLG7290_ADDR);
  37. IIC_MasterTx(ZLG7290_DpRam0+index);
  38. IIC_MasterTx(letter);
  39. IIC_MasterTxStop();
  40. }
  41. __inline void ZLG7290_SetLEDS(char letter[6])
  42. {
  43. IIC_MasterTxStart(ZLG7290_ADDR);
  44. IIC_MasterTx(ZLG7290_DpRam0);
  45. IIC_MasterTx(letter[0]);
  46. IIC_MasterTx(letter[1]);
  47. IIC_MasterTx(letter[2]);
  48. IIC_MasterTx(letter[3]);
  49. IIC_MasterTx(letter[4]);
  50. IIC_MasterTx(letter[5]);
  51. IIC_MasterTx(letter[6]);
  52. IIC_MasterTx(letter[7]);
  53. IIC_MasterTxStop();
  54. }
  55. #endif