Jamao123 2020-05-21 21:00 采纳率: 100%
浏览 1198
已采纳

大佬求救,proteus流水灯不亮啊

图片说明图片说明

/*P0~P3口32位LED花样灯实验 /
/
晶振:12MHZ /
/
******************************************************/
#include
unsigned char code tab1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff};//左移单个点亮
unsigned char code tab3[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//左移逐个熄灭
void Delay()
unsigned char i,j;
for(j=0;j<255;j++);

{

while(1)
//左移单个点亮
{
Delay();
for(i=0;i<9;i++)
P0=tab1;//单个点亮D9~D16
}
{
Delay();
for(i=0;i<9;i++)
P2=tab1;//单个点亮D25~D32
}
for(i=0;i<8;i++)
P2=tab2;//逐个点亮D32~D25
}
{
Delay();
for(i=0;i<8;i++)
P0=tab2;//逐个点亮D16~D9
}
{
Delay();
//左移逐个熄灭
{
Delay();
for(i=0;i<8;i++)
P0=tab3;//逐个熄灭D9~D16
}
{
Delay();
for(i=0;i<8;i++)
P2=tab3;//逐个熄灭D25~D32
}
}


  • 写回答

1条回答 默认 最新

  • qiu_shaofeng 2020-05-21 23:55
    关注
    1. delay() 要在for循环里
    2. P0口要上拉电阻
    3. 程序没贴全,或者是语法有错误。 for(i=0;i<9;i++){ P0=tab1[i]; delay(); }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 Linux上make出现错误不知道怎么解决
  • ¥15 prism提示我reinstall prism 如何解决
  • ¥15 asp.core 权限控制怎么做,需要控制到每个方法
  • ¥20 while循环中OLED显示中断中的数据不正确
  • ¥15 这个视频里的stm32f4代码是怎么写的
  • ¥15 JNA调用DLL报堆栈溢出错误(0xC00000FD)
  • ¥15 请教SGeMs软件的使用
  • ¥15 自己用vb.net编写了一个dll文件,如何只给授权的用户使用这个dll文件进行打包编译,未授权用户不能进行打包编译操作?
  • ¥50 深度学习运行代码直接中断
  • ¥20 需要完整的共散射点成像代码