单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 45|回复: 5
打印 上一主题 下一主题
收起左侧

ATTINY13A单片机顺序点亮灯程序哪里不对?

[复制链接]
跳转到指定楼层
楼主
主要点亮PB0~PB4的五个LED,
第一次  0 1 1 1 1     LED分别接PB0~PB4,0低电平点亮,1高电平息灭
第二次 0  0 1 1 1
第三次  0 0 0  1 1
第四次0 0 0 0 1
第五次 0 0 0 0 0
然后一直全部亮

void main(void)
{
sys_init();       脚位初始化
while(1)
{

PORTB=(0<<PB0)|(1<<PB1)|(1<<PB2)|(1<<PB3)|(1<<PB4);    //点亮第一个LED
  delay_ms(1000);
PORTB=(0<<PB0)|(0<<PB0)|(1<<PB2)|(1<<PB3)|(1<<PB4);    //点亮第一、二个LED
  delay_ms(1000);
PORTB=(0<<PB0)|(0<<PB0)|(0<<PB0)|(1<<PB3)|(1<<PB4);     //点亮第一、二、三个LED
  delay_ms(1000);
PORTB=(0<<PB0)|(0<<PB0)|(0<<PB0)|(0<<PB0)|(1<<PB4);    //点亮第一、二、三、四个LED
  delay_ms(1000);
PORTB=(0<<PB0)|(0<<PB1)|(0<<PB2)|(0<<PB3)|(0<<PB4);   //全部点亮
  while(1);
}
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 顶 踩
沙发
taotie 发表于 2019-9-13 14:49 | 只看该作者
需要设置端口方向

#include <inttypes.h>
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
//sys_init();       脚位初始化
DDRB=0xff;//B端口设置为输出

{

PORTB=(0<<PB0)|(1<<PB1)|(1<<PB2)|(1<<PB3)|(1<<PB4);    //点亮第一个LED
  _delay_ms(1000);
PORTB=(0<<PB0)|(0<<PB0)|(1<<PB2)|(1<<PB3)|(1<<PB4);    //点亮第一、二个LED
  _delay_ms(1000);
PORTB=(0<<PB0)|(0<<PB0)|(0<<PB0)|(1<<PB3)|(1<<PB4);     //点亮第一、二、三个LED
  _delay_ms(1000);
PORTB=(0<<PB0)|(0<<PB0)|(0<<PB0)|(0<<PB0)|(1<<PB4);    //点亮第一、二、三、四个LED
  _delay_ms(1000);
PORTB=(0<<PB0)|(0<<PB1)|(0<<PB2)|(0<<PB3)|(0<<PB4);   //全部点亮
  while(1);
}
}
板凳
taotie 发表于 2019-9-13 14:50 | 只看该作者
WINAVR编译通过
地板
taotie 发表于 2019-9-13 14:56 | 只看该作者

5#
 楼主| hjx5548 发表于 2019-9-14 09:19 | 只看该作者
void sys_init(void)
{
        DDRB = 0xff;        //将所有I/O口均初始化为输出状态
        PORTB = 0xff;       
}
已经端口初始化
6#
 楼主| hjx5548 发表于 2019-9-14 09:27 | 只看该作者
谢谢,一切正常了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

|手机版|小黑屋|单片机论坛 |51黑电子论坛单片机 联系QQ:125739409;技术交流QQ群582644647

Powered by 单片机教程网

快速回复 返回顶部 返回列表