初学者请帮忙找错-流水灯不亮

2019-07-15 21:34发布

本帖最后由 ttl_web 于 2013-11-26 11:55 编辑
  1. #include<iom128v.h>
  2. #include <stdlib.h>

  3. unsigned int i,j,k;
  4. void main(void)
  5. {

  6.         DDRA = 0xff;
  7.         PORTA = 0xff;
  8.         while(1){
  9.         if(k==8) k=0;
  10.           PORTA =~ (1<<k);        
  11.           k++;
  12.       for (i=0;i<10;i++)
  13.       {
  14.             for (j=0;j<4000;j++);
  15.           }
  16.         }
  17. }

  18. 硬件环境:
  19. ATmega128 核心板
  20. 硬件连接:
  21. PA0-8 ===== LED*8 ==== VCC
  22. 开发环境:
  23. ICCAVR 6.31A
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
hongweihaotian
1楼-- · 2019-07-16 18:30
LZ太虚了,头文件我都没见过,还说是初学者
姓薛的
2楼-- · 2019-07-16 19:52
PORTA =~ (1<<k); 根本逻辑就不对
姓薛的
3楼-- · 2019-07-17 01:52
#include<reg51.h>
#include <stdlib.h>

#define P0  PORTA
#define P1 自己定义的东西XXXXXX

unsigned int i,j,k;
void main(void)
{
      
        XXXXX = 0xff;
         P0= 0xfe;
        while(1){
        if(k==8) k=0;
                  PORTA=~PORTA;
                 PORTA =~ (1<<k);        
          k++;
            //延迟程序//
        }
}   我以89C51为例子,其他单片机编法类似
姓薛的
4楼-- · 2019-07-17 03:42
ttl_web 发表于 2013-11-25 20:01
就执行一句,应该可以节约一对{}

那个是一个延迟的指令
BBOYBL
5楼-- · 2019-07-17 07:38
 精彩回答 2  元偷偷看……
BBOYBL
6楼-- · 2019-07-17 11:26
本帖最后由 BBOYBL 于 2013-11-26 01:57 编辑

{:1:}

一周热门 更多>