r8051xc2定時器2的用法

2021-07-04 07:24:58 字數 1887 閱讀 8658

t2con----定時器2控制暫存器

t2con.7---t2ps:時鐘的選擇

0:定時器2的clocked是1/12的振盪器頻率

1:定時器2的clocked是1/24的振盪器頻率

t2con.6---3fr :外部中斷int3的活躍選擇(也用來比較和獲取訊號)

0 :falling edge  

1 :rising edge

t2con.5---i2fr:外部中斷int2的活躍選擇(也用來比較和獲取訊號)

0 :falling edge  

1 :rising edge

t2con.4---t2r1:定時器2的載入模式選擇

t2con.3---t2r0:定時器2的載入模式選擇

0x – reload disabled 

10 – mode 0  

11 – mode 1

t2con.2---t2cm:定時器2的比較模式選擇

0 – mode 0 

1 – mode 1

t2con.1 ---t2i1:timer2的輸入選擇

t2con.0---t2i0:timer2的輸入選擇

t2i1:t2i0

0:0   timer 2 stopped

0:1   輸入頻率f/12或者f/24

1:0   通過檢測t2口的下降沿來增加定時器2

1:1   由外部腳t2輸入頻率f/12或者f/24

/*

程式用途:timer2自動填裝控制

版本號: v1

建立日期:

2013.9.22

建立者:

*/$nomod51

#include

"reg8f301.inc

"dseg at 30h

iseg at 80h

cseg at 00h

org 0000h

jmpstart

org 002bh

jmptimer2_isr

start:

movckcon,#50h

movr0,#0x7f

clrram:

mov @r0,#0

djnz r0,clrram

movdptr,#0x00

clroutram:

mova,#0x00

movx @dptr,a

incdpl

mova,dpl

cjne a,#

0,clroutram

incdph

mova,dph

cjne a,#

3,clroutram

settimer2:

movtl2,#00h

movth2,#00h

movcrch,th2

movcrcl,tl2

movt2con,#11h //選擇模式0自動載入,選擇f/12分頻

setb

et2

setb

eamain:

ljmp main

timer2_isr:

push

acc

push

psw

nopnop

poppsw

popacc

end

/* 總結:

1.將crch,crcl裡的值自動填充到tl2與th2

2.crcl加到0xff時crch加1,crch溢位時產生中斷,並自動填充

*/

cocos2dx定時器的用法

cocos2dx中有三種定時器 schedule,scheduleupdate,scheduleonce。1.schedule 的用法 先定義乙個函式 void updatetime float ft 開啟自定義定時器 schedule schedule selector helloworld up...

執行緒定時器設計2

對以上 做一下解釋 estopmode 定時器停止模式。1 ttmanuale 手動模式,定時器停止後,使用者需要顯示呼叫stop關閉定時器,或者呼叫restart重啟定時器。如果使用者不做處理,則 定時器將一直超時下去。再每個判定週期,都將超時。例如 設定10秒的定時器,在10秒後,如果使用者不做...

cocos2dx 2 x定時器分析(2)

1 分析下update型別,即每幀都呼叫的定時器,如何實現 ccscheduler中的成員變數 struct listentry m pupdates0list list priority 0 存放update型別定時器的結構 a list double linked list used for u...