新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 80C51系列單片機(jī)的升級版本C8051F

80C51系列單片機(jī)的升級版本C8051F

作者: 時間:2011-05-07 來源:網(wǎng)絡(luò) 收藏

3 應(yīng)用舉例

該例中要用的引出腳有一個串行異步通信UART和一個外中斷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_0 ;定時器0中斷入口

ORG 100H

RESET?MOV, WDTCN,#0DEH ?禁止看門狗

MOV WDTCN,#0ADH

MOV SFRPAGE, #0FH ;取特殊功能寄存器的15頁

MOV OSCXCN,#01100111B ;外用時鐘源選擇晶體,頻率范圍在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 ;延遲一會兒,使晶振穩(wěn)定

NNOP1:MOV R5,#0

DJNZ R5,$80C51系列單片機(jī)的升級版本C8051F

DJNZ R4,NNOP1

MOV CLKSEL,#00000010B ;系統(tǒng)時鐘源用晶振再經(jīng)鎖相環(huán)PLL二倍頻,產(chǎn)生50MHz的時鐘

ANL OSCICN,#01111111B ?;允許外部振蕩,禁止內(nèi)部振蕩

MOV XBR2;#01000000B ;使能交叉譯碼開關(guān)(這條指令很重要)

MOV P2MDOUT,#11111111B ;P2口置成輸出方式

MOV P3MDOUT,#11111111B ;P0口置成輸出方式(復(fù)位默認(rèn)為0__開漏)

MOV XBR1,#0000100B ;允許外中斷0連到端口

MOV SFRPAGE, #0H ;取特殊功能寄存器的0頁(因為有關(guān)定時器、中斷的SFR在0頁)

SETB EX0 ;允許外中斷0

SETB IT0 ;INT0下降沿中斷

MOV TMOD,#21h ;設(shè)置定時器0為方式1, 定時器1為方式2

MOV CKCON,#08h ;選定時器0時鐘為系統(tǒng)時鐘,定時器1時鐘為系統(tǒng)時鐘除以12

MOV TH1,#242 ;(50/12)MHz的時鐘產(chǎn)生9600波特率的計數(shù)初值為242

SETB TR0 ;接通定時0

SETB TR1 ;接通定時1

CLR ET1 ;禁止定時器1中斷

MOV SCON,#50H ;串口工作于方式1,允許接收,單機(jī)工作

SETB ET0 ;允許T0中斷

SETB PT0 ;T0的中斷優(yōu)先級高

SETB EA ;開中斷



關(guān)鍵詞: 80C51 系列單片機(jī) C8051F

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