共4条
1/1 1 跳转至页
各位高手,帮我看看我的下面这段程序是哪里有问题呢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: 能把电路图拿来看看不?这样好分析点~
#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: 能把电路图拿来看看不?这样好分析点~
共4条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
分享一种检测按键状态的方法被打赏20分 | |
周末总结一下,STM32C0系列的开发经验被打赏50分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下定时器配置被打赏20分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下PWM配置被打赏20分 | |
【Cortex-M】Systick Timer使用被打赏10分 | |
分享汽车防盗系统的组成与分类(一)被打赏5分 | |
VOFA+波形显示+JYD-31蓝牙发送和解析不定长数据被打赏10分 | |
【换取手持数字示波器】-STM32F4PWM控制LED灯管亮度被打赏22分 | |
【换取手持数字示波器】STM32F4驱动RPR-0521RS照度、接近一体型传感器被打赏23分 | |
宏定义和const关键字定义被打赏5分 |