標(biāo)題: 單片機(jī)T2CON = 0x34;代表什么? [打印本頁(yè)]

作者: 胡椒葉    時(shí)間: 2020-2-23 14:48
標(biāo)題: 單片機(jī)T2CON = 0x34;代表什么?
這個(gè)程序什么意思?
void Timer2_Uart()
{
        T2CON = 0x34;
        RCAP2H = 0xFF;
        RCAP2L = 0xDC;
        TH2 = 0xFF;
        TL2 = 0xDC;
        TR2 = 1;      
        SCON = 0x50;
        ES = 1;  
        EA=1;
}


作者: csmyldl    時(shí)間: 2020-2-23 16:42
該寄存器的8位如下:  (從高到低位)
TF2:T2溢出中斷標(biāo)志。TF2必須由用戶程序清“0”。當(dāng)T2作為串口波特率發(fā)生器時(shí),TF2不會(huì)被置“1”。
EXF2:定時(shí)器T2外部中斷標(biāo)志。EXEN2為1時(shí),當(dāng)T2EX(P1.1)發(fā)生負(fù)跳變時(shí)置1中斷標(biāo)志DXF2,EXF2必須由用戶程序清“0”。
TCLK:串行接口的發(fā)送時(shí)鐘選擇標(biāo)志。TCLK=1時(shí),T2工作于波特率發(fā)生器方式。
RCLK:串行接口的接收時(shí)鐘選擇標(biāo)志位。RCLK=1時(shí),T2工作于波特率發(fā)生器方式。
EXEN2:T2的外部中斷充許標(biāo)志。
C/T2:外部計(jì)數(shù)器/定時(shí)器選擇位。C/T2=1時(shí),T2為外部事件計(jì)數(shù)器,計(jì)數(shù)脈沖來(lái)自T2(P1.0);C/T2=0時(shí),T2為定時(shí)器,振蕩脈沖的十二分頻信號(hào)作為計(jì)數(shù)信號(hào)。
TR2:T2計(jì)數(shù)/定時(shí)控制位。TR1為1時(shí)充許計(jì)數(shù),為0時(shí)禁止計(jì)數(shù)。
CP/RL2:捕捉和常數(shù)自動(dòng)再裝入方式選擇位。為1時(shí)工作于捕捉方式,為0時(shí)T2工作于常數(shù)自動(dòng)再裝入方式。當(dāng)TCLK或RCLK為1時(shí),CP/RL2被忽略,T2總是工作于常數(shù)自動(dòng)再裝入方式。

T2CON=0X34  即
TCLK  RCLK  TR2這3位為1
TCLK  RCLK為1表示T2用來(lái)做波特率發(fā)生器, TR2為1啟動(dòng)計(jì)數(shù)產(chǎn)生波特率
作者: baiyun1234    時(shí)間: 2020-2-23 18:14
  T2CON = 0x34;換成2進(jìn)制=0011 0100,你對(duì)照看一下T2CON這個(gè)8位寄存器,是1的即為打開(kāi)當(dāng)前位,是0的就是不進(jìn)行操作。
