74hc573控制数码管

[复制链接]
11957|18
 楼主| chenke1988 发表于 2010-10-10 22:08 | 显示全部楼层 |阅读模式
用51单片机的一个P0口和两个74hc573控制八个数码管的显示!!!!!请指导一下  谢谢!!!!!
jack821119 发表于 2010-10-11 10:39 | 显示全部楼层
为什么要用2个74hc573了?1个573都可以了
老鱼探戈 发表于 2010-10-11 13:03 | 显示全部楼层
用一个MAX7219就搞定了,只要三个IO口就可以了
john_light 发表于 2010-10-11 13:05 | 显示全部楼层
max7219的价格可不低
 楼主| chenke1988 发表于 2010-10-11 17:17 | 显示全部楼层
我想实现一个573控制八位数码管的位选 另一个控制数码管的段选,八个数码管分别显示0~7,只用P0口,一个573好像不行吧!!
 楼主| chenke1988 发表于 2010-10-11 17:20 | 显示全部楼层
我是想节省IO口才用的573啊 用三个太多了 我只想用一个 3# 老鱼探戈
senzh01 发表于 2010-10-12 09:27 | 显示全部楼层
除了P0口外,片选还得用口线吧?!用595是最省口线的!不怕闪的话用164也可以!
code-03 发表于 2010-10-12 15:39 | 显示全部楼层
哈哈,推荐用595,、、
 楼主| chenke1988 发表于 2010-10-12 16:58 | 显示全部楼层
如果用573程序怎么写啊? 8# code-03
 楼主| chenke1988 发表于 2010-10-12 17:08 | 显示全部楼层
就用一个P0口啊不用其他口了 7# senzh01
2008付海龙 发表于 2010-10-12 22:22 | 显示全部楼层
还是非问题573比较经典。呵呵
qqq44488 发表于 2010-10-12 22:32 | 显示全部楼层
dula=1;
P0=table[shi];
dula=0;
P0=0xff;
wela=1;
P0=0x7d;
wela=0;
delayms(5);
dula=1;
P0=table[ge];
dula=0;
P0=0xff;
wela=1;
P0=0x7b;
wela=0;
delayms(5);


附件是个六位数码管  加俩就可以了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| chenke1988 发表于 2010-10-13 09:18 | 显示全部楼层
谢谢啦!!还想问一下这个程序的delayms(5);起的是什么作用????如果没有这句话,数码管好像不能正常显示啊!!
12# qqq44488
zhaoyu2005 发表于 2010-10-13 10:16 | 显示全部楼层
两片595驱动8位数码管合适,一片负责段,一片负责位,两片级联,3根口线搞定
yuanquan12345 发表于 2010-10-14 11:05 | 显示全部楼层
谢谢啦!!还想问一下这个程序的delayms(5);起的是什么作用????如果没有这句话,数码管好像不能正常显示啊!!
12# qqq44488
延时的作用。
qqq44488 发表于 2010-10-14 11:15 | 显示全部楼层
谢谢啦!!还想问一下这个程序的delayms(5);起的是什么作用????如果没有这句话,数码管好像不能正常显示啊!!
12# qqq44488
chenke1988 发表于 2010-10-13 09:18


延时时间  你还得写一个延时函数
zjswuyunbo 发表于 2010-10-14 11:22 | 显示全部楼层
8个数码管?
连573都可以不要
yuyi21ic 发表于 2010-10-14 11:59 | 显示全部楼层
网上一搜就一堆啊,LZ!
超越-梦想 发表于 2014-8-12 10:53 | 显示全部楼层
大神们求指教
我用74hc573驱动数码管做一个时钟显示时分秒
仿真后数码管从右往左依次显示0,最后停在最左边数码管上,常亮并且显示0
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit P3_1=P3^1;
sbit P3_0=P3^0;
void delays(uint);
uchar led_data[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar miao=0,fen=0,shi=0,num=0;
void main()
{
  TMOD=0x01;
  TH0=(65536-50000)/256;
  TL0=(65536-50000)%256;
  EA=1;
  ET0=1;
  TR0=1;
  while(1)
{
  P3_1=1;//位选
  P2=0x80;
  P3_1=0;

  P3_0=1;//显示
  P0=led_data[miao%10];
  delays(100);
  P3_0=0;

  P3_1=1;//位选
  P2=0x40;
  P3_1=0;

  P3_0=1;//显示
  P0=led_data[miao/10];
  delays(100);
  P3_0=0;

  P3_1=1;//位选
  P2=0x20;
  P3_1=0;

  P3_0=1;//显示
  P0=led_data[fen%10];
  delays(100);
  P3_0=0;

  P3_1=1;//位选
  P2=0x10;
  P3_1=0;

  P3_0=1;//显示
  P0=led_data[fen/10];
  delays(100);
  P3_0=0;

  P3_1=1;//位选
  P2=0x08;
  P3_1=0;

  P3_0=1;//显示
  P0=led_data[shi%10];
  delays(100);
  P3_0=0;

  P3_1=1;//位选
  P2=0x04;
  P3_1=0;

  P3_0=1;//显示
  P0=led_data[shi/10];
  delays(100);
  P3_0=0;
}
}
void T0_time()interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num++;
while(num==20)
{
  miao++;
  num=0;
  while(miao<=59)
  {
   fen++;miao=0;
  }
  while(fen<=59)
  {
   shi++;fen=0;
  }
  while(shi<=24)
  {
   shi=0;
  }
}
}
void delays(uint xms)
{
uint j,k;
for(k=xms;k>0;k--)
    for(j=110;j>0;j--);
}









您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

58

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部