打印
[AVR单片机]

为什么出来的不是一个规则的方波?

[复制链接]
2130|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenczy|  楼主 | 2011-10-15 11:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <mega32.h>

void delay1(unsigned int j)     //延时
    {unsigned int i;
     for(i=0;i<j;i++);
     }

void main(void)
{
      //DDxn为1是输出,0是输入;输出时PORTx为1输出高,0输出低;输入时PORTx为1上拉电阻使能
      //端口A的设置
      PORTA=0x00;
      DDRA=0xFF;

     while(1)
      {
        PORTA=0x01;
       delay1(10000);
       PORTA=0x00;
       delay1(10000);
      }
}
用示波器测得PA0口波形是一个不规则的方波。为什么呢?

相关帖子

沙发
dpcqz| | 2011-10-15 12:22 | 只看该作者
上个图看一下,是很不规则,还是很小的差距。一般这样写延时有误差,最好用定时器

使用特权

评论回复
板凳
NE5532| | 2011-10-16 09:31 | 只看该作者
上个图看一下,是很不规则,还是很小的差距。一般这样写延时有误差,最好用定时器
dpcqz 发表于 2011-10-15 12:22


请问误差来自于哪里?

使用特权

评论回复
地板
zaqxsw11088| | 2011-10-18 11:47 | 只看该作者
DDRA=0xFF;
PORTA=0x00;
换成这样试试。。。。

使用特权

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

本版积分规则

141

主题

791

帖子

0

粉丝