中易网

2片74HC595驱动4位数码管,怎么不成功

答案:1  悬赏:30  
解决时间 2021-01-28 22:00
2片74HC595驱动4位数码管,怎么不成功
最佳答案
那是你的电路连接的有误,或者程序有问题。
下面是仿真的实例,并附有程序

//两片74HC595,驱动4位共阴数码管
#include
#include
sbit sclk=P2^0;          //定义HC595第11脚,串行时钟输入端
sbit cpla=P2^1;          //定义HC595第12脚,输出锁存脉冲输入端
sbit sdat=P2^2;          //定义HC595第14脚,串行数据输入端
unsigned char led_ram[]={1,2,3,4};    //显示缓冲区
unsigned char code segment[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,
0x27,0x7F,0x6F}; //共阴数码管0-9段码


//
void delay()
{
unsigned int i;
for (i=400;i>0;i--);
}


//
void hc595(unsigned char byte)
{
  unsigned char i;
  for (i=8;i>0;i--)     //循环8次
  {
  sclk=0;
  sdat=0x80&byte;       //从最高位开始串行输出
  byte<<=1;             //向高位移一位,即向左移一位
  sclk=1;               //上升沿推进一位
  }
}


//
void display()
{
unsigned char j,ledbit=0xfe;  //ledbit位码,指向LED4位,最右位
for (j=0;j<4;j++)             //循环显示4位
{
hc595(segment[led_ram[j]]);   //先串行输出段码
hc595(ledbit);                //后串行输出位码
cpla=1;                       //cpla上升沿输出端锁存
cpla=0;
ledbit=_crol_(ledbit,1);      //位码向左移一位
    delay();
}
 }
//主程序//
void main()
{
while(1)
{
display();   //调显示子程序
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一八一九取合数
将文件复制到ftp服务器时发生错误,请检查是
今天探探遇到个女的,加我微信,但不让我看朋
广水市公安局郝店交通管理中队怎么去啊,我要
交往不久的女朋友接吻时睁开眼睛,我知道她深
诺贝尔延时之王有什么副作用没?
属鼠的找对象找属什么的最合适
苹果6经常蓝屏从启怎么办?
人一生要打多少疫苗,每种疫苗什么时间打
怎样才能开具无住房证明的!!谢谢。。
森字的组词语是什么
餐厅营销什么是最重要一环
左軍的意思是什么?左軍的释义是什么啊?
椰子炖鸡汤椰子怎么炖不软
快递,浙江某邮局邮寄EMS就三张文件,单上打
推荐资讯
原来是核心期刊,但2017年不是了,那2017年发
孩子突然嗓子发哑怎么办
印度人上厕所用什么?
win7系统动漫声音包
歌谣,民谣,童谣有什么区别?
oppo A59s手机如何把图片上传到电脑?
请问气胸会导致病变吗?
i5-3450的cpu能带动hd7870吗,会不会有性能瓶
明年还给企业离退休人员增加养老金吗
为什么eigrp在重分发的时候必须携带metric值
求问我的8p是wifi出问题了吗
求教腾龙老镜头
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?