C8051F与80C51系列单片机的不同初始化
1111B ?;允许外部振荡,禁止内部振荡
本文链接地址:http://www.oyaya.net/fanwen/view/146257.html
MOV XBR2;#01000000B ;使能交叉译码开关(这条指令很重要)
MOV P2MDOUT,#11111111B ;P2口置成输出方式
MOV P3MDOUT,#11111111B ;P0口置成输出方式(复位默认为0__开漏)
MOV XBR1,#0000100B ;允许外中断0连到端口
MOV SFRPAGE, #0H ;取特殊功能寄存器的0页(因为有关定时器、中断的SFR在0页)
SETB EX0 ;允许外中断0
SETB IT0 ;INT0下降沿中断
MOV TMOD,#21h ;设置定时器0为方式1, 定时器1为方式2
MOV CKCON,#08h ;选定时器0时钟为系统时钟,定时器1时钟为系统时钟除以12
MOV TH1,#242 ;(50/12)MHz的时钟产生9600波特率的计数初值为242
SETB TR0 ;接通定时0
SETB TR1 ;接通定时1
CLR ET1 ;禁止定时器1中断
MOV SCON,#50H ;串口工作于方式1,允许接收,单机工作
SETB ET0 ;允许T0中断
SETB PT0 ;T0的中断优先级高
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口取一字节
CPL A
MOV P3,A ;送出一字节
POP ACC
RET
《C8051F与80C51系列单片机的不同初始化(第3页)》