51单片机外部脉冲计数问题

2019-07-15 09:21发布

  1. sbit IN1 = P1^3;
  2. sbit IN2 = P1^4;
  3. sbit IN3 = P1^5;
  4. sbit IN4 = P1^6;
  5. sbit rm = P3^4;         //右边码盘计数 T0
  6. sbit lm = P3^5;         //左边码盘计数 T1

  7. void Down()
  8. {
  9.     IN1 = 0;
  10.     IN2 = 0;
  11.     IN3 = 0;
  12.     IN4 = 0;   
  13. }

  14. void RTurn90()         //右转90度
  15. {   
  16.     IN1 = 0;
  17.     IN2 = 0;
  18.     IN3 = 1;
  19.     IN4 = 0;
  20. }

  21. void Inittimer()
  22. {
  23.     TMOD = 0x66;      //T0、T1作8位自动重装载计数器
  24.     EA = 1;           //开总中断
  25.     ET0 = 1;          //开中断T0
  26.     ET1 = 1;          //开中断T1
  27.     TH0 = 238;        //赋初值,计数码盘转过18格
  28.     TL0 = 238;
  29.     TH1 = 238;
  30.     TL1 = 238;
  31. }

  32. void main()
  33. {
  34.     InitTimer();
  35.     TR1 = 1;          //开T1计数器
  36.     while(1)
  37.     {
  38.     RTurn90();
  39.      }        
  40. }

  41. void int3() interrupt 3           //中断T1(左边)计数满18格
  42. {
  43.     TR1 = 0;
  44.     Down();
  45. }
复制代码各位大佬,请问下,我想通过T1计数外部脉冲,可是没法触发中断,这是为什么啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
yy2qy
1楼-- · 2019-07-15 15:15
帮帮忙啊
yy2qy
2楼-- · 2019-07-15 18:41
没人???老铁们!!!
人中狼
3楼-- · 2019-07-16 00:08
 精彩回答 2  元偷偷看……
yy2qy
4楼-- · 2019-07-16 01:16
人中狼 发表于 2017-11-12 20:12
使用定时器方式的话好像要把定时器设置为输入捕捉方式才可以,看看定时器方面的自尊了吧

不懂,能说明白一点吗
人中狼
5楼-- · 2019-07-16 03:01
关于单片机定时器概念和认识 [url]http://bbs.elecfans.com/jishu_216681_1_1.html (出处: 中国电子技术论坛)[/url]
这里有有关51定时器的资料
战胜心魔
6楼-- · 2019-07-16 03:28
要有事件触发 上升还是下降看你

评分

参与人数 1积分 +5 收起 理由 ElecFans王岑 + 5

查看全部评分

一周热门 更多>