復(fù)位及時(shí)鐘—復(fù)位
上電復(fù)位
單片機(jī)自動(dòng)檢測(cè)VDD端的正跳變,啟動(dòng)自動(dòng)工作。
外部復(fù)位
通過RESET引腳加一低電壓,拉低超過一定時(shí)間
后可實(shí)現(xiàn)復(fù)位。
看門狗復(fù)位
幫助系統(tǒng)在軟件跑飛后自動(dòng)復(fù)位。
時(shí)鐘監(jiān)視器復(fù)位
利用內(nèi)部的RC電路來保證時(shí)鐘頻率滿足要求。
振蕩器和時(shí)鐘電路
EXTAL是外部時(shí)鐘輸入或石英振蕩放大器的輸入
XTAL是石英振蕩放大器的輸出
注:DG128可用串聯(lián)振蕩電路和并聯(lián)振蕩電路兩種連接方式。
9S12X系列單片機(jī)只可用并聯(lián)振蕩電路。
?
時(shí)鐘初始化寄存器-共5個(gè)
?
?。?)鎖相環(huán)控制寄存器(PLLCTL)
(2)時(shí)鐘合成寄存器(SYNR)-低6位有效,有效值0~63。
?。?)時(shí)鐘分頻寄存器(REFDV)-低4位有效,有效值0~15。
由鎖相環(huán)來產(chǎn)生時(shí)鐘頻率的公式:
例如:選用16MHz的外部晶振,若將SYNR設(shè)為
2,REFDV設(shè)為1,通過公式計(jì)算可得
PLLCLK=48MHz。從而得到系統(tǒng)的總線頻
率為24MHz。
PLL例子
CLKSEL=0x00; //禁止PLL
PLLCTL=0xe1; //PLL電路允許
SYNR=2;REFDV=1; //設(shè)置倍頻參數(shù)
PLLCTL=0x60; //時(shí)鐘監(jiān)控禁止
while(0==(CRGFLG&0x08));//等待穩(wěn)定
CLKSEL=0x80; //選擇PLL作為時(shí)鐘
//若晶振為16M,則PLLCLK=2*16*3/2=48MHz,則總線頻率是24MHz
RTI程序舉例
RTICTL = 0x7e;//4M/15*2^16 = 4Hz
CRGINT = 0x80;
// 中斷使能
得到大約每秒4次的中斷
評(píng)論