📄 zlg7289.h
字号:
#ifndef _ZLG7289_H_
#define _ZLG7289_H_
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
//定义I/O接口
sbit ZLG7289_pinCS = P2^7; //片选信号,低电平有效 50us
sbit ZLG7289_pinCLK = P2^6; //时钟信号,上升沿有效 8us/8us
sbit ZLG7289_pinDIO = P2^5; //数据信号,双向
sbit ZLG7289_pinINT = P2^4; //键盘中断请求信号,低电平(负边沿)有效 (查询低电平有效)
//执行ZLG7289纯指令
extern void ZLG7289_cmd(char cmd);
//执行ZLG7289带数据指令
extern void ZLG7289_cmd_dat(char cmd, char dat);
//以下是ZLG7289的用户指令集
//复位(清除)指令
#define ZLG7289_Reset() ZLG7289_cmd(0xA4)
//测试指令
#define ZLG7289_Test() ZLG7289_cmd(0xBF)
//左移指令
#define ZLG7289_SHL() ZLG7289_cmd(0xA0)
//右移指令
#define ZLG7289_SHR() ZLG7289_cmd(0xA1)
//循环左移指令
#define ZLG7289_ROL() ZLG7289_cmd(0xA2)
//循环右移指令
#define ZLG7289_ROR() ZLG7289_cmd(0xA3)
//下载数据
extern void ZLG7289_Download(unsigned char mod, char x, bit dp, char dat);
//闪烁控制
// x的8个位分别对应数码管的8个位,0-闪烁,1-不闪烁
#define ZLG7289_Flash(x) ZLG7289_cmd_dat(0x88,(x))
//消隐控制
// x的8个位分别对应数码管的8个位,0-消隐,1-显示
#define ZLG7289_Hide(x) ZLG7289_cmd_dat(0x98,(x))
//段点亮指令
//seg=0 63,8只数码管被看成64只独立的LED
//每只数码管中各段的点亮顺序按照 g,f,e,d,c,b,a,dp
#define ZLG7289_SegOn(seg) ZLG7289_cmd_dat(0xE0,(seg))
//段关闭指令
//seg=0 63,8只数码管被看成64只独立的LED
//每只数码管中各段的熄灭顺序按照 g,f,e,d,c,b,a,dp
#define ZLG7289_SegOff(seg) ZLG7289_cmd_dat(0xC0,(seg))
//执行ZLG7289键盘命令
extern char ZLG7289_Key() reentrant;
//ZLG7289初始化
extern void ZLG7289_Init(unsigned char t);
extern void Delay(unsigned int t) ;
#endif //_ZLG7289_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -