找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1730|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)定時(shí)器0中一秒的中斷程序TH0和TL0怎么算?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1046502 發(fā)表于 2022-10-4 22:31 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
謝謝大家
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:72649 發(fā)表于 2022-10-5 07:41 來自觸屏版 | 只看該作者
20ms初值,中斷多少次可以了。
回復(fù)

使用道具 舉報(bào)

板凳
ID:526108 發(fā)表于 2022-10-5 07:48 | 只看該作者
http://www.torrancerestoration.com/bbs/dpj-223265-1.html
看這貼,可以用軟件生成
回復(fù)

使用道具 舉報(bào)

地板
ID:1034262 發(fā)表于 2022-10-5 21:37 | 只看該作者
Timer0設(shè)置一個(gè)10ms的中斷,計(jì)數(shù)到100就是1秒。
回復(fù)

使用道具 舉報(bào)

5#
ID:161164 發(fā)表于 2022-10-6 10:33 | 只看該作者
STC例程


  1. #include "reg51.h"

  2. typedef unsigned char BYTE;
  3. typedef unsigned int WORD;

  4. //-----------------------------------------------

  5. /* define constants */
  6. #define FOSC 11059200L

  7. #define T1MS (65536-FOSC/12/1000)   //1ms timer calculation method in 12T mode

  8. /* define SFR */
  9. sbit TEST_LED = P1^0;               //work LED, flash once per second

  10. /* define variables */
  11. WORD count;                         //1000 times counter

  12. //-----------------------------------------------

  13. /* Timer0 interrupt routine */
  14. void tm0_isr() interrupt 1
  15. {
  16.     TL0 = T1MS;                     //reload timer0 low byte
  17.     TH0 = T1MS >> 8;                //reload timer0 high byte
  18.     if (count-- == 0)               //1ms * 1000 -> 1s
  19.     {
  20.         count = 1000;               //reset counter
  21.         TEST_LED = ! TEST_LED;      //work LED flash
  22.     }
  23. }

  24. //-----------------------------------------------

  25. /* main program */
  26. void main()
  27. {
  28.     TMOD = 0x01;                    //set timer0 as mode1 (16-bit)
  29.     TL0 = T1MS;                     //initial timer0 low byte
  30.     TH0 = T1MS >> 8;                //initial timer0 high byte
  31.     TR0 = 1;                        //timer0 start running
  32.     ET0 = 1;                        //enable timer0 interrupt
  33.     EA = 1;                         //open global interrupt switch
  34.     count = 0;                      //initial counter

  35.     while (1);                      //loop
  36. }

復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

6#
ID:883242 發(fā)表于 2022-10-6 21:53 | 只看該作者
我還是更喜歡自動(dòng)重裝載模式。
回復(fù)

使用道具 舉報(bào)

7#
ID:123289 發(fā)表于 2022-10-8 10:08 | 只看該作者
當(dāng)時(shí)間太長(zhǎng)時(shí)(超過65536的計(jì)數(shù)),可以自己增加一個(gè)變量,統(tǒng)計(jì)中斷次數(shù),就可以實(shí)現(xiàn)1S干活的目的了。
回復(fù)

使用道具 舉報(bào)

8#
ID:390416 發(fā)表于 2022-10-9 00:01 | 只看該作者
https://pan.baidu.com/s/1HKoHDJSc9sxFTQvllo825g  提取碼:1234    解壓碼  WQX-15
這里有現(xiàn)成的代碼可以下載
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表