135 lines
3.9 KiB
C
135 lines
3.9 KiB
C
|
|
|
|||
|
|
|
|||
|
|
#ifndef __TM1637_H__
|
|||
|
|
#define __TM1637_H__
|
|||
|
|
|
|||
|
|
#include "config.h"
|
|||
|
|
|
|||
|
|
#ifndef LEDKEY_TM1637
|
|||
|
|
#define LEDKEY_TM1637 0
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
|
|||
|
|
// tm1637 <20>ṩ 8x2<78><32><EFBFBD><EFBFBD> <20><> 6 <20><>8<EFBFBD><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ŀ<EFBFBD><C4BF><EFBFBD>
|
|||
|
|
|
|||
|
|
//-----------------------------------------------------------------
|
|||
|
|
/*
|
|||
|
|
-------------------------------------------------------------------------------------------------
|
|||
|
|
| bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 |
|
|||
|
|
|-----------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|
|
|||
|
|
| <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0 | <EFBFBD><EFBFBD>ͬģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|||
|
|
|-----------------------|-----------------------|-----------------------------------------------|
|
|||
|
|
| | | | | 0 | 0 | д<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
| <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | | | | 1 | 0 | <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
| 0 1 | | | 0 | | | <EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
| | | | 1 | | | <EFBFBD>̶<EFBFBD><EFBFBD><EFBFBD>ַ
|
|||
|
|
| | | 0 | | | | <EFBFBD><EFBFBD>ͨģʽ
|
|||
|
|
| | | 1 | | | | <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ʹ<EFBFBD>ã<EFBFBD>
|
|||
|
|
|-----------------------|-----------------------|-----------------------------------------------|
|
|||
|
|
| | | 0 | 0 | 0 | 0 | <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ַ0
|
|||
|
|
| <EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> | | 0 | 0 | 0 | 1 | <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ַ1
|
|||
|
|
| 1 1 | | 0 | 0 | 1 | 0 | <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ַ2
|
|||
|
|
| | | 0 | 0 | 1 | 1 | <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ַ3
|
|||
|
|
| | | 0 | 1 | 0 | 0 | <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ַ4
|
|||
|
|
| | | 0 | 1 | 0 | 1 | <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ַ5
|
|||
|
|
|-----------------------|-----------------------|-----------------------------------------------|
|
|||
|
|
| | | | 0 | 0 | 0 | <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ 1/16
|
|||
|
|
| <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> | | | 0 | 0 | 1 | <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ 2/16
|
|||
|
|
| 1 0 | | | 0 | 1 | 0 | <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ 4/16
|
|||
|
|
| | | | 0 | 1 | 1 | <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ 10/16
|
|||
|
|
| | | | 1 | 0 | 0 | <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ 11/16
|
|||
|
|
| | | | 1 | 0 | 1 | <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ 12/16
|
|||
|
|
| | | | 1 | 0 | 0 | <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ 13/16
|
|||
|
|
| | | | 1 | 0 | 1 | <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ 14/16
|
|||
|
|
| | | 0 | | | | <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>
|
|||
|
|
| | | 1 | | | | <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>
|
|||
|
|
|-----------------------|-----------------------|-----------------------------------------------|
|
|||
|
|
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD>оƬ<EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ͽӿ<EFBFBD>Э<EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD>I2C<EFBFBD>в<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>е<EFBFBD>ַ<EFBFBD>ֶΣ<EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD>ֽڵĴ<EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD> LSB <EFBFBD><EFBFBD><EFBFBD><EFBFBD> MSB<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD><EFBFBD>оƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>I2Cʵ<EFBFBD>֡<EFBFBD>
|
|||
|
|
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
//--------------------------
|
|||
|
|
|
|||
|
|
// bit7 bit6 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define DATA_CMD_BITS 0x40 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define ADDR_CMD_BITS 0xC0 // <20><>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEA3A8>ʾ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>
|
|||
|
|
#define DISP_CTRL_BITS 0x80 // <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//--------------------------
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bit1 bit0
|
|||
|
|
#define WRITE_LED_REG 0x00 // д<><D0B4><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD>ʾ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|||
|
|
#define READ_KEY_VAL 0x02 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bit2
|
|||
|
|
#define ADDR_AUTO_INC 0x00 // <20><>ַ<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define ADDR_FIXED 0x04 // <20><>ַ<EFBFBD>̶<EFBFBD>
|
|||
|
|
|
|||
|
|
//--------------------------
|
|||
|
|
// <20><>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>
|
|||
|
|
#define LED_REG_BEG_ADDR 0x00
|
|||
|
|
|
|||
|
|
|
|||
|
|
#define LED_REG1_ADDR (LED_REG_BEG_ADDR+0x00)
|
|||
|
|
#define LED_REG2_ADDR (LED_REG_BEG_ADDR+0x01)
|
|||
|
|
#define LED_REG3_ADDR (LED_REG_BEG_ADDR+0x02)
|
|||
|
|
#define LED_REG4_ADDR (LED_REG_BEG_ADDR+0x03)
|
|||
|
|
#define LED_REG5_ADDR (LED_REG_BEG_ADDR+0x04)
|
|||
|
|
#define LED_REG6_ADDR (LED_REG_BEG_ADDR+0x05)
|
|||
|
|
|
|||
|
|
|
|||
|
|
//--------------------------
|
|||
|
|
// <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>
|
|||
|
|
#define DISP_OFF 0x00
|
|||
|
|
#define DISP_ON 0x08
|
|||
|
|
|
|||
|
|
#define DISP_LEV(lev) ((lev)&0x07)
|
|||
|
|
|
|||
|
|
//---------------------------------------
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD> <20><>16<31><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define KEY_NONE 0xFF
|
|||
|
|
|
|||
|
|
#define KEY_K1SG1 0xF7
|
|||
|
|
#define KEY_K1SG2 0xF6
|
|||
|
|
#define KEY_K1SG3 0xF5
|
|||
|
|
#define KEY_K1SG4 0xF4
|
|||
|
|
#define KEY_K1SG5 0xF3
|
|||
|
|
#define KEY_K1SG6 0xF2
|
|||
|
|
#define KEY_K1SG7 0xF1
|
|||
|
|
#define KEY_K1SG8 0xF0
|
|||
|
|
|
|||
|
|
#define KEY_K2SG1 0xEF
|
|||
|
|
#define KEY_K2SG2 0xEE
|
|||
|
|
#define KEY_K2SG3 0xED
|
|||
|
|
#define KEY_K2SG4 0xEC
|
|||
|
|
#define KEY_K2SG5 0xEB
|
|||
|
|
#define KEY_K2SG6 0xEA
|
|||
|
|
#define KEY_K2SG7 0xE9
|
|||
|
|
#define KEY_K2SG8 0xE8
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//------------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
// <20><>ȡ<EFBFBD><C8A1>ֵ
|
|||
|
|
u8 TM1637ReadKey(void);
|
|||
|
|
|
|||
|
|
// д<><D0B4>ʾ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>(<28><>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>)
|
|||
|
|
void TM1637WriteLedData(u8 baddr, u8 * pBuff, u8 disp);
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾģʽ(<28><><EFBFBD>غ<EFBFBD><D8BA><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
void TM1637SetLedDisp(u8 disp);
|
|||
|
|
|
|||
|
|
|
|||
|
|
//------------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
//
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
|