74hc595的c51驱动程序.c

来自「595串入并出芯片的驱动程序」· C语言 代码 · 共 44 行

C
44
字号
//定时器晶体振荡器11.0592M.
#include <REG2051.H>
#include<INTRINS.H>                
#define uchar unsigned char
sbit DAT=P1^3;	//定义串行数据输入端
sbit CLK=P1^4;	//定义时钟端
sbit RCLK=P1^5;	 //定义控制端

unsigned char DispBuf[4];	//	4位数据
uchar code DispTab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80, 
0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF};//定义定形码表
void SendDATa(unsigned char SendDAT)	//传送一个字节的数据数据
{	unsigned char i;
		for(i=0;i<8;i++)
		{	if((SendDAT&0x80)==0)
				DAT=0;
			else
				DAT=1;
			_nop_();
			CLK=0;
			_nop_();
        	CLK=1;
			SendDAT=SendDAT<<1;
		}
}
void Disp()
{	uchar c;
	uchar i;
	 DispBuf[0]=0x01;	 DispBuf[1]=0x02;	DispBuf[2]=0x03;	 DispBuf[3]=0x04;	  //显示4321
	RCLK=0;						//关闭存储寄存器的输入
	for(i=0;i<4;i++)
	{	c=DispBuf[i];			//取出待显示字符
		SendDATa(DispTab[c]);	//送出字形码数据
	}
	RCLK=1;						//开启存储寄存器的输入
}
void main()
{
	for(;;)
	
	{	Disp();
	}
}

⌨️ 快捷键说明

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