spi595.c
来自「74hc595 与单片机串行通讯 利用SSP模块或者IO口」· C语言 代码 · 共 28 行
C
28 行
//[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 + =
减小字号Ctrl + -
显示快捷键?