7279.c

来自「C51 HD7279源代码,在项目上应用过.」· C语言 代码 · 共 98 行

C
98
字号
#include <reg52.h>
#include <7279.h>

void write7279(unsigned char cmd, unsigned char dta)
{
	send_byte (cmd);
	send_byte (dta);
}

unsigned char read7279(unsigned char command)
{
	send_byte(command);
	return(receive_byte());
}

void send_byte( unsigned char out_byte)
{
  /*	unsigned char i;
	cs=0;
	long_delay();
	for (i=0;i<8;i++)
	{
		if (out_byte&0x80)
		{
			dat=1;
		}
		else
		{
			dat=0;
		}
		clk=1;
		short_delay();
		clk=0;
		short_delay();
		out_byte=out_byte*2;
	}
	dat=0;*/

   unsigned char i;

    //SETdat(1);                   //SETdat=OUTPUT
    dat=0; 
    cs=0;                       //cs=0;
    clk=0;
	long_delay();
	for (i=0;i<8;i++)
	{
	if (out_byte&0x80)
	{
 	dat=1;                     // dat=1;
	}
	else
	{
  	dat=0;                    //dat=0;
	}
	clk=1;                        //clk=1;
	short_delay();
    clk=0;                         //clk=0;
	short_delay();
	out_byte=out_byte*2;          //也就是右移一位
	}
 	 dat=0;                    //dat=0;
}

unsigned char receive_byte(void)
{
	unsigned char i, in_byte;
	dat=1; 								//设为输入状态
	long_delay();
	for (i=0;i<8;i++)
	{
		clk=1;
		short_delay();
		in_byte=in_byte*2;
		if (dat)
		{
			in_byte=in_byte|0x01;
		}
		clk=0;
		short_delay();
	}
	dat=0;
	return (in_byte);
}

void long_delay(void)
{
	unsigned char i;
	for (i=0;i<0x30;i++);
}

void short_delay(void)
{
	unsigned char i;
	for (i=0;i<6;i++);
}

⌨️ 快捷键说明

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