C8051F與80C51系列單片機(jī)的初始化比較
2.2 系統(tǒng)時(shí)鐘源本文引用地址:http://www.ex-cimer.com/article/171186.htm
C8051F12X的系統(tǒng)時(shí)鐘可以取自內(nèi)部振蕩電路、外部振蕩電路(包括晶振,RC振蕩,陶瓷諧振電路)和鎖相環(huán)PLL電路,鎖相環(huán)PLL電路的輸入源可選擇來(lái)自內(nèi)部振蕩電路,也可以選擇外部振蕩電路,通過(guò)PLL的倍頻作用可以提高時(shí)鐘頻率。C8051F12X系統(tǒng)內(nèi)的振蕩電路如圖3所示。要產(chǎn)生所需的系統(tǒng)時(shí)鐘,通常要設(shè)置8?jìng)€(gè)寄存器:OSCXIN、OSCICN、OSCICL、CLKSEL、PLLOCN、PLLOFLT、PLL0DIV、PLL0MUL,其中后4個(gè)是有關(guān)PLL的寄存器。
2.3 特殊功能寄存器SFR結(jié)構(gòu)
與MCS—51的SFR不同的是,C8051F12X的SFR由圖4所示的多頁(yè)組成,共有5頁(yè),頁(yè)號(hào)為0、1、2、3、15。各個(gè)SFR分布在不同的頁(yè)里,像XBR0、XBR1、XBR2、OSCXIN、OSCICN、LLOCN、PLLOFLT等定位在15頁(yè)里,定時(shí)器有關(guān)的寄存器TCON、TMOD、TH、TL等定位在0頁(yè)里。在讀寫(xiě)各個(gè)SFR之前,必須先切換到相應(yīng)的頁(yè),可使用“MOV SFRPAGE,#頁(yè)號(hào)”指令來(lái)進(jìn)行切換。各個(gè)SFR所在哪些頁(yè),請(qǐng)查看相關(guān)的資料。
3 應(yīng)用舉例
該例中要用的引出腳有一個(gè)串行異步通信UART和一個(gè)外中斷INT0。按照系統(tǒng)默認(rèn)的優(yōu)先順序,P0口被內(nèi)部資源引出而占用,其中P0.0為UART通信的RX端, P0.1為UART通信的TX端,P0.3為外中斷INT0輸入引腳,其它端口為通用I/O口。P1口為具有上拉電阻的輸入口,P2口為通用推挽的輸出口,P3口也是通用推挽輸出口。具體如下:
$include(c8051f120.inc)
ORG 00H
JMP RESET ;程序入口
ORG 03H
JMP EX_INT ;外中斷INT0入口
ORG 0BH
JMP TIME_(tái)0 ;定時(shí)器0中斷入口
ORG 100H
RESET?MOV, WDTCN,#0DEH ?禁止看門(mén)狗
MOV WDTCN,#0ADH
MOV SFRPAGE, #0FH ;取特殊功能寄存器的15頁(yè)
MOV OSCXCN,#01100111B ;外用時(shí)鐘源選擇晶體,頻率范圍在30MHz以下
ORL PLL0CN,#00000111B ;用外部晶振作為PLL的源
MOV PLL0DIV,#00000001B ;PLL的輸入除系數(shù)1(復(fù)位后默認(rèn))
MOV PLL0MUL,#00000010B ;PLL的倍頻系數(shù)為2(25MHz晶振)
MOV PLL0FLT,#00010001B ;PLL的濾波參數(shù)(復(fù)位后默認(rèn)為00110001B)
MOV R4,#0 ;延遲一會(huì)兒,使晶振穩(wěn)定
NNOP1:MOV R5,#0
DJNZ R5,$
評(píng)論