AVR单片机 实现流水灯的程序 如何做呀
#include<avr/io.h>intmain(void){DDRB=0xff;PORTB=0b11110000;unsignedi,j;while(1){if(PO...
#include <avr/io.h>
int main(void)
{
DDRB=0xff;
PORTB=0b11110000;
unsigned i,j;
while(1)
{
if(PORTB==0b11110000)
PORTB=0b00001111;
else
PORTB=0b11110000;
for(i=0;i<100;i++)
for(j=0;j<800;j++);
}
}
我写的这个程序 DEBUG的时候 为什么 执行不到FOR循环 调试的箭头总也指示不到 FOR 而且所有灯 都是亮的 体现不出延时 展开
int main(void)
{
DDRB=0xff;
PORTB=0b11110000;
unsigned i,j;
while(1)
{
if(PORTB==0b11110000)
PORTB=0b00001111;
else
PORTB=0b11110000;
for(i=0;i<100;i++)
for(j=0;j<800;j++);
}
}
我写的这个程序 DEBUG的时候 为什么 执行不到FOR循环 调试的箭头总也指示不到 FOR 而且所有灯 都是亮的 体现不出延时 展开
4个回答
展开全部
avr读引脚的时候要进行设置(DDRB=0x00),然后用PINB来读取
#include <avr/io.h>
int main(void)
{
DDRB=0xff;
PORTB=0b11110000;
unsigned i,j;
while(1)
{
DDRB=0x00;
if(PINB==0b11110000)
{
DDRB=0xff;
PORTB=0b00001111;
}
else
{
DDRB=0xff;
PORTB=0b11110000;
}
for(i=0;i<100;i++)
for(j=0;j<800;j++);
}
}
#include <avr/io.h>
int main(void)
{
DDRB=0xff;
PORTB=0b11110000;
unsigned i,j;
while(1)
{
DDRB=0x00;
if(PINB==0b11110000)
{
DDRB=0xff;
PORTB=0b00001111;
}
else
{
DDRB=0xff;
PORTB=0b11110000;
}
for(i=0;i<100;i++)
for(j=0;j<800;j++);
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
宿兴电子
2024-11-28 广告
2024-11-28 广告
联系我们一、有无震荡源 无源这里的“源”不是指电源,而是指震荡源。也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。 二、价格不同 有源蜂鸣器往比无源蜂鸣器贵,就是因为里面多个震荡...
点击进入详情页
本回答由宿兴电子提供
展开全部
if(PORTB==0b11110000)
PORTB=0b00001111;
else
PORTB=0b11110000;
改成
if(PINB==0b11110000)
{
PORTB=0b00001111;
}
else
{
PORTB=0b11110000;
}
PORTB=0b00001111;
else
PORTB=0b11110000;
改成
if(PINB==0b11110000)
{
PORTB=0b00001111;
}
else
{
PORTB=0b11110000;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询