找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4084|回复: 8
收起左侧

新手按照书的例子想做一个定时器的实验,没有想到第一次就不顺利,求好心人解。

[复制链接]
ID:61347 发表于 2014-5-2 10:59 | 显示全部楼层 |阅读模式
新人按照书的例子想做一个定时器的实验,没有想到第一次就不顺利。为什么在proteus仿真成功,下载到开发板就不行。
代码如下:
#include <reg51.h>
#define uint  unsigned int
void delay(uint i)
{
       TMOD=0x01;
       IE=0x00;
       TR0=1;
       while(i!=0)
       {
              TH0=0xee;
              TL0=0x00;
              TF0=0;
              i--;
        }
       TR0=0;
}

void main()
{
       while(1)
       {
              P2=0x00;
              delay(100);
              P2=0xff;
              delay(100);
       }
}

在模拟器上P2脚的LED能500毫秒闪一次
下载到开发板上P2脚的LED常亮,万用表量其电压在2.4左右。这是什么情况。
回复

使用道具 举报

ID:60076 发表于 2014-5-2 12:39 | 显示全部楼层
肯定是开发板的电路和仿真的不同吧
回复

使用道具 举报

ID:59632 发表于 2014-5-2 18:12 | 显示全部楼层
你设置的TMOD=0x01;是设置的T0或者T1工作在方式一,
TR0=1;启动定时器0;
TH0=0xee;
TL0=0x00;
设置定时时间为1200us,
while(i!=0)
        {
               TH0=0xee;
               TL0=0x00;
               TF0=0;
               i--;
         }
然后这里就有问题了,你这里不断的给定时器设置100次初值,导致定时器一直无法中断,
应该在TF0=0;前面加上while(!TF0);查询是否溢出。
然后就可以实现你的1200*100us延时了。
回复

使用道具 举报

ID:58980 发表于 2014-5-25 17:36 | 显示全部楼层
你再考考看看定时器说明。你启动了定时器,但是没有等到定时时间到,没有定时器中断处理函数,while(i!=0){…………},函数作用是TH0,TL0赋值关闭定时标志,没有用到定时器中断函数部分。相当于延时函数。
回复

使用道具 举报

ID:58980 发表于 2014-5-25 17:40 | 显示全部楼层
plandy 发表于 2014-5-2 18:12
你设置的TMOD=0x01;是设置的T0或者T1工作在方式一,
TR0=1;启动定时器0;
TH0=0xee;

同意 !补充:1,这个程序也没有中断处理函数 void time0() interrupt 1  {  ……}
2,没有打开EA,ET0 中断。
回复

使用道具 举报

ID:62288 发表于 2014-5-26 11:30 | 显示全部楼层
#include <reg51.h>
#define uint  unsigned int
void delay(uint m)
{
uint i,j;
for(i=m;i>0;i--)
   {
   for(j=121;j>0;j--)                                                                                                          
      {
      ;
      }
   }             
}
void main()
{
       while(1)
       {
              P2=0x00;
              delay(500);
              P2=0xff;
              delay(500);
       }
}
回复

使用道具 举报

ID:61153 发表于 2014-5-29 20:21 | 显示全部楼层
学习了!!!!
回复

使用道具 举报

ID:63472 发表于 2014-7-1 10:24 | 显示全部楼层
赞!!!!!!!!!
回复

使用道具 举报

ID:63747 发表于 2014-7-22 01:24 | 显示全部楼层
学学~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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