📄 spi595.c
字号:
//[74HC595.rar] - 74HC595驱动 gcc编译 n个级连只要输出n个字节后加一个锁存时钟(下降沿)
//////////////////////////////////写数据到时74HC595//
void yuanshi_1us(void) /////8M晶震,1us延时
{asm volatile("nop" : :);
}
/* 定义I/O口*/
#define DK PORTC
#define DATA PINB0 ////数据--------------74HC595 14#
#define ST PINB1 ////锁存时钟-------74HC595 12#
#define SH PINB2 ////移位时钟-----74HC595 11#
//送出8位串行数据
void out_disp(unsigned char dd)
{
unsigned char i;
cbi(DK,ST); ////拉低锁存电平
for (i=0;i<8;i++)
{
cbi(DK,SH); ////拉低移位时钟
if (dd&1) sbi(DK,DATA); else cbi(DK,DATA);
dd>>=1;
sbi(DK,SH); ////提高移位时钟
yuanshi_1us();
}
yuanshi_1us();
sbi(DK,ST); ////提高锁存电平(锁存)
}
//////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -