74hc164驅(qū)動(dòng)數(shù)碼管程序
#define uint unsigned int
本文引用地址:http://www.ex-cimer.com/article/201611/317066.htm#define uchar unsigned char
sbit DAT=P1^1; //模擬串口數(shù)據(jù)發(fā)送端
sbit CLK=P1^2;//模擬時(shí)鐘控制端
uchar co
void sendbyte(uchar byte)
{
uchar num,c;
num=tab[byte];
for(c=0;c<8;c++)
{
CLK=0;
DAT=num&0x80; //(0x80即十進(jìn)制的128, 二進(jìn)制的10000000 按位發(fā)送)
CLK=1;
num<<=1;
}
}
void delay_50ms(unsigned int t) //50MS演示程序
{
unsigned int j;
for(;t>0;t--)
for(j=6245;j>0;j--)
{;}
}
main()
{
unsigned char h;
while(1){
for(h=0;h<10;h++){
delay_50ms(1);
sendbyte(h);
delay_50ms(10);
}
h=0;
}
}
下面這段是74ls164 驅(qū)動(dòng)共陰數(shù)碼管的程序源碼
#i nclude
#define uint unsigned int
#define uchar unsigned char
sbit DAT=P1^1;
sbit CLK=P1^2;
uchar co
void sendbyte(uchar byte)
{
uchar num,c;
num=tab[byte];
for(c=0;c<8;c++)
{
CLK=0;
DAT=num&0x01;
CLK=1;
num>>=1;
}
}
void delay_50ms(unsigned int t)
{
unsigned int j;
for(;t>0;t--)
for(j=6245;j>0;j--)
{;}
}
main()
{
unsigned char h;
while(1){
for(h=0;h<10;h++){
delay_50ms(1);
sendbyte(h);
delay_50ms(10);
}
h=0;
}
}
評(píng)論