这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 各位高手,帮我看看我的下面这段程序是哪里有问题呢2?谢谢!

共4条 1/1 1 跳转至

各位高手,帮我看看我的下面这段程序是哪里有问题呢2?谢谢!

院士
2006-09-17 18:14:16     打赏
各位高手,帮我看看我的下面这段程序是哪里有问题呢2?谢谢!



关键词: 各位     高手     帮我     看看     我的     下面     这段     程序         

院士
2006-12-22 22:43:00     打赏
2楼
问 #include "STC12C2052AD.h"
#include "absacc.h"
#include "intrins.h"

//********定义引脚*************************************
sbit    GreenDisplay  =  P1^2;       //绿灯测试   TG
sbit    RedDisplay    =  P1^3;       //红灯测试   TR
sbit    RedEnable     =  P1^4;       //红灯使能   GTOE
sbit    GreenEnable   =  P1^5;       //绿灯使能   RTOE
sbit    Latch         =  P1^6;       //锁存       TLAT
sbit    Clk           =  P1^7;       //时钟       TCLK
sbit    Work          =  P3^5;       //P3_5       WORk
sbit    Test          =  P3^7;       //测试       TEST
//********定义引脚**************************************


//延时
int Delay( )
{
    int i,j;
    for (i=0; i<100; i++)
        {
            for (j=0; j<100; j++)
                {
                    ;
                }
         }
    return 1;     
}

//绿灯全部亮程序
int GreenAllOff( )
{
    int i;
    for (i=0; i<64; i++)
    {
        Clk = 1;           //时钟上升沿
        _nop_();
        _nop_();
        GreenDisplay = 0;   //发送数据
        _nop_();
        _nop_();
        Clk = 0;            //时钟下升沿
        _nop_();
      _nop_();
    }
    
    //*******把数据送出*********
    _nop_();
    _nop_();
         Clk = 0;   //在时钟下降沿把数据送出
    _nop_();
    _nop_();
    Latch = 1;   //锁存                
         _nop_();
    _nop_();
    _nop_();
    _nop_();
    Latch = 0;  //锁存
    _nop_();
    _nop_();
    GreenEnable = 0;     //绿灯使能   GTOE
    _nop_();
    _nop_();
    
    return 1;
}
    
        
        
        
int GreenTest( )   //绿灯测试程序
{
    int i ; // 绿灯数
    for (i=0; i<64; i++)
    {
    }
    
    return 1;
}
    

int main()   //主程序
{
    Work = 1;   
    Test = 0;
    Delay( );  //延时
    while(1)
    {
    //    Delay( );  //延时
        GreenAllOff( ); //绿灯全部亮
    //    Delay( );  //延时
    }
    return 1;
}  


可是程序运行后,没有一个点亮,
各位大哥,是不是:
int GreenAllOff( )
{
    int i;
    for (i=0; i<64; i++)
    {
        Clk = 1;           //时钟上升沿
        _nop_();
        _nop_();
        GreenDisplay = 0;   //发送数据
        _nop_();
        _nop_();
        Clk = 0;            //时钟下升沿
        _nop_();
      _nop_();
    }
    
    //*******把数据送出*********
    _nop_();
    _nop_();
  Clk = 0;
    _nop_();
    _nop_();
    Latch = 1;             //在时钟下降沿把数据送出
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    Latch = 0;
    _nop_();
    _nop_();
    GreenEnable = 0;     //绿灯使能   GTOE
    _nop_();
    _nop_();
    
    return 1;
}

是不是这段程序有问题?
谢谢!
1: 是不是要跟硬件连接一起来看好点?就这样看,看不出有什么问题。

凭感觉猜一下,这个
“GreenEnable = 0;     //绿灯使能   GTOE”
是不是要放在锁存信号的前面?  2: 谢谢大哥,还是不行啊~~//*******把数据送出*********
    _nop_();
    _nop_();
         Clk = 0;
    _nop_();
    _nop_();
    GreenEnable = 0;     //绿灯使能   GTOE
    _nop_();
    _nop_();
    Latch = 1;             //在时钟下降沿把数据送出
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    Latch = 0;
    _nop_();
    _nop_();

改为这样,还是不行啊! 3: 能把电路图拿来看看不?这样好分析点~

专家
2022-08-20 10:48:04     打赏
3楼

感谢分享


专家
2022-08-20 10:50:36     打赏
4楼

学一下


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]