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 + -
显示快捷键?