四个74HC573实现贪吃蛇(贪吃蛇447)

http://www.itjxue.com  2023-01-26 02:50  来源:未知  点击次数: 

单片机控制数码管用两个74HC573锁存器来控制段选和位选时怎么连接单片机呢?

这个很容易的,你用单片机直接引脚比如P2(有P2^0...P2^7)八个引脚对应74HC573的D端连接上,然后再把74HC573的Q端连接到数码管的位选(有可能是段选,这个有点忘了)...前提:你要知道74HC573的用法(去百度看它的资料)...最后,这个连接办法直接是开发板上就有的,最蠢的就是直接百度开发板原理图,然后按照他连接了,甚至程序都可以百度到...就这样了!!!

回答可以的话记得给最佳答案啊...

为什么74hc573的输出可以驱动6位数码管?

74HC573锁存器用于数码管显示通采用段选、片选共用同组并口驱式

驱数码管需要两信号段选信号片选信号段选信号固定8(于普通7段数码管)片选信号数量与数码管位数相同于8位数码管态扫描说片选信号要8根线仅仅驱数码管占用2组共16IO口非浪费

使用573锁存器占用8+2=10IO口其2用于控制锁存器使能另外8输信号先关闭控制片选信号573芯片锁存功能单片机输片选信号随启锁存论573输入端何变化输端都变原输入信号锁住再关闭控制段选573锁存功能输段选信号再锁存巧妙实现数据线复用让组IO口既输段选输片选

74hc573n怎样和51单片机IO和8*8点阵相连的电路图或方法。

74hc573就是一个串行输入,并行输出的锁存器而已,和51连接,只需一个时钟引脚和一个数据引脚,8*8的矩阵需要两片573,所以就是4个脚随便与51的4个IO口连起来就是了。

74HC573 控制数码管动态显示

强烈建议用C语言来学单片机,汇编对于稍微复杂点的程序,会让你累翻

52单片机加两个74HC573,数码管动态显示,一个573连接段,一个连接位,求C程序。

图画的不对,既然用了锁存器,就要节约IO端口,两个锁存器的输入应该共用一个端口P0或P2

假设为P0

每个锁存器有1个锁存信号L,需占用两条IO线,假设分别接 P1.6和P1.7

由于是动态扫描显示,所以显示函数调用时要放在WHILE或FOR循环中反复运行,才能看见结果

程序如下:

#includereg52.h

sbit dula=P1^6;//段锁存信号

sbit wela=P1^7;//位锁存信号

#define uchar unsigned char;

void delay(i)

{

for(j=i;j0;j--)

for(k=125;k0;k--);

}

uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,

0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};

void display(uchar qian_c,uchar bai_c,uchar shi_c,uchar ge_c)//4位显示程序

{

P0=table[qian_c]; //显示千位

dula=1;

dula=0;

P0=0xfe;

wela=1;

wela=0;

delay(2);

P0=table[bai_c]; //显示百位

dula=1;

dula=0;

P0=0xfd;

wela=1;

wela=0;

delay(2);

P0=table[shi_c]; //显示十位

dula=1;

dula=0;

P0=0xfb;

wela=1;

wela=0;

delay(2);

P0=table[ge_c]; //显示个位

dula=1;

dula=0;

P0=0xf7;

wela=1;

wela=0;

delay(2);

P0=xff; //显示完毕后关闭所有位显示,也可不要,但退出显示程序时会留尾巴,即最后一个数码管还在显示

wela=1;

wela=0;

}

void main( )

{

 .....//其它代码

 while(1)

  {

display(b1,b2,b3,b4); //调用显示函数

.....//其它代码,不能占用CPU太多时间,否则显示闪烁

  }

}

两片74hc573怎么连接在单片机上实现位和段的锁存

用74hc573的LE端控制,OE直接接地就行,LE为1时打开锁存器,这时候就可以输入数据到锁存器中,也就是说D0~D7到Q0~Q7导通;LE为0时,锁存器锁存,D0~D7的变化不会影响到Q0~Q7.

(责任编辑:IT教学网)

更多