找回密码
 立即注册

QQ登录

只需一步,快速开始

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

求助,单片机程序烧进去以后定时器好像没开启

[复制链接]
跳转到指定楼层
楼主
ID:592558 发表于 2020-1-8 09:43 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
如果在主程序里面循环前面加上TR0=0,定时器运行正常;现在是按键以后也无法触发计时。多个定时器同时开启的话,会有相互干扰的问题吗?
  1. #include<reg52.h>

  2. #define uint unsigned int  //定义常用数据类型替代码
  3. #define uchar unsigned char

  4. uchar t0;     //定时器累加位


  5. sbit K1=P3^2;    //按键输入
  6. sbit beep=P1^0;  //蜂鸣器模拟标记输出
  7. sbit relay=P1^7;

  8. void IntConfiguration();  //设置定时器初始值
  9. void Delay(uint n);       //延时函数


  10. void main()
  11. {
  12.    uint i;
  13.    IntConfiguration();

  14.    while(1)
  15.   {

  16.    if(K1==0)          //是否有种茎进入
  17.   {
  18.     TR0=0;    //关闭定时器0
  19.     TR1=0;     //关闭定时器1
  20.     t0=0;

  21.     relay=1;
  22.     beep=1;                   //关闭标记装置
  23.     while((i<50)&&(K1==0))     //判断种茎是否离开
  24.    {

  25.      Delay(1);
  26.      i++;


  27.    }
  28.    i=0;
  29.    IntConfiguration();
  30.    TR0=1;

  31.   }  





  32.   else
  33. {
  34.     if(t0==1296)   //定时器0计时1.08s
  35.    {
  36.      t0=0;  
  37.      beep=0;  //打开标记装置
  38.      relay=0;
  39.    }

  40.   }  





  41. }

  42. }




  43. void IntConfiguration()
  44. {


  45.    //设置定时器
  46.    TMOD=0x11; //设置定时器0和1均为工作方式1


  47.    TH0=0xfc;  //定时器0定时50ms初值
  48.    TL0=0x66;
  49.    ET0=1;   //开定时器0中断





  50.    EA=1;   //打开总中断
  51. }





  52. void Timer0()  interrupt 1          //定时器0中断函数
  53. {
  54.    TH0=0xfc;
  55.    TL0=0x66;
  56.    t0++;   //计算定时5ms的个数



  57. }






  58. void Delay(uint n)              //延时50us误差0us
  59. {

  60.    unsigned char a,b;
  61.    for(;n>0;n--)
  62.    {
  63.      for(b=1;b>0;b--)
  64.      for(a=22;a>0;a--);

  65.    }



  66. }
复制代码





分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:592558 发表于 2020-1-8 15:25 | 显示全部楼层
ziiyn 发表于 2020-1-8 12:21
程序有问题吧。我开了3个定时器也没影响。如果有屏幕,可以显示下定时器状态,没有屏幕的话用LED显示下定时 ...

拿LED显示了一下,定时器0开启时LED亮。现在LED不亮;如果在while循环之前加TR0=1,LED会亮,但是不会灭,应该是没有进入循环体里面。但是还不知道怎么改
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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