74LS164驱动数码管程序
/****************************************************/ /*
程序功能:用74LS164驱动一个共阴数码管动态显示 */ /****************************************************/
#include《reg51.h》
sbit CLK=P2^0;
sbit DAT=P2^1;
unsigned char
code
tab[]={0x3F,0x06,0x5b,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0X6F};//0-9
/****************************************************/ /*
向74LS164发送数据
*/ /****************************************************/
void sendbyte(unsigned char byte) {
unsigned char num,d;
num=tab[byte];
for(d=0;d《8;d++)
{
CLK=0;
DAT=num&0x01;
CLK=1;
num》》=1;
} }
/****************************************************/ /*
延时程序
*/ /****************************************************/
void delay(unsigned char t)
{
unsigned char i,j,k; for(i=0;i《20;i++)
for(j=0;j《114;j++)
for(k=0;k《t;k++);
}
/******************* 主函数 *************************/
main() {
unsigned char h; while(1)
{
for(h=0;h《10;h++)
{
sendbyte(h);
delay(30);
}
h=0;
}
}
评论
查看更多