原创 74HC595驱动程序

2010-5-6 20:26 7415 8 8 分类: MCU/ 嵌入式

74HC595时序图如下


点击看大图


#include <reg52.h>       //52芯片管脚定义头文件
#include <intrins.h> //内部包含延时函数 _nop_();


#define uchar unsigned char
#define uint  unsigned int


uchar code DAT[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};


sbit  SDATA_595=P1^0;   //串行数据输入
sbit  SCLK_595 =P1^1;   //移位时钟脉冲
sbit  RCK_595  =P1^2;   //输出锁存器控制脉冲


uchar temp;            







void delay(int ms)
{                          
   int k;
   while(ms--)
   {
     for(k=0; k<250; k++)
     {
      _nop_();
      _nop_();
      _nop_();
      _nop_();
     }
   }
}







void WR_595(void)
{
     uchar j;
      for (j=0;j<8;j++)
     {
      temp="temp"<<1 ;
      SDATA_595=CY;
      SCLK_595=1;                     //上升沿发生移位
       _nop_();
       _nop_();
      SCLK_595=0;
     }       
}







void OUT_595(void)
{
    RCK_595=0;
    _nop_();
    _nop_();
    RCK_595=1;                     //上升沿将数据送到输出锁存器
    _nop_();
    _nop_();
    _nop_();
    RCK_595=0;
}


 


main()

   SCLK_595=0;
   RCK_595=1;
   
   while(1)            
    {
      uchar i;
      for (i=0; i<8; i++)
       {
        temp="DAT"[ i ];               //取显示数据
        WR_595();
        OUT_595();
        delay(100);
       }
    }
}      


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
8
关闭 站长推荐上一条 /3 下一条