📄 74hc595.c
字号:
#include<REGX52.H>
#define uchar unsigned char
#define uint unsigned int
sbit din=P2^1;
sbit sck=P2^0;
sbit cs=P2^2;
uchar adata;
void delay(uint x);
void send(uchar ch);
void out(adata);
void _nop_();
void delay(uint x)
{
uchar tw;
while(x-->0)
{
for(tw=0;tw<125;tw++);
}
}
void send(uchar ch)
{
uchar bitcounter=8;
uchar tmp;
bit c;
do
{
tmp=ch;
sck=0;
if((tmp&0x80==0x80))
c=1;
else
c=0;
din=c;
sck=1;
tmp=ch<<1;
ch=tmp;
bitcounter--;
delay(1);
sck=0;
}
while(bitcounter);
}
void out(adata)
{
send(adata);
cs=0;
delay(1);
cs=1;
delay(1);
cs=0;
}
void main(void)
{
SP=0xcf;
EA=0;
delay(100);
adata=0x01;
out(adata);
delay(10);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -