找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 5528|回復: 3
打印 上一主題 下一主題
收起左側

關于51單片機的定時器

[復制鏈接]
跳轉到指定樓層
樓主
ID:18088 發(fā)表于 2010-3-11 20:55 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

      ORG       0000H
      LJMP  SYS
         
     ORG       000BH
   1----》  RETI

   

 

SYS:
    MOV        IE,#0FFH
    MOV        TMOD,#01H
    ;MOV       TL0,#01EH
    ;MOV       TH0,#02FH
    SETB       TR0
    JMP   $
    ;RETI

   

    END

 

以上代碼是測試定時器1代碼,我在1處打斷點,當隨機連續(xù)取兩個斷點的時間差是0.065536是,改變TL0,TH0的值,但是這時間差仍然不變,為什么計時器的計時值不改變?!

定時時間的計算公式為不是:
(216—計數初值)╳晶振周期╳12

為什么改變計數初值TH0,TL0怎么不見效��?!

                         請哪位大俠解釋一下��?!

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:21895 發(fā)表于 2010-3-16 08:54 | 只看該作者
 MS要重新啟動計時器中斷.
C中是
TR0=1;
不知道匯編如何描述.
回復

使用道具 舉報

板凳
ID:22275 發(fā)表于 2010-3-16 15:51 | 只看該作者
TR0=1;
就是  SETB       TR0
回復

使用道具 舉報

地板
ID:22301 發(fā)表于 2010-3-16 16:01 | 只看該作者

很明顯,你的用法不對。

你想,當程序走到哪里會停下呢,當然是走到JMP   $,那就一直在等待了,進入中斷后,你開始計時,那中斷返回到哪里呢,當然還是JMP   $,這個期間,你根本沒有給定時器重新賦值,所以它只能從0開始加,然后再進入中斷,然后再返回JMP   $,無限循環(huán)了.....

回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表