74HC164c程序 sn74hc164n

在实际应用中驱动数码管常用的方式分动态扫描(参见《成功CDIY单片机(2)51单片机直接驱动共阴极数码管》)和静态驱动。动态扫描方式需要x+y个IO(x*y个数码管的情况,一般x=8,y=位数)这种方法很浪费MPU的IO端口对于2051等20脚的芯片就很难实现。静态显示驱动法,即是指每一个LED灯分别对应一个独立的IO驱动口,这种方法适用较少LED的驱动,不适合数码管驱动。

还有一种利用74HC164来驱动的方法。74HC164是比较典型的移位寄存器,该移位寄存器有一个数据输入端口、一个时钟信号端口和八个输出端口。这种方法只需要2个MPU的IO端口,而且在锁存器件这2个端口还可以干别的事情。

74HC164驱动共阴、共阳数码管都很方便。

驱动要点:

1、上升沿写入串行数据:

CLK=0;

DAT=num&0x01;

CLK=1;

2、写入数据的数码管编码(指代码中的tab[])

串行数据是FIFO先进先出,也就是先写高位,移位放入。

电路如图:

共阴数码管74HC164串行驱动(经过测试)

//共阴数码管74HC164串行驱动

#include

#define uint unsigned int

#define uchar unsigned char

sbit DAT=P3^7; //模拟串口数据发送端

sbit CLK=P3^4;//模拟时钟控制端

uchar codetab[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xff,0xf6};//0-9,-,全灭

void sendbyte(uchar byte)

{

ucharnum,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;

74HC164c程序 sn74hc164n

while(1){

for(h=0;h<10;h++){

delay_50ms(1);

sendbyte(h);

delay_50ms(4);

}

h=0;

}

}

共阳数码管74HC164串行驱动(暂未测试)

#include

#define uint unsigned int

#define uchar unsigned char

sbit DAT=P1^1; //模拟串口数据发送端

sbit CLK=P1^2;//模拟时钟控制端

uchar codetab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};//0-9,-,全灭(共阳字段表)

void sendbyte(uchar byte)

{

ucharnum,c;

num=tab[byte];

for(c=0;c<8;c++)

{

CLK=0;

DAT=num&0x80;//(0x80即十进制的128, 二进制的10000000 按位发送)

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;

}

}

zhuan~

  

爱华网本文地址 » http://www.aihuau.com/a/25101018/367632.html

更多阅读

毕业论文答辩的一般程序及常见问题 研究生毕业论文答辩

毕业论文答辩不会太严,如果差得不是太出格都可以毕业。毕业论文不是自己写的也不用太紧张,一般都不会有什么事,不需要全部背下来,主要的观点记住就可以了,只要你把自己论文的重点内容熟悉了就可以了。 毕业论文答辩的一般程序及常见问题

如何关闭电脑开机自启动程序 电脑怎么关闭启动项

如何关闭电脑开机自启动程序——简介由于每个用户工作和生活需求的不同,经常会安 装一些特殊软件,然而,某些软件安装好后都会默认为自启动,占用电脑系统资源,此时,最新xp系统下载用户可以将一些不必要的自启动程序关闭,提高系统运行速度。

程序员节怎么过 情人节怎么过

程序员节怎么过——简介小费不知道程序员到底是怎么的一帮人。他们是骑士绅士黑客极客,他们甚至可以是任何人。感谢上帝,每年的第256天是程序员节(Programer's Day),好让我们足够在社交网络或者大街小巷利用蛛丝和马迹识别混迹在人群中的

开机自动运行程序 xp开机自动运行软件

现在跟大家分享开机自动运行程序、如何开机自动运行程序、开机自动运行程序设置,如何设置关机王定时关机软件开机自动运行程序。我们都知道,开机自动运行程序,也就是设置程序随服务方式自启动,一方面大大方便了程序的自己运行,另一方面

声明:《74HC164c程序 sn74hc164n》为网友半公开的秘密分享!如侵犯到您的合法权益请联系我们删除