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