7279.c

来自「单片机控制按键显示芯片HD7279A」· C语言 代码 · 共 70 行

C
70
字号
#include "7279.h"
//#include <intrins.h>

//////短延时//////
void shortdelay()//8us
{
	//_nop_();_nop_();_nop_();_nop_();
	//_nop_();_nop_();
	uchar i;
	for(i=0;i<8;i++);
}
//////长延时//////
void longdelay()//48us//50us
{
	//shortdelay();shortdelay();shortdelay();shortdelay();
	//shortdelay();shortdelay();
	//_nop_();_nop_();
	uchar i;
	for(i=0;i<0x30;i++);
}
//////发送一个字节到HD7279A,高位在前//////
void send7279(uchar ch)
{
	uchar i=8;
	CS=0;
	longdelay();
	while(i--)
	{	
		DAT=(bit)(ch & 0x80);
		ch<<=1;
		CLK=1;
		shortdelay();
		CLK=0;
		shortdelay();
	}
	DAT=0;
}
//////从HD7279A接收一个字节,高位在前//////
uchar receive7279()
{
	uchar i=8;
	uchar rect=0;
	DAT=1;
	longdelay();
	while(i--)
	{
		CLK=1;
		shortdelay();
		rect<<=1;
		if(DAT==1)
			rect=rect+1;
		CLK=0;//注意
		shortdelay();
	}
	DAT=0;	
	return rect;
}
//////写入命令和数据//////
void write7279(uchar cmd,uchar dta)
{
	send7279(cmd);
	send7279(dta);
}
//////写入命令,读出数据//////
uchar read7279(uchar cmd)
{
	send7279(cmd);
	return(receive7279());
}

⌨️ 快捷键说明

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