⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zlg7290b.h

📁 MSP430 DS1302程序库
💻 H
字号:
/*
           ZLG7290B.h
           
           数码管显示与键盘管理芯片ZLG7290 的驱动程序头文件
           
      说明:在使用前需根据硬件实际电路对端口进行修改
           
           Copyright (c) 2008,323实验室 罗佳芳
           
           All rights reserved.
           
*/

#ifndef _ZLG7290_H_
#define _ZLG7290_H_
#include <msp430x14x.h>

//ZLG7290 中断请求信号的引脚定义,需要根据实际电路进行修改
#define ZLG7290_pinINT (BIT7)      //中断是哪一位
#define ZLG7290_intSEL (P2SEL)     //中断所在端口功能选择寄存器
#define ZLG7290_intIE  (P2IE)      //中断使用寄存器
#define ZLG7290_intIES  (P2IES)    //中断触发沿选择寄存器 0:上升沿    1:下降沿<--
#define ZLG7290_intIFG  (P2IFG)    //中断标志寄存器

//定义ZLG7290 在I2C 总线协议中的从机地址
//这是7 位纯地址,不含读写位
#define ZLG7290_I2C_ID 0x38
#define ZLG7290_IIC_WRITE 0x70   //含读写位:写
#define ZLG7290_IIC_READ  0x71   //含读写位:读


//定义ZLG7290 内部寄存器地址(子地址)
#define ZLG7290_SystemReg 0x00 //系统寄存器
#define ZLG7290_Key 0x01 //键值寄存器
#define ZLG7290_RepeatCnt 0x02 //连击次数寄存器
#define ZLG7290_FunctionKey 0x03 //功能键寄存器
#define ZLG7290_CmdBuf 0x07 //命令缓冲区起始地址
#define ZLG7290_CmdBuf0 0x07 //命令缓冲区0
#define ZLG7290_CmdBuf1 0x08 //命令缓冲区1
#define ZLG7290_FlashOnOff 0x0C //闪烁控制寄存器
#define ZLG7290_ScanNum 0x0D //扫描位数寄存器
#define ZLG7290_DpRam 0x10 //显示缓存起始地址
#define ZLG7290_DpRam0 0x10 //显示缓存0
#define ZLG7290_DpRam1 0x11 //显示缓存1
#define ZLG7290_DpRam2 0x12 //显示缓存2
#define ZLG7290_DpRam3 0x13 //显示缓存3
#define ZLG7290_DpRam4 0x14 //显示缓存4
#define ZLG7290_DpRam5 0x15 //显示缓存5
#define ZLG7290_DpRam6 0x16 //显示缓存6
#define ZLG7290_DpRam7 0x17 //显示缓存7

//ZLG7290初始化
void ZLG7290_Init(void);

//向ZLG7290 的某个内部寄存器写入数据
unsigned char ZLG7290_WriteReg(unsigned char RegAddr,unsigned char dat);

//从ZLG7290 的某个内部寄存器读出数据
unsigned char ZLG7290_ReadReg(unsigned char RegAddr,unsigned char *dat);

//向ZLG7290 发送控制命令
unsigned char ZLG7290_cmd(char cmd0, char cmd1);

//段寻址,单独点亮或熄灭数码管(或LED)中的某一段
unsigned char ZLG7290_SegOnOff(char seg, unsigned char b);

//下载数据并译码
unsigned char ZLG7290_Download(char addr, unsigned char dp, unsigned char flash, char dat);

//闪烁控制指令(Fn 应当是字节型)
//Fn 的8 个位分别控制数码管的8 个位是否闪烁,0-不闪烁,1-闪烁
#define ZLG7290_Flash(Fn) ZLG7290_cmd(0x70,(Fn))

#endif //_ZLG7290_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -