📄 7290.h
字号:
/*****************************************************************************************************************
MCU :MSP430X16X . 时钟频率为8MHz,指令周期为1/8us
SDA : P1.4
SCL : P1.2
INT : P1.0
******************************************************************************************************************/
#ifndef my7290
#define my7290
#define zlg7290 0x70 //ZLG7290的IIC地址
#define SubKey 0x01
#define SubCmdBuf 0x07
#define SubDpRam 0x10
//#define Left_1 0x10
//#define Right_1 0x20
#define uchar unsigned char
#define uint unsigned int
/*端口位定义*/
#define SDA_IN P4DIR &=~BIT1 // P3.1 IN 模拟I2C数据传送位
#define SDA_OUT P4DIR |=BIT1 // P1.4 OUT
#define SDA_LOW P4OUT &= ~BIT1 // sda=0
#define SDA_HIGH P4OUT |=BIT1 // sda=1
#define SCL_IN P4DIR &=~BIT3 // P3.3 IN 模拟I2C时钟控制位
#define SCL_OUT P4DIR |=BIT3 // P1.2 OUT
#define SCL_LOW P4OUT &=~BIT3 // scl=0
#define SCL_HIGH P4OUT |=BIT3 // scl=1
#define RSDA P4IN & BIT1 //SDA引脚输入值
#define INIT_OUT P2DIR |= BIT4
#define INTI_HIGH P2OUT |= BIT4
#define INIT_IN P2DIR &= ~BIT4 //P2.4为输入模式
#define INIT_IES P2IES |= 0x10 //下降沿引发P1。0口中断
#define INIT_IFG P2IFG&=~0X10 //初始化中断标志
#define INIT_IE P2IE |= BIT4 //P1。0中断有效
void Delay5_I2C(void);
void Delay2_I2C(void);
void Start_I2c(void);
void Stop_I2c(void);
void SendByte_I2c(uchar c);
unsigned char RcvByte_I2c(void);
void Ack_I2c(uchar a);
unsigned char ISendByte_I2c(uchar sla,uchar c);
unsigned char IRcvByte_I2c(uchar sla,uchar *c);
void delayMS(unsigned long i);
unsigned char ZLG7290_SendData(unsigned char SubAdd,unsigned char Data);
unsigned char ZLG7290_SendCmd(unsigned char Data1,unsigned char Data2);
void ZLG7290_SendBuf(unsigned char * disp_buf,unsigned char num);
void shift_left(unsigned char shift_bit);
void shift_right(unsigned char shift_bit);
void for_shift_left(unsigned char shift_bit);
void for_shift_right(unsigned char shift_bit);
void Clear_7290(void); //对7290清零
unsigned char ISendStr(uchar sla,uchar suba,uchar *s,uchar no); // 向有子地址器件发送多字节数据函数
unsigned char IRcvStr(uchar sla,uchar suba,uchar *s,uchar no); //向有子地址器件读取多字节数据函数
unsigned char ZLG7290_GetKey( void ); //读取键值
void PrintLed( uchar dig,uchar data ); //按位显示
void PrintDp( uchar dig,uchar dp ); //显示小数点
void shine(unsigned char shine_bit); //闪烁的位数( 使用BIT0~BIT7控制需要闪烁的位数)
void ini_7290(); //初始化7290,需要在主程序总中断使能
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -