/******************************************************************** 
                            汇诚科技 
网址:http://www.ourhc.cn 
产品有售淘宝店:http://shop36330473.taobao.com    
*********************************************************************/ 
#include<reg52.h>          //头文件 
#define uint unsigned int   //定义整型类型 
#define uchar unsigned char        //定义字符类型 
sbit DAT=P1^1; //定义串行数据输出口 
sbit CLK=P1^2; //定义时钟控制输出口 
uchar code tab[]= {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//定义输出数组 
/******************************************************************** 
                              串行输出函数   
*********************************************************************/ 
void sendbyte(uchar byte) 
{     
uchar num,c;  //定义两个变量 
num=tab[byte];//输出数据 
for(c=0;c<8;c++)//循环8次 
{ 
CLK=0;                    //时钟置低 
DAT=num&0x01;        //输出电平 
CLK=1;                    //时钟置低 
num>>=1;                //num右移一位 
} 
} 
/******************************************************************** 
                              延时函数   
*********************************************************************/ 
void delay_50ms(unsigned int t)//延时函数 
{ 
unsigned int j;    
for(;t>0;t--)  
for(j=6245;j>0;j--)  
{;} 
} 
/******************************************************************** 
                              主函数   
*********************************************************************/ 
void main()        //主函数 
{  
uchar h; //定义字符变量 
while(1) //无限循环 
 { 
for(h=0;h<8;h++) //循环h次 
        { 
         delay_50ms(1);//延时 
     sendbyte(h);  //调用函数 
     delay_50ms(10);//延时 
        } 
   h=0;        //清零 
 } 
 
} 
/******************************************************************** 
                              结束   
*********************************************************************/ 
 
 |