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

📄 hd7279.h

📁 hd7279接口芯片适用于扩展键盘和led
💻 H
字号:
/*******************函数声明************/
void long_delay();
void short_delay();
void delay1ms(unsigned int);
void send_byte(unsigned char);
unsigned char receive_byte();
unsigned char read7279(unsigned char );
void write7279(unsigned char ,unsigned char );
/******************HD7279A指令*********/
//纯指令
#define CMD_RESET	0XA4
#define CMD_TEST	0XBF
#define RTR_UNCYL	0XA0
#define RTL_UNCYL	0XA1
#define RTR_CYCLE	0XA2
#define RTL_CYCLE	0XA3
//数据指令
#define DECODER0	0X80
#define DECODER1	0XC8
#define UNDECODER	0X90
#define FLASH		0X88
#define SEG_ON		0XE0
#define SEG_OFF		0XC0
#define BLINK		0X98//消隐
#define CMD_READ	0X15

/******************宏定义**************/
#define uchar unsigned char
#define uint  unsigned int


/******************I/O定义*************/
	sbit dat=P1^2;
	sbit key=P1^3;
	sbit cs=P1^4;
	sbit clk=P1^5;
	sbit reset=P1^6;

//发送指令
void send_byte(unsigned char out_byte)
{
	//先放入数据,待数据稳定时,时钟上升沿
	uchar i;
	cs=0;
	long_delay();//延时T1时间
	for(i=0;i<8;i++)
	{
		//从高位到低位
		if(out_byte&0x80)
		{
			dat=1;
		}
		else
		{
			dat=0;
		}
		clk=1;
		short_delay();//延时T2
		clk=0;
		short_delay();//延时T3
		out_byte=out_byte*2;//左移一位
	}
	dat=0;//输出

}
//接收数据
unsigned char receive_byte(void)
{
	//先放入数据,待数据稳定时,时钟上升沿
	uchar i,in_byte;
	dat=1;//输入
	long_delay();//延时T5
	for(i=0;i<8;i++)
	{
		if(dat)
		{
			in_byte=in_byte|0x01;
		}
		clk=1;
		short_delay(); //延时T7
		clk=0;
		short_delay(); //延时T7
		in_byte=in_byte*2;

			
	}
	dat=0;
	return(in_byte);
}

//数据指令的读取
unsigned char read7279(unsigned char command)
{
	send_byte(command);
	return(receive_byte());
}
//数据指令的写入
void write7279(unsigned char cmd,unsigned char da)
{
	send_byte(cmd);
	send_byte(da);
}


⌨️ 快捷键说明

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