永发信息网

单片机编程题目。。。能帮忙解决下吗?

答案:3  悬赏:50  手机版
解决时间 2021-08-11 09:57
  • 提问者网友:椧運幽默
  • 2021-08-10 16:58
MCS-51采用12MHz的晶振,试采用定时器T1对外部脉冲进行计数,每计数100个脉冲后,定时器T1转为定时器工作方式,定时10ms后。定时器又转为计数,如此循环不止。(可以使用汇编或者C语言)
最佳答案
  • 五星知识达人网友:几近狂妄
  • 2021-08-10 18:17
#include<reg52.h>#include<intrins.h> //右移函数需要此头文件INTRINS.H 大小写不限sbit T=P3^3 //P3^3是指你单片机实际连接的方式,你根据实际情况改一下main()} }
全部回答
  • 1楼网友:零点过十分
  • 2021-08-10 20:59

#include <reg51.h>

char flag = 0;

void main() {  int count = 0;

 while(1)  {   if(flag == 0)   {    TMOD = 0x50;    TH1 = 0xff;    TL1 = 0x9b;    TR1 = 1;    while(1)    {     if(TF1 == 1)     {     count = 0;     flag = 1;     break;     }

    count++;    }   }

  else if(flag == 1)   {    TMOD = 0x10;    TH1 = 0xd8;    TL1 = 0xef;    TR1 = 1;    ET1 = 1;    EA = 1;        while(1)    {     if(flag == 0)     {     break;     }    }   }  } }

void time1(void) interrupt 3 {  flag = 0;  EA = 0;   }

  • 2楼网友:愁杀梦里人
  • 2021-08-10 19:42
“采用定时器T1对外部脉冲进行计数”??只有外部中断能做到吧?内部定时器/计数器有功能?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