C8051F與80C51系列單片機的初始化比較
本文引用地址:http://dyxdggzs.com/article/171186.htm
DJNZ R4,NNOP1
MOV CLKSEL,#00000010B ;系統時(shí)鐘源用晶振再經(jīng)鎖相環(huán)PLL二倍頻,產(chǎn)生50MHz的時(shí)鐘
ANL OSCICN,#01111111B ?;允許外部振蕩,禁止內部振蕩
MOV XBR2;#01000000B ;使能交叉譯碼開(kāi)關(guān)(這條指令很重要)
MOV P2MDOUT,#11111111B ;P2口置成輸出方式
MOV P3MDOUT,#11111111B ;P0口置成輸出方式(復位默認為0__開(kāi)漏)
MOV XBR1,#0000100B ;允許外中斷0連到端口
MOV SFRPAGE, #0H ;取特殊功能寄存器的0頁(yè)(因為有關(guān)定時(shí)器、中斷的SFR在0頁(yè))
SETB EX0 ;允許外中斷0
SETB IT0 ;INT0下降沿中斷
MOV TMOD,#21h ;設置定時(shí)器0為方式1, 定時(shí)器1為方式2
MOV CKCON,#08h ;選定時(shí)器0時(shí)鐘為系統時(shí)鐘,定時(shí)器1時(shí)鐘為系統時(shí)鐘除以12
MOV TH1,#242 ;(50/12)MHz的時(shí)鐘產(chǎn)生9600波特率的計數初值為242
SETB TR0 ;接通定時(shí)0
SETB TR1 ;接通定時(shí)1
CLR ET1 ;禁止定時(shí)器1中斷
MOV SCON,#50H ;串口工作于方式1,允許接收,單機工作
SETB ET0 ;允許T0中斷
SETB PT0 ;T0的中斷優(yōu)先級高
SETB EA ;開(kāi)中斷
MOV SP,#30H ;棧底在30H單元
MAIN: . ;以上是程序的初始化
. ;主程序
.
JMP MAIN
?****** 定時(shí)中斷子程序 *******
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口取一字節
CPL A
MOV P3,A ;送出一字節
POP ACC
RET
評論