C8051F與80C51系列單片機的初始化比較
2.2 系統時(shí)鐘源本文引用地址:http://dyxdggzs.com/article/171186.htm
C8051F12X的系統時(shí)鐘可以取自?xún)炔空袷庪娐?、外部振蕩電路(包括晶振,RC振蕩,陶瓷諧振電路)和鎖相環(huán)PLL電路,鎖相環(huán)PLL電路的輸入源可選擇來(lái)自?xún)炔空袷庪娐?,也可以選擇外部振蕩電路,通過(guò)PLL的倍頻作用可以提高時(shí)鐘頻率。C8051F12X系統內的振蕩電路如圖3所示。要產(chǎn)生所需的系統時(shí)鐘,通常要設置8個(gè)寄存器:OSCXIN、OSCICN、OSCICL、CLKSEL、PLLOCN、PLLOFLT、PLL0DIV、PLL0MUL,其中后4個(gè)是有關(guān)PLL的寄存器。
2.3 特殊功能寄存器SFR結構
與MCS—51的SFR不同的是,C8051F12X的SFR由圖4所示的多頁(yè)組成,共有5頁(yè),頁(yè)號為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è),可使用“MOV SFRPAGE,#頁(yè)號”指令來(lái)進(jìn)行切換。各個(gè)SFR所在哪些頁(yè),請查看相關(guān)的資料。
3 應用舉例
該例中要用的引出腳有一個(gè)串行異步通信UART和一個(gè)外中斷INT0。按照系統默認的優(yōu)先順序,P0口被內部資源引出而占用,其中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_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的輸入除系數1(復位后默認)
MOV PLL0MUL,#00000010B ;PLL的倍頻系數為2(25MHz晶振)
MOV PLL0FLT,#00010001B ;PLL的濾波參數(復位后默認為00110001B)
MOV R4,#0 ;延遲一會(huì )兒,使晶振穩定
NNOP1:MOV R5,#0
DJNZ R5,$
評論