作者: haierzaifei11    時(shí)間: 2020-2-24 08:33
T2CON = 0x34;換成2進(jìn)制=0011 0100,T2CON這個(gè)8位寄存器是1的即為打開(kāi)當(dāng)前位
作者: 羅焱煜    時(shí)間: 2020-2-24 09:51
不知是否可以控制寄存器T2CON  T2CON(T2的控制寄存器),字節(jié)地址0C8H:  位地址   0CFH    0CEH   0CDH   0CCH   0CBH   0CAH   0C9H   0C8H  符  號(hào)   TF2     EXF2   RCLK   TCLK   EXEN2  TR2    C/T2   CP/RT2  各位的定義如下:  TF2:定時(shí)/計(jì)數(shù)器2溢出標(biāo)志,T2溢出時(shí)置位,并申請(qǐng)中斷。只能用軟件清除,但T2作為波特率發(fā)生器使用的時(shí)候,(即RCLK=1或TCLK=1),T2溢出時(shí)不對(duì)TF2置位。  EXF2:當(dāng)EXEN2=1時(shí),且T2EX引腳(P1.0)出現(xiàn)負(fù)跳變而造成T2的捕獲或重裝的時(shí)候,EXF2置位并申請(qǐng)中斷。EXF2也是只能通過(guò)軟件來(lái)清除的。  RCLK:串行接收時(shí)鐘標(biāo)志,只能通過(guò)軟件的置位或清除;用來(lái)選擇T1(RCLK=0)還是T2(RCLK=1)來(lái)作為串行接收的波特率產(chǎn)生器  TCLK:串行發(fā)送時(shí)鐘標(biāo)志,只能通過(guò)軟件的置位或清除;用來(lái)選擇T1(TCLK=0)還是T2(TCLK=1)來(lái)作為串行發(fā)送的波特率產(chǎn)生器  EXEN2:T2的外部允許標(biāo)志,只能通過(guò)軟件的置位或清除;EXEN2=0:禁止外部時(shí)鐘觸發(fā)T2;EXEN2=1:當(dāng)T2未用作串行波特率發(fā)生器時(shí),允許外部時(shí)鐘觸發(fā)T2,當(dāng)T2EX引腳輸入一個(gè)負(fù)跳變的時(shí)候,將引起T2的捕獲或重裝,并置位EXF2,申請(qǐng)中斷。  TR2:T2的啟動(dòng)控制標(biāo)志;TR2=0:停止T2;TR2=1:?jiǎn)?dòng)T2  C/T2:T2的定時(shí)方式或計(jì)數(shù)方式選擇位。只能通過(guò)軟件的置位或清除;C/T2=0:選擇T2為定時(shí)器方式;C/T2=1:選擇T2為計(jì)數(shù)器方式,下降沿觸發(fā)。  CP/RT2:捕獲/重裝載標(biāo)志,只能通過(guò)軟件的置位或清除。CP/RT2=0時(shí),選擇重裝載方式,這時(shí)若T2溢出(EXEN2=0時(shí))或者T2EX引腳(P1.0)出現(xiàn)負(fù)跳變(EXEN2=1時(shí)),將會(huì)引起T2重裝載;CP/RT2=1時(shí),選擇捕獲方式,這時(shí)若T2EX引腳(P1.0)出現(xiàn)負(fù)跳變(EXEN2=1時(shí)),將會(huì)引起T2捕獲操作。但是如果RCLK=1或TCLK=1時(shí),CP/RT2控制位不起作用的,被強(qiáng)制工作于定時(shí)器溢出自動(dòng)重裝載模式。
作者: 羅焱煜    時(shí)間: 2020-2-24 09:52
/*不知是否可以*/控制寄存器T2CON  T2CON(T2的控制寄存器),字節(jié)地址0C8H:  位地址   0CFH    0CEH   0CDH   0CCH   0CBH   0CAH   0C9H   0C8H  符  號(hào)   TF2     EXF2   RCLK   TCLK   EXEN2  TR2    C/T2   CP/RT2  各位的定義如下:  TF2:定時(shí)/計(jì)數(shù)器2溢出標(biāo)志,T2溢出時(shí)置位,并申請(qǐng)中斷。只能用軟件清除,但T2作為波特率發(fā)生器使用的時(shí)候,(即RCLK=1或TCLK=1),T2溢出時(shí)不對(duì)TF2置位。  EXF2:當(dāng)EXEN2=1時(shí),且T2EX引腳(P1.0)出現(xiàn)負(fù)跳變而造成T2的捕獲或重裝的時(shí)候,EXF2置位并申請(qǐng)中斷。EXF2也是只能通過(guò)軟件來(lái)清除的。  RCLK:串行接收時(shí)鐘標(biāo)志,只能通過(guò)軟件的置位或清除;用來(lái)選擇T1(RCLK=0)還是T2(RCLK=1)來(lái)作為串行接收的波特率產(chǎn)生器  TCLK:串行發(fā)送時(shí)鐘標(biāo)志,只能通過(guò)軟件的置位或清除;用來(lái)選擇T1(TCLK=0)還是T2(TCLK=1)來(lái)作為串行發(fā)送的波特率產(chǎn)生器  EXEN2:T2的外部允許標(biāo)志,只能通過(guò)軟件的置位或清除;EXEN2=0:禁止外部時(shí)鐘觸發(fā)T2;EXEN2=1:當(dāng)T2未用作串行波特率發(fā)生器時(shí),允許外部時(shí)鐘觸發(fā)T2,當(dāng)T2EX引腳輸入一個(gè)負(fù)跳變的時(shí)候,將引起T2的捕獲或重裝,并置位EXF2,申請(qǐng)中斷。  TR2:T2的啟動(dòng)控制標(biāo)志;TR2=0:停止T2;TR2=1:?jiǎn)?dòng)T2  C/T2:T2的定時(shí)方式或計(jì)數(shù)方式選擇位。只能通過(guò)軟件的置位或清除;C/T2=0:選擇T2為定時(shí)器方式;C/T2=1:選擇T2為計(jì)數(shù)器方式,下降沿觸發(fā)。  CP/RT2:捕獲/重裝載標(biāo)志,只能通過(guò)軟件的置位或清除。CP/RT2=0時(shí),選擇重裝載方式,這時(shí)若T2溢出(EXEN2=0時(shí))或者T2EX引腳(P1.0)出現(xiàn)負(fù)跳變(EXEN2=1時(shí)),將會(huì)引起T2重裝載;CP/RT2=1時(shí),選擇捕獲方式,這時(shí)若T2EX引腳(P1.0)出現(xiàn)負(fù)跳變(EXEN2=1時(shí)),將會(huì)引起T2捕獲操作。但是如果RCLK=1或TCLK=1時(shí),CP/RT2控制位不起作用的,被強(qiáng)制工作于定時(shí)器溢出自動(dòng)重裝載模式。
作者: joyb    時(shí)間: 2023-5-9 15:19


