打印
[AVR单片机]

请教一些编程问题

[复制链接]
1716|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ershisi|  楼主 | 2010-4-22 23:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是一个初学者,今天刚刚做完实验,找到好多问题,但是都不知道是什么原因。
(我们的板子是低电平二极管工作,高电平不工作),我原本打算编一个让八个二极管依次亮,编了一个却不成功,到底是哪里错了呢?请高手们指教一二。我用的是mega16。

#include <mega16.h>

#include <delay.h>
unsigned int i;

void main(void)
{
DDRA=0xff;
PORTA=0xff;
while(1)
{
  for (i=0;i<8;i++)
  {
    PORTA&=~(1<<i);\\清零操作,让第i位为“0”
  delay_ms(1000);
    PORTA=0xff;
  }
  }
}


还有一个问题,如果我想对PORTA.0和PORTA.1的数值反转,也就是高低转换,是不是用“∧=”这个符号?如果要是用得话应该怎么用呢?
谢谢各位高手们了!

相关帖子

沙发
宇航3000| | 2010-4-23 17:23 | 只看该作者
你的程序有问题...

使用特权

评论回复
板凳
maomao2126| | 2010-4-23 17:51 | 只看该作者
电平翻转使用∧=”这个符号即可。
你说不成功是什么意思?是不是延时太短了

使用特权

评论回复
地板
xiaohuai| | 2010-4-23 21:29 | 只看该作者
很短的一段程序也没通过?

使用特权

评论回复
5
wangyueming| | 2010-5-8 18:36 | 只看该作者
你的头文件不对吧,应该是<iom16.h>吧?还有就是你的i,最好是定义为unsinged char i.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

413

帖子

1

粉丝