51单片机在定时器中断中进入空闲模式就没法换醒了么?

2019-03-24 19:01发布

我用51单片机想做一个平时在空闲模式,每隔一秒唤醒一次向上位机传一次数据的程序,可是没办法让它醒了就接着睡,在中断里他一睡就不醒了那倒是我程序错了?求解答:void main(){  uchar buff[4];  dula=0;  wela=0;  init_com();  PCON=0x01;  while(1) {            tempchange();    }}void T1_time() interrupt 1{  uchar buff[4]; TH0=(65536-45872)/256;//重装初值 TL0=(65536-45872)%256; numt0++;       if(numt0==20)  //如果到了20次,说明1秒时间到 {      numt0=0;  //然后把num清0重新再计20次      get_temp();      sprintf(buff,"%3f",f_temp);  comm(buff);     SBUF = ' ';                                                           //发送数据                                  while(!TI);                                                               //等待发送完成标志为1     TI =0;      PCON=0x01; }   }
这里没有在每个中断里都进入空闲模式,因为在他一睡就不醒了,在刚醒的时候要是不让他睡,让他在1s后睡,但是他还是不再醒来。。。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
电子研发_lp
1楼-- · 2019-03-24 19:58
楼主发的东西看着好乱呀 !看不懂
chunyang
2楼-- · 2019-03-25 00:33
 精彩回答 2  元偷偷看……

一周热门 更多>