作者: wydev    時(shí)間: 2023-5-9 17:43
所有的IO操作,最好自己轉(zhuǎn)換為二進(jìn)制顯示看看,這樣就指導(dǎo)哪一位對(duì)應(yīng)寄存器中的值有效,否則十六進(jìn)制看不明白
作者: shenxinxin0114    時(shí)間: 2023-5-9 19:43
設(shè)置定時(shí)器2為工作模式2,即8位自動(dòng)重裝載模式
作者: usename    時(shí)間: 2023-5-9 20:21
這個(gè)程序的功能是設(shè)置定時(shí)器2為UART波特率發(fā)生器,用于產(chǎn)生UART通信所需的波特率。其中,T2CON是定時(shí)器2的控制寄存器,RCAP2H和RCAP2L是定時(shí)器2的重載值寄存器,用于設(shè)置定時(shí)器計(jì)數(shù)器的重載值,TH2和TL2則是定時(shí)器2的計(jì)數(shù)器初值寄存器,用于設(shè)置定時(shí)器計(jì)數(shù)器的初始值。TR2是定時(shí)器2的運(yùn)行控制位,SCON是串口控制寄存器,用于設(shè)置串口通訊的參數(shù)。ES是串口中斷使能位,EA是中斷總開(kāi)關(guān)。
作者: dingmingzhou    時(shí)間: 2023-5-27 15:13
大家告你 T2CON = 0x34;是什莫,還不如你去看手冊(cè)看,看T2CON這個(gè)寄存器各位的含義,清楚的很,你自己看明白了,就知道他到底組成了個(gè)啥。
作者: 涅槃重生1    時(shí)間: 2023-5-27 16:04
建議查看數(shù)據(jù)手冊(cè)對(duì)應(yīng)的寄存器說(shuō)明,上面有詳細(xì)的解釋
作者: 4566775    時(shí)間: 2023-5-27 16:28
T2CON = 0x34;換成2進(jìn)制=0011 0100,你對(duì)照看一下T2CON這個(gè)8位寄存器,是1的即為打開(kāi)當(dāng)前位,是0的就是不進(jìn)行操作。
作者: 餅干win    時(shí)間: 2023-5-27 17:14
用來(lái)實(shí)現(xiàn)實(shí)現(xiàn)單片機(jī)串口通信功能,
作者: joyb    時(shí)間: 2024-3-2 18:07
當(dāng)TCLK=0時(shí),定時(shí)器1作為串行口發(fā)送波特率發(fā)生器;當(dāng)TCLK=1時(shí),定時(shí)器2作為串行口發(fā)送波特率發(fā)生器。RCLK對(duì)串行口接收波特率的設(shè)置有同樣的作用。
通過(guò)這兩位,串行口能得到不同的接收和發(fā)送的波特率,一個(gè)通過(guò)定時(shí)器1產(chǎn)生,另一個(gè)通過(guò)定時(shí)器2產(chǎn)生。



作者: 明日之星8    時(shí)間: 2024-3-2 18:49
T2CON = 0x34;

0x34的二進(jìn)制是0b00110100,注意中間用的是“等號(hào)”,
對(duì)應(yīng)位是“0”代表關(guān)閉此位的那個(gè)功能,對(duì)應(yīng)位是“1”代表
打開(kāi)此位的那個(gè)功能。
有些時(shí)候等號(hào)左邊會(huì)多一個(gè)“豎線”,這時(shí)候才是“1”打開(kāi)功
能而“0”不受影響。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1