• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

用的STC12C5A60S2控制LED出现的问题

dalongge 2017-01-10 浏览量:991
       我现在在用它通过控制LED的亮灭时间  来控制PC机的开机和强制关机   但是现在我通过W5500发数据能控制LED亮  就是熄灭不了   不知道为什么   试了很多种方法 包括中断什么的  也不行   哪位大神有空  可以帮我看一下程序啊    http://cf02.ickimg.com/bbsfiles/201701/0099638bee38888f49d99786edacf34a.zip
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 嗨 您把74595的Code改成這樣看看

    void HC595SendData(uchar dat1,uchar dat2,uchar dat3)
    {  
    	uchar i;
            //開始送資料
            HC_LATCH = 0; //set dataline low
    
    	//--发送第一个字节--//
    	for(i=0;i<8;i++)
    	{
    		HC_DATA = dat1 >> 7 ;	//从高位到低位
    		dat1 <<= 1;
    
    		HC_CLK = 0;
    		HC_CLK = 1;		
    	}
    
    	//--发送第二个字节--//
    	for(i=0;i<8;i++)
    	{
    		HC_DATA = dat2 >>7;		//从高位到低位
    		dat2 <<= 1;
    
    		HC_CLK = 0;
    		HC_CLK = 1;	
    	}
    
    	//--发送第三个字节--//
    	for(i=0;i<8;i++)
    	{
    		HC_DATA = dat3 >> 7;		//从高位到低位
    		dat3 <<= 1;
    		HC_CLK = 0;
    		HC_CLK = 1;
    	}
       
    	//--输出--//
    	 HC_LATCH = 1; //片选
    }
    
    以上您嘗試看看,希望對您有用

    • 发布于 2017-01-11
    • 举报
    • 评论 1
    • 0
    • 0
dalongge 回复了 MOP:我按刚刚你的代码试了下 不能点亮LED 回复

其他答案 数量:6

  •  嗯 按照我写的程序  我PC端发“P03”  对应的第4盏灯亮20ms然后熄灭 且W5500回给PC端“P03”  但是我现在发“P03”第4盏灯常亮不会熄灭     再发“P04”能收到W5500的返回  但控制不了第五盏LED   要复位单片机才可以   复位之后也是和之前一样 只能控制一盏灯常亮  
    • 发布于2017-01-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 这是我的一些问题,以及所用的一些电路图
    • 发布于2017-01-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 应该是你的程序问题    看看程序
    • 发布于2017-01-10
    • 举报
    • 评论 1
    • 0
    • 0
dalongge 回复了 abc345 :程序在附件里面,帮看看哪里有问题,好么?keil的 回复

  • 那再改為以下試看看

    void HC595SendData(uchar dat1,uchar dat2,uchar dat3)
    {  
    	uchar i;
            //開始送資料
            HC_LATCH = 0; //set dataline low
    
    	//--发送第一个字节--//
    	for(i=0;i<8;i++)
    	{
    		HC_DATA = dat1 >> 7 ;	//从高位到低位
    		dat1 <<= 1;
    
    		HC_CLK = 0;
    		HC_CLK = 1;		
    	}
    
    	//--发送第二个字节--//
    	for(i=0;i<8;i++)
    	{
    		HC_DATA = dat2 >>7;		//从高位到低位
    		dat2 <<= 1;
    
    		HC_CLK = 0;
    		HC_CLK = 1;	
    	}
    
    	//--发送第三个字节--//
    	for(i=0;i<8;i++)
    	{
    		HC_DATA = dat3 >> 7;		//从高位到低位
    		dat3 <<= 1;
    		HC_CLK = 0;
    		HC_CLK = 1;
    	}
       
    	//--输出--//
    	HC_LATCH = 1; //片选
            Delay(50);
            HC_LATCH = 0; //set dataline low
    }

    • 发布于2017-01-12
    • 举报
    • 评论 4
    • 0
    • 0
dalongge 回复了 MOP :能点亮 还是不会熄灭 回复
dalongge 回复了 MOP :好纠结的 回复
dalongge 回复了 MOP :大神 我那个..程序..不知道你看下来怎么样哈 回复
MOP 回复了 dalongge :看起來是沒什麼問題,不過我懷疑是不是您的電源電壓不足,TTL IC都是接5V喔,且全部要共地,下面那電路是供電電路的話,跟上面電路搭不起來 回复

相关问题

问题达人换一批

用的STC12C5A60S2控制LED出现的问题