找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10276|回復: 13
打印 上一主題 下一主題
收起左側(cè)

單片機中斷程序中ET0和ET1選擇的區(qū)別

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:717594 發(fā)表于 2020-4-4 23:47 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在學習普中51單片機時23課時發(fā)現(xiàn),定時器中斷時,如果選擇定時器的工作方式由1改為2時,TMOD=0X01,TH0=0XFC,TL0=18;ET0=1;要改成TMOD=0X10; TH1=0XFC,TL1=0XFC,ET1=1;

請問這其中的TH0、TL0和ET0,為何要改成TH1、TL1和ET1?

源代碼如下
#include "reg52.h"
typedef unsigned int u16;

sbit led=P0^0

void initimer()
{ TMOD=0x01;
   TH0=0XFC;
   TL0=0X18;
   ET0=1;
   EA=1;
   TR0=1;
   }
void main()
{  initimer();
   while(1);
  }
void Init0() interrupt 1   
{ static u16 i;
  TH0=0XFC;
  TL0=0X18;
  i++;
  if(i==1000)
  {led=~led;
    i=0;}
}


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

使用道具 舉報

沙發(fā)
ID:201555 發(fā)表于 2020-4-5 08:33 | 只看該作者
由定時器0(T0)中斷改為用定時器1(T1),相應設置就得改了。
回復

使用道具 舉報

板凳
ID:94031 發(fā)表于 2020-4-5 09:04 | 只看該作者
51單片機有2個定時器,0和1,TH0、TL0和ET0是管定時器0,TH1、TL1和ET1是管定時器1,要用那個定時器就要用相應參數(shù)設置。
回復

使用道具 舉報

地板
ID:454000 發(fā)表于 2020-4-5 10:03 | 只看該作者
這是51單片機定時器很基礎(chǔ)的知識,最好把視頻多看幾次,理解透徹一些!
回復

使用道具 舉報

5#
ID:695749 發(fā)表于 2020-4-5 10:31 | 只看該作者
根據(jù)需要選用不同的定時器,定時器的參數(shù)也要作相應的設置。不過你在寫程序時還要進一步的規(guī)范,你的程序在編譯時報錯(例如:sbit led=P0^0),沒有加分號(;),共同進步。
回復

使用道具 舉報

6#
ID:719007 發(fā)表于 2020-4-5 10:42 | 只看該作者
TH0、TL0是定時器0特殊功能寄存器,TH1、TL1是定時器1的特殊功能寄存器
回復

使用道具 舉報

7#
ID:719007 發(fā)表于 2020-4-5 10:48 | 只看該作者
TH0、TL0是定時器0的特殊功能寄存器,TH1、TL1是定時器1的特殊功能寄存器
回復

使用道具 舉報

8#
ID:720276 發(fā)表于 2020-4-5 11:30 | 只看該作者
定時器/計數(shù)器應用時有四步:1對TMOD賦值,確定是用T0還是T1,TMOD有8位,低四位用于T0,高四位用于T1.當TMOD=0X10時,確定用T1,當TMOD=0X01時,確定用T0.
回復

使用道具 舉報

9#
ID:720276 發(fā)表于 2020-4-5 11:51 | 只看該作者
定時器/計數(shù)器的有四步:1、對TMOD賦值,以確定T1,T0的工作方式,TMOD有8位,高四位用于T1,低四位用于T0,當TMOD=0X10時,確定用T1.當TMOD=0X01時,確定用T0.2、計算初值,并寫入TH0、TL0或TH1、TL1。第一步已經(jīng)確定了定時器,后面直接對應用了定時器T0后面用TH0、TL0,確定用定時器T1,后面就對應用TH1、TL1。3、對IE賦值,開放中斷,當用定時器T0時,置ET0=1,當用定時器T1時,置ET1=1,另外需開總允許位,即EA=1。4、對TR0或TR1置位,啟動定時/計數(shù)器工作,用T0時,置TR0=1,用T1時,置TR1=1?偟膩碚f第一步確定了定時器,后三步也就確定了
回復

使用道具 舉報

10#
ID:717594 發(fā)表于 2020-4-5 15:37 | 只看該作者
xuyaqi 發(fā)表于 2020-4-5 09:04
51單片機有2個定時器,0和1,TH0、TL0和ET0是管定時器0,TH1、TL1和ET1是管定時器1,要用那個定時器就要用 ...

已經(jīng)明白了,謝謝
回復

使用道具 舉報

11#
ID:717594 發(fā)表于 2020-4-5 15:38 | 只看該作者
曹鴻劍 發(fā)表于 2020-4-5 11:30
定時器/計數(shù)器應用時有四步:1對TMOD賦值,確定是用T0還是T1,TMOD有8位,低四位用于T0,高四位用于T1.當TM ...

已經(jīng)明白了,非常感謝。
回復

使用道具 舉報

12#
ID:717594 發(fā)表于 2020-4-5 15:39 | 只看該作者
曹鴻劍 發(fā)表于 2020-4-5 11:51
定時器/計數(shù)器的有四步:1、對TMOD賦值,以確定T1,T0的工作方式,TMOD有8位,高四位用于T1,低四位用于T0 ...

已經(jīng)明白了,非常感謝。
回復

使用道具 舉報

13#
ID:835618 發(fā)表于 2022-1-11 14:03 | 只看該作者
TH0 TL0為定時器0初值寄存器,TH1 TL1為定時器1初值寄存器,ET0是定時器0使能寄存器,ET1是定時器1使能寄存器,你使用定時器1,當然就要改成這樣了。
回復

使用道具 舉報

14#
ID:984253 發(fā)表于 2022-1-11 21:57 | 只看該作者
ET0和ET1不是在TMOD(定時計數(shù)器工作方式控制寄存器)單元中 ET0和ET1是在IE(中斷控制寄存器)單元中 ET0時定時計數(shù)器0溢出中斷允許控制位 ET1時定時計數(shù)器1溢出中斷允許控制位
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

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