📄 74hc595.c
字号:
/*本程序实现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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -