74HC595程序应用(原理图)

2020-01-27 11:40发布

360软件小助手截图20130515125812.jpg (167.69 KB, 下载次数: 0) 下载附件 仿真 2013-5-15 13:16 上传 /* 输入输出在主函数里  */

#include<reg52.h>
//#include<intrins.h>           /*_nop_()在<intrins.h>里*/
#define uchar unsigned char
#define uint  unsigned int
sbit shcp=P2^0;
sbit   ds=P2^1;
sbit stcp=P2^2;
uchar temp;
uchar code duan[]=
{0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x10};
                  /*延时*/
void delay(uint z)
{
  uint x,y;
     for(x=z;x>0;x--)
       for(y=100;y>0;y--);
  }
     /*数据输入   */
void input(uchar temp)
{
      uchar i;
          for(i=0;i<8;i++)        /*只是表明向左移动   移动过次*/
          {        
               temp<<=1;         
               ds=CY;
                   shcp=0;
                   shcp=1;
                  //_nop_();
                  //_nop_();
                  
          }  
}
           /*数据输出*/
void output()
{
            stcp=0;
         //_nop_();
         stcp=1;
        // _nop_();
         //stcp=0;
}
            /*主函数*/
void main(void)
{
       uchar i;
           while(1)
           {
              for(i=0;i<10;i++)
                    {
                           temp=duan;
                           input(temp);
                           output();
                           delay(300);
                        }
           }
}
   
     
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。