你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
TLLED 发表于 2019-8-8 11:44 给你一个参考程序
lugf 发表于 2019-8-8 15:00 按照你的方式试了和我上面的一样,能在详细点吗?多谢了
TLLED 发表于 2019-8-8 17:42 延时的时间要稍长些,
maxtch 发表于 2019-8-8 19:52 信号太快了。还有,你这是 8051 代码?STM8 和 8051 差异很大。
lugf 发表于 2019-8-9 09:25 我是用STM8的,51的以前学过一点,没有用过51单片机
按照你的方式试了和我上面的一样,能在详细点吗?多谢了
void main()
{
unsigned char a;
unsigned char LED_data[8]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};
disableInterrupts();
CLK_Configuration();
GPIO_Configuration();
TIME2_Init();
enableInterrupts();
while(1)
{
//KEY_Demo();
//KEY_Demo2();
//KEY_Demo1();
for(a=0;a<8;a++)
{
//LED_HC595( );
SendByte(LED_data[a]);
OutCtrl595();
delay_ms(1000);
}
// delay_ms(100);
}
}
大概流程就是这样的
延时的时间要稍长些,
感谢兄弟的热情帮助,我多试几次应该可以了
按照你的思路已经可以了,谢谢
我是用STM8的,51的以前学过一点,没有用过51单片机
兄弟,再帮忙看一下,程序流水一次就停下来了,没有进入死循环。我用了两层for循环语句,但是程序只执行内层循环,没有执行外循环。
{
unsigned char e[8]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};
unsigned char b;
{
for(b=0;b<8;b++)
{
LED_data&=e[b];
LED_HC595();
delay_ms(1000);
}
}
}
{
unsigned char a;
disableInterrupts();
CLK_Configuration();
GPIO_Configuration();
TIME2_Init();
enableInterrupts();
while(1)
{
//KEY_Demo();
//KEY_Demo2();
//KEY_Demo1();
//LED_KEY();
for(a=0;a<8;a++)
{
LED_display();
delay_ms(1000);
}
}
}