| /******************************************************************** 汇诚科技
 网址: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;        //清零
 }
 
 }
 /********************************************************************
 结束
 *********************************************************************/
 
 
 |