51定時器初始化步驟

2021-08-03 01:51:07 字數 752 閱讀 3044

定時器初始化需要六步:

void timerinit()

tmod = 0x01;

th0 = (65536 - x) /256;//(65536-x)為定時器初值,如定時10ms,則x=1000

tl0 = (65536 - x)%256;

ea =  1;

et0 = 1;

tr0 = 1;

中斷函式:

void timer0 interrupt 1

th0 = (65536-x)/256;

tl0 = (65536-x)%256;

num++;

if(num>100)

num = 1;

step1: 設定系統clk

setp2: 設定timer工作模式

tmod = 0x20;

step3: 設定timer clk源

ckcon = 0x80;

step4: 設定定時值

tl1 = 0x0f;

th1 = 0x0f;

step5: 啟動timer

tcon = 0x40;

(tr1 = 1)

step6: timer中斷允許

ie = 0x80

(et1 = 1)

step7: 全部中斷使能

ea = 1;

step8: 編寫中斷函式

void timer1_isr (void) interrupt 3

}

初始化定時器中斷

回到 start kernel 612 行time init 函式 void init time init void 函式x86 late time init 實際上是初始化 tsc時鐘源。在 time init 中只是把該函式的位址賦給全域性變數 late time init 以後某個時刻肯定會呼...

mysql定時器 初始化訂單日期

sql 檢視是否開啟定時器 show variables like sche 開啟定時器 0 off 1 on setglobal event scheduler 1 建立事件 每隔一秒自動呼叫e test 儲存過程 create event if not exists event test on ...

stm32的外設初始化步驟,以定時器為例。

我這個程式的目的在於讓定時器開啟更新中斷,實現定時器1s中斷一次然後在中斷函式中led電平翻轉一次。1.首先先開啟這個外設的時鐘 rcc apb2periphclockcmd rcc apb2periph tim1,enable 開啟定時器1 的時鐘apb2 2.定義這個外設的初始化結構體 tim ...