74hc595.c

来自「KEILC RTX51tiny开发的程序」· C语言 代码 · 共 36 行

C
36
字号
/*本程序实现74HC595的串-并输出
*/
#include <STDIO.H>
#include <STC12C5410AD.H>
//定义单片机与74HC595相连的各脚 
sbit HC595SI=P1^5;
sbit HC595RCLK=P1^3;
sbit HC595SCLK=P1^7;

void HC595Output(unsigned int outData);  //发送数据函数 

void HC595Output(unsigned int outData)
{ unsigned char i;    //用于移位的循环控制 
  unsigned int chkBit;    //用于判断移位数据 
  SPCTL=SPCTL&(0xBF);    //SPI功能禁止所有SPI端口作为普通I/O口 
  P1M0=P1M0&(0x57);
  P1M1=P1M1|(0xA8);       //P1口的3,5,7脚作为输出管脚 
  //HC595SI=0;
  //HC595RCLK=0;
  //HC595SCLK=0;
  for(i=1;i<17;i++)
  {
    HC595RCLK=0;
	HC595SCLK=0;
    chkBit=outData&(0x8000);
	if (chkBit==0)
	   HC595SI=0;
	else
	   HC595SI=1;
	outData=outData<<1;
    HC595SCLK=1;
	HC595RCLK=1;
  }		 
  SPCTL=SPCTL|(0x40);	//SPI功能使能 
}

⌨️ 快捷键说明

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