C8051F與80C51系列單片機的初始化比較
本文引用地址:http://m.butianyuan.cn/article/171186.htm
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ù)位默認為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,允許接收,單機工作
SETB ET0 ;允許T0中斷
SETB PT0 ;T0的中斷優(yōu)先級高
SETB EA ;開中斷
MOV SP,#30H ;棧底在30H單元
MAIN: . ;以上是程序的初始化
. ;主程序
.
JMP MAIN
?****** 定時中斷子程序 *******
TIME_0:PUSH ACC
MOV TH0,#0H
MOV TL0,#0H
CPL P2.2 ;在P2口的D2腳輸出方波
POP ACC
RETI
?******* 外中斷子程序 *******
EX INT?PUSH ACC
MOV A,P1 ;從P1口取一字節(jié)
CPL A
MOV P3,A ;送出一字節(jié)
POP ACC
RET
評論