久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3834|回復: 4
打印 上一主題 下一主題
收起左側

單片機定時器不工作是什么原因造成的?

[復制鏈接]
跳轉到指定樓層
#
ID:741406 發表于 2020-7-12 22:42 來自手機 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
  1. #include<reg51.h>

  2. #define uchar unsigned char
  3. #define uint  unsigned int
  4.         
  5. void time(void);
  6. void digitron(void);
  7. void timemin(void);
  8. void DelayMs(uchar n);
  9.         
  10. uchar I,MIN; //計時器的變量聲明

  11. sfr P0M1=0X91;
  12. sfr P0M0=0X92;
  13. sbit P17=P1^7;
  14.         
  15. uchar led[]={0x3f,0x05,0x5b,0x4f,0x65,    //共陰極數碼管,管腳鏈接順序p1.7 p1.6 p1.5 p1.4 p1.3 p1.2 p1.1 p1.0
  16.               0x6e,0x7e,0x07,0x7f,0x6f};  //段碼的編碼                 h    g    f    e    d     c    a    b   

  17. uchar led1[]={0xbf,0xef};
  18. uchar led2[2];

  19.         void T0Isr()interrupt 1  //定時器0的中斷
  20. {
  21.         
  22. I++;  // 50ms計數器,用于擴展計時值
  23. }                                                

  24. void main(void)
  25. {
  26.         
  27.         P0M1=0X00;
  28.         P0M0=0XFF;
  29.   TH0=0X3c;  //定時器的初值,高位
  30.         TL0=0Xb0;  //定時器低位初值,50ms初值為15536
  31.         TMOD=0X00; //設置定時器工作模式,15W的工作模式0是16位自動重裝
  32.         TR0=1;  // 定時器0工作設置
  33.         IE=0X82; //開總中斷,開T0中斷
  34.         
  35.    while(1)
  36. {
  37.     time();
  38.                 timemin();
  39.                 digitron();
  40.         }
  41. }

  42. void time(void)  //秒計時函數
  43. {
  44.         uint SEC,MS;
  45.          if (I==10)  
  46.   {
  47.                  MS++;  //
  48.                  I=0;
  49.          }
  50.    if(MS==2)
  51.         {
  52.                  SEC++;
  53.                  MS=0;
  54.         }
  55.         if(SEC==59)
  56.   {
  57.            MIN++;
  58.                  SEC=0;
  59.         }               
  60. }

  61. void digitron(void)
  62. {
  63.         uchar i;
  64.         for(i=0;i<2;i++)
  65.    {
  66.             P1=led[led2[i]];
  67.                   P3=led1[i];
  68.                   DelayMs(10);
  69.          }
  70. }

  71. void timemin(void)
  72. {
  73.    led2[1]=MIN/10;
  74.          led2[0]=MIN%10;
  75. }

  76. void DelayMs(uchar n)
  77. {
  78.   uchar j;
  79.         while(n--)
  80.         {
  81.           for(j=0;j<113;j++);
  82.         }
  83. }
復制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

地板
ID:57657 發表于 2021-12-10 11:34 | 只看該作者
wulin 發表于 2020-7-13 05:43
特殊功能寄存器AUXR沒有設置
void main(void)
{      

12T單片機、reg51.h頭文件里沒有AUXR寄存器,只有STC的1T的才有。
回復

使用道具 舉報

板凳
ID:213173 發表于 2020-7-13 05:43 | 只看該作者
特殊功能寄存器AUXR沒有設置
void main(void)
{      
        P0M1=0X00;
        P0M0=0XFF;
        AUXR&=0x7F;        //定時器時鐘12T模式
        TMOD=0XF0;  //設置定時器工作模式,15W的工作模式0是16位自動重裝
        TH0=0X3c;   //定時器的初值,高位
        TL0=0Xb0;   //定時器低位初值,50ms初值為15536
        TR0=1;      //定時器0工作設置
        IE=0X82;    //開總中斷,開T0中斷       
        while(1)
        {
                time();
                timemin();
                digitron();
        }
}
回復

使用道具 舉報

沙發
ID:801957 發表于 2020-7-13 00:48 | 只看該作者
定時器中斷設置有問題吧
回復

使用道具 舉報

樓主
ID:480113 發表于 2020-7-12 23:34 | 只看該作者
中斷服務函數中沒重新裝計數器初值吧?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲成人高清 | 超碰超碰 | 色久伊人 | 久久99精品国产 | 99在线视频观看 | 国产乱码精品一区二区三区中文 | 国产999精品久久久久久绿帽 | 亚洲欧美精品国产一级在线 | 日韩 国产 在线 | 国产ts人妖另类 | 欧美国产日韩一区二区三区 | 午夜影院普通用户体验区 | 久久99国产精品久久99果冻传媒 | 视频在线亚洲 | 中文字幕一区二区三区四区 | 综合久久综合久久 | 欧美日韩国产一区二区三区不卡 | 日韩精品一区二区三区在线播放 | 久草热8精品视频在线观看 午夜伦4480yy私人影院 | 中日字幕大片在线播放 | 国产一区欧美一区 | 久久成人免费 | 欧美性网站 | 日韩国产专区 | 欧美日韩国产一区二区三区 | 亚洲欧美激情精品一区二区 | 国产视频亚洲视频 | 久久久久久久亚洲精品 | 国产一级片精品 | 成年人免费在线视频 | 精品精品 | 中文字幕伊人 | 一区日韩 | 免费一级欧美在线观看视频 | 天堂av中文在线 | 日韩精品色网 | 久久精品亚洲 | 久久久精彩视频 | 国产精品午夜电影 | 国产精品久久 | 亚洲精品乱码久久久久久久久 |