74hc595.c

来自「用74hc595驱动的跑马灯(含原理图与程序)」· C语言 代码 · 共 60 行

C
60
字号
#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 + =
减小字号Ctrl + -
显示快捷键?